《MCS-51单片机芯片的硬件结构.ppt》由会员分享,可在线阅读,更多相关《MCS-51单片机芯片的硬件结构.ppt(56页珍藏版)》请在三一办公上搜索。
1、1,第二章 单片机芯片的硬件结构,第五节 单片的复位,第一节 MCS-51系列单片机的结构,第二节 存储器结构,第三节 输入/输出口(I/O口),第四节 时钟电路及时序,第六节 单片机的低功耗操作方式,2,第一节 MCS-51系列单片机的结构,一、MCS-51单片机的内部结构 二、MCS-51单片机的引脚功能,3,一、51单片机的基本结构,MCS-51单片机功能模块框图,4,MCS-51芯片内部总体结构框图,5,下图为MCS-51单片机的引脚配置图1主电源引脚VCC和VSS(2根)2外接晶振引脚XTAL1和XTAL2(2根)3控制或其他电源复用引脚RST/VPD、ALE/PROG、PSEN、和
2、EA/VPP(4根)4输入/输出引脚P0、P1、P2、P3(共32根),二、MCS-51单片机引脚功能,6,MCS-51系列单片机引脚图,7,8,控制引脚说明:1 地址锁存控制信号 ALE:访问片外ROM,RAM时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存,实现低位地址和数据的分时传送。不访问片外存储器时,可做为外部时钟使用。,2 外部程序存储器读选通信号 PSEN:CPU访问片外ROM时,使 PSEN低电平有效,可实现片外ROM的读操作,其他情况下此引脚为高电平封锁状态。,3 访问程序存储器控制信号 EA:当EA信号为低电平时,对ROM的读操作是针对外部ROM的,当EA信号为高电
3、平时,对ROM的操作是从内部ROM开始,并可延续至外部ROM。,4 复位信号 RST:复位即初始化,分自动上电复位和人工开关复位,复位时,产生一个延续2个机器周期以上的高电平为有效,实现单片机的复位操作。,9,片外三总线AB:P0口经地址锁存后提供低8位地址,P2口直接提供高8位地址DB:P0口提供8位数据CB:/EA,ALE,/PSEN,/RD,/WR,RST等,DB,AB,AB,CB,CB,10,P3口的第二功能表,P3 口线的第二功能都是单片机重要的控制信号。因此在使用时,总是按需要优先选用他的第二功能,剩下不用的才作为口线使用。,11,一、数据存储器二、程序存储器三、单片机系统存储器结
4、构特点,第二节 单片机的存储器结构,12,一、数据存储器,对51子系列,共256字节内部数据存储器,其中低128字节可以让用户使用,高128单元被专用寄存器(SFR)占用,不能让用户使用,所以常说的内部RAM区指的是低128单元;对52子系列,共有384字节内部数据存储器,低128字节RAM,高128字节RAM和128字节的专用寄存器区,常说的内部RAM为256字节。对内部数据存储器的访问使用MOV指令。,13,内部数据存储器地址分配,仅52子系列有,低128字节RAM,NEXT,14,数据缓冲区/堆栈区:30H7FH 位寻址区:字节地址:20H2FH 位地址为:00H7FH 工作寄存器区:字
5、节地址:00H1FH,1.1 内部数据存储器低128单元(00-7FH),15,内部RAM的001FH分为4个区,每个区有8个单元,分别用R0R7来表示,选择哪个工作寄存器组是通过软件对程序状态字寄存器PSW的第3、4位进行设置实现的,1.1.1 工作寄存器区,16,1.1.2 位寻址区(位寻址区共16个字节,128位,同时还包括部分专用寄存器区中可位寻址的专用寄存器),8051/8052内部RAM位地址区,例:位寻址空间的 使用MOV 20H,#30H;MOV 20H,C,17,*:可位寻址的特殊功能寄存器,18,1.1.3 数据缓冲区,数据缓冲区:内部RAM中30H-7FH为80个单元的数
6、据缓冲区,这些单元只能按字节寻址。,19,特殊功能寄存器SFR1)占用字节地址:80HFFH2)可位寻址寄存器:其字节地址可被8整除3)专用寄存器:A、B、PSW、DPTR、SP I/O接口寄存器:P0、P1、P2、P3、SBUF、TMOD、TCON、SCON,1.2 内部数据存储器高128单元(80H-0FFH),80C51共有22个专用寄存器,离散分布在数据存储器高128字节的80H-FFH中,因为这些存储器的功能已作专门规定,所以称作专用寄存器(SFR)。对没有被专用寄存器使用的空闲地址的操作是无意义的,20,2)寄存器B(8位)与A累加器配合执行乘、除运算。也可用作通用寄存器。乘法时:
7、B为乘数并存放乘积的高八位;除法时:B为除数并存放余数。MUL AB DIV AB,1)累加器Acc(8位)A需要ALU处理的数据和计算结果多数要经过A累加器,相当于十字路口的警察。累加器在算术运算中存放操作数和运算结果;在一些运算中作为源或目的操作数;在变址方式中作为变址寄存器。MOV A,#03 ADD A,#05H,3)程序计数器PC(16位)将要执行的指令地址。PC是唯一不可寻址的寄存器,用户不可对其进行读、写。在执行转移、调用、返回的指令时能自动改变其内容,以改变程序的执行顺序。复位时:PC=0000H,程序从此单元开始执行,访问范围:0000FFFFH即64K。,1.2.1 相关专
8、用寄存器介绍,21,4)程序状态字PSW(8位)存放ALU运算过程的标志状态,用来存放程序状态信息,而且某些指令的执行结果会自动影响到PSW的有关标志位,有些标志位可用指令来设置。,22,例:设程序执行前,F0=0 RS1,RS0=00,则执行下述后PSW的各位状态?MOV A,0FH ADD A,#F8H,执行后,PSW各位的状态为:1 1 0 0 0 0 x 1 B 用十六进制表示为:0C1H或0C3H,0 0 0 0 1 1 1 1 CY=1(A7有进位)CS=1(A6有进位)OV=CY+CS=1+1=0+1 1 1 1 1 0 0 0 AC=1(A3有进位),F0=0,RS1,RS0=
9、00 1 0 0 0 0 0 1 1 1 P=1(数据位有3个1,不算进位位的1),CY,CS,23,5)数据指针DPTR(16位)由高位字节DPH和低位字节DPL 组成,主要用于存放片外存储器16位地址,作为片外存储器的指针。既可作为一个16位寄存器来使用,也可作为2个独立的8位寄存器DPH(DPTR高8位字节)和DPL(DPTR低8位字节)来使用。DPH:8bit 0-255 DPL:8bit 0-255 DPTR:16bit 0-65535,24,6)堆栈指针SP(8位),堆栈是一种数据结构,专门存放向上生长堆栈的栈顶位置。遵循“先进后出,后进先出”的原则进行数据存取的一种工作方式。主要
10、用于子程序调用及返回和中断处理断点的保护及返回。初始化时,SP07H。堆栈区一般设置在内部RAM的高端区域(建议在30H-7FH)。,例:MOV A,35HMOV SP,30HPUSH A;SP+1 SP#35H(SP)指令执行后(31H)=35H,SP=31H POP A;(SP)A,SP-1 SP 指令执行后 A=35H,SP=30H,25,30H,SP,栈底,31H,35,3AH,10H,栈顶,入栈操作:先SP加1,后写入数据出栈操作:先读出数据,后SP减1,入栈操作示意图,1.2.2 堆栈操作,26,1、堆栈的功能:保护断点,存储16位的PC值,自动执行。保护现场,存储寄存器的值,人工
11、(手动)执行。2、堆栈的开辟:只开辟在芯片内部的数据存储器中,速度快。3、堆栈的指示器:8bit的SP 堆栈是按“先进后出”原则存取数据的存储区。数据入栈/出栈时,SP自动加1/减 1,其内容始终为栈顶地址。复位时 SP=07H,27,1.2.3 专用寄存器的字节寻址和位寻址,21个可寻址的专用寄存器中,有11个寄存器可以位寻址,有83个可寻址位。位寻址区:128个通用位。可位寻址的共有211位,,28,1.3 外部数据存储器 外部数据存储器一般由静态RAM构成,其容量大小由用户根据需要而定,最大可扩展到 64 KB RAM,地址是 0000H0FFFFH。对外部数据存储器的访问使用MOVX指
12、令,29,二、程序存储器,片内加片外共有64K的ROM寻址空间,内部ROM地址0000H0FFFH中有一块特殊区间0000H-002AH:0000H0002H系统的启动单元,单片机复位后,PC0000H,程序从0000H单元开始取指令。0003H000AH外部中断0中断地址区。000BH0012H定时/计数器0中断地址区。0013H001AH外部中断1中断地址区。001BH0022H定时/计数器1中断地址区。0023H002AH串行中断地址区。,EA高电平,从片内程序存储单元读起并可一直延伸到片外,EA低电平,从片外程序存储单元读,对程序存储器的访问都是用MOVC指令,30,三、MCS-51存
13、储结构特点 补充,普林斯顿结构:程序和数据共用一个存储 器逻辑空间,统一编址。哈佛结构:程序数据分为两个独立存 储器逻辑空间,分开编址。,31,MCS-51在物理上有四个存储空间:1、片内程序存储器 2、片外程序存储器、3、片内数据存储器 4、片外数据存储器。,MCS-51采用哈佛结构,从逻辑上划分有三个存储器地址空间:1、片内外统一编址的64K字节程序存储器(0000H0FFFFH)2、内部256字节数据存储器地址空间(包括 128字节片内RAM和128字节的SFR)3、外部64K字节数据存储器地址空间(0000H0FFFFH),32,51子系列,总结,33,内部ROM,外部ROM,/EA=
14、1,/EA=0,外部ROM,外部ROM,51子系列,总结,34,第三节 并行输入/输出端口结构(I/O口),四个双向8位I/O口,共32根I/O口线,每个I/O线均由锁存器,输出电路和输入缓冲器组成。P0、P1、P2、P3,属于专用寄存器每个I/O既可作输入又可作输出,每一条口线可独立用作输入又可用作输出,作输出时可锁存数据,作输入时可缓冲数据。可以按字节寻址,也可以按位寻址。,35,1.1 P0口作为一般I/O口输出(要外加上拉电阻),P,0,.n,锁存器,P,0,.n,Q,Q,D,读锁存器,写锁存器,内部总线,读引脚,T,2,MUX,地址/数据,控制,T,1,VCC,0,VCC,10020
15、0,P0口的位结构,一、P0口结构,36,P0口的位结构,1.2 P0口作为输入(先把p0口置1,使T1,T2截止),P,0,.n,T,2,地址/数据,控制,T,1,VCC,P,0,.n,锁存器,Q,Q,D,读锁存器,写锁存器,内部总线,读引脚,MUX,1,0,0,0,ORL P0,#FFHMOV A,P0,37,P0口的位结构,1.3 P0口作为A/D总线输出(接外部扩展存储器),38,1、注意读引脚和读锁存器的区别。2、输出时接上拉电阻。3、P0口作输入时,应使输出两个驱动场效应管截止而呈现悬浮的高阻态,所以需先向锁存器写“1”,才能正确输入数据,称为准双向口。4、作A/D总线时,分时输出
16、A0A7 和D0D7,MUX当程序中出现MOVX语句时自动切向上方,扩展使用作为D0D7/A0A7;不出现MOVX语句则作为普通IO口。,P0口总结,39,二、P1口结构,1、注意读引脚和读锁存器的区别。2、普通IO输入时,必须把P1相应位置1,使FET关断,使引脚悬浮成为高阻,才能正确输入数据,称为准双向口。,40,三、P2口结构,1、注意读引脚和读锁存器的区别。2、普通IO输入时,必须把P2相应位置1,使FET关断,使引 脚悬浮成为高阻,才能正确输入数据,称为准双向口。3、MUX当程序中出现MOVX A,DPTR(16bit)语句时 自动切向上方,输出高8位地址;而执行MOVX A,Ri(
17、8bit),时不切换,仍作为普通IO口使用。,41,四、P3口结构,1、注意读引脚和读锁存器的区别。2、普通IO输入时,必须把P3相应位置1,使FET关断,使引脚悬浮成为高阻,才能正确输入数据,称为准双向口。3、启动第二功能口,应将锁存器置1,控制端为1,FET截止,42,I/O口电路小结 1.P0口:通用双向并行I/O口或低8位地址/数据传送分时复用。,2.P1口:最简单的I/O通用双向并行接口。,3.P2口:通用双向并行I/O接口或高8位地址总线AB815,4.P3口:通用双向并行接口和第二功能口:串行接口引脚:TXD、RXD 中断输入引脚:INT0、INT1 定时器输入引脚:T0、T1
18、读写控制线:RD、WR,43,每个I/O口均有两种读入方式(用命令区分)读锁存器读引脚 ORL P1,#0FFH;读锁存器(目的操作数必须是一个I/O口或I/O口的某一位)MOV A,P1;读引脚(源操作数是一个I/O口或I/O口的某一位)注意:读引脚时,需先向锁存器写“1”。系统复位时,所有口锁存器均置“1”。,44,第四节 时钟电路及时序,一、时钟电路,单片机时钟电路通常有两种形式:1内部振荡方式:引脚XTAL1和XTAL2分别接放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器,以及两个电容连接,就构成了内部自激振荡器并产生振荡时钟脉冲。晶体振荡器频率即为系统的振荡频
19、率。通常为1.2MHz-12MHz,晶振频率越高,单片机运行速度就越快。2外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片机内。外部振荡方式常用于多块芯片同时工作,以便于同步。,45,内部振荡方式,外部振荡方式,XTAL2,XTAL1,MCS-51,C1,C2,CYS,XTAL2,XTAL1,MCS-51,+5V,VSS,TTL,外部时钟源,至内部时钟,HMOS型,46,时序研究的是指令执行中各信号之间的相互时间关系。下面是有关CPU时序的几个概念。,二、时序,1振荡周期:为单片机提供时钟信号的振荡源的周期。也称拍节,用P表示。如果为内部时钟方式,振荡周期即为石英晶体的振荡周期。2时
20、钟周期:是振荡源信号经二分频后形成的时钟脉冲信号。也称状态周期用S表示。也就是一个时钟周期是振荡周期的2倍。3机器周期:通常将完成一个基本操作所需的时间称为机器周期。MCS-51一个机器周期含6个时钟周期。4指令周期:是指CPU执行一条指令所需要的时间。一个指令周期通常含有14个机器周期。,47,P1,P2,S1,P2,振荡周期也称节拍P,时钟周期也称状态S,机器周期,机器周期,指令周期,XTAL2(OSC),S2,S3,S4,S5,S6,S1,S2,S4,S5,S3,S6,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P1,P2,P2,P2,P2,P2,P2,P2,P2,P2,
21、P2,MCS-51单片机各种周期的相互关系,振荡周期、时钟周期、机器周期、指令周期,48,若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为:,振荡周期1/12MHz1/12s0.0833s 时钟周期1/6s0.167s 机器周期1s 指令周期14s,49,50,CPU执行程序的简要过程:1)PC给出当前指令的存储地址。,PC=,PC=,PC=,2)CPU到存储器取指令,PC+1,3)指令译码器对指令译码,CPU执行指令。,4)CPU到存储器取指令,PC=PC+1。,5)CPU执行下一条指令,,指令寄存器,51,第五节 单片机的复位,1、单片机为什么需要复位:复位是单片机
22、的初始化操作,把PC初始化为0000H,使得单片机从0000H单元开始执行程序。使CPU和各个部件处在一个确定的初始状态,并从这个状态由用户程序开始引导工作。,2、什么时候需要复位:冷启动当系统初始加电的时候上电复位 热启动当程序运行死机的时候按钮复位,3、单片机复位的条件:在振荡器运行时,RST端至少保持2个机器周期的高电平,52,4、实现单片机复位的具体电路(复位方式),RST,VSS,+5V,RST,VSS,+5V,8.2K,8.2K,100,22uF,53,54,P,0,P,1,P,2,P,3,+5V,+5V,EA,8051,8751,XTAL,1,XTAL,2,8,8,8,8,805
23、1/8052最小应用系统,MCS51单片机最小应用系统,30p,30p,22u,100,10k,RST,8951,VCC,+5V,VSS,55,第六节 单片机的低功耗操作方式,1、为什么需要低功耗操作:节能、特别是在便携式电池供电方式下。2、怎样进行低功耗操作:对PCON的相应位进行置高或置低。如 SETB IDL 等同于 SETB PCON.03、低功耗工作模式及耗电量:1)待机方式:从正常工作24mA降为3.7mA。2)掉电方式:从待机3.7mA降为50uA。,56,思考题,1、MCS-51单片机的EA信号有何功能?使用8031时EA信号引脚如何处理?2、内部RAM低128单元如何划分?3、8051存储器空间在物理上和逻辑上如何划分?4、程序计数器PC的内容以及特点是什么?5、堆栈的功能及 特点?,