1、2022-4-2211.1.单片机的工作原理:单片机的工作原理: 取一条指令、译码、进行微操作,再取一条指令、译码、取一条指令、译码、进行微操作,再取一条指令、译码、进行微操作,这样自动地、进行微操作,这样自动地、步一步地由微操作按次序完成步一步地由微操作按次序完成相应指令规定的功能。单片机的时钟信号用来为单片机芯片相应指令规定的功能。单片机的时钟信号用来为单片机芯片内部的各种微操作提供时间基准,机器启动后,指令的执行内部的各种微操作提供时间基准,机器启动后,指令的执行顺序如下图顺序如下图2.102.10所示所示: 一、时钟的基本概念一、时钟的基本概念取指取指分析分析执行执行2.2.概念概念
2、时序:各指令的微操作在时间上有严格的次序,这时序:各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序。种微操作的时间次序称作时序。 时钟电路:用于产生单片机工作所需要时钟信号的时钟电路:用于产生单片机工作所需要时钟信号的电路成为时钟电路。电路成为时钟电路。2022-4-222二、振荡器和时钟电路二、振荡器和时钟电路时钟信号有两种方式:内部振荡器方式;外部引入方式时钟信号有两种方式:内部振荡器方式;外部引入方式1.内部振荡器方式内部振荡器方式MCS-51MCS-51单片机内部有一个高增益的单片机内部有一个高增益的反相放大器,其输入端为引脚反相放大器,其输入端为引脚XTAL1XTAL
3、1(1919),输出端为引脚),输出端为引脚XTAL2XTAL2(1818),用于外接石英晶体振荡器),用于外接石英晶体振荡器或陶瓷谐振器和微调电容,构成稳或陶瓷谐振器和微调电容,构成稳定的自激振荡器,其发出的脉冲直定的自激振荡器,其发出的脉冲直接送入内部的时钟电路。如图接送入内部的时钟电路。如图2.112.11或或2.122.12(a a)所示。)所示。2022-4-223图图2.12 MCS-512.12 MCS-51振荡电路及外部时钟源的连接振荡电路及外部时钟源的连接2022-4-224 电容电容C1C1,C2C2 对频率有微调作用,电容一般取值对频率有微调作用,电容一般取值5 530p
4、F30pF,典型,典型值为值为30pF30pF; 晶振晶振CYSCYS 选择范围为选择范围为1.2 1.2 12MHz12MHz,典型值为,典型值为6 MHz6 MHz和和12MHz12MHz。(注:一般情况下,选用(注:一般情况下,选用6 MHz6 MHz的石英晶体,而在串行的石英晶体,而在串行通信情况下选用通信情况下选用12MHz12MHz。)。)参数选择:参数选择:2022-4-225 外部引入方式常用于外部引入方式常用于多片单片机组成的系统多片单片机组成的系统中,以便中,以便各单元之间的时钟信号同步运行。各单元之间的时钟信号同步运行。 对于对于HMOSHMOS型单片机(如型单片机(如8
5、0518051),可用来输入外部脉冲),可用来输入外部脉冲信号,如图信号,如图2.122.12(b b)所示,)所示,XTAL1XTAL1(1919)接地,)接地,XTAL2XTAL2(1818)接外部时钟,由于接外部时钟,由于XTAL2XTAL2(1818)的逻辑电平与)的逻辑电平与TTLTTL电平不兼容,电平不兼容,所以应接一个上拉电阻。所以应接一个上拉电阻。 对于对于CHMOSCHMOS单片机(如单片机(如80C5180C51),外部时钟要由),外部时钟要由XTAL1XTAL1引入,而引入,而XTAL2XTAL2引脚应悬空。如图引脚应悬空。如图2.112.11(c c)所示。)所示。2.
6、2.外部引入方式外部引入方式2022-4-226三、时序单位三、时序单位基本概念:基本概念:MCS- 51MCS- 51时序的定时单位共有时序的定时单位共有4 4个,个,从小到大从小到大依次是:依次是:时时钟周期(拍节)、状态周期、机器周期和指令周期钟周期(拍节)、状态周期、机器周期和指令周期。 时钟周期(拍节,振荡周期):是指时钟周期(拍节,振荡周期):是指振荡器产生一个振荡器产生一个振荡脉冲信号所用的时间,是振荡脉冲信号所用的时间,是振荡频率的倒数振荡频率的倒数,称为节,称为节拍,为拍,为最小的时序单位最小的时序单位。2022-4-2272.2.状态周期:指振荡器脉冲状态周期:指振荡器脉冲
7、信号经过信号经过时钟电路二分频时钟电路二分频之之后产生的单片机时钟信号的后产生的单片机时钟信号的周期(用周期(用S S表示)称为状态表示)称为状态周期。故周期。故1 1个状态周期个状态周期S S包含包含2 2个节拍个节拍,前一时钟周期称,前一时钟周期称为为P1P1拍,后一个时钟周期称拍,后一个时钟周期称为为P2P2拍。如图拍。如图2.132.13所示:所示:图图2.13 80C512.13 80C51单片机时钟信号单片机时钟信号2022-4-2283. 3. 机器周期:是指机器周期:是指CPUCPU完成某一个规定操作所需的时间。完成某一个规定操作所需的时间。 MCS-51 MCS-51单片机的
8、一单片机的一个机器周期包含个机器周期包含6 6个状态个状态,并依次,并依次表示为:表示为:S1S1S6S6,每个状态分为每个状态分为2 2个拍个拍。故一。故一个机器周期包个机器周期包含含1212个节拍(时钟周期),个节拍(时钟周期),依次表示为:依次表示为:S1P1S1P1、S1P2S1P2、S2P1S2P1、S6P1S6P1、S6P2S6P2。若采用。若采用12MHz12MHz的晶振时,则一个机器的晶振时,则一个机器周期为周期为1s1s;若采用晶振;若采用晶振6MHz6MHz时,则一个机器周期为时,则一个机器周期为2s2s。2022-4-2294. 4. 指令周期指令周期 是是CPUCPU执
9、行一条指令所需要的时间为指令周期。执行一条指令所需要的时间为指令周期。 MCS-51 MCS-51单片机包含单片机包含1 1个或个或2 2个或个或4 4个机器周期个机器周期。 若采用若采用6MHz6MHz晶振,则振荡周期为晶振,则振荡周期为1/6s1/6s,机器周期为,机器周期为2s2s、4s4s或或8s8s。2022-4-2210 MCS-51 MCS-51系列单片机的指令按其长度可分为:系列单片机的指令按其长度可分为:单字节单字节指令,双字节指令和三字节指令指令,双字节指令和三字节指令。四、取指令和执行指令时序四、取指令和执行指令时序 由图由图2.142.14所示,所示,ALEALE信号在
10、一个机器周期内两次有效,第信号在一个机器周期内两次有效,第一次在一次在S1P2S1P2和和S2P1S2P1期间,第二次在期间,第二次在S4P2S4P2和和S5P1S5P1期间,期间,ALEALE信信号的有效宽度为一个号的有效宽度为一个S S状态。每出现一个状态。每出现一个ALEALE信号,信号,CPUCPU就可就可进行一次取指操作。进行一次取指操作。2022-4-2211图2.14 MCS-51单片机的去取指/执行时序a)单字节单周期;b)双字节单周期指令;c)单字节双周期字节;d)双字节双周期指令2022-4-2212 图图2-142-14(a a)与()与(b b)分别为单字节单周期和双字
11、节单周)分别为单字节单周期和双字节单周期指令的时序。期指令的时序。 对于单周期指令对于单周期指令,在把指令码读入指令寄存器时,从,在把指令码读入指令寄存器时,从S1P2S1P2开始执行指令。开始执行指令。 如果它为双字节指今,则在同一机器周期的如果它为双字节指今,则在同一机器周期的S4S4读入第二读入第二字节字节; 如果它为单字节指令,则在如果它为单字节指令,则在S4S4仍旧进行读操作仍旧进行读操作,但,但读入读入的字节的字节( (它应是下一个指令码它应是下一个指令码) )被忽略,而且程序计数据不被忽略,而且程序计数据不加加1 1。在任何情况下,在。在任何情况下,在S6P2S6P2结束指令操作
12、结束指令操作。2022-4-2213 图图2.142.14(c c)为双字节单周期指令的时序,在两个机)为双字节单周期指令的时序,在两个机器周期内发生器周期内发生4 4次读操作码的操作,由于是单字节指令,次读操作码的操作,由于是单字节指令,后后3 3次读操作都是无效次读操作都是无效的。的。 图图2.14(d)2.14(d)是访问外部数据存储器的是访问外部数据存储器的指令指令MOVXMOVX的时序的时序,它是一条条单字节双周期指令。在它是一条条单字节双周期指令。在第第个机器周期个机器周期S5S5开始开始时,时,送出外部数据存储器的地址,随后读或写数据,读写期间在送出外部数据存储器的地址,随后读或
13、写数据,读写期间在ALEALE端不输出有效信号;在第二个机器周期,即外部数据存端不输出有效信号;在第二个机器周期,即外部数据存储器被寻址和选通后也不产生取指操作。储器被寻址和选通后也不产生取指操作。2022-4-2214时序的共同点时序的共同点: 每一次每一次ALEALE信号有效,信号有效,CPUCPU均从均从ROMROM中读取指令码(包中读取指令码(包括操作码和操作数),但不一定有效,读了之后再丢弃(假括操作码和操作数),但不一定有效,读了之后再丢弃(假读)。读)。 有效时,有效时,PC+1PCPC+1PC不变(程序计数器不变(程序计数器PCPC不加不加1 1);无无效时不变效时不变。其余时
14、间用于执行指令操作功能,但在时序中没。其余时间用于执行指令操作功能,但在时序中没有完全反映出。如双字节单机器周期,分别在有完全反映出。如双字节单机器周期,分别在S1S1、S4S4读操作读操作码和操作数,执行指令就一定在码和操作数,执行指令就一定在S2S2、S3 S3 、S5 S5 、S6S6中完成。中完成。2022-4-2215第第4 4节节 MCS-51MCS-51系列单片机的复位与掉电处理系列单片机的复位与掉电处理 一一、复位与复位电路、复位与复位电路1.复位:复位:是单片机的初始化操作,以便使是单片机的初始化操作,以便使CPUCPU和系统中其和系统中其他部件都处于一个确定的状态,并从这个
15、状态开始工作。他部件都处于一个确定的状态,并从这个状态开始工作。 当单片机系统在运行出错或操作错误使系统处于死当单片机系统在运行出错或操作错误使系统处于死锁存时,也可锁存时,也可按复位键按复位键重新启动。重新启动。 单片机复位后,单片机复位后,PCPC内容初始化为内容初始化为0000H0000H,那么单片机,那么单片机就从就从0000H0000H单元单元开始执行程序。片内开始执行程序。片内RAMRAM为随机值,运行为随机值,运行中的复位操作不改变片内中的复位操作不改变片内RAMRAM的内容。的内容。2022-4-2216 复位后各寄存器的初态如下表复位后各寄存器的初态如下表2-72-7所示,其
16、意义为:所示,其意义为: P0P3=FFH,相当于各口锁存器已写入,相当于各口锁存器已写入1 1,此时可用于输出,此时可用于输出/ /输入;输入; SPSP07H07H,堆栈指针指向片内,堆栈指针指向片内RAMRAM的的07H07H单元(第一个入栈内容将写入单元(第一个入栈内容将写入08H08H中);中); IPIP、IEIE和和PCONPCON的有效值为的有效值为0 0,各中断源处于低优先级且均被关断,串,各中断源处于低优先级且均被关断,串行通信的波特率不加倍;行通信的波特率不加倍; PSWPSW00H00H,当前工作寄存器为,当前工作寄存器为0 0组。组。表表2-7 2-7 寄存器的复位状
17、态寄存器的复位状态2022-4-22172. 2. 复位电路复位电路图2-10 8051复位电路内部结构HMOSHMOS型型80518051复位结构如图复位结构如图2.102.10所示。所示。复位引脚复位引脚RST/VPD(RST/VPD(它是掉电方式下它是掉电方式下内部内部RAMRAM的供电端的供电端VPD)VPD)通过一个通过一个施施密特触发器与复位电路相连密特触发器与复位电路相连。施密。施密特触发器用来抑制噪声,它的输出特触发器用来抑制噪声,它的输出在在每个机器周期的每个机器周期的S5P2S5P2由复位电路由复位电路采样一次采样一次。RSTRST引脚时复位信号的输入端,引脚时复位信号的输
18、入端,复复位信号是高电平有效位信号是高电平有效,其有效时,其有效时间应持续间应持续2424个时钟周期个时钟周期(2 2个机器个机器周期)以上。周期)以上。2022-4-2218CHMOSCHMOS型的单片机复位结构如图型的单片机复位结构如图211211所示,此处复位引脚只是单纯所示,此处复位引脚只是单纯的称为的称为RSTRST,而不是,而不是RSTRSTVPDVPD,因,因为为CHMOSCHMOS单片机的备用电源也由单片机的备用电源也由VCCVCC引脚提供。引脚提供。2.11 CHMOS2.11 CHMOS型单片机的复位结构型单片机的复位结构2022-4-2219 无论对无论对HMOSHMOS
19、还是还是CHMOSCHMOS型,当振荡器正在运行的情况下,型,当振荡器正在运行的情况下,复位是靠在复位是靠在RSTRSTVPDVPD或或RSTRST引脚至少保持两个机器周期的引脚至少保持两个机器周期的高电平而实现高电平而实现的。在的。在RSTRST端出现高电平后的第端出现高电平后的第2 2个周期,执个周期,执行内部复位,以后每个周期重复行内部复位,以后每个周期重复次,直至次,直至RSTRST端变低。端变低。RSTRST端的外部复位电路有两种操作方式:端的外部复位电路有两种操作方式:上电复位和按键手动复位(人工复位)上电复位和按键手动复位(人工复位)2022-4-22202.12 上电复位电路
20、如图如图2.122.12所示,上电复位电路是所示,上电复位电路是利利用电容器充电实现用电容器充电实现的。上电瞬间,的。上电瞬间,RSTRST端的端的电位与电位与VCCVCC相同,随着电容的逐步充电,充相同,随着电容的逐步充电,充电电流减小。电电流减小。RSTRST电位逐渐下降。上电复位电位逐渐下降。上电复位所需的最短时间是振荡器建立时间加上两所需的最短时间是振荡器建立时间加上两个机器周期。在这段时间内,个机器周期。在这段时间内,RSTRST端口的电端口的电平应维持高于斯密特触发器的下阈值。平应维持高于斯密特触发器的下阈值。般般VCCVCC的上升时间不超过的上升时间不超过1ms1ms,振荡器建立
21、,振荡器建立时间不超过时间不超过10ms10ms。 复位电路的典型值:复位电路的典型值: 电容电容C C取取10F10F,R R取取8.2K8.2K。故时间常数故时间常数足以满足要求。足以满足要求。(1 1)上电复位)上电复位6310 108.2 1082RCms2022-4-22212.13 2.13 外部复位电路外部复位电路 外部复位电路如图外部复位电路如图2.132.13所示,所示,按下按钮时,电源对外接电容器充按下按钮时,电源对外接电容器充电,使电,使RSTRST为高电平,复位按钮松为高电平,复位按钮松开后,开后,电容通过内部下拉电阻放电,电容通过内部下拉电阻放电,逐渐使逐渐使RSTR
22、ST端恢复低电平端恢复低电平。(2)外部复位电路2022-4-2222 程序计数器指针程序计数器指针PCPC 典型的复位电路既具有上电复位又具有典型的复位电路既具有上电复位又具有外部的复位电路如图外部的复位电路如图2.142.14所示,所示, 上电瞬间,上电瞬间,C C与与RxRx构成充电电路,构成充电电路,RSTRST引引脚出现正脉冲,只要脚出现正脉冲,只要RSTRST保持足够的高电平,保持足够的高电平,就能使单片机复位。就能使单片机复位。 参数选择参数选择: 一般取一般取C C22F22F,R R200,Rx200,Rx1K1K,此时,此时, 当按下按钮时,当按下按钮时,RSTRST端电位
23、:端电位:(1000/12001000/1200)5=4.2V5=4.2V,使单片机复位。,使单片机复位。6322 101 1022RCms 2.14 2.14 上电外部复位电路上电外部复位电路2022-4-2223(4 4)抗干扰复位电路)抗干扰复位电路2.15 2.15 两种实用复位电路两种实用复位电路 上面几种复位电路,干扰信号易串入复位端。一般情况不会造成单片机上面几种复位电路,干扰信号易串入复位端。一般情况不会造成单片机的错误复位,但有可能引起内部某些寄存错误复位。在应用系统中,为了的错误复位,但有可能引起内部某些寄存错误复位。在应用系统中,为了保证复位电路可靠地工作,保证复位电路可
24、靠地工作,常将常将RCRC电路在接施密特电路后再接入单片机复电路在接施密特电路后再接入单片机复位端及外围电路复位端位端及外围电路复位端。图。图2.152.15给出了两种实用电路。给出了两种实用电路。2022-4-2224二、掉电处理二、掉电处理1.掉电保护方式掉电保护方式1234ABCD4321DCBATitleNumberRevisionSiz eA4Date:27-Feb-2006Sheet of File:C:Documents and SettingsAdministrator桌面MyDesign.ddbDrawn By:23486751RS T/VPDP1.0555C1C20.1uF
25、R110KVCC掉电保护:单片机如遇到掉电,掉电保护:单片机如遇到掉电,将导致片内将导致片内RAMRAM和和SFRSFR中的信息丢中的信息丢失。为避免发生此种情况,把失。为避免发生此种情况,把HMOSHMOS型的型的80518051单片机单片机RST/VPDRST/VPD引脚引脚作为备用电源,只要作为备用电源,只要VCCVCC上的电压上的电压低于低于VPDVPD上的电压时,备用电源就上的电压时,备用电源就通过通过VPDVPD端给内部端给内部RAMRAM供电,以低供电,以低功耗保持内部功耗保持内部RAMRAM中的数据,这种中的数据,这种方式称为掉电保护。掉电保护电方式称为掉电保护。掉电保护电路如
26、图路如图2.162.16所示:所示:2.16 2.16 掉电保护电路掉电保护电路2022-4-2225 如图如图2.162.16所示,当电源电压所示,当电源电压VCCVCC降到降到CPUCPU工作电源电压工作电源电压所允许的最低下限之前,所允许的最低下限之前,通过中断服务程序通过中断服务程序,把一些必须,把一些必须保护信息转存到片内保护信息转存到片内RAMRAM中,中,然后向然后向P1.0P1.0写入写入“0 0”,由,由P1.0P1.0输出的低电平触发单稳态电路输出的低电平触发单稳态电路555555。 在主电源恢复之前,片内振荡器被封锁,一切功能停在主电源恢复之前,片内振荡器被封锁,一切功能
27、停止,并依靠止,并依靠VPDVPD引脚提供的电源来保护片内引脚提供的电源来保护片内RAMRAM中的数据。中的数据。 当电源恢复时,当电源恢复时,VPDVPD上的电压应保持足够的时间(约上的电压应保持足够的时间(约10ms10ms),以完成复位操作,然后开始正常的工作。),以完成复位操作,然后开始正常的工作。2022-4-22262.2.节电工作方式节电工作方式对于对于CHMOSCHMOS型单片机(如型单片机(如80C5180C51)才有节电方式。)才有节电方式。有两种:有两种:待机(空闲)方式;掉电保护(停机)方式待机(空闲)方式;掉电保护(停机)方式。 持机持机( (空闲空闲) )方式:可使
28、功耗减小,电流约为方式:可使功耗减小,电流约为1.71.75mA5mA; 掉电掉电( (停机停机) )方式:备用电源直接由方式:备用电源直接由VCCVCC端输入,可仅端输入,可仅功耗减到最小,电流一般为功耗减到最小,电流一般为5 550uA50uA。 因此,因此,CHMOSCHMOS型单片机特别适用于低功耗应用的场合型单片机特别适用于低功耗应用的场合。 2022-4-2227待机待机( (空闲空闲) )方式和掉电方式和掉电( (停机停机) )方式都是由专用寄存器方式都是由专用寄存器PCON(PCON(电源控制寄存器电源控制寄存器) )中的有关位来控制的,其格式及各位中的有关位来控制的,其格式及
29、各位的作用如下:的作用如下:(1)SMOD(1)SMOD:波特率倍增位。在串行口工作方式:波特率倍增位。在串行口工作方式1 1、2 2或或3 3下,下,SMODSMOD1 1使波特率加倍。使波特率加倍。(2)GFl(2)GFl和和GF2GF2:通用标志位。由软件置位、复位。:通用标志位。由软件置位、复位。2022-4-2228(3)PD(3)PD:掉电方式位。若:掉电方式位。若PDPD1 1,进入掉电工作方式。,进入掉电工作方式。(4)IDL(4)IDL:待机方式位。各:待机方式位。各IDLIDL1 1,进入持机工作万式。,进入持机工作万式。 当当PDPD扣扣IDLIDL同时为同时为l l,则
30、先进入掉电工作方式。复位后,则先进入掉电工作方式。复位后,PSONPSON中所有定义位均为中所有定义位均为“0 0”。2022-4-2229(1 1)待机方式)待机方式 用指令使用指令使PCONPCON中的中的IDLIDL位置位置1 1,80C5180C51就进入待机方式。就进入待机方式。 在待机方式下,振荡器继续运行,时钟信号继续提在待机方式下,振荡器继续运行,时钟信号继续提供给中断逻辑。串行口和定时器,但提供给供给中断逻辑。串行口和定时器,但提供给CPUCPU的内部时的内部时钟信号被切断,钟信号被切断,CPUCPU停止工作。这时,堆栈指针停止工作。这时,堆栈指针SPSP、程序、程序计数器计
31、数器PCPC、程序状态字、程序状态字PSWPSW、累加器、累加器ACCACC以及所有的工作寄以及所有的工作寄存器内容都被保存下来。存器内容都被保存下来。 通常通常CPUCPU耗电量占芯片耗电量的耗电量占芯片耗电量的80809090,所以,所以CPUCPU停止工作就会大大降低功耗。停止工作就会大大降低功耗。80C5180C51消耗电流可由正常消耗电流可由正常的的24mA24mA降为降为3mA3mA,甚至更低。,甚至更低。2022-4-2230终止待机有以下两种方法:终止待机有以下两种方法: 通过硬件复位通过硬件复位由于在待机方式下,由于在待机方式下,RSTRST脚上的有效信号只需保持两个时脚上的
32、有效信号只需保持两个时钟周期就能使钟周期就能使IDLIDL置置“0 0”,单片机即退出待机状态。,单片机即退出待机状态。 注意注意,为了防止对端口的操作出现错误,置空闲方式。,为了防止对端口的操作出现错误,置空闲方式。下一条指令不应该为写端口或写外部下一条指令不应该为写端口或写外部RAMRAM的指令。的指令。 通过中断方法通过中断方法 若在待机期间,任何一个允许的中断被触发,若在待机期间,任何一个允许的中断被触发,IDIIDI都会被都会被置为置为“0 0”,从而结束持机方式。单片机进入中断服务程序。,从而结束持机方式。单片机进入中断服务程序。这时,通用这时,通用标志标志GFOGFO或或GFIGFI可用来指示中断可用来指示中断是正常操作期间还是正常操作期间还是在待机期间发生的。是在待机期间发生的。2022-4-2231 掉电方式掉电方式 用指令使用指令使PCONPCON的的PDPD位置位置1 1,单片机就进入掉电方式。,单片机就进入掉电方式。片内振荡器停止工作,只有片内片内振荡器停止工作,只有片内RAMRAM及及SFRSFR中的内容被保中的内容被保存下来。存下来。 推出掉电方式的唯一方法是推出掉电方式的唯一方法是硬件复位硬件复位。 复位操作将重新确定所以复位操作将重新确定所以SFRSFR的内容,但不改变内部的内容,但不改变内部RAMRAM的信息。的信息。