1、单片机原理及接口技术,单击以编辑,母版标题样式,单击以编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单片机原理及接口技术,单击以编辑,母版标题样式,单击以编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,2.1,89C51,单片机芯片内部结构及特点,2.2,89C51,单片机引脚及其功能,2.3,89C51,单片机存储器配置,2.4,时钟电路及,89C51CPU,时序,2.5,复位操作,2.6,89C51,单片机的低功耗工作方式,返回,第,2,章,89C51,单片机的结构和原理,2.7,输出,/,输入端口结构,3/4/2026,2.1,89C51,单片机芯片内部结构及特点
2、2.1.1,89C51,单片机的,基本组成,2.1.2,89C51,单片机芯片,内部结构,返回,3/4/2026,2.1.1,89C51,单片机的基本组成,一、组成,二、,89C51,系列单片机的性能,返回,3/4/2026,一、组成,89C51,单片机结构框图,:,P18,图,2-1,返回,3/4/2026,89C51,单片机结构框图,89C51,CPU,振荡器和,时序,OSC,64KB,总线,扩展控制器,数据,存储器,256B,RAM/SFR,216,位,定时器,/,计数器,可编程,I/O,程序,存储器,4KB FLASH,ROM,可编程全双工,串行口,外中断,内中断,控制,并行口,串行
3、通信,外部时钟源,外部事件计数,3/4/2026,一、组成,1,、一个,8,位的,微处理器,CPU,。,返回,用以存放可以读,/,写的数据,如运算的中间结果、,最终结果以及欲显示的数据等。,2,、片内,数据,存储器(,RAM 256B,),:,用以存放程序、一些原始数据和表格。,3,、片内,程序,存储器(,Flash ROM 4KB,),:,4,、四个,8,位,并行,I/O,(,输入,/,输出),接口,P0P3:,每个口可以用作输入,也可以用作输出。,3/4/2026,返回,每个定时,/,计数器都可以设置成,计数,方式,用以 对外部事件进行计数,也可以设置成,定时,方式,并可以根据计数或定时的
4、结果实现计算机,控制,。,5,、两个,16,位的,定时,/,计数器,:,可实现单片机与单片机或其它微机之间串行通信。,6,、一个全双工,UART,的,串行,I/O,口,:,3/4/2026,返回,但需外接石英晶体和微调电容。,7,、片内振荡器和时钟产生电路,:,8,、五个中断源、两个优先级的,中断控制系统,。,9,、具有节电工作方式:即休闲方式及掉电方式。,以上各个部分通过片内,8,位,数据总线,(DBUS),相连接。,3/4/2026,二、,89C51,的两种省电方式,89C51,单片机与,8051,相比,具有,节电工作方式,,即休闲方式及掉电方式。,返回,3/4/2026,另外,89C51
5、是用静态逻辑来设计的,其工作频率可下降到,0 Hz,,并提供,两种,可用软件来选择的,省电方式,空闲方式(,Idle Mode),和掉电方式(,Power Down Mode,)。在,空闲方式,中,,CPU,停止工作,而,RAM,、定时器,/,计数器、串行口和中断系统都继续工作。此时的电流可降到大约为正常工作方式的,15%,。在,掉电方式,中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内,RAM,中的内容,直到下一次硬件复位为止。这种方式下的电流可降到,15 A,以下,最小可降到,0.6 A,。,返回,3/4/2026,89C51,单片机还有一种,低电压的型号,,即
6、89LV51,,除了电压范围有区别之外,其余特性与,89C51,完全一致。,89C51/LV51,是一种,低功耗,/,低电压、高性能,的,8,位,单片机。它采用了,CMOS,工艺和高密度非易失性存储器(,NURAM,)技术,而且其输出引脚和指令系统都与,MCS51,兼容;片内的,Flash ROM,允许在系统内改编程序或用常规的非易失性存储器编程器来编程。因此,89C51/LV51,是一种,功能强、灵活性高,且价格合理的单片机,可方便地应用在各种控制领域。,返回,3/4/2026,2.1.2,89C51,单片机芯片内部结构,一、结构图,:,二、结构组成,返回,3/4/2026,一、结构图:,
7、P19,图,2-2,由,中央处理单元,(,CPU,),(运算器、控制器)、,存储器,(,ROM,及,RAM,)、,I/O,接口,组成。,返回,3/4/2026,XTAL1 XTAL2,P0,驱动器,P2,驱动器,P0,锁存器,P2,锁存器,RAM,地址存储器,128B,RAM,4KBROM,B,寄存器,暂存器,1,暂存器,2,ACC,SP,程序地址寄存器,缓冲器,PC,增,1,PC,DPTR,中断、串行口和定时器,PSW,P1,锁存器,P1,驱动器,P3,锁存器,P3,驱动器,定时控制,指令寄存器,指令译码器,OSC,ALU,P0.0-P0.7,P2.0-P2.7,P3.0-P3.7,P1.0
8、P1.7,PSEN,ALE,EA,RESET,89C51,单片机,内部结构图,运算器,控制器,存储器,I/O,接口,3/4/2026,二、结构组成,(一)中央处理单元(,CPU,),(二)存储器,(三),I/O,接口,返回,3/4/2026,1,、中央处理单元(,89C51CPU,),1,)运算器,返回,2,)控制器,3/4/2026,1,)运算器,(,1,),8,位的,ALU,:,返回,(,2,),8,位累加器,ACC,(,A,):,(,3,),8,位程序状态字寄存器,PSW,:,(,4,),8,位寄存器,B,:,(,5,),布尔处理器:,(,6,),2,个,8,位暂存器:,3/4/202
9、6,1,)运算器,可对,4,位、,8,位、,16,位数据进行操作。,返回,(,1,),8,位的,ALU,:,(,2,),8,位累加器,ACC,(,A,):,它经常作为一个运算数经暂存器,2,进入,ALU,的输入端,与另一个来自暂存器,1,的运算数进行运算,运算结果又送回,ACC,。,3/4/2026,指示指令执行后的,状态信息,供程序查询和判别用。,(,3,),8,位程序状态寄存器,PSW,:,返回,(,4,),8,位寄存器,B,:,在,乘除运算,时,用来存放一个,操作数,,也用来存放运算后的一,部分结果,;,如,不做乘除运算,时,作为,通用寄存器,。,3/4/2026,(,5,)布尔处理器:
10、专门用于处理,位操作,的,,以,PSW,中的,C,为其累加器。,返回,(,6,),2,个,8,位暂存器,:,ALU,的两个入口处。,3/4/2026,2,)控制器,(,1,)程序计数器,PC,(,16,位),(,2,)指令寄存器,IR,、指令译码器,ID,(,3,)振荡器和定时电路,返回,3/4/2026,(,1,)程序计数器,PC,(,16,位),由两个,8,位计数器,PCH,、,PCL,组成。,PC,是,程序的字节地址计数器,,,PC,内容为将要执行的下一条指令地址。,改变,PC,内容,改变执行的流向。,PC,可对,64KB,的,ROM,直接寻址,也可对,89C51,片内,RAM,寻址。
11、返回,3/4/2026,(,2,)指令寄存器,IR,、指令译码器,ID,由,PC,中的内容指定,ROM,地址,取出来的指令经,IR,送至,ID,由,ID,对指令,译码,产生一定序列的,控制信号,以执行指令所规定的操作。,返回,3/4/2026,(,3,)振荡器和定时电路,89C51,单片机片内有,振荡电路,,只需外接,石英晶体,和频率,微调电容,(,2,个,30pF,左右),其频率为,0,24MHz,。,该脉冲信号作为,89C51,工作的,基本节拍,即时间的最小单位。,返回,3/4/2026,2,、存储器,1,),程序,存储器(,ROM,),2,),数据,存储器(,RAM,),返回,3/4/
12、2026,1,)程序存储器(,ROM,),89C51,片内,为,4KB Flash ROM,。,地址为,0000H,0FFFH,。,用于存放程序和表格常数。,返回,3/4/2026,2,)数据存储器(,RAM,),89C51,RAM,均为,128B,,,地址为,00H,7FH,。,用于存放运算的中间结果、数据暂存以及数据缓冲等。,这,128B,的,RAM,中有,32,个字节单元可指定为,工作寄存器。,片内还有,21,个,特殊功能寄存器,(,SFR,),,它们同,128,字节,RAM,统一编址,地址为,80H,FFH,。,后面详细介绍。,返回,3/4/2026,3,、,I/O,接口,89C51,
13、有,四个,8,位并行,I/O,接口,P0,P3,。它们都是双向端口,每个端口各有,8,条,I/O,线。,P0-P3,口四个锁存器同,RAM,统一编址,可作为,SFR,来寻址。,89C51,还有,一个可编程的全双工串行口,(,UART,),利用,P3.0,(,RXD,)和,P3.1,(,TXD,),可实现与外界的串行通信。,返回,3/4/2026,2.2,89C51,单片机引脚及其功能,2.2.1,89C51,单片机,引脚,2.2.2,89C51,单片机,引脚功能,返回,3/4/2026,2.2.1,89C51,单片机引脚,P22,图,2-3,:,是,89C51/LV51,的,引脚结构图,,,有
14、双列直插封装,(DIP),方式和,方形封装,方式。,返回,3/4/2026,图,2-3 89C51/LV51,的引脚结构,3/4/2026,2.2.2,89C51,单片机引脚功能,一、电源引脚:,Vcc,和,Vss,二、时钟电路引脚:,XTAL1,和,XTAL2,三、控制信号引脚,RST,、,ALE,、,PSEN,和,EA,四、,I/O,端口,P0,、,P1,、,P2,和,P3,返回,3/4/2026,一、电源引脚:,Vcc,和,Vss,1,Vcc(40,或,44,脚,),:电源端,为,+5V,。,2,Vss(20,或,22,脚,),:接地端。,返回,3/4/2026,二、时钟电路引脚:,X
15、TAL1,和,XTAL2,XTAL2,(,18,或,20,脚):,接外部晶体和微调电容的一端;在,89C51,片内,它是振荡电路反向放大器的,输出端,,振荡电路的频率就是晶体固有频率。,若需,采用外部时钟电路,时,则该引脚,悬空,。,89C51,正常工作时,该引脚应有脉冲信号输出。,参见,P19,图,2-2,3/4/2026,XTAL1,(,19,或,21,脚):,接外部晶体和微调电容的另一端;在,片内,它是振荡电路反向放大器的,输入端,,在,采用外部时钟,时,该引脚,输入外部时钟脉冲,。,参见,P19,图,2-2,二、时钟电路引脚:,XTAL1,和,XTAL2,返回,3/4/2026,三、控
16、制信号引脚:,RST,、,ALE,、,PSEN,和,EA,RST/V,PD,(,9,或,10,脚):,RST,:,复位信号输入端,,高电平有效。当此输入端保持两个机器周期的,高电平,时,就可以完成复位操作。,3/4/2026,RST/V,PD,(,9,或,10,脚):,V,PD,:,RST,引脚的第二功能,,备用电源输入端。,当主电源,Vcc,发生故障,降低到低电平规定值时,将,+5V,电源自动接入该引脚,,为,RAM,提供备用电源,,以保证,RAM,中的信息不丢失,使得复位后能继续正常运行,。,三、控制信号引脚:,RST,、,ALE,、,PSEN,和,EA,3/4/2026,ALE/PROG
17、30,或,33,脚):,ALE,:,地址锁存允许信号端,。正常工作时,该引脚以振荡频率的,1/6,固定输出正脉冲。,CPU,访问片外存储器,时,该引脚输出信号作为,锁存低,8,位地址,的控制信号。它的负载能力为,8,个,LS,型,TTL,负载。,三、控制信号引脚:,RST,、,ALE,、,PSEN,和,EA,3/4/2026,ALE/PROG,(,30,或,33,脚):,PROG,:,是,对片内,带有,4KB,Flash ROM,的,89C51,编程写入时的,编程脉冲输入端,。,三、控制信号引脚:,RST,、,ALE,、,PSEN,和,EA,3/4/2026,PSEN,(,29,或,32
18、脚):,程序存储允许信号输出端,。,在,访问片外,ROM,时,定时输出,负脉冲,作为读片外,ROM,的选通信号,接片外,ROM,的,OE,端。,它的负载能力为,8,个,LS,型,TTL,负载。,三、控制信号引脚:,RST,、,ALE,、,PSEN,和,EA,3/4/2026,EA/V,pp,(,31,或,35,脚):,EA,:,外部程序存储器地址允许输入端,。,当该引脚,接高电平,时,,CPU,访问,片内,ROM,并执行片内程序存储器中的指令,但当,PC,值超过,0FFFH,(,片内,ROM,为,4KB,),时,将自动转向,执行片外,ROM,中的程序。,当该引脚,接低电平,时,,CPU,只访
19、问,片外,ROM,并执行外部程序存储器中的程序。,三、控制信号引脚:,RST,、,ALE,、,PSEN,和,EA,3/4/2026,EA/V,pp,(,31,或,35,脚):,V,pp,:,对,89C51,片内,Flash ROM,固化编程时,,固化,编程电压输入端,(,12-21V,)。,三、控制信号引脚:,RST,、,ALE,、,PSEN,和,EA,返回,3/4/2026,四、,I/O,端口,P0,、,P1,、,P2,、,P3,1,、准双,向,2,、,P0,口,3,、,P1,口,4,、,P2,口,5,、,P3,口,返回,3/4/2026,1,、准双向,当,I/O,口作为,输入,时,应先向此
20、口锁存器,写入全,1,,此时该口引脚浮空,可作高阻抗输入。,返回,3/4/2026,2,、,P0,口:,漏极开路的,8,位准双向,I/O,口,每位能驱动,8,个,LS,型,TTL,负载。,P0,口可作为一个数据,输入,/,输出口,;,在,CPU,访问片外,存储器时,,P0,口为,分时复用,的低,8,位,地址总线,和,8,位,数据总线,。,Flash ROM,编程,时,,P0,口,接收,指令字节;,效验,程序时,则,输出,指令字节。,返回,3/4/2026,3,、,P1,口:,带内部上拉电阻的,8,位,准双向,I/O,端口,,每位能驱动,4,个,LS,型,TTL,负载。,在对,Flash ROM
21、编程,和程序,效验,时,,P1,接收,低,8,位,地址,。,返回,3/4/2026,4,、,P2,口:,带内部上拉电阻的,8,位,准双向,I/O,端口,,每位能驱动,4,个,LS,型,TTL,负载。在,CPU,访问片外存储器,时,它,输出高,8,位地址,。,在对,Flash ROM,编程,和程序,效验,时,,P2,也,接收高位地址,和一些,控制信号,。,返回,3/4/2026,5,、,P3,口:,带内部上拉电阻的,8,位,准双向,I/O,端口,,每位能驱动,4,个,LS,型,TTL,负载。,P3,口除作为,一般,I/O,口,外,,每个引脚都有第二功能,。,P24,表,2-1,在对,Flash
22、 ROM,编程,和程序,效验,时,,P3,还,接收,一些,控制信号,。,返回,3/4/2026,表,2-1,P3,端口引脚与复用功能表,3/4/2026,2.3,89C51,单片机存储器配置,2.3.1,89C51,存储器,分类,2.3.2,程序,存储器地址空间,2.3.3,数据,存储器地址空间,返回,3/4/2026,2.3.1 89C51,存储器分类,一、物理结构(哈佛结构),二、用户角度,返回,3/4/2026,一、物理结构(哈佛结构,),片内,程序存储器,片外,程序存储器,片内,数据存储器,片外,数据存储器,89C51,存储器,程序,存储器,ROM,数据,存储器,RAM,返回,3/4/
23、2026,二、用户角度:,返回,P25,图,2-4,1,、,片内、外,统一编址的,64K,程序存储器地址空间,。,CPU,访问片内、片外,ROM,指令用,MOV,C,。,2,、,64K,的,片外数据存储器,地址空间。,访问片外,RAM,指令用,MOV,X,。,3,、,256,字节的,片内数据存储器,地址空间。,访问片内,RAM,指令用,MOV,。,上述三个存储空间地址是,重叠,的,,89C51,的指令系统采用,不同,的数据传送,指令符号。,3/4/2026,2.3.2,程序,存储器地址空间,一、用途:,二、编址:,三、寻址方式:,返回,3/4/2026,一、用途:,用于存放编好的,程序,和,表
24、格常数,。,返回,3/4/2026,二、编址:,89C51,片内,Flash ROM,的容量为,4KB,。,地址为,0000H,0FFFH,。,片外,最多可扩至,64KB,ROM/EPROM,,,地址为,1000H,FFFFH,。,片内外,统一编址,。,返回,3/4/2026,三、寻址方式:,1,、当,EA=“1”,时:,P25,图,2-4,左图,89C51,的,PC,在,0000,0FFFH,范围内执行,片内,ROM,中的程序,当指令地址,超过,0FFFH,后就自动转向,片外,ROM,中取指令。,3/4/2026,三、寻址方式,:,2,、当,EA=”0”,时:,P25,图,2-4,左图,89
25、C51,片内,ROM,不起作用,,CPU,只能,从片外,Flash,ROM/EPROM,中取指令。,可以从,0000H,开始寻址。,由于,8031,片内不带,ROM,,,所以使用时必须,EA,=”0,”,。,3/4/2026,三、寻址方式:,3,、,89C51,从,片内,ROM,和,片外,ROM,取指的速度相同。,4,、程序存储器的,低地址,的,40,多个单元是,保留存储单元,。,如,P26,表,2-2,所示。,3/4/2026,表,2-2,保留的存储单元,返回,3/4/2026,三、寻址方式:,(,1,),0000H,0002H,三个单元:,用作,89C51,上电复位,后引导程序的存放单元。
26、因为,复位后,PC,的内容为,0000H,,,CPU,总是从,0000H,开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序存储器空间去执行。,返回,3/4/2026,三、寻址方式:,(,2,),0003H,002AH,单元:,均分为五段,用作,五个中断服务程序,的入口。,中断矢量地址表:,P26,表,2-3,返回,3/4/2026,表,2-3,中断矢量表,返回,5.,执行外部程序时的硬件连接:,P26,图,2-5,3/4/2026,2.3.3,数据,存储器地址空间,一、用途:,二、,片外,RAM,:,三、,片内,RAM,:,返回,3/4/2026,一、用途:,用于存放运算的中
27、间结果、数据暂存和缓冲、标志位等。,返回,二、片外,RAM,:,64kB=2,16,B,地址:,0000H0FFFFH,寻址:用,MOV,X,指令,89C51,外扩,片外,RAM,(,2KB,)接法:,P28,图,2-6,3/4/2026,三、片内,RAM,:,256B=2,8,B,(,一)片内,RAM,地址空间,(二),低,128,字节,RAM,(,00H,7FH,),(,三),高,128,字节,RAM,(,80H,FFH,):,特殊功能寄存器,SFR,区,返回,3/4/2026,(一)片内,RAM,地址空间:,P28,图,2-7,寻址:用指令,MOV,最大可寻址,256,个单元。,返回,低
28、128B,(,00H-7FH,):,真正,RAM,区,高,128B,(,80H-FFH,):,特殊功能寄存器,(,SFR,),区,地址:,00H-0FFH,3/4/2026,(二)低,128,字节,RAM,(,00H7FH,),:,P28,图,2-8,1,、工作寄存器区(,00H1FH,),2,、,位寻址区(,20H2FH,),3,、,用户,RAM,区(,30H7FH,),返回,3/4/2026,1,、工作寄存器区,(00H1FH):,P28,图,2-8,由,四组,(32,个,),工作寄存器组成,,每组,8,个,寄存器,(R0-R7),,共占,32,个单元。,通过程序状态寄存器,PSW,中,
29、RS1,、,RS0,两位,设定来选择,CPU,的,当前工作寄存器组,。,复位,时,,第,0,组,为当前的工作寄存器。,P29,表,2-4,若不需要四组,则其余可作为一般,RAM,单元。,返回,3/4/2026,表,2-4,工作寄存器地址表,返回,3/4/2026,2,、位寻址区,(20H2FH),:,P28,图,2-8,位寻址区有,16,个,单元,每个单元,8,位,,共,128,位位地址,为,00H-7FH,。,可用,位寻址方式,访问其各位。,这些可寻址位,通过执行指令,可直接对某一位操作,,如置,1,、清,0,、判断转移等。,位寻址是,89C51,的一个重要特点。,返回,3/4/2026,表
30、2-5 RAM,位寻址区位地址表,3/4/2026,3,、用户,RAM,区,(30H7FH),:,P28,图,2-8,用于堆栈和数据缓冲,。,返回,3/4/2026,(三)高,128,字节,RAM(80HFFH):,P28,图,2-9,返回,有,21,个,特殊功能功能寄存器。,地址分布在,80H,FFH,的,RAM,空间。,只能用,直接,寻址方式。,有,11,个,具有,位寻址,能力。,11,个,SFR,的,字节地址,正好能,被,8,整除,。特殊功能寄存器的地址,:,P30,表,2-5,部分,特殊功能寄存器介绍,3/4/2026,表,2-5,特殊功能寄存器地址表,3/4/2026,表,2-5,
31、特殊功能寄存器表,3/4/2026,部分特殊功能寄存器介绍,累加器,ACC,(,E0H,):,用,A,作为,ACC,的助记符。,用于存放第一个,操作数,及,运算结果,。,返回,寄存器,B,(,F0H,):,在,乘法指令,中,,B,用于存放,乘数,和,乘积的,高,8,位,。,在,除法指令,中用于存放,除数,和,余数,。,在,其它指令,中用作,一般的寄存器,或,RAM,单元,。,3/4/2026,部分特殊功能寄存器介绍,程序状态寄存器,PSW,(,D0H,):,PSW,包含了程序执行后的,状态信息,,供程序,查,询,或,判断,用。,PSW,的,格式,PSW,各位的,含义,返回,3/4/2026,返
32、回,PSW,的格式:,P31,AC,CY,P,OV,RS0,RS1,F0,PSW,(D0H),D7,D6,D5,D4,D3,D2,D1 D0,3/4/2026,PSW,各位的,含义,(,1,),CY,位,(,PSW.7,),:,进,(,借,),位标志位,。,执行,加法,(,减法,),运算指令时,如运算结果,最高位,(D7),向前,有进位,(,借位,),,,CY=1,;,否则,,,CY=0,。,在,位操作,指令中,,CY,位是,布尔累加器,,用,C,表示,返回,3/4/2026,(,2,),AC,位,(,PSW.6,),:,半进位标志位(辅助进位标志),。,执行,加法(减法),运算指令时,,如运
33、算结果的,低半字节,(,D3,),向,高半字节,有,进位(借位),,AC=1,;,否则,,AC=0,。,返回,(,3,),F0,位(,PSW.5,),:,用户标志位,。,由用户自己定义、置位、复位,以作为,软件标志,3/4/2026,(,4,),RS0,、,RS1,位(,PSW.3,和,PSW.4,):,工作寄存器组选择控制位,。,由用户用软件改变,RS0,和,RS1,的值,以切换,当前选用的工作寄存器组,。,RS0,,,RS1,的组合关系,:P31,表,2-8,上电复位,时,,(,RS0,),=,(,RS1,),=,0,,,CPU,自然选择,第,0,组,为当前工作寄存器组。,返回,3/4/2
34、026,RS1RS0,寄存器组 片内,RAM,地址,0,0,第,0,组,00H,07H,0,1,第,1,组,08H,0FH,1,0,第,2,组,10H,17H,1,1,第,3,组,18H,1FH,表,2-8 RS0,,,RS1,的组合关系,返回,3/4/2026,(,5,),OV,位(,PSW.2,):,溢出标志位,。,有溢出,,即运算结果超出,-128,+127,的范围时,OV=,1,;,无溢出,时,,OV=0,。,返回,(,6,),P,位(,PSW.0,):,奇偶检验位,。,每条指令执行后,,A,中,“,1”,的个数为,奇数,,则,P=1,否则,,P=0,。,(,7,),PSW.1,:,保
35、留位,。,3/4/2026,部分特殊功能寄存器介绍,堆栈指针,SP,(,81H,):,堆栈:,在,片内,RAM,中,开辟的一个按“,先进后出,”的结构方式处理数据的,区域,。,堆栈的操作,:,PUSH,、,POP,:,P32,图,2-1,0,SP,的内容可指向,片内,RAM 00H7FH,的任何单元,系统复位,时,,SP,初始化为,07H,。,返回,3/4/2026,返回,数据指针,DPTR,(,83H,,,82H,):,DPTR,是一个,16,位,的特殊功能寄存器。,由,DPH,(,83H,),,DPL,(,82H,),组成。,DPH,,,DPL,可以单独使用。,I/O,端口,P0,、,P1
36、P2,、,P3,(,80H,、,90H,、,A0H,、,B0H,),分别为,四个并行,端口的锁存器,每一个口锁存器还有,位地址,,所以每一条,I/O,线可独立输入或输出。,输出,时,可以,锁存,;,输入,时,可以,缓冲,。,3/4/2026,2.4,时钟电路及,89C51 CPU,时序,2,.4.1,片内时钟信号的产生,返回,2.4.2,CPU,取指、执指时序,3/4/2026,2.4.1,片内时钟信号的产生,返回,89C51,芯片内部有一个,高增益反相放大器,,用于构成,振荡器,。反相放大器的输入端为,XTAL1,,输出端为,XTAL2,,两端跨接,石英晶体,及,两个电容,就可以构成稳
37、定的,自激振荡器,。电容器和通常取,30 pF,左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为,f,OSC,=0,24 MHz,。,晶体振荡器的频率为,f,OSC,,振荡信号从,XTAL2,端输入到片内的,时钟发生器,上,如,P34,图,2-12,。,3/4/2026,图,2-12 89C51,的片内振荡器及时钟发生器,3/4/2026,2.4.1,片内时钟信号的产生,1,、节拍与状态周期,2,、机器周期和指令周期,3,、基本时序定时单位,返回,3/4/2026,1,、节拍与状态周期,时钟发生器:,是一个,2,分频,的触发器电路,它将,振荡器的信号频率,f,OSC,除以,2,,向,
38、CPU,提供,两,相时钟信,号,P1,和,P2,。,时钟信号的周期称为,机器状态周期,S,(STATE),,,是,振荡周期的,2,倍,。,在每个时钟周期,(,即机器状态周期,S),的,前半周期,,,相位,1(,P1,节拍,1),信号,有效,,在每个时钟周期,的,后半周期,,相位,2(,P2,节拍,2),信号,有效,。,返回,3/4/2026,每个,时钟周期,(,以后常称,状态,S,),有,两个,节拍,(,相,),P1,和,P2,,,CPU,就以两相时钟,P1,和,P2,为,基本节拍,指挥,89C51,单片机各个部件协调地工作。,返回,3/4/2026,2,、机器周期和指令周期,二、指令周期:,
39、一、机器周期:,返回,3/4/2026,一个,机器周期,:指,CPU,访问存储器一次所需的时间。,例:取指令、读存储器、写存储器等等。,一个机器周期:,包括,12,个,振荡周期,,分为,6,个,S,状态,:,S1S6,。,每个状态,又分为,两拍,,称为,P1,和,P2,。,因此,,一个机器周期,中的,12,个振荡周期,表示为,S1P1,,,S1P2,,,S2P1,,,S2P2,,,,,S6P1,,,S6P2,。,机器周期,3/4/2026,若采用,6MHz,晶体振荡器,则,每个机器周期,为多少?,设,:,晶体振荡器频率,fosc=6MHz,则,:,振荡周期,=1/fosc=1/6 s,(,微秒
40、因为,:,一个机器周期,包括,12,个振荡周期,所以,:,一个机器周期,=12*(1/6)s,(,微秒),=,2,s,(,微秒),问:,如果,fosc=12MHz,一个机器周期为多少,?,答案,:,1s,(,微秒),机器周期,3/4/2026,指令周期,:执行一条指令所需的时间。,每条指令,由,一个,或,若干个字节,组成。,有,单,字节指令,,双,字节指令,,,,多,字节指令等。字节数,少,,则占存储器空间,少,每条指令的,指令周期,都由,一个,或,几个,机器周期,组成。,有,单,周期指令、,双,周期指令、和,四,周期指令。,(,机器周期数,少,,则执行速度,快,),。,其指令周期各为多少
41、指令周期,例,3/4/2026,指令周期,设:,振荡频率,为,6MHz,,,则:一个,机器周期,为,2,s,(微秒)。,单,周期指令:指令周期为,2,s,(,微秒),双,周期指令:指令周期为,4,s,(,微秒),四,周期指令:指令周期为,8s,(,微秒),如果,振荡频率,为,12MHz,,则其,机器周期,为,1s,故其指令周期分别为,1s,、,2s,和,4s,。,3/4/2026,单字节指令,:,如,,INC,A,;,机器码格式:,0000 0100B,双字节指令,:,如,,MOV,A,,,#,data,;,机器码格式:,0111,0100B data,3/4/2026,3,、基本时序定时
42、单位,综上所述,,89C51,或其他,80C51,单片机的,基本时序定时单位,有如下,4,个,。,振荡周期,:晶振的振荡周期,为最小的时序单位,状态周期,:振荡频率经单片机内的,二分频器分频,后提供给片内,CPU,的时钟周期。,因此,,1,个状态周期,包含,2,个,振荡周期,。,返回,3/4/2026,机器周期,(,MC,):,1,个,机器周期由,6,个,状态周期即,12,个,振荡周期组成,是计算机执行一种基本操作的时间单位。,指令周期,:执行一条指令所需的时间。,一个,指令周期由,1,4,个,机器周期组成,依据指令不同而不同,见,P307,附录,A,。,返回,3/4/2026,4,种时序单位
43、中,,振荡周期,和,机器周期,是单片机内计算其他时间值(例如,波特率、定时器的定时时间等)的,基本时序单位,。,下面是单片机外接晶振频率,12MHz,时的各种时序单位的大小。,振荡,周期,=1/f,OSC,=1/12 MHz=0.083 3 s,状态,周期,=21/f,OSC,=2/12 MHz=0.167 s,机器,周期,=121/f,OSC,=12/12 MHz=1 s,指令,周期,=,(,1,4,)机器周期,=1,4 s,返回,3/4/2026,4,个时序单位,从小到大,依次是:,节拍(振荡脉冲周期,,1/f,OSC,)、,状态周期(时钟周期)、,机器周期、,指令周期,,如,P35,图,
44、2-13,所示。,返回,3/4/2026,图,2-13 89C51,单片机各种周期的相互关系,3/4/2026,2.4.2 CPU,取指、执指时序,每条指令的,执行,都可以包括,取指,和,执指,两个阶段。,在,取指,阶段,,CPU,从内部或外部,ROM,中取出指令操作码及操作数,然后再,执行,这条指令。,单,字节和,双,字节的指令都可能是,单,机器周期或,双,周期,而,三,字节指令都是,双,周期的,只有,乘、除,指令占,四,周期。,CPU,取指、执指时序,:,P36,图,2-14,返回,3/4/2026,图,2,-14,89,C51,单片,机的,取指,/,执行,时序,3/4/2026,2.5,
45、复位操作,2.5.1,复位操作的主要功能,2.5.2,复位信号及其产生,2.5.3,复位电路,返回,3/4/2026,2.5.1,复位操作的主要功能,一、主要功能,初始化,:程序地址指针,PC,初始化为,0000H,,使单片机从,0000H,单元开始执行程序,当由于,程序运行出错,或,操作错误,使系统,死锁,状态时,为摆脱困境,也需要,按复位键重新启动,。,返回,3/4/2026,二、,SFR,的复位值:,P38,表,2-8,返回,3/4/2026,表,2-8,各特殊寄存器的复位值,3/4/2026,2.5.2,复位信号及其产生,一、复位信号的产生:,RST,引脚,(,P22,图,2-3,:,
46、9,、,10,脚):,为复位信号输入端。当,RST,引脚为,高电平,,且有效时间持续,24,个,振荡周期,以上,才能复位。,二、产生复位信号的电路逻辑图:,P39,图,2-15,返回,3/4/2026,图,2-15,复位电路逻辑图,返回,复位,电路,施密特,触发器,片内,RAM,RST/V,PD,V,CC,V,SS,D,1,D,2,3/4/2026,2.5.3,复位电路,复位操作有两种方式:,1,、,上电自动复位,:,是通过外部复位电路的,电容充电,实现。,P39,图,2-16(a),2,、,手动复位,:指通过,接通,一,按键开关,,使单片机进入复位状态。,按键,电平,复位方式:,P39,图2
47、1,6(b,),返回,3/4/2026,图,2-16,(a),上电复位电路,只要,Vcc,的上升时间不超过,1ms,,,就自动上电复位,即接通电源就完成了系统复位。,返回,V,CC,C,R,V,CC,RST/V,PD,V,SS,1K,22F,89C51,3/4/2026,图,2-16,(b),按键电平复位电路,通过使复位端经电阻与,V,CC,电源接通而实现。,V,CC,C,R,2,V,CC,RST/V,PD,V,SS,1K,22F,89C51,R,1,200,RESET,返回,3/4/2026,2.6 89C51,单片机的,低功耗工作方式,89C51,属于,CHMOS,的单片机,运行时耗电少
48、而且还提供,两种节电工作方式,,即,空闲,(,等待、待机,),方式,和,掉电,(,停机,),工作方式,,以进一步降低功耗。,实现这两种方式的,内部电路:,P40,图,2-17,返回,3/4/2026,由,P40,图,2-17,可见,,若,IDL=0,,则,89C51,将进入,空闲运作方式,。在这种方式下,振荡器仍继续运行,但,IDL,封锁了,去,CPU,的“,与”门,,故,CPU,此时得不到时钟信号。而中断、串行口和定时器等环节却仍在时钟控制下正常运行。,掉电方式,下(,PD=0,),振荡器冻结。,返回,3/4/2026,返回,图,2-17,空闲和掉电方式控制电路,PD,和,IDL,均为,P
49、CON,中,PD,和,IDL,触发器的输出端,3/4/2026,2.6.1,方式的设定,返回,空闲方式,和,掉电方式,是通过对,SFR,中的,PCON,(,电,源控制寄存器,,地址,87H),相应位置,1,而启动的。,P41,图,2-18,:为,89C51,电源控制寄存器,PCON,各,位的分布情况,。,HMOS,器件的,PCON,只包括一个,SMOD,位,,其他,4,位,是,CHMOS,器件独有的。,3,个保留位,用户不得使用,因为硬件没有做出安排,可能在今后的,MCS51,新产品中代表某特定的功能,3/4/2026,返回,图,2-18,电源控制寄存器,PCON,3/4/2026,返回,P4
50、1,图,2-18,中各符号的名称和功能如下。,SMOD,:,波特率倍频位,。若此位为,1,,则串行口,方式,1,、方式,2,和方式,3,的,波特率加倍,。,GF1,和,GF0,:,通用标志位,。,PD,:,掉电方式位,。此位,写,1,即,启动掉电方式,。,由,P40,图,2-17,可见,此时时钟冻结。,IDL,:,空闲方式位,。此位,写,1,即,启动空闲方式,。,这时,CPU,因无时钟控制而停止运作。,如果,同时,向,PD,和,IDL,两位,写,1,,则,PD,优先,。,89C51,中,PCON,的复位值,为,00000B,。,3/4/2026,2.6.2,空闲,(,等待、待机,),工作方式,






