资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第二章,MCS-51,系列单片机,系统结构,MCS-51,的典型产品是,8051,、,8031,、,8751,。,8051,是,ROM,型单片机,内部有,4KROM,;,8031,无片内,ROM,,,8751,片内有,4KEPROM,;,除此以外,它们的内部结构及引脚完全相同。,本章将以,MCS-51,系列的,8051,为典型例子,详细介绍单片机的结构、性能、存储器结构及工作原理等内容。通过对这些内容的掌握,可以起到举一反三、触类旁通的作用。,8/9/2024,1,2.1 MCS-51,单片机的结构,一块芯片上,集成了一台微型计算机的各个部分。其中主要有,CPU,、,存储器,、可编程,I/O,、,定时,/,计数器,、,串行口,等。各部分通过内部总线相连。,8/9/2024,2,时钟,OSC,CPU,各种,I/O,定时器,/,计数器,程序存储器,ROM,数据存储器,RAM,中断,MCS-51,单片机组成框图,8/9/2024,3,8/9/2024,4,8,位,CPU,震荡器和时钟电路,内部程序存储器(片内,ROM 4KB/8KB,),内部数据存储器(片内,RAM 128B/256B,),可寻址外部程序存储器和数据存储器各,64K,4,个,8,位并行,I/O,口,P0,、,P1,、,P2,、,P3,一个全双工的串行口,2/3,个,16,位的定时计数器,中断控制系统,5/6,个中断源,两个中断优先级,具有较强功能的位处理器,8051/8052,单片机内部资源,8/9/2024,5,2.2 MCS-51,的引脚,40,只引脚双列直插封装(,DIP,)。,8/9/2024,6,44,只引脚,方形,封装方式为(,4,只无用),8/9/2024,7,40,只引脚按其功能来分,可分为,3,类:,(,1,),电源及时钟,引脚,:,Vcc,、,Vss,;,XTAL1,、,XTAL2,。,(,2,),控制,引脚:,PSEN,*,、,EA,*,、,ALE,、,RESET,(即,RST,)。,(,3,),I/O,口引脚:,P0,、,P1,、,P2,、,P3,,,为,4,个,8,位,I/O,口的外部引脚。,2.2.1,电源及时钟引脚,1,电源,引脚,(,1,),Vcc,(,40,脚):,+5V,电源;,(,2,),Vss,(,20,脚):接地。,8/9/2024,8,2,时钟,引脚,(,1,),XTAL1,(,19,脚):接外部晶体的一端,(,2,),XTAL2,(,18,脚):接外部晶体的另一端,2.2.2,控制引脚,(1)RST/,VPD,(9,脚,),:,RES,引脚输入,两个以上,机器,周期,的,高电平,时复位单片机,Vcc,掉电时也可接备用电源,以保持内部,RAM,中的数据。,(2)ALE/,PROG*,(,30,脚):,访问外部存储器时,输出,地址锁存信号。,非访问外部,数据,存储器时,,ALE,信号,仍以震荡频率,1/6,的频率出现,,访问外部,数据,存储器时,,ALE,信号,以震荡频率,1/12,的频率出现。,PROG*,为本引脚的第二功能,(8751),,为编程脉冲输入端。,8/9/2024,9,(3),PSEN*,(,29,脚):读外部程序存储器选通信号,,以震荡频率,1/6,的频率出现。,(4),EA*,/VPP(31,脚,),:,EA*,为内外程序存储器选择控制端。,EA*,=,1,,,单片机,访问片内,程序存储器,但在,PC,(,程序计数器)值,超过,0FFFH,(,对于,8051,、,8751,),时,,即超出片内程序存储器的,4K,字节地址范围时,将,自动转向,执行,外部,程序存储器内的程序。,EA*,=,0,,,单片机则只,访问外部,程序存储器。,8/9/2024,10,V,PP,为本引脚的第二功能。用于,施加,较高的,编程电压,(例如,+21V,或,+12V,)。,对于,89C51,,,则加在,V,PP,脚的编程电压为,+12V,或,+5V,。,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,负载。,8/9/2024,11,(4),P3,口,:,8,位,准双向,I/O,口,双功能复用口,可驱动,4,个,LS,型,TTL,负载。,注意:,准双向口,与,双向三态口,的差别。,当,3,个,准双向,I/O,口作,输入,口使用,时,,,要向该口先写“,1,”,,,另外,准双向,I/O,口无高阻,的“浮空”,状态,。,2.3 MCS-51,的,CPU,8051,的,核心,部件是一个,8,位,高性能中央处理器,CPU,,,由,运算器,和,控制器,所构成。,2.3.1,运算器,对操作数进行,算术、逻辑运算和位操作,。,8/9/2024,12,1,算术逻辑运算单元,ALU,2,累加器,A,3.,程序状态字寄存器,PSW,4,寄存器,B,5,堆栈及栈指针,SP,在数据存储器中开辟的一个存储区,堆栈指针,(,SP,)指向栈顶,,堆栈元素遵循,后进先出,的原则。堆栈元素,压入时,SP,自增,1,,,然后压入数据,到,SP,指定的堆栈单元;,弹出时先弹出数据,,SP,再自减,1,。主机,复位后,,,SP,的,初始,值为,07H,。,内部,RAM,的任意连续区域都可作为堆栈,。,6,数据指针,DPTR,8/9/2024,13,2.3.2,控制器,1,程序计数器,PC,(,Program Counter,),存放,下一条,要执行的,指令,在程序存储器中,的地址,。,基本,功能,:,(,1,),自动加,1,(,2,),执行转移指令时,,程序计数器将,被置入新,的数,值,,从而使程序的流向发生变化。,(,3,)在执行,子程序调用,或,响应中断,时,完成下列操作:,保护,PC,的现行值,将子程序或中断向量的,入口地址送入,PC,。,2,指令寄存器,、,指令译码器及控制逻辑电路,8/9/2024,14,2.3.3,振荡器、时钟电路及时序,时钟电路用于,产生,MCS-51,单片机工作时所必需的时钟,控制信号,。,基本定时时序关系,8/9/2024,15,1.,时钟电路,时钟频率直接影响单片机的速度和稳定性。常用的时钟电路设计有两种方式,一种是,内部时钟,方式,另一种方式为,外部时钟,方式。,(,1,),内部振荡方式,:,MCS-51,单片机片,内有,一个用于构成振荡器的高增益,反相放大器,,引脚,XTAL1,和,XTAL2,分别是,此放大器的,输入端,和,输出端,。把,放大器与,作为反馈元件的,晶,体,振,荡器或陶瓷谐振器,连接,,就,构成,了,内部,自激,振荡器,并产生振荡时钟脉冲。,(,2,),外部振荡方式,:外部振荡方式就是把,外部,已有的,时钟信号引入,单,片,机,内,,,XTAL1,接地。,8/9/2024,16,石英晶振时,,C=3010PF,陶瓷晶振时,,C=4010PF,8/9/2024,17,(,1,),振荡周期,:为单片机提供时钟信号的,振荡源的周期,。,(,2,),时钟周期,:是,振荡源信号,经,二分频,后形成的时钟脉冲信号,的周期,。,(,3,),机器周期,:通常将,完成一个基本操作,所需,的时间,称为机器周期。,(,4,),指令周期,:是指,CPU,执行一条指令,所需要,的时间,。一个指令周期通常含有,1,4,个机器周期。,2.,振荡周期、时钟周期、机器周期和指令周期,8/9/2024,18,若,MCS-51,单片机外接晶振为,12MHz,时,则单片机的四个周期的具体值为:,振荡周期,1/12MHz,1/12s,0.0833s,时钟周期,1/6s,0.167s,机器周期,1s,指令周期,1,4s,例:,8/9/2024,19,(,5,),MCS-51,的一个机器周期包括,12,个,震荡周期,分为,6,个状态,:,S1,S6,。,每个状态又分为,两拍,:,P1,和,P2,。,因此,一个机器周期中的,12,个震荡周期表示为:,S1P1,、,S1P2,、,S2P1,、,S2P2,、,、,S6P2,。,8/9/2024,20,MCS-51,的取指,/,执行时序,例:,INC DPTR,例:,INC A,例:,ADD A,,,#DATA,例:,MOVX A,,,Ri,8/9/2024,21,ALE,信号以震荡频率,1/6,的频率出现,,因此在一个机器周期中,,ALE,信号两次有效(,但,要注意,在,执行,访问外部数据存储器的指令,MOVX,时,,将会,丢失一个,ALE,脉冲,将在后面有关章节介绍),取指令阶段:,根据,PC,中地址,取,出需要执行指令的,操作码,和,操作数,。,执行指令阶段:,可,对指令,操作码进行,译码,,以,产生,一系列,控制信号,完成指令的执行。,8/9/2024,22,2.4 MCS-51,单片机的并行端口结构,8051,单片机有,4,个,I/O,端口,每个端口都是,8,位,准,双向口,,共占,32,根引脚。每个端口都包括一个,锁存器,(,即专用寄存器,P0,P3,),、,一个输出驱动器和输入,缓冲器,。数据,输出,可,锁存,,对,输入,信息,不锁存,。通常把,4,个端口笼统地表示为,P0,P3,。,8/9/2024,23,在,无片外扩展存储器,的系统中,这,4,个端口的每一位,都可以作为准双向,通用,I/O,端口,使用。,在有,片外扩展存储器,的系统中,,P2,口,作为,高,8,位地址线,,,P0,口分时,作为,低,8,位地址线,和,双向数据总线,。,8051,单片机,4,个,I/O,端口线路设计的非常巧妙,学习,I/O,端口逻辑电路,不但有利于正确合理地使用端口,而且会给设计单片机外围逻辑电路有所启发。,2.4.1 P0,口和,P2,的结构,8/9/2024,24,下图为,P0,口的某位,P0.n,(n=0,7),结构图,它由,一个输出锁存器,、,两个三态输入缓冲器,和,输出驱动电路,及,控制电路,组成。从图中可以看出,,P0,口既可以作为,I/O,用,也可以作为地址,/,数据线用。,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,一、,P0,口的结构,8/9/2024,25,1,、,P0,口作为,普通,I/O,口,输出时,CPU,发出控制电平,“,0,”,封锁,“,与,”,门,将输出上拉场效应管,T,1,截止,同时使多路开关,MUX,把锁存器,与输出,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,8/9/2024,26,驱动场效应管,T,2,栅极接通。故内部总线与,P0,口同相。由于输出驱动级是,漏极开路,电路,若驱动,NMOS,或其它拉流负载时,需要,外接上拉电阻,。,P0,的输出级可驱动,8,个,LSTTL,负载。,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,V,CC,8/9/2024,27,输入时,-,分,读引脚,或,读锁存器,读引脚:,由传送指令,(,MOV,),实现;,下面一个缓冲器用于读端口,引脚,数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,8/9/2024,28,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,输入时,-,分,读引脚,或,读锁存器,读锁存器:,有些指令,如:,ANL P0,,,A,称为,“,读,-,改,-,写,”,指令,需要读锁存器。,上面,一个缓冲器用于读端口,锁存器,数据。,8/9/2024,29,*原因:,如果此时该端口的负载恰是一个晶体管,基极,,且原端口输出值为,1,,那么导通了的,PN,结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输出的,“,1,”,电平误读为,“,0,”,电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器,Q,端信号而设,读输出锁存器可避免上述可能发生的错误。,*,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,8/9/2024,30,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,准,双向口:,从图中可以看出,在读入端口数据时,由于输出驱动,FET,并接在引脚上,如果,T2,导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器,写“,1”,,,使,T2,截止,,引脚处于悬浮状态,,变为高阻抗输入。这就是所谓的,准,双向口。,8/9/2024,31,2,、,P0,作为,地址,/,数据总线,在系统扩展时,,P0,端口作为,地址,/,数据总线,使用时,分为:,P0,引脚,输出地址,/,数据,信息。,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,8/9/2024,32,P0,引脚,输出地址,/,数据,控制电平,“,1,”,,多路开关,MUX,与,T2,栅极反相接通,,输出地址或数据。,由图上可以看出,上下两个,FET,处于反相,构成了,推拉式,的输出电路,其负载能力大大增强。,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,2,、,P0,作为,地址,/,数据总线,8/9/2024,33,P0,引脚,输入数据,输入信号是从引脚通过输入缓冲器进入,内部总线,。,CPU,使,MUX,自动向下,,由于,CPU,复位,后自动向,P0,口,写,“,0FF,”,,,T2,截止。,“,读引脚,”,有效,外部数据读入内部总线。*,无须上拉电阻,!直接和,外部,地址,/,数据总线相连。,2,、,P0,作为,地址,/,数据总线,-,真正的双向口,D Q,CLK Q,MUX,P0.n,读,锁存器,内部总线,写,锁存器,读,引脚,地址,/,数据,控制,V,CC,T1,T2,P0,口引脚,8/9/2024,34,二、,P2,的内部结构,1.P2,口作为,普通,I/O,口,D Q,CLK Q,MUX,P2.n,读锁存器,内部总线,写锁存器,读引脚,地址,控制,V,CC,R,T,P2,口引脚,CPU,发出控制电平,“,0,”,,使多路开关,MUX,倒向锁存器,输出,Q,端,构成一个准双向口。其功能与,P1,相同。,本身有上拉电阻,8/9/2024,35,2.P2,口作为,地址总线,在系统扩展片外,程序存储器,扩展数据存储器且容量,超过,256B,(,用,MOVX DPTR,指令,),时,,CPU,发出控制电平,“,1,”,,使多路开关,MUX,倒,内部地址线,。此时,,P2,输出高,8,位地址。,D Q,CLK Q,MUX,P2.n,读锁存器,内部总线,写锁存器,读引脚,地址,控制,V,CC,R,T,P2,口引脚,8/9/2024,36,三、,P1,口的结构,它由一个,输出锁存器,、,两个三态输入缓冲器,和,输出驱动电路,组成,-,准双向口。,D Q,CLK Q,P1.n,读,锁存器,内部总线,写,锁存器,读,引脚,V,CC,R,T,P1,口引脚,本身有上拉电阻,8/9/2024,37,四、,P3,的内部结构,D Q,CLK Q,P3.n,读,锁存器,内部总线,写锁存器,读,引脚,V,CC,R,T,P3,口引脚,第二,输入功能,第二,输出功能,作为通用,I/O,口与,P1,口类似,-,准双向口,(,W=1,),W,本身有上拉电阻,8/9/2024,38,D Q,CLK Q,P3.n,读,锁存器,内部总线,写锁存器,读,引脚,V,CC,R,T,P3,口引脚,第二,输入功能,第二,输出功能,P3,第二功能,(,Q=1,),此时引脚部分,输入,(Q=1,、,W=1),部分,输出,(,Q=1,、,W,输出,),。,W,8/9/2024,39,(,1,)通用,I/O,口,使用时,,“第二输出功能”,线应保持,高,电平;,第二功能,使用时,口,锁存器,应,预先置“,1,”,。,(,2,),第二功能输入,的信号,,,从口线,引脚的内部,增加的一个缓冲器取得,;而通用的,I/O,口,线使用的,输入,,仍,取自三态缓冲器的输出,端。总的来说,,P3,口,输入时,,,锁存器输出,和“,第二输出功能,”线,都应,保持,高,电平。,8/9/2024,40,P3,第二功能各引脚功能定义:,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,外部读,控制,8/9/2024,41,实际应用时:,P0,口和,P2,口组成外部,16,位地址总线和,8,位数据总线。,P3,口作第二变异功能,P1,口作,I/O,用,2.4.4,并行,I/O,口的负载能力,P0,口可驱动,8,个,LSTTL,的电路,驱动,MOS,管时需加上拉电阻,作地址,/,数据总线时,不必加上拉电阻,。,P1,、,P2,、,P3,口可驱动,4,个,LSTTL,的电路。,8/9/2024,42,课堂复习,补充题:,1.MCS-51,单片机的哪些端口,有两种功能?分别是什么功能?,2.,在系统扩展片外程序存储器时,,P2,口是否可以再作为通用,I/O,口?,8/9/2024,43,2.5 MCS-51,单片机片外总线和复位,2.5.1,MCS-51,单片机片外总线配置,地址总线,:,P2,口(高,8,位,A15,A8,)和,P0,口(低,8,位,A7,A0,),可寻址,64KB,。,数据总线,:,P0,口(,D7,D0,),控制总线,:,ALE,、,PSEN*,、,WR*,、,RD*,8/9/2024,44,8051,地址锁存器,ALE,PSEN,WR,RD,地址总线,数据总线,控制总线,8/9/2024,45,2.5.2,MCS-51,单片机复位,(RST,高电平,2,个机器周期,),任何单片机在工作之前都要有个复位的过程,复位是什么意思呢?对单片机来说,是程序还没有开始执行,是在做准备工作,-,初始状态,。显然,准备工作不需要太长的时间,复位需要,不少于,2,个,机器周期,的时间就可以了。,复位后,,PC,指向,0000H,,,使单片机从起始地址,0000H,开始执行程序。,8/9/2024,46,RST/V,PD,电路,复位电路在每个周期的,S,5,P,2,时采样斯密特触发器的输出,必须在,连续两次采样为高电平,时才完成一次完整的复位和初始化。,V,PD,接备用电池。,8/9/2024,47,一、复位电路(两种),8051,9,RST,C,R,+5V,上电复位电路,8/9/2024,48,一、复位电路(两种),8051,9,RST,C,R,+5V,K,上电或手动复位,8/9/2024,49,二、复位后单片机的状态,复位后各寄存器的状态,8/9/2024,50,2.5.3,节电工作方式,MCS-51,单片机中有,HMOS,和,CHMOS,两种工艺芯片,它们的节电运行方式不同,,HMOS,单片机的节电方式,只有掉电方式,,,CHMOS,单片机的节电工作方式,有掉电方式和冻结方式,两种。,8/9/2024,51,1,HMOS,的掉电工作方式,掉电工作方式,是指由于电源的故障使电源电压丢失或工作电压低于正常值,使单片机系统不能正常运行,若不采取保护措施,将丢失,RAM,和寄存器中的全部数据。为此,MCS-51,系列单片机设置有掉电保护措施,进行掉电保护处理。,具体做法是:,检测,电路一旦检测,到掉电,,通过外部中断源向,CPU,发出中断,请求,,CPU,响应此中断请求,调用中断服务子程序,由中断服务,子程序将,重要,数据送内部,RAM,转存,立即先把程序运行过程中有用信息转存到,RAM,,,然后,启用备用电源维持,RAM,供电,。,8/9/2024,52,2,CHMOS,的节电工作方式,CHMOS,单片机设计有,冻结,和,掉电,两种节电工作方式,特别适宜于低功耗场合。,PCON,控制寄存器的格式如下:,8/9/2024,53,PCON,各位的说明如下:,SMOD,:,串行口波特率加倍控制位。,SMOD=1,,,波特率加倍。,GF1,、,GF0,:,通用标志位,由用户置位或复位。,PD,:,掉电,方式位,若,PD=1,,,进入,掉电,工作方式。,IDL,:,冻结,方式位,若,IDL=1,,,进入,冻结,工作方式。,若,PD,和,IDL,同时为,1,,则进入掉电工作方式。,8/9/2024,54,IDL,位,置,“,1,”,,振荡器继续工作,中断系统、串行口、定时器继续由时钟所驱动,时钟信号不送往,CPU,,,CPU,状态被完整保存,。,(,1,)冻结工作方式,结束冻结,方式的方法:,触发任何允许的中断请求,,引起,PCON,0,清零,硬件复位,8/9/2024,55,(,2,)掉电保护方式,PD,位置,“,1,”,。,80C51,单片机一旦检测到电源掉电,即将有用信息转存到片内数据存储器,RAM,中的低,128,字节内,并使,PCON.1,的,PD,位置,“,1,”,,单片机进入掉电方式。掉电方式下送入时钟电路的,振荡信号被封锁,,不产生时钟信号,,片内的一切工作都停止,只有片内,RAM,的数据保留,。,只要电源恢复正常值,单片机就可以退出掉电方式,进入正常工作方式,但硬件复位须维持,10ms,时间。,8/9/2024,56,思考题及课堂练习,(,P32,)题,1,、,4,、,7,、,11,、,13,、,14,8/9/2024,57,
展开阅读全文