资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,2,章,MCS-51,单片机的,硬件结构,2.1 MCS-51,单片机的硬件结构,CPU,运算部件,控制部件,B,RAM,P0,口,P2,口,ROM,(EPROM),串行口,C/T,中断,系统,SFR,P1,口,8,P3,口,8,8,8,XTAL,1,XTAL,2,PSEN ALE,EA RESET,Vcc,Vss,按功能可分成,8,个部件,通过片内单一总线连接起来,1.,微处理器,2.,数据存储器,3.,程序存储器,4.I/O,口,5.,串行口,6.,定时,/,计数器,7.,中断系统,8.,特殊功能寄存器,控制方式:,SFR,对各功能部件集中控制,片内总线,各功能部件:,1.CPU,(,微处理器),2.,数据存储器(,RAM,),片内为,128,个字节(,52,子系列的为,256,个字节),3.,程序存储器(,ROM/EPROM,),8031:,无此部件;,8051:,4K,字节,ROM,;,8751:,4K,字节,EPROM,;,89C51/89C52/89C55:,4K/8K/20K,字节闪存,。,4.P1,口、,P2,口、,P3,口、,P0,口:,为,4,个并行,8,位,I/O,口。,5.,串行口,1,个全双工的异步串行口,6.,定时器,/,计数器,7.,中断系统,8.,特殊功能寄存器(,SFR,),共有,21,个,是一个具有特殊功能的,RAM,区。,2.2 MCS-51,的引脚,40,只引脚,双列直插封装(,DIP,),44,只引脚方形封装方式(,4,只无用),引脚逻辑图,8051,单片机为,40,条引脚双列直插式封装,引脚可分为三个部分,控制引脚,并行,I/O,口引脚,电源及时钟引脚,(,1,)电源及时钟引脚,:,Vcc,、,Vss,;,XTAL1,、,XTAL2,。,(,2,),控制引脚:,PSEN,*,、,EA,*,、,ALE,、,RESET,(,3,),I/O,口引脚:,P0,、,P1,、,P2,、,P3,,,4,个,8,位,I/O,口,2.2.1,电源及时钟引脚,1,电源引脚,(,1,),Vcc,(,40,脚),:,+5V,电源;,(,2,),Vss,(,20,脚),:接地。,2,时钟引脚,(,1,),XTAL1,(,19,脚),:采用外接晶体振荡器时,此引脚应接地。,(,2,),XTAL2,(,18,脚),:接外部晶体的另一端。,2.2.2,控制引脚,(1)RST/VPD(9,脚,),:复位与备用电源,(2)ALE/PROG,*,(,30,脚):,第一功能,ALE,:地址锁存允许,第二功能,PROG,*,:,编程脉冲输入端。,(3)PSEN,*,(,29,脚):,读外部程序存储器的选通信号。可以驱动,8,个,LS,型,TTL,负载。,(4)EA,*,/VPP(31,脚,),:,EA,*,为内外程序存储器选择控制,EA,*,=1,,,访问片内程序存储器,,EA,*,=0,,,单片机则只访问外部程序存储器。,第二功能,V,PP,,用于,施加编程电压,。,2.2.3 I/O,口引脚,(1),P0,口,:,双向,8,位三态,I/O,口,地址总线(低,8,位)及数据总线分时复用口,可驱动,8,个,LS,型,TTL,负载。,(2),P1,口,:,8,位,准双向,I/O,口,可驱动,4,个,LS,型,TTL,负载。,(3),P2,口,:,8,位,准双向,I/O,口,与地址总线(高,8,位)复用,可驱动,4,个,LS,型,TTL,负载。,(4),P3,口,:,8,位,准双向,I/O,口,双功能复用口,可驱动,4,个,LS,型,TTL,负载。,注意,:,准双向口与双向三态口的差别,。,当,3,个准双向,I/O,口作输入口使用时,要向该口先写“,1”,,另外准双向,I/O,口无高阻的“浮空”状态。,引脚,转义引脚,功能说明,P3.0,RXD,串行数据接收端,P3.1,TXD,串行数据发送端,P3.2,INT0,外部中断,0,请求,P3.3,INT1,外部中断,1,请求,P3.4,T0,计数器,0,外部输入,P3.5,T1,计数器,1,外部输入,P3.6,WR,外部数据存储器写,P3.7,RD,外部数据存储器读,2.3 MCS-51,的,CPU,由,运算器,和,控制器,所构成,2.3.1,运算器,对操作数进行,算术、逻辑运算和位操作,。,1,算术逻辑运算单元,ALU,2,累加器,A,使用最频繁的寄存器,,可写为,Acc,。,A,的作用:,(,1,)是,ALU,单元的输入之一,又是运算结果存放单元。,(,2,)数据传送大多都通过累加器,A,。,(,3,),A,的进位,标志,Cy,同时又是,位处理机的位累加器。,3,程序状态字寄存器,PSW,(,1,),Cy,(,PSW.7,),进位标志位,(,2,),Ac(PSW.6),辅助进位标志位,(,3,),F0,(,PSW.5,),标志位,由用户使用的一个状态标志位。,(,4,),RS1,、,RS0,(,PSW.4,、,PSW.3,),:,4,组工作寄存器区选择控制位,1,和位,0,。,工作寄存器区的选择,181FH,3,区,1 1,1017H,2,区,1 0,080FH,1,区,0 1,00,07H,0,区,0 0,R,0,R,7,地址,寄存器组,RS,1,RS,0,(,5,),OV,(,PSW.2,),溢出标志位,指示运算是否产生溢出。各种算术运算指令对该位的影响情况较复杂,将在第,3,章介绍。,(,6,),PSW.1,位,:,保留位,未用,(,7,),P(PSW.0),奇偶标志位,P=1,,,A,中“,1”,的个数为奇数,P=0,,,A,中“,1”,的个数为偶数,2.3.2,控制器,1,程序计数器,PC,(,Program Counter,),存放下一条要执行的指令在程序存储器中的地址。,基本工作方式:,(,1,)程序计数器,自动加,1,(,2,)执行,有条件或无条件转移,指令时,程序计数器将被置入新的数值,从而使程序的流向发生变化。,(,3,)执行,子程序调用或中断调用,时完成下列操作:,PC,的当前值保护,将子程序入口地址或中断向量的地址送入,PC,。,2,指令寄存器,IR,、指令译码器及控制逻辑电路,2.4 MCS-51,存储器的结构,哈佛(,Har-vard,),结构,存储器空间可划分为,5,类:,1.,程序存储器空间,8031,无内部程序存储器。,2.,内部数据存储器空间,3.,特殊功能寄存器,4.,位地址空间,211,个可寻址位。,5.,外部数据寄存器空间,片外可扩展,64K,字节,RAM,。,内部数据存储器,(,a,),外部数据存储器,(,b,),MCS-51,单片机存储器空间分配,特,殊,功,能,寄,存,器,00H,1FH,20H,2FH,30H,7FH,80H,FFH,80H,88H,90H,98H,A0H,A8H,B0H,B8H,D0H,E0H,F0H,特殊功能寄存器中位寻址,外部,ROM,内部,ROM,(EA=1),外部,ROM,(EA=0),0000H,0000H,0FFFH,0FFFH,1000H,FFFFH,外 部,RAM,(I/O,口,地址,),0000H,FFFFH,程序存储器,(,c,),工作寄存器区,位寻址区,通用,RAM,区,返回,2.4.1,程序存储器,存放应用程序和表格之类的固定常数。,分为片内和片外两部分,由,EA,*,引脚上所接电平确定,程序存储器中的,0000H,地址是系统程序的启动地址,5,个单元具有特殊用途,表,2-1 5,种中断源的中断入口地址,外中断,0 0003H,定时器,T0 000BH,外中断,1 0013H,定时器,T1 001BH,串行口,0023H,2.4.2,内部数据存储器,共,128,个字节,,字节地址为,00H,7FH,。,00H,1FH,:,32,个单元,是,4,组通用工作寄存器区,20H,2FH,:,16,个单元,可进行,128,位的位寻址,30H,7FH,:,用户,RAM,区,只能进行字节寻址,用作数据缓冲区以及堆栈区。,2.4.3,特殊功能寄存器(,SFR,),CPU,对各种功能部件的控制采用特殊功能寄存器集中控制方式,,共,21,个,。,有的,SFR,可进行,位寻址,,其,字节地址的末位是,0H,或,8H,。,表,2-2 SFR,的名称及其分布,SFR,中的某些寄存器,1,堆栈指针,SP,指示出堆栈顶部在内部,RAM,块中的位置,复位后,,SP,中的内容为,07H,。,(,1,),保护断点,(,2,)现场保护,堆栈,向上生长,2.,数据指针,DPTR,16,位特殊功能寄存器,,高位字节寄存器用,DPH,表示,低位字节寄存器用,DPL,表示。,3.I/O,端口,P0,P3,P0,P3,分别为,I/O,端口,P0,P3,的锁存器。,4.,寄存器,B,为执行乘法和除法操作设置的。,在不执行乘、除的情况下,可当作一个普通寄存器来使用。,5.,串行数据缓冲器,SBUF,存放欲发送或已接收的数据,一个字节地址,物理上是由两个独立的寄存器组成,一个是发送缓冲器,另一个是接收缓冲器。,6.,定时器,/,计数器,两个,16,位,定时器,/,计数器,T1,和,T0,,,各由两个独立的,8,位寄存器组成:,TH1,、,TL1,、,TH0,、,TL0,,,只能字节寻址,但不能把,T1,或,T0,当作一个,16,位寄存器来寻址访问。,2.4.4,位地址空间,211,个(,128,个,+83,个)寻址位,。位地址范围为:,00H,FFH,。,内部,RAM,的可寻址位,128,个,(,字节地址,20H,2FH),见,表,2-3,(,P24,),。,特殊功能寄存器,SFR,为,83,个,可寻址位,见,表,2-4,(,P24,),。,表,2-3,内部的可寻址位及位地址,表,2-4 SFR,中的位地址分布,2.4.5,外部数据存储器,最多可,外扩,64K,字节,的,RAM,或,I/O,。,几点注意:,(1),地址的重叠性,程序存储器与数据存储器全部,64K,字节地址空间重叠,程序存储器与数据存储器在使用上是严格区分的,(3),位地址空间共有两个区域,(4),片外与片内数据存储器由指令来区分,(5),片外数据存储区中,,RAM,与,I/O,端口统一编址。,所有外围,I/O,端口的地址均占用,RAM,地址单元,使用与访问外部数据存储器相同的传送指令。,内部数据存储器,(,a,),外部数据存储器,(,b,),MCS-51,单片机存储器空间分配,特,殊,功,能,寄,存,器,00H,1FH,20H,2FH,30H,7FH,80H,FFH,80H,88H,90H,98H,A0H,A8H,B0H,B8H,D0H,E0H,F0H,特殊功能寄存器中位寻址,外部,ROM,内部,ROM,(EA=1),外部,ROM,(EA=0),0000H,0000H,0FFFH,0FFFH,1000H,FFFFH,外 部,RAM,(I/O,口,地址,),0000H,FFFFH,程序存储器,(,c,),工作寄存器区,位寻址区,通用,RAM,区,返回,多路开关,功能,:用于控制选通,I/O,方式,还是,地址,/,数据输出方式,方式控制,:由内部控制信号产生,输入锁存器,两个输入缓冲器,(,BUF1,和,BUF2),推拉式,I/O,驱动器,2.5,并行,I/O,端口,共有,4,个,8,位双向,I/O,口,共,32,口线。每位均有自己的锁存器,(SFR),,,输出驱动器和输入缓冲器。,2.5.1 P0,口位图内部结构,BUF2,BUF1,5,、,P0R2,为,读引脚,信号,执行,“,MOV A,P0,”,时该信号有效,6,、读引脚(端口)时,输出锁存器应为,“,1,”,说明:,1,、当控制信号为,0,时,,P0,口做双向,I/O,口,为漏极开路(三态),2,、控制信号为,1,时,,P0,口为地址,/,数据复用总线(用于口扩展),3,、,P0W,为端口输出写信号,用于锁存输出状态,4,、,P0R1,为,读锁存器,信号,执行“,ANL P0,#0FH”,时该信号有效,Q,Q,D,C,Vcc,控制,AD0,P0R1,P0R2,D0,P0W,图,1,、,P0,口内部结构,读锁存器,读引脚,锁存器,内部总线,写锁存器,地址,/,数据,P00,多路开关,1,0,2.5.2 P1,口内部结构,P1,口内部结构如图,2,所示,输出部分有内部上拉电阻,R*,约为,20K,。,其他部分与,P0,端口使用相类似(读引脚时先写入,1,)。,写数据,读端口,2.5.3 P2,口内部结构,2,、当控制信号为,1,时,P2,口输出地址信息,,此时单片机完成外部的取指操作或对外部数据存储器,16,位地址的读写操作。,3,、当,P2,口作为普通,I/O,口使用时,用法和,P1,口类似。,说明:,1,、,P2,可以作为通用的,I/O,,,也可以作为,高,8,位地址,输出。,P,0.3,地址锁存器,CB,I/O,A,15,A,14,A,13,A,12,A,11,A,10,A,9,A,8,A,7,A,6,A,5,A,4,A,3,A,2,A,1,A,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,DB,AB,P,1.0,P,1.1,P,1.2,P,1.3,P,1.4,P,1.5,P,1.6,P,1.7,RESET,P,3.0,P,3.1,P,3.3,P,3.4,P,3.5,P,3.6,P,3.7,V,SS,V,CC,P,0.0,P,0.1,P,0.2,P,0.5,P,0.6,P,0.7,EA,ALE,PSEN,P,2.7,P,2.6,P,2.5,P,2.4,P,2.3,P,2.2,P,2.1,P,2.0,P,3.2,MCS-51,片外总线结构示意图,返回,MCS-51,单片机片外总线,P,0.4,返回,单片机,8031,P2.0,P2.1,P2.2,A8,A9,A10,ALE,RD,74LS,373,G,6264,A7,A6,A5,A4,A3,A2,A1,A0,O0,O1,O2,O3,O4,O5,O6,O7,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,OE,CE,Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,D0,D1,D2,D3,D4,D5,D6,D7,WE,WR,P2.7,P2.3,P2.4,A11,A12,6264,WE,单片机,8031,P2.0,:,.,A8,.,.,ALE,RD,74LS,373,G,A7,.,.,A0,P0.0,:,P0.7,OE,CE,Q0,.,.,Q7,D0,.,.,D7,A12,P2.4,WR,D7,.,.,D0,2.5.4 P3,口内部结构,说明:,1,、做普通端口使用时,第二功能应为“,1”,。,2,、使用第二功能时,输出端口锁存器应为“,1”,。,3,、变异功能(),P3.0 TXD P3.4 T0,P3.1 RXD P3.5 T1,P3.2 INT0 P3.6 WR,P3.3 INT1 P3.7 RD,1,输出,I/O,口,1,读I/O口,1,1,2.5.5 P0,P3,端口功能总结,使用中应注意的问题:,P0,P3,口都是并行,I/O,口,但,P0,口和,P2,口,还可用来构建数据总线和地址总线,所以,电路中有一个,MUX,,进行转换。,而,P1,口和,P3,口,无构建系统的数据总线和地址总线的功能,因此,,无需转接开关,MUX,。,只有,P0,口,是一个真正的,双向口,,,P1,P3,口,都是,准双向口,。,原因,:,P0,口作数据总线使用时,为保证数据正确传送,需解决芯片内外的隔离问题,,即只有在数据传送时芯片内外才接通;否则应处于隔离状态。为此,,P0,口的输出缓冲器应为三态门。,P3,口具有第二功能。因此在,P3,口电路增加了第二功能控制逻辑。这是,P3,口与其它各口的不同之处,。,2.6,时钟电路与时序,时钟电路用于产生单片机工作所必需的时钟控制信号。,2.6.1,时钟电路,时钟频率直接影响单片机的,速度,,电路的质量直接影响系统的,稳定性,。常用的时钟电路有两种方式:,内部时钟,方式和,外部时钟,方式。,一、内部时钟方式,内部有一个用于构成振荡器的,高增益反相放大器,,其输入端:,XTAL1,,,输出端:,XTAL2,。,C1,和,C2,典型值通常选择为,30pF,左右。,晶体的振荡频率,在,1.2MHz,12MHz,之间。,某些高速单片机芯片的时钟频率已达,40MHz,。,二、外部时钟方式,常用于多片,MCS-51,单片机同时工作。,三、时钟信号的输出,为应用系统中的其它芯片提供时钟,但需增加驱动能力。,2.6.2,机器周期、指令周期与指令时序,一、时钟周期,单片机的,基本时间单位,。,若时钟的晶体的振荡频率为,fosc,,,则时钟周期,Tosc,=1/fosc,。如,fosc,=6MHz,,,Tosc,=166.7ns,。,二、机器周期,CPU,完成一个基本操作所需要的时间,。,执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。,MCS-51,单片机,每,12,个时钟周期为一个机器周期,,一个机器周期又分为,6,个状态,:,S1,S6,。,每个状态又分为两拍,:,P1,和,P2,。,因此,,一个机器周期中的,12,个时钟周期表示为:,S1P1,、,S1P2,、,S2P1,、,S2P2,、,、,S6P2,。,三、指令周期,执行一条指令时,可分为,取指令阶段,和,指令执行阶段,。,取指令阶段,,,PC,中地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。,指令执行阶段,,对指令操作码进行译码,以产生一系列控制信号完成指令的执行。,ALE,信号是为地址锁存而定义的,,以时钟脉冲,1/6,的频率出现,在一个机器周期中,,ALE,信号两次有效(注意,在执行访问外部数据存储器的指令,MOVX,时,将会丢失一个,ALE,脉冲),8051,X2,X1,Vss,TTL,外接时钟源,Vcc,时钟电路,需外接晶振的频率,1.212MHZ,,,C1,和,C2,取,3010PF,X1,X2,C2,C1,X,8051,振荡电路,S1,S2,S3,S4,S5,S6,S1,S2,P1,P2 P1,P2 P1 P2,P1 P2 P1,P2 P1,P2,P1 P2 P1 P2,f,osc,一个状态周期,一个机器周期,T=12*(1/fosc),X,2,CPU,的时序(时钟周期、状态周期、机器周期),若外接晶振为,12MHz,时,则单片机的四个周期的具体值为:,时钟周期,1/12MHz,1/12s,0.0833s,状态周期,1/6s,0.167s,机器周期,1s,指令周期,1,4s,可用于计算指令、程序的执行时间,以及定时器的定时时间,2.7,复位操作和复位电路,2.7.1,复位操作,单片机的初始化操作,摆脱死锁状态。,引脚,RST,加上,大于,2,个机器周期(即,24,个时钟振荡周期)的高电平就可使,MCS-51,复位。,复位时,,PC,初始化为,0000H,,使,MCS-51,单片机从,0000H,单元开始执行程序。,除,PC,之外,复位操作还对其它一些寄存器有影响,见,表,2-6,(P34),。,SP=07H,,,P0-P3,的引脚均为高电平,。,在复位有效期间,,ALE,脚,和,PSEN,*,脚,均为高电平,内部,RAM,的状态不受复位的影响。,MCS-51,单片机各寄存器的复位状态,00H,TCON,0000H,PC,00H,TMOD,0,0000B,PCON,0,000000B,IE,不定,SBUF,000000B,IP,00H,SCON,0FFH,P,0,P,3,00H,TH,1,0000H,DPTR,00H,TL,1,07H,SP,00H,TH,0,00H,PSW,00H,TL,0,00H,ACC,复位状态,寄存器,复位状态,寄存器,2.7.2,复位电路,片内复位结构:,上电自动复位,和,按钮复位,最简单的上电自动复位电路,:,按键手动复位,,有,电平方式,和,脉冲方式,两种。,电平方式 脉冲方式,两种实用的兼有上电复位与按钮复位的电路。,图,2-19,中(,b,),的电路能输出高、低两种电平的复位控制信号,以适应外围,I/O,接口芯片所要求的不同复位电平信号。,74LS122,为单稳电路,实验表明,,电容,C,的选择约为,0.1,F,较好。,
展开阅读全文