1、第二章第二章 MCS-51系列单片机的硬件结系列单片机的硬件结构和原理构和原理 目前目前PHLIPS、INTEL、ATMEL、MOTORAL、ST、TI等公司均生产以等公司均生产以8051为核心的低功耗、高性能为核心的低功耗、高性能8位单片机,而市场上应用较多的是位单片机,而市场上应用较多的是ATMEL公司的公司的AT89系列和系列和ST公司的公司的STC系列系列51增强型。这一章我们以增强型。这一章我们以ATMEL公司的公司的AT89C51单片机为例介绍单片机的结构单片机为例介绍单片机的结构。第一节第一节 MCS-51单片机的结构单片机的结构l8位位CPU,片内带振荡器,其振荡频率为,片内带
2、振荡器,其振荡频率为 024MHzl4KB片内片内8位程序存储器位程序存储器FLASH ROM,具有,具有1000次次擦写周期擦写周期l256B片内片内8位数据存储器位数据存储器RAMl2l个特殊功能寄存器个特殊功能寄存器SFR2.1.1 AT89C512.1.1 AT89C51单片机的特性单片机的特性l32根根I/O口线(口线(4个个8位并行位并行I/O接口:接口:P0、Pl、P2、P3,每个,每个口可以用作输入和输出)口可以用作输入和输出)ll个全双工异步通信串行个全双工异步通信串行I/O接口,可实现多机通信。接口,可实现多机通信。l2个个16位位定时器定时器/计数器(计数器(T0/Tl)
3、l中断系统有中断系统有5个个中断源和中断源和2个个优先级优先级l片外片外可扩展寻址各可扩展寻址各64K字节外部程序、数据存储器空间字节外部程序、数据存储器空间l具有布尔处理的位寻址功能的位处理机具有布尔处理的位寻址功能的位处理机l在在0HZ下,具有两种工作模式(低功耗空闲模式和掉电模式)下,具有两种工作模式(低功耗空闲模式和掉电模式)l片内含看门狗定时器片内含看门狗定时器2.1.22.1.2 AT89C51单片机内部结构单片机内部结构1、处理器、处理器 处理器(处理器(CPU)是单片机最为核心的部分,主要用来完)是单片机最为核心的部分,主要用来完成成产生控制信号产生控制信号,控制把,控制把数据
4、数据从存储器或输入口传送到从存储器或输入口传送到CPU或或反向反向传送传送,对输入,对输入数据数据进行算术逻辑运算以及位操作进行算术逻辑运算以及位操作处理处理等功等功能,是单片机的大脑和心脏,是单片机的控制和指挥系统。一能,是单片机的大脑和心脏,是单片机的控制和指挥系统。一个单片机的处理器是由个单片机的处理器是由运算器运算器(含布尔运算)和(含布尔运算)和控制器控制器组成的组成的。(1)运算器运算器l累加器累加器ACC:ACC是一个是一个8位寄存器,其通过暂存寄存器与位寄存器,其通过暂存寄存器与ALU相连,是相连,是CPU中工作中工作最繁忙最繁忙的寄存器,这是由于在进行的寄存器,这是由于在进行
5、算术或逻辑运算时,运算器所操作及输出的数据多是从算术或逻辑运算时,运算器所操作及输出的数据多是从ACC中取出或送到中取出或送到ACC中去,在指令系统中,累加器中去,在指令系统中,累加器ACC的助记的助记符为符为A。l算术算术/逻辑部件逻辑部件ALU:ALU主要完成二进制数的四则运算和布主要完成二进制数的四则运算和布尔代数的逻辑运算,以及移位、判断、传送等功能,同时通尔代数的逻辑运算,以及移位、判断、传送等功能,同时通过对运算结果的判断,会影响程序状态寄存器(过对运算结果的判断,会影响程序状态寄存器(PSW)的有)的有关位。关位。l程序状态字寄存器程序状态字寄存器PSW:PSW也是也是8位寄存器
6、,用来存放运算位寄存器,用来存放运算结果的一些结果的一些特征特征,即反映指令执行之后的有关状态信息,其中,即反映指令执行之后的有关状态信息,其中各位的内容是在指令执行的过程当中自动生成的,也可以根据各位的内容是在指令执行的过程当中自动生成的,也可以根据用户需要进行改变,可供程序查询和判断用。用户需要进行改变,可供程序查询和判断用。l暂存寄存器暂存寄存器B:暂存寄存器暂存寄存器B是专门在进行是专门在进行乘除法乘除法运算时使用的运算时使用的,在乘法运算时,累加器,在乘法运算时,累加器ACC存放被乘数,暂存寄存器存放被乘数,暂存寄存器B存放存放乘数,运算后的结果乘积的高乘数,运算后的结果乘积的高8位
7、放入位放入B中,低中,低8位放入位放入A中;中;在除法运算时,累加器在除法运算时,累加器ACC存放被除数,暂存寄存器存放被除数,暂存寄存器B存放除存放除数,运算后结果余数放入数,运算后结果余数放入B中,商放入中,商放入A中。当不进行乘除法中。当不进行乘除法运算时,暂存寄存器可作为普通的寄存器使用。运算时,暂存寄存器可作为普通的寄存器使用。(2)控制器控制器l控制器是控制器是CPU的中枢,它包括了定时控制逻辑部件、指的中枢,它包括了定时控制逻辑部件、指令寄存器、指令译码器、数据指针令寄存器、指令译码器、数据指针DPTR、程序计数器、程序计数器PC、堆栈指针、堆栈指针SP、地址寄存器、地址缓冲器以
8、及振荡、地址寄存器、地址缓冲器以及振荡电路等。电路等。程序计数器程序计数器PCl程序计数器程序计数器PC是一个是一个16位二进制的程序地址寄存器,其专门是用位二进制的程序地址寄存器,其专门是用来来存放下一条要执行指令的地址存放下一条要执行指令的地址。当一条指令按照。当一条指令按照PC所指的地址所指的地址从程序存储器中取出后,从程序存储器中取出后,PC会自动加上该指令的字长,将地址指会自动加上该指令的字长,将地址指向下一条将要执行的指令的内存地址处,这样指令就按照程序设计向下一条将要执行的指令的内存地址处,这样指令就按照程序设计的顺序被逐条执行出来。由于的顺序被逐条执行出来。由于PC是一个是一个
9、16位的寄存器,说明其地位的寄存器,说明其地址最大值可达到址最大值可达到FFFFH,即,即64K,也就是说对于,也就是说对于51单片机而言其单片机而言其外部可扩展的程序存储器的最大容量为外部可扩展的程序存储器的最大容量为64K,这对我们的实际应用,这对我们的实际应用已经够了。已经够了。堆栈指针堆栈指针SPl在计算机中,堆栈是按照在计算机中,堆栈是按照“先进后出先进后出”或者或者“后进先出后进先出”的原则来的原则来进行存取数据的数据存储器区域。这个区域可根据需要进行设置大进行存取数据的数据存储器区域。这个区域可根据需要进行设置大小,称之为堆栈区。而小,称之为堆栈区。而AT89C51片内的数据存储
10、器地址为片内的数据存储器地址为00HFFH,其中的高,其中的高128B地址为特殊功能寄存器(地址为特殊功能寄存器(SFR)区,而)区,而低低128B的的 00H7FH的地址区域为数据区域,这部分区域中的任何的地址区域为数据区域,这部分区域中的任何一个范围都可以作为堆栈区使用。而堆栈的设置主要是通过对堆栈一个范围都可以作为堆栈区使用。而堆栈的设置主要是通过对堆栈指针指针SP的设定确定的。的设定确定的。数据指针数据指针DPTRl由于由于51系列单片机可外接系列单片机可外接64K的数据存储器和的数据存储器和I/O接口电路,接口电路,所以单片机内置了所以单片机内置了16位的数据指针位的数据指针DPTR
11、,其高,其高8位为位为DPH,地址为地址为83H,低,低8位为位为DPL,地址为,地址为82H。DPTR可以用来存可以用来存放片内存储器的地址,也可以用来存放片外的存储器的地址放片内存储器的地址,也可以用来存放片外的存储器的地址。51系列单片机用系列单片机用MOV和和MOVX来区分是访问片内还是片外来区分是访问片内还是片外数据存储器空间,其中片内使用数据存储器空间,其中片内使用MOV命令,片外和命令,片外和I/O端口使端口使用用MOVX命令。而对于程序存储器中的数据信息,如表格,命令。而对于程序存储器中的数据信息,如表格,则使用则使用MOVC命令,具体命令用法在后面的指令系统章节讲命令,具体命
12、令用法在后面的指令系统章节讲解。解。第二节第二节 单片机的存储器单片机的存储器l计算机的存储器结构有两种:一种称为计算机的存储器结构有两种:一种称为哈佛结构哈佛结构,即程序存,即程序存储器和数据存储器分开,进行相互独立编址;另一种结构称储器和数据存储器分开,进行相互独立编址;另一种结构称为为普林斯顿结构普林斯顿结构,即程序存储器和数据存储器是统一的,地,即程序存储器和数据存储器是统一的,地址空间进行统一编址。址空间进行统一编址。l51系列单片机存储器的结构是系列单片机存储器的结构是哈佛结构哈佛结构的,即程序存储器的,即程序存储器和数据存储器的地址空间是和数据存储器的地址空间是分开编址分开编址的
13、。的。2.2.1程序存储器程序存储器l程序存储器是用于存放程序存储器是用于存放程序程序和和表格表格常数的,在程序存储器中常数的,在程序存储器中程序和数据是以二进制数字的形式存在的。其中程序和数据是以二进制数字的形式存在的。其中AT89C51片片内有内有4K字节字节FLASH ROM,8751有有4K EPROM(可改写(可改写ROM,特点:一方面在停电以后,信息可以长期保存;另,特点:一方面在停电以后,信息可以长期保存;另一方面,当不需要这些信息时,又可擦去和重写),而一方面,当不需要这些信息时,又可擦去和重写),而8031片内没有程序存储器,所以片内存储器的有无是区分片内没有程序存储器,所以
14、片内存储器的有无是区分8031、8051、8751的主要标志。的主要标志。l AT89C51片内片内4K 程序存储器和片外用的程序存储器和片外用的16位地址线扩充的位地址线扩充的64K字节字节ROM是统一编址的。是统一编址的。程序存储器中有程序存储器中有6个具有特殊含义的单元:个具有特殊含义的单元:l0000H:单片机复位后,:单片机复位后,PC=0000H,程序从,程序从0000H开始执行开始执行命令;命令;l 0003H、000BH、0013H、001BH、0023H分别固定用于分别固定用于5个个中断源对应的中断服务子程序的入口地址,亦称中断矢量中断源对应的中断服务子程序的入口地址,亦称中
15、断矢量。所以所以,编程时往往把,编程时往往把0003H-002AH这段存储区间作为保留单这段存储区间作为保留单元,而由元,而由0000H开始存放一条绝对跳转指令开始存放一条绝对跳转指令AJMP,跳转到我们设,跳转到我们设计的主程序,我们设计的程序则有跳转后的地址开始存放。计的主程序,我们设计的程序则有跳转后的地址开始存放。2.2.2数据存储器数据存储器l数据存储器是用于存放运算所参与的数据及结果、数据暂数据存储器是用于存放运算所参与的数据及结果、数据暂存以及数据缓冲等等,它由读写存储器组成,分为片内和存以及数据缓冲等等,它由读写存储器组成,分为片内和片外两部分。其中片外数据存储器地址为片外两部
16、分。其中片外数据存储器地址为0000HFFFFH,片内数据存储器地址为片内数据存储器地址为00HFFH,两部分重叠部分地址由,两部分重叠部分地址由不同指令区分访问。不同指令区分访问。1、片内数据存储器、片内数据存储器l 内部数据存储器由地址内部数据存储器由地址00H-FFH这这256个字节的地址空间组个字节的地址空间组成,这成,这256个字节空间被分为两个部分:个字节空间被分为两个部分:内部数据区内部数据区,地址,地址为为00H-7FH(0-127););特殊功能寄存器(特殊功能寄存器(SFR)区)区,地址,地址为为80H-FFH(128-255)。)。l(1)内部数据区)内部数据区 经常用来
17、存放数据的区域,是真正的经常用来存放数据的区域,是真正的RAM区区。在这个区在这个区域中的位地址空间供布尔处理机执行位操作指令使用。域中的位地址空间供布尔处理机执行位操作指令使用。00H-1FH 工作寄存器组区工作寄存器组区工作寄存工作寄存器组号器组号RS1 RS0R0R1R2R3R4R5R6R7字节地址字节地址00 000H01H02H03H04H05H06H07H10 108H09H0AH0BH0CH0DH0EH0FH21 010H11H12H13H14H15H16H17H31 118H19H1AH1BH1CH1DH1EH1FH20H-2FH 位寻址区位寻址区 可可位位寻寻址址区区 字节地
18、址字节地址位地址位地址20H00H01H02H03H04H05H06H07H21H08H09H0AH0BH0CH0DH0EH0FH22H10H11H12H13H14H15H16H17H23H18H19H1AH1BH1CH1DH1EH1FH24H20H21H22H23H24H25H26H27H25H28H29H2AH2BH2CH2DH2EH2FH26H30H31H32H33H34H35H36H37H27H38H39H3AH3BH3CH3DH3EH3FH28H40H41H42H43H44H45H46H47H29H48H49H4AH4BH4CH4DH4EH4FH2AH50H51H52H53H54H5
19、5H56H57H2BH58H59H5AH5BH5CH5DH5EH5FH2CH60H61H62H63H64H65H66H67H2DH68H69H6AH6BH6CH6DH6EH6FH2EH70H71H72H73H74H75H76H77H2FH78H79H7AH7BH7CH7DH7EH7FH 30H-7FH 用户用户RAM区,区,为用户为用户RAM区(堆栈区、数据缓冲区)区(堆栈区、数据缓冲区)l 对于堆栈区域,单片机具有对于堆栈区域,单片机具有8位的堆栈指针位的堆栈指针SP,单片机的,单片机的堆栈被限制在内部数据存储区堆栈被限制在内部数据存储区00H-7FH之间,对于堆栈指之间,对于堆栈指针针SP
20、赋以不同的初值就可以指定不同的堆栈区域,栈区的赋以不同的初值就可以指定不同的堆栈区域,栈区的设置应和设置应和RAM的分配统一考虑,将工作寄存器和位寻址区的分配统一考虑,将工作寄存器和位寻址区域分配好以后,在指定堆栈区域。域分配好以后,在指定堆栈区域。(2)特殊功能寄存器()特殊功能寄存器(SFR)区)区符号SFR名称字节地址位定义/位地址*P0P0口80HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.087H86H85H84H83H82H81H80HSP堆栈指针81H DPL数据指针低字节82H DPH数据指针高字节83H PCON电源控制寄存器87HSMODGF1GF0PDI
21、DL*TCON定时器控制寄存器88HTF1TR1TF0TR0IE1IT1IE0IT08FH8EH8DH8CH8BH8AH89H88HTMOD定时器方式选择寄存器89HGATAC/T M1M0GATAC/T M1M0TL0定时器/计数器0低字节8AH TL1定时器/计数器0低字节8BH TH0定时器/计数器0高字节8CH TH1定时器/计数器0高字节8DH 注:只列出51型SFR 而特殊功能寄存器区间通常是用来设定和反映单片机内部器件状态而特殊功能寄存器区间通常是用来设定和反映单片机内部器件状态的设置区域。的设置区域。*P1P1口90HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1
22、.097H96H95H94H93H92H91H90H*SCON串行口控制寄存器98HSM0SM1SM2RENTB8RB8TIRI9FH9EH9DH9CH9BH9AH99H98HSBUF串行数据缓冲寄存器99H*P2P2口A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0A7HA6HA5HA4HA3HA2HA1HA0H*IE中断允许控制寄存器A8HEAET2ESET1TX1ET0EX0AFHAEHADHACHABHAAHA9HA8H*P3P3口B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0B7HB6HB5HB4HB3HB2HB1HB0H*IP中断优先级
23、控制寄存器B8HPT2PSPT0PX1PT0PX0BFHBEHBDHBCHBBHBAHB9HB8H*B暂存寄存器F0HB.7B.6B.5B.4B.3B.2B.1B.0F7HF6HF5HF4HF3HF2HF1HF0H*PSW程序状态字寄存器D0HD7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVF1P*ACC累加器E0HACC.7ACC.6ACC.5ACC.4ACC.3ACC.2ACC.1ACC.0E7HE6HE5HE4HE3HE2HE1HE0H第三节第三节 51系列单片机的引脚系列单片机的引脚l40个,这其中包含了包括个,这其中包含了包括32条条I/O接口引脚、接口引
24、脚、4条控制引脚、条控制引脚、2条电源条电源引脚、引脚、2条时钟引脚。条时钟引脚。2.3.1 MCS-51系列单片机引脚功能系列单片机引脚功能1、电源引脚、电源引脚Vcc和和GND(2条条)l Vcc(40):单片机工作电源的输入引脚,接):单片机工作电源的输入引脚,接+5V,lGND(20)接地引脚。)接地引脚。2、时钟引脚、时钟引脚XTAL1(19)和)和XTAL2(18)()(2条)条)l51系列单片机的系列单片机的HMOS芯片内部时钟电路的振荡源可由两种方芯片内部时钟电路的振荡源可由两种方式提供,分别为内部自激振荡方式和外部振荡脉冲源方式。式提供,分别为内部自激振荡方式和外部振荡脉冲源
25、方式。3、控制引脚(、控制引脚(4条)条)lALE/(30)地址锁存允许信号输出端)地址锁存允许信号输出端 当单片机上电正常工作后,当单片机上电正常工作后,ALE引脚就周期性地以时钟振荡频率的引脚就周期性地以时钟振荡频率的1/6的固定频率向外输出正脉冲信号。在存取片外存储器的数据时,配合的固定频率向外输出正脉冲信号。在存取片外存储器的数据时,配合P0口使用,用于锁存低口使用,用于锁存低8位地址。位地址。l (29)片外程序存储器)片外程序存储器ROM允许输出端允许输出端 其是片外程序存储器的读选通信号端,低电平有效。从片外程序存储其是片外程序存储器的读选通信号端,低电平有效。从片外程序存储器取
26、数据和执行片外程序时,每个机器周期内器取数据和执行片外程序时,每个机器周期内 激发两次脉冲,而当执行片激发两次脉冲,而当执行片外程序存储器的程序,并存取片外数据存储器时,外程序存储器的程序,并存取片外数据存储器时,的这两次脉冲是不出现的这两次脉冲是不出现的,而且从内部程序存储器读取指令和数据时也不激发的,而且从内部程序存储器读取指令和数据时也不激发。PROGPSENl /VPP(31)程序存储器地址允许输入端)程序存储器地址允许输入端l 在单片机的片内程序存储器在某些情况下不够用时,必在单片机的片内程序存储器在某些情况下不够用时,必须进行片外扩展而使用片外的程序存储器,同时须进行片外扩展而使用
27、片外的程序存储器,同时51系列单片系列单片机中的机中的8031型号单片机片内无程序存储器,也必须使用片外型号单片机片内无程序存储器,也必须使用片外程序存储器,为了使得单片机可以访问片外程序存储器中的程序存储器,为了使得单片机可以访问片外程序存储器中的指令就要对指令就要对 引脚进行控制。引脚进行控制。l 当引脚接高电平时,当引脚接高电平时,CPU先执行片内程序存储器指令先执行片内程序存储器指令,当,当PC中的值超过中的值超过0FFFH(4K)时,将自动转向执行外部)时,将自动转向执行外部程序存储器指令。程序存储器指令。l 当当 引脚接低电平时,引脚接低电平时,CPU只执行片外程序存储器指令。只执
28、行片外程序存储器指令。EA复位电路复位电路RST/VPD(9)复位输入端)复位输入端 高电平有效,在振荡电路工作时,在此引脚输入保持两个机器周期的高高电平有效,在振荡电路工作时,在此引脚输入保持两个机器周期的高电平就完成了对单片机的复位。此外,该引脚还有掉电保护功能,若该端接电平就完成了对单片机的复位。此外,该引脚还有掉电保护功能,若该端接+5V的备用电源,一旦在使用中的备用电源,一旦在使用中Vcc突然消失,则可以保护片内突然消失,则可以保护片内RAM的信息的信息不丢失。不丢失。复位后特殊功能寄存器初值表复位后特殊功能寄存器初值表特殊功能寄存器特殊功能寄存器上电初值上电初值特殊功能寄存器特殊功
29、能寄存器上电初值上电初值P0P3FFHTH000HSP07HTH100HDPL00HSCON00HDPH00HSBUFBPCON0BIE0000000BTCON00HIP000000BTMOD00HB00HTL000HPSW00HTL100HACC00H4、输入、输入/输出口引脚输出口引脚P0-P3lP0口(口(P0.0-P0.7 39-32):P0口是一个漏极开路的口是一个漏极开路的8位位准双向准双向I/O口,在使用时要注意口,在使用时要注意加上拉电阻加上拉电阻。作为输出口。作为输出口时,每位能驱动时,每位能驱动8个个LSTTL负载;作为负载;作为输入口时,要对输入口时,要对P0口写口写“1
30、”,即通过指令,即通过指令MOV P1,#0FFH,来完成,来完成。在访问片外存储器时,它作为在访问片外存储器时,它作为低低8位地址线位地址线和和8位双向位双向数据线数据线的分时复用线使用,此时要有锁存器与其配合使的分时复用线使用,此时要有锁存器与其配合使用。用。lP1口(口(P1.0-P1.7 1-8):P1口是一个带内部上拉电阻的口是一个带内部上拉电阻的8位位准双向准双向I/O口。作为输出口时,口。作为输出口时,P1口的每位可驱动口的每位可驱动4个个LSTTL负载;作为输入口,被外部拉低的引脚由于内部电阻的作用负载;作为输入口,被外部拉低的引脚由于内部电阻的作用,会输出电流,使用时也应先向
31、口锁存器写,会输出电流,使用时也应先向口锁存器写“1”。l P2口(口(P2.0-P2.7 21-28):P2口也是一个带内部上拉电阻口也是一个带内部上拉电阻的的8位准双向位准双向I/O口。作为输出口时其每位也能驱动口。作为输出口时其每位也能驱动4个个LSTTL负载,作为输入口使用时也应先向口锁存器写负载,作为输入口使用时也应先向口锁存器写“1”,作为输入口时,被外部拉低的引脚由于内部电阻的作用,作为输入口时,被外部拉低的引脚由于内部电阻的作用,会输出电流。在访问外部存储器时,它作为会输出电流。在访问外部存储器时,它作为高高8位地址线位地址线。lP3口(口(P3.0-P3.7 10-17):P
32、3口也是一个带内口也是一个带内部上拉电阻的部上拉电阻的8位准双向位准双向I/O口。作为输出口时其口。作为输出口时其每位也能驱动每位也能驱动4个个LSTTL负载,作为输入口使用负载,作为输入口使用时也应先向口锁存器写时也应先向口锁存器写“1”,作为输入口时,作为输入口时,被外部拉低的引脚由于内部电阻的作用,会输出被外部拉低的引脚由于内部电阻的作用,会输出电流。电流。P3口除了作为一般准双向口使用外,每口除了作为一般准双向口使用外,每个引脚还有个引脚还有特殊的功能特殊的功能。P3口第二功能表口第二功能表引脚引脚第二功能第二功能P3.0RXD(串行输入口)(串行输入口)P3.1TXD(串行输出口)(
33、串行输出口)P3.2(外部中断(外部中断0请求输入端)请求输入端)P3.3(外部中断(外部中断1请求输入端)请求输入端)P3.4T0(定时器(定时器/计数器计数器0请求脉冲输入端)请求脉冲输入端)P3.5T1(定时器(定时器/计数器计数器1请求脉冲输入端)请求脉冲输入端)P3.6(片外数据存储器写选通信号输出端片外数据存储器写选通信号输出端)P3.7(片外数据存储器读选通信号输出端片外数据存储器读选通信号输出端)INT0INT1WRRD2.4.1 时序单位时序单位l振荡周期:指为单片机提供定时信号的振荡源的周期,也振荡周期:指为单片机提供定时信号的振荡源的周期,也称时钟周期,是单片机称时钟周期
34、,是单片机最小的时序单位最小的时序单位。其是由振荡电路。其是由振荡电路产生的,与外部振荡电路的晶体振荡器件有关,是振荡频产生的,与外部振荡电路的晶体振荡器件有关,是振荡频率的率的倒数倒数。l机器周期:若把一个指令的执行过程划分成几个单片机基机器周期:若把一个指令的执行过程划分成几个单片机基本操作,则完成一个单片机基本操作的时间称为机器周期本操作,则完成一个单片机基本操作的时间称为机器周期,一个机器周期可分为,一个机器周期可分为6个状态个状态S,每个状态,每个状态P1和和P2组成组成,所以,所以一个机器周期有一个机器周期有12个振荡脉冲个振荡脉冲。l指令周期:执行一条指令所需的时间,至少包指令周
35、期:执行一条指令所需的时间,至少包含一个机器周期。指令周期是时序单位中最大含一个机器周期。指令周期是时序单位中最大的时间单位,指令的时间长短与所包含的机器的时间单位,指令的时间长短与所包含的机器周期数有直接关系,周期数有直接关系,51系列单片机的指令按照系列单片机的指令按照执行的周期可分为执行的周期可分为单机器周期指令、双机器周单机器周期指令、双机器周期指令、四机器周期指令期指令、四机器周期指令,其中四机器周期指,其中四机器周期指令只有乘法和除法两条指令。令只有乘法和除法两条指令。2.4.2 指令时序指令时序l单片机在执行所有的指令时都包含单片机在执行所有的指令时都包含取指取指和和执指执指两个
36、阶段。取指就是两个阶段。取指就是指读取指令的阶段,在此阶段中处理器把程序计数器指读取指令的阶段,在此阶段中处理器把程序计数器PC中的地址送中的地址送到内部或者外部的程序存储器中,并从内部或者外部程序存储器中到内部或者外部的程序存储器中,并从内部或者外部程序存储器中取出要执行的指令的机器码和操作数。执指就是指令的执行阶段,取出要执行的指令的机器码和操作数。执指就是指令的执行阶段,在此阶段处理器对指令的在此阶段处理器对指令的机器码进行译码机器码进行译码,产生指令,产生指令时序信号时序信号,然,然后完成该指令的后完成该指令的操作操作。51系列单片机的指令执行可分为系列单片机的指令执行可分为6中基本时
37、中基本时序,分别为:单字节单周期、单字节双周期、单字节四周期、双字序,分别为:单字节单周期、单字节双周期、单字节四周期、双字节单周期、双字节双周期、三字节双周期指令。节单周期、双字节双周期、三字节双周期指令。第五节第五节 单片机低功耗工作方式单片机低功耗工作方式l单片机在运行程序时,所有的外部接口芯片、设备单片机在运行程序时,所有的外部接口芯片、设备都处于工作状态,此时单片机系统的功耗最高,而都处于工作状态,此时单片机系统的功耗最高,而低功耗的目的是将不使用的外部器件关掉,使系统低功耗的目的是将不使用的外部器件关掉,使系统处于等待状态。单片机的低功耗工作方式有处于等待状态。单片机的低功耗工作方
38、式有掉电方掉电方式式和和待机方式待机方式两种,是通过程序的编写来控制电源两种,是通过程序的编写来控制电源控制寄存器控制寄存器PCON实现的,在设计时应在不影响系实现的,在设计时应在不影响系统功能的情况下尽可能的降低功耗。统功能的情况下尽可能的降低功耗。PCON各标志位定义各标志位定义SMOD:串行口波特率倍率控制位,若SMOD为1则串行口波特率加倍;GF1:通用标志位,用户可通过指令改变其状态;GF2:通用标志位;PD:掉电(停机)方式控制位,“1”有效;IDL:待机(休闲)方式控制位,“1”有效。字节地址87H位 序D7D6D5D4D3D2D1D0位标志SMODGF1GF0PDIDL1、掉电
39、(停机)方式、掉电(停机)方式l由于由于PCON不能够进行位寻址所以若想进入掉电方式,即不能够进行位寻址所以若想进入掉电方式,即将将PD位置位置“1”,只能通过传送类指令完成,即,只能通过传送类指令完成,即MOV PCON,#02H。l在掉电方式下,在掉电方式下,内部振荡器停止工作内部振荡器停止工作,由于没有时钟信号,由于没有时钟信号,所有的功能部件都停止工作,此时的工作电压,所有的功能部件都停止工作,此时的工作电压Vcc可降可降低到低到2V。而当系统要从掉电模式恢复正常的工作模式时。而当系统要从掉电模式恢复正常的工作模式时Vcc也必须恢复到正常的工作电压值,并且维持大约也必须恢复到正常的工作
40、电压值,并且维持大约10ms,是振荡电路重新启动并稳定后才能够退出掉电方,是振荡电路重新启动并稳定后才能够退出掉电方式。式。2、待机(休闲)方式、待机(休闲)方式l将将IDL位置位置“1”,通过传送类指令,通过传送类指令MOV PCON,#01H完完成进入待机方式。成进入待机方式。退出待机方式的方法有两种退出待机方式的方法有两种。一种是让。一种是让被允许中断的中断源发出被允许中断的中断源发出中断请求中断请求(例如利用外部中断(例如利用外部中断INT0,发出一个中断信号),中断系统收到这个中断请求,发出一个中断信号),中断系统收到这个中断请求后,片内硬件电路会自动使后,片内硬件电路会自动使IDL
41、=0,程序从使,程序从使IDL置位指置位指令之后开始执行;另一种是令之后开始执行;另一种是硬件复位硬件复位,在,在51单片机的复位单片机的复位引脚引脚RST上送一个大于上送一个大于2个机器周期的正脉冲,即大于复个机器周期的正脉冲,即大于复位时间,便可完成退出待机方式的操作,程序从进入空闲位时间,便可完成退出待机方式的操作,程序从进入空闲方式的下一条指令开始重新执行程序。方式的下一条指令开始重新执行程序。练习题练习题l1.MCS-51设有设有4组工作寄存器组工作寄存器,有什么特点有什么特点?应如何正确使用?应如何正确使用?l2.MCS-51系列单片机内部包含哪些主要逻辑功能部件系列单片机内部包含哪些主要逻辑功能部件?各有什么特点各有什么特点?l3.MCS-51单片机的程序计数器单片机的程序计数器(PC)有哪些特点?有哪些特点?l4.简述简述MCS-51的程序状态字的程序状态字PSW的作用。的作用。l5.若存在两个十六进制数若存在两个十六进制数9EH和和76H,则两数在分别进行加法和减法,则两数在分别进行加法和减法运算后,运算后,PSW的各位分别为何值?的各位分别为何值?l6.AT89C51的的ALE线的作用是什么?线的作用是什么?AT89C51不和片外不和片外RAM/ROM相连时相连时,ALE线上输出的脉冲频率是多少可以作什么用线上输出的脉冲频率是多少可以作什么用?l