《第2章89C51单片机硬件结构和原理new.ppt》由会员分享,可在线阅读,更多相关《第2章89C51单片机硬件结构和原理new.ppt(153页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目 录&第一章第一章 微机基础知识微机基础知识&第二章第二章 89C5189C51单片机的结构和原理单片机的结构和原理&第三章第三章 89C5189C51指令系统指令系统&第四章第四章 汇编语言程序设计知识汇编语言程序设计知识&第五章第五章 中断系统中断系统&第六章第六章 定时器及应用定时器及应用&第七章第七章 89C5189C51串行口及通信技术串行口及通信技术&第八章第八章 单片机小系统片外扩展单片机小系统片外扩展&第九章第九章 应用系统配置及接口技术应用系统配置及接口技术&附录附录A 89C51A 89C51指令系统表指令系统表&参考资料参考资料Exit12/29/2022142.1MC
2、S-51单片机的结构单片机的结构42.2MCS-51单片机引脚及其功能单片机引脚及其功能42.389C51存储器配置存储器配置42.4CPU时序时序42.5复位及复位电路复位及复位电路42.689C51单片机的低功耗工作方式单片机的低功耗工作方式返回返回第二章第二章 MCS-51单片机的结构和原理单片机的结构和原理42.7输出输出/输入端口结构输入端口结构4 2.8 思考题与习题思考题与习题12/29/202222.12.1MCS-51MCS-51单片机的结构单片机的结构:2.1.1 MCS-512.1.1 MCS-51单片机的基本组成单片机的基本组成:2.1.2 MCS-512.1.2 MC
3、S-51单片机内部结构单片机内部结构返回返回12/29/202232.1.1 MCS-512.1.1 MCS-51单片机的基本组成单片机的基本组成一、组成一、组成二、二、MCS-51系列单片机的性能系列单片机的性能返回返回12/29/20224一、组成一、组成v89C51单片机结构框图单片机结构框图 如图如图2-1所示所示返回返回12/29/2022589C5189C51单片机结构框图单片机结构框图外中断外中断内中断内中断控制控制并行口并行口串行通信串行通信外部时钟源外部时钟源外部事件计数外部事件计数返回返回12/29/20226一、组成一、组成+一个一个8位位 的微处理器的微处理器CPU。返
4、回返回12/29/20227一、组成一、组成 用以存放可以读用以存放可以读/写的数据,如运算的中间结写的数据,如运算的中间结果、最终结果以及欲显示的数据等。果、最终结果以及欲显示的数据等。+片内数据存储器片内数据存储器(RAM128B/256B):返回返回12/29/20228一、组成一、组成 用以存放程序、一些原始数据和表格。但有用以存放程序、一些原始数据和表格。但有一些单片机内部不带一些单片机内部不带ROM/EPROM,如,如8031、8032、80C31等。等。+片内程序存储器片内程序存储器Flash ROM (4KB/8KB):返回返回12/29/20229一、组成一、组成每个口可以用
5、作输入,也可以用作输出。每个口可以用作输入,也可以用作输出。+四个四个8位并行位并行I/O(输入输入/输出)接口输出)接口P0P3:返回返回12/29/202210一、组成一、组成 每个定时每个定时/计数器都可以设置成计数方式,计数器都可以设置成计数方式,用以用以 对对 外部事件进行计数,也可以设置成定时外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果方式,并可以根据计数或定时的结果 实现计算机实现计算机控制。控制。+两个或三个定时两个或三个定时/计数器计数器:返回返回12/29/202211一、组成一、组成 可实现单片机与单片机或其它微机之间串可实现单片机与单片机或其它微机
6、之间串行通信。行通信。+一个全双工一个全双工UART的串行的串行I/O口口:返回返回12/29/202212一、组成一、组成 但需外接晶振和电容。但需外接晶振和电容。+片内振荡器和时钟产生电路片内振荡器和时钟产生电路:返回返回12/29/202213一、组成一、组成+五个中断源的中断控制系统。五个中断源的中断控制系统。返回返回12/29/202214二、二、MCS-51系列单片机的性能系列单片机的性能v如如表表2-1所示。表中型号带所示。表中型号带“C”表示所表示所用的是用的是CMOS工艺,具有功耗低的优点。工艺,具有功耗低的优点。返回返回12/29/202215MCS-51系列单片机的性能表
7、系列单片机的性能表返回返回12/29/2022162.1.2 MCS-51单片机内部结构单片机内部结构一、结构图一、结构图二、结构组成二、结构组成返回返回12/29/202217一、结构图一、结构图v由由 中央处理单元(中央处理单元(CPU)、)、存储器存储器(ROM及及RAM)和和I/O接口接口组成。组成。vMCS-51单片机内部结构如单片机内部结构如 图图2-2所示所示。返回返回12/29/202218P0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1 XTAL2PSENALEEARET89C5189C5189C5189C51单片机单片机单片机单片机内部结构
8、图内部结构图内部结构图内部结构图返回返回12/29/202219二、结构组成二、结构组成(一)中央处理单元(一)中央处理单元(CPU)(二)存储器(二)存储器(三)(三)I/O接口接口返回返回12/29/202220(一)、中央处理单元(一)、中央处理单元(CPU)1运算器运算器返回返回2控制器控制器12/29/2022211运算器运算器(1)8位的位的ALU:返回返回(2)8位累加器位累加器ACC(A):):(3)8位程序状态寄存器位程序状态寄存器PSW:(4)8位寄存器位寄存器B:(5)布尔处理器:布尔处理器:(6)2个个8位暂存器:位暂存器:12/29/2022221运算器运算器可对可对
9、4 4位、位、8 8位、位、1616位数据进行操作。位数据进行操作。返回返回(1 1)8 8位的位的ALUALU:12/29/2022231运算器运算器(2)8位累加器位累加器ACC(A):):它经常作为一个运算数,经暂存器它经常作为一个运算数,经暂存器2 2进入进入ALUALU的输入端,与另一个来自暂存器的输入端,与另一个来自暂存器1 1的运的运算数进行运算,运算结果又送回算数进行运算,运算结果又送回ACCACC。返回返回12/29/2022241运算器运算器指示指令执行后的状态信息,供程序查指示指令执行后的状态信息,供程序查询和判别用。询和判别用。(3)8位位程序状态寄存器程序状态寄存器(
10、PSW):返回返回12/29/2022251运算器运算器 在乘除运算时,用来存放一个操作数在乘除运算时,用来存放一个操作数,也用来也用来存放运算后的一部分结果存放运算后的一部分结果如不做乘除运算时,作为通用寄存器。如不做乘除运算时,作为通用寄存器。返回返回(4)8位寄存器位寄存器(B):12/29/2022261运算器运算器(5)布尔处理器)布尔处理器(C):专门用于处理位操作的,以专门用于处理位操作的,以PSWPSW中的中的C C为其累加器。为其累加器。返回返回12/29/2022271运算器运算器(6)2个个8位暂存器位暂存器(TMP1,TMP2):ALUALU的两个入口处。的两个入口处。
11、返回返回12/29/2022282控制器控制器(1)程序计数器)程序计数器PC(16位)位)(2)指令寄存器)指令寄存器IR及指令译码器及指令译码器ID(3)振荡器和定时电路)振荡器和定时电路返回返回12/29/202229(1)16位位程序计数器程序计数器(PC)v由两个由两个8 8位计数器位计数器PCHPCH、PCLPCL组成。组成。vPCPC是程序的字节地址计数器,是程序的字节地址计数器,PCPC内容为内容为将要执行将要执行的指令地址。的指令地址。v改变改变PCPC内容,改变执行的流向。(中断、内容,改变执行的流向。(中断、调用、复位等)调用、复位等)返回返回12/29/202230(2
12、)指令寄存器)指令寄存器IR及指令译码器及指令译码器IDv由由PCPC中的内容指定中的内容指定ROMROM地址,取出来的指地址,取出来的指令经令经IRIR送至送至IDIDv由由IDID对指令译码产生一定序列的控制信号,对指令译码产生一定序列的控制信号,以执行指令所规定的操作。以执行指令所规定的操作。返回返回12/29/202231(3)振荡器和定时电路)振荡器和定时电路v89C5189C51单片机片内有振荡电路,只需外单片机片内有振荡电路,只需外接石英晶体和频率微调电容(接石英晶体和频率微调电容(2 2个个30pF30pF左左右),其频率范围为右),其频率范围为1.2MHz1.2MHz12MH
13、z12MHz。v该信号作为该信号作为89C5189C51工作的基本节拍工作的基本节拍,即时即时间的最小单位。间的最小单位。返回返回12/29/202232(二)存储器(二)存储器1、程序存储器(、程序存储器(ROM)2、数据存储器(、数据存储器(RAM)返回返回12/29/2022331、程序存储器(、程序存储器(ROM)2地址从地址从0000H0000H开始。开始。2用于存放用于存放程序程序和和表格常数表格常数。返回返回12/29/2022342、数据存储器(、数据存储器(RAM)2地址为地址为00H00H7FH7FH。2用于存放运算的中间结果、数据暂存以及用于存放运算的中间结果、数据暂存以
14、及数据缓冲等。数据缓冲等。2这这128B128B的的RAMRAM中有中有3232个字节单元可指定为个字节单元可指定为工作寄存器工作寄存器。2片内还有片内还有2121个个特殊功能寄存器(特殊功能寄存器(SFRSFR),),它们同它们同128128字节字节RAMRAM统一编址,地址为统一编址,地址为80H80HFFHFFH。返回返回12/29/202235(三)(三)I/O接口接口289C5189C51有四个有四个8 8位并行位并行I/OI/O接口接口P0P0P3P3。2它们都是双向端口,每个端口各有它们都是双向端口,每个端口各有8 8条条I/OI/O线。线。2P0-P3P0-P3口四个锁存器同口
15、四个锁存器同RAMRAM统一编址,统一编址,可作为可作为SFRSFR来寻址。来寻址。返回返回12/29/2022362.2 MCS-51单片机引脚及其功能单片机引脚及其功能2.2.12.2.1 MCS-51 MCS-51单片机引脚单片机引脚2.2.2 MCS-512.2.2 MCS-51单片机引脚功能单片机引脚功能返回返回12/29/2022372.2.1 89C51单片机引脚单片机引脚v89C5189C51单片机引脚如单片机引脚如图图2-32-3所示。所示。返回返回12/29/2022382.2.2 89C51单片机引脚功能单片机引脚功能一、电源引脚:一、电源引脚:Vcc和和Vss二、时钟电
16、路引脚:二、时钟电路引脚:XTAL1和和XTAL2三、控制信号引脚三、控制信号引脚RST、ALE、PSEN和和EA四、四、I/O端口端口P0、P1、P2和和P3返回返回12/29/202239一、电源引脚:一、电源引脚:Vcc和和Vss1 1Vcc(40Vcc(40脚脚):电源端,为:电源端,为+5V+5V。2 2Vss(20Vss(20脚脚):接地端。:接地端。返回返回12/29/202240二、时钟电路引脚:二、时钟电路引脚:XTAL1和和XTAL2vXTAL2XTAL2(1818脚):接外部晶体和微调电容的一端脚):接外部晶体和微调电容的一端(P34)(P34)v在在89C51 89C5
17、1 片内它是振荡电路反向放大器的片内它是振荡电路反向放大器的输出端输出端,振荡电路的频率就是晶体固有频率。振荡电路的频率就是晶体固有频率。v若需采用外部时钟电路时,该引脚输入外部时钟脉若需采用外部时钟电路时,该引脚输入外部时钟脉冲。冲。v89C51/803189C51/8031正常工作时,该引脚应有脉冲信号输出。正常工作时,该引脚应有脉冲信号输出。返回返回12/29/202241vXTAL1XTAL1(1919脚):接外部晶体和微调电容的另脚):接外部晶体和微调电容的另一端一端v在片内它是振荡电路反向放大器的输入端在片内它是振荡电路反向放大器的输入端v在采用外部时钟时,该引脚接地。在采用外部时
18、钟时,该引脚接地。二、时钟电路引脚:二、时钟电路引脚:XTAL1和和XTAL2返回返回12/29/202242 三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EAvRST/VRST/VPDPD(9 9脚):脚):RSTRST:复位信号输入端,高电平有效。当此复位信号输入端,高电平有效。当此输入端保持输入端保持两个机器周期两个机器周期的高电平时,就的高电平时,就可以完成复位操作。可以完成复位操作。返回返回12/29/202243vRST/VRST/VPDPD(9 9脚):脚):V VPDPD :RSTRST引脚的第二功能,备用电源输入端。引脚的第二功能,备用电源输入端。当主电源
19、当主电源VccVcc 发生故障,降低到低电平规定发生故障,降低到低电平规定值时,将值时,将+5V+5V电源自动接入该引脚,为电源自动接入该引脚,为RAMRAM提提供备用电源,以保证供备用电源,以保证RAMRAM中的信息不丢失,中的信息不丢失,使得复位后能继续正常运行。使得复位后能继续正常运行。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回12/29/202244vALE/PROG(30脚):ALEALE:地址锁存允许信号端。地址锁存允许信号端。正常工作时,该引脚以振荡频率的正常工作时,该引脚以振荡频率的1/61/6固定输固定输出正脉冲。出正脉冲。CPUCPU访问片
20、外存储器时,该引脚输出信号作为访问片外存储器时,该引脚输出信号作为锁存低锁存低8 8位地址的控制信号。位地址的控制信号。它的负载能力为它的负载能力为8 8个个LSLS型型TTLTTL负载。负载。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回12/29/202245vALE/PROG(30脚):PROGPROG:是对片内带有是对片内带有4KB ROM4KB ROM编程写入时编程写入时的编程脉冲输入端。的编程脉冲输入端。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回12/29/202246vPSEN(29脚):程序存储器允许信号输出端。程
21、序存储器允许信号输出端。在访问片外在访问片外ROMROM时,定时输出时,定时输出负脉冲负脉冲作作为读片外为读片外ROMROM的选通信号,接片外的选通信号,接片外ROMROM 的的OEOE端。端。它的负载能力为它的负载能力为8 8个个LSLS型型TTLTTL负载。负载。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回12/29/202247EA/Vpp(31脚):EAEA:外部程序存储器地址允许输入端。外部程序存储器地址允许输入端。当该引脚接高电平时,当该引脚接高电平时,CPUCPU访问片内访问片内EPROM/ROMEPROM/ROM并并执行片内程序存储器中的指令,但
22、当执行片内程序存储器中的指令,但当PCPC值超过值超过0FFFH0FFFH(片内片内ROMROM为为4KB4KB)时,将自动转向执行片外时,将自动转向执行片外ROMROM中的程序。中的程序。当该引脚接低电平时,当该引脚接低电平时,CPUCPU只访问片外只访问片外EPROM/ROMEPROM/ROM并执行外部程序存储器中的程序。并执行外部程序存储器中的程序。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回12/29/202248vEA/Vpppp(31脚):脚):V Vpppp:对片内对片内EPROMEPROM固化编程时,编程电固化编程时,编程电压输入端(压输入端(1
23、2-21V12-21V)。)。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回12/29/202249四、四、I/OI/O端口端口P0P0、P1P1、P2P2和和P3P31 1、准双向、准双向2 2、P0P0口口3 3、P1P1口口4 4、P2P2口口5 5、P3P3口口返回返回12/29/2022501、准双向、准双向当当I/OI/O口作为口作为输入输入时,应先向此口锁存时,应先向此口锁存器器写入全写入全1 1,此时该口引脚浮空,可作高,此时该口引脚浮空,可作高阻抗输入。阻抗输入。返回返回12/29/2022512、P0口:口:漏极开路的漏极开路的8 8位准双向位
24、准双向I/OI/O口,每位能驱口,每位能驱动动8 8个个LSLS型型TTLTTL负载。负载。P0P0口可作为一个数据输入口可作为一个数据输入/输出口;输出口;在在CPUCPU访问片外存储器时,访问片外存储器时,P0P0口为分时口为分时复用的低复用的低8 8位地址总线和位地址总线和8 8位数据总线。位数据总线。返回返回12/29/2022523、P1口:口:带带内内部部上上拉拉电电阻阻的的8位位准准双双向向I/O端端口口,每位能驱动每位能驱动4个个LS型型TTL负载。负载。返回返回12/29/2022534、P2口:口:P2口口:带带内内部部上上拉拉电电阻阻的的8位位准准双双向向I/O端口,每位
25、能驱动端口,每位能驱动4个个LS型型TTL负载。负载。在在CPU访访问问片片外外存存储储器器时时,它它输输出出高高8位地址位地址。返回返回12/29/2022545、P3口:口:带内部上拉电阻的带内部上拉电阻的8 8位准双向位准双向I/OI/O端口,端口,每位能驱动每位能驱动4 4个个LSLS型型TTLTTL负载。负载。P3P3口除作为一般口除作为一般I/OI/O口外,每个引脚都口外,每个引脚都有第二功能。有第二功能。返回返回12/29/2022552.389C51存储器配置存储器配置2.3.12.3.1 89C5189C51存储器分类存储器分类2.3.22.3.2 程序存储器地址空间程序存储
26、器地址空间2.3.32.3.3 数据存储器地址空间数据存储器地址空间返回返回12/29/2022562.3.12.3.1 89C51 89C51存储器分类存储器分类一、物理结构(哈佛结构)一、物理结构(哈佛结构)二、用户角度二、用户角度返回返回12/29/202257一、物理结构(哈佛结构一、物理结构(哈佛结构)返回返回12/29/202258二、用户角度二、用户角度图图2-4 89C51存储器配置存储器配置12/29/202259二、用户角度二、用户角度1、片片内内、外外统统一一编编址址的的64K程程序序存存储储器器地地址空间。址空间。CPU访问片内、片外访问片内、片外ROM指令用指令用MO
27、VC。返回返回12/29/202260二、用户角度二、用户角度2、64K的片外数据存储器地址空间。的片外数据存储器地址空间。访问片外访问片外RAM指令用指令用MOVX。返回返回12/29/202261二、用户角度二、用户角度v3、256字字节节的的片片内内数数据据存存储储器器地地址址空空间间。访问片内访问片内RAM指令用指令用MOV。上上述述三三个个存存储储空空间间地地址址是是重重叠叠的的,89C51的的指指令令系系统统采采用用不不同同的的数数据据传传送送指令符号指令符号。返回返回12/29/2022622.3.2 2.3.2 程序存储器地址空间程序存储器地址空间一、用途:一、用途:二、编址:
28、二、编址:三、寻址方式:三、寻址方式:返回返回12/29/202263一、用途:一、用途:v用于存放编好的用于存放编好的程序程序和和表格常数表格常数。返回返回12/29/202264二、编址:二、编址:v容量为容量为4KB。地址为地址为0000H0FFFH。v片外最多可扩至片外最多可扩至64KB ROM/EPROM,地址为地址为1000HFFFFH。v片内外统一编址。片内外统一编址。返回返回12/29/202265三、寻址方式:三、寻址方式:1、当、当 EA=“1”时:时:在在000000000FFFH0FFFH范围内执行片内范围内执行片内ROMROM中的程序,中的程序,当指令地址超过当指令地
29、址超过0FFFH 0FFFH 后就自动转向片外后就自动转向片外ROMROM中取指令。中取指令。12/29/202266三、寻址方式:三、寻址方式:2、当、当 EA=”0”时:时:片内片内ROMROM不起作用,不起作用,CPUCPU只能从片只能从片ROM/EPROMROM/EPROM中取指令。可以从中取指令。可以从 0000H0000H 开始寻址。开始寻址。12/29/202267三、寻址方式:三、寻址方式:3、片内片内ROM和片外和片外ROM取指的执行速度取指的执行速度相同。相同。12/29/202268三、寻址方式:三、寻址方式:4、程序存储器的保留存储单元。、程序存储器的保留存储单元。如如
30、P26P26表表2-22-2所示。所示。12/29/202269三、寻址方式:三、寻址方式:(1 1)0000H0000H0002H0002H三个单元:三个单元:用作上电复位后用作上电复位后引导程序的存放单元引导程序的存放单元。因为复位后因为复位后PCPC的内容为的内容为0000H0000H,CPUCPU总是从总是从0000H0000H开始执行程序。将转移指令存放到这三开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序存储器个单元,程序就被引导到指定的程序存储器空间去执行。空间去执行。12/29/202270三、寻址方式:三、寻址方式:(2 2)0003H0003H002AH0
31、02AH单元:单元:均分为五段,用作五个均分为五段,用作五个中断服务程序中断服务程序的入的入口。中断矢量地址表如表口。中断矢量地址表如表2-32-3所示。所示。返回返回12/29/2022712.3.3 数据存储器地址空间数据存储器地址空间一、用途:一、用途:二、片外二、片外RAM:三、片内三、片内RAM:返回返回12/29/202272一、用途:一、用途:v用于存放运算的中间结果、数据暂存和缓冲、用于存放运算的中间结果、数据暂存和缓冲、标志位等。标志位等。12/29/202273二、片外二、片外RAM:v地址:地址:0000HFFFFH v寻址:用寻址:用MOVX指令指令12/29/2022
32、74三、片内三、片内RAM:v片内数据存储器最大可寻址256个单元v它们又分为两部分:v低128字节(00H7FH)是真正的RAM区v高128字节(80HFFH)为特殊功能寄存器(SFR)区。如图27所示。v高128字节和低128字节RAM中的配置及含义如图28和图29所示。12/29/202275图图28 低低128字节字节RAM区区12/29/202276图图29 高高128字节字节RAM区区(SFR区,特殊功能寄存器区区,特殊功能寄存器区)12/29/2022771)低低128字节字节RAMv32个工作寄存器与个工作寄存器与RAM安排在同一个队列空间里,统一编址安排在同一个队列空间里,统
33、一编址并使用同样的寻址方式并使用同样的寻址方式(直接寻址和间接寻址直接寻址和间接寻址)。v00H1FH地址安排为地址安排为4组工作寄存器区,每组有组工作寄存器区,每组有8个工作寄存个工作寄存器器(R0R7),共占共占32个单元,见表个单元,见表2-4。通过对程序状态字。通过对程序状态字PSW中中RS1、RS0的设置,每组寄存器均可选作的设置,每组寄存器均可选作CPU的当前的当前工作寄存器组。若程序中并不需要工作寄存器组。若程序中并不需要4组,那么其余可用作一般组,那么其余可用作一般RAM单元。单元。vCPU复位后,选中第复位后,选中第0组寄存器为当前的工作寄存器。组寄存器为当前的工作寄存器。v
34、工作寄存器区后的工作寄存器区后的16字节单元字节单元(20H2FH),可用位寻址方式可用位寻址方式访问其各位。利用位操作指令可直接对这访问其各位。利用位操作指令可直接对这128位寻址。这位寻址。这128位的位地址为位的位地址为00H7FH。12/29/2022782)高高128字节字节RAM特殊功能寄存器特殊功能寄存器(SFR)v89C51片内高128字节RAM中,有21个特殊功能寄存器(SFR),它们离散地分布在80HFFH的RAM空间中。访问特殊功能寄存器只允许使用直接寻址方式。v这些特殊功能寄存器见图29。各SFR的名称及含义如表25所列。12/29/202279(1)累加器ACC(E0
35、H)v累加器ACC是89C51最常用、最忙碌的8位特殊功能寄存器,许多指令的操作数取自于ACC,许多运算中间结果也存放于ACC。v在指令系统中用A作为累加器ACC的助记符。12/29/202280(2)寄存器寄存器B(F0H)v在乘、除指令中,用到了在乘、除指令中,用到了8位寄存器位寄存器B。乘法指令的两个操作乘法指令的两个操作数分别取自数分别取自A和和B,乘积存于乘积存于B和和A两个两个8位寄存器中。位寄存器中。v除法指令中,除法指令中,A中存放被除数,中存放被除数,B中放除数,商存放于中放除数,商存放于A,B中存放余数。中存放余数。v在其他指令中,在其他指令中,B可作为一般通用寄存器或一个
36、可作为一般通用寄存器或一个RAM单元使单元使用。用。12/29/202281(3)程序状态寄存器程序状态寄存器PSW(D0H)vPSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。各位的含义及其格式如表26所列。vPSW除有确定的字节地址(D0H)外,每一位均有位地址,见表26。12/29/202282vCY(PSW.7):进位标志位。进位标志位。在执行加法(或减法)运算指令时,如果运算结果最高位(位7)向前有进位(或借位),则CY位由硬件自动置1;如果运算结果最高位无进位(或借位),则CY清0。CY也是89C51在进行位操作(布尔操作)时的位累加器,在指
37、令中用C代替CY。vAC(PSW.6):辅助进位标志辅助进位标志。当执行加法(或减法)操作时,如果运算结果(和或差)的低半字节(位3)向高半字节有半进位(或借位),则AC位将被硬件自动置1;否则AC被自动清0。vF0(PSW.5):用户标志位。用户标志位。用户可以根据自己的需要对F0位赋予一定的含义,由用户置位或复位,以作为软件标志。12/29/202283vRS0和和RS1(PSW.3和和PSW.4):工作寄存器组选择控制工作寄存器组选择控制位。位。这两位的值可决定选择哪一组工作寄存器为当前工作寄存器组。通过用户用软件改变RS1和RS0值的组合,以切换当前选用的工作寄存器组。其组合关系如表2
38、7所列。v89C51上电复位后,上电复位后,RS1=RS0=0,CPU自动选择第自动选择第0组组为当前工作寄存器组。为当前工作寄存器组。v根据需要,可利用传送指令对根据需要,可利用传送指令对PSW整字节操作或用位操整字节操作或用位操作指令改变作指令改变RS1和和RS0的状态,以切换当前工作寄存器组。的状态,以切换当前工作寄存器组。这样的设置为程序中保护现场提供了方便。这样的设置为程序中保护现场提供了方便。12/29/202284vOV(PSW.2):溢出标志位。溢出标志位。当进行补码运算时,如有溢出,即当运算结果超出128127的范围时,OV位由硬件自动置1;无溢出时,OV=0。vPSW.1:
39、为保留位。为保留位。89C51未用,89C52为F1用户标志位。vP(PSW.0):奇偶校验标志位。奇偶校验标志位。每条指令执行完后,该位始终跟踪指示累加器A中1的个数。如结果A中有奇数个1,则置P=1;否则P=0。常用于校验串行通信中的数据传送是否出错。12/29/202285(4)栈指针栈指针SP(81H)v堆栈指针SP为8位特殊功能寄存器,SP的内容可指向89C51片内00H7FH RAM的任何单元。v系统复位后,SP初始化为07H,即指向07H的RAM单元。12/29/202286v89C51在片内RAM中专门开辟出来一个区域,数据的存取是以“后进先出后进先出”的结构方式处理的。这种数
40、据结构方式对于处理中断,调用子程序都非常方便。v堆栈的操作有两种:一种叫数据压入数据压入(PUSH),另一种叫数据弹出数据弹出(POP)。v89C51的堆栈指针SP是一个双向计数器。进栈时,SP内容自动增值,出栈时自动减值。存取信息必须按“后进先出”或“先进后出”的规则进行。12/29/202287v在图在图210中,假若中,假若有有8个个RAM单元,每单元,每个单元都在其右面编个单元都在其右面编有地址,栈顶由有地址,栈顶由堆栈堆栈指针指针SP自动管理。自动管理。v每次进行压入或弹出每次进行压入或弹出操作以后,堆栈指针操作以后,堆栈指针便自动调整以保持指便自动调整以保持指示堆栈顶部的位置。示堆
41、栈顶部的位置。图210 堆栈的压入与弹出12/29/202288(5)数据指针数据指针DPTR(83H,82H)vDPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示(地址82H)。vDPTR既可以作为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和DPL使用。vDPTR主要用于存放16位地址,以便对64 KB片外RAM作间接寻址。12/29/202289(6)/端口端口P0P3(80H,90H,A0H,B0H)vP0P3为为4个个8位特殊功能寄存器,分别是位特殊功能寄存器,分别是4个并行个并行/端口的锁存器。端口的锁存器。
42、v它们都有字节地址,每一个口锁存器还有位地址,它们都有字节地址,每一个口锁存器还有位地址,每一条每一条/线均可独立用作输入或输出。线均可独立用作输入或输出。v用作输出时,可以锁存数据;用作输入时,数据可用作输出时,可以锁存数据;用作输入时,数据可以缓冲。以缓冲。12/29/202290图图2-11 特殊功能寄存器特殊功能寄存器SFR的位置的位置12/29/2022912.4CPU时序时序2.4.1片内振荡器及时钟信号的产生片内振荡器及时钟信号的产生返回返回2.4.2机器周期和指令周期机器周期和指令周期2.4.3CPU取指、执行周期时序取指、执行周期时序12/29/2022922.4.1 片内时
43、钟信号的产生片内时钟信号的产生v89C51芯片内部有一个高增益反相放大器,用于构成振芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为荡器。反相放大器的输入端为XTAL1,输出端为输出端为XTAL2。两端跨接石英晶体及两个电容就可以构成稳定的自激振两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器和通常取荡器。电容器和通常取30 pF左右,可稳定频率左右,可稳定频率并对振荡频率有微调作用。并对振荡频率有微调作用。v振荡脉冲频率范围为振荡脉冲频率范围为fOSC=024 MHz。v振荡信号从振荡信号从XTAL2端输入到片内的时钟发生器上端输入到片内的时钟发生器上返回返回
44、12/29/202293图图2-12 89C51的片内振荡器及时钟发生器的片内振荡器及时钟发生器12/29/2022941.节拍与状态周期v时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率fOSC除以2,向CPU提供两相时钟信号P1和P2。v时钟信号的周期称为机器状态周期状态周期S(STATE),是振荡周期振荡周期的2倍。在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。v每个时钟周期时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥89C51单片机各个部件协调地工作。1
45、2/29/2022954一个机器周期是指一个机器周期是指CPU访问存储器一次所需访问存储器一次所需的时间。的时间。例如,取指令、读存储器、写存储例如,取指令、读存储器、写存储器等等。器等等。4一个机器周期包括一个机器周期包括6个状态周期(个状态周期(S1S6),),即即12个振荡周期。个振荡周期。4每个状态又分为两拍,称为每个状态又分为两拍,称为P1和和P2。4因此,一个机器周期中的因此,一个机器周期中的12个振荡周期表示个振荡周期表示为为S1P1,S1P2,S2P1,S6P1,S6P2。4若采用6MHz晶体振荡器,则每个机器周期为2s(微秒)机机器器周周期期12/29/2022964指令周期
46、:执行一条指令所需的时间。指令周期:执行一条指令所需的时间。4每条指令由一个或若干个字节组成。每条指令由一个或若干个字节组成。有单字节指令,双字节指令,多字节指令等。字节数少则占存储器空间少。4每条指令的指令周期都由一个或几个每条指令的指令周期都由一个或几个机器周期机器周期组成。组成。有单周期指令、双周期指令、和四周期指令。机器周期数少则执行速度快。指指令令周周期期12/29/2022973.基本时序定时单位综上所述,综上所述,51单片机的基本时序定时单位有如下单片机的基本时序定时单位有如下4个:个:v振荡周期:振荡周期:晶振的振荡周期,为最小的时序单位。晶振的振荡周期,为最小的时序单位。v状
47、态周期:状态周期:振荡频率经单片机内的二分频器分频后提供给振荡频率经单片机内的二分频器分频后提供给片内片内CPU的时钟周期。因此,一个状态周期包含的时钟周期。因此,一个状态周期包含2个振荡个振荡周期。周期。v机器周期:机器周期:1个机器周期由个机器周期由6个状态周期,即个状态周期,即12个振荡周个振荡周期组成,是计算机执行一种基本操作的时间单位。期组成,是计算机执行一种基本操作的时间单位。v指令周期:指令周期:执行一条指令所需的时间。一个指令周期由执行一条指令所需的时间。一个指令周期由14个机器周期组成,依据指令不同而不同。个机器周期组成,依据指令不同而不同。12/29/202298v4个时序
48、单位从小到大依次是节拍、状态周期、机器周期和指令周期,如图2-13所示。图图2-13 89C51单片机各种周期的相互关系单片机各种周期的相互关系12/29/2022992.4.2 CPU取指、执行周期时序取指、执行周期时序v每条指令的执行都可以包括每条指令的执行都可以包括取指取指和和执指执指两个阶两个阶段。段。v在取指阶段,在取指阶段,CPUCPU从内部或外部从内部或外部ROMROM中取出指令中取出指令操作码及操作数,然后再执行这条指令。操作码及操作数,然后再执行这条指令。v单字节和双字节的指令都可能是单机器周期或单字节和双字节的指令都可能是单机器周期或双周期。双周期。v而三字节指令都是双周期
49、的,只有乘、除指令而三字节指令都是双周期的,只有乘、除指令占四周期。因此,执行一条指令的时间(指令占四周期。因此,执行一条指令的时间(指令周期)分别是周期)分别是2s2s,4s4s和和8s8s。返回返回12/29/2022100图图214 89C51单片机的取指单片机的取指/执行时序执行时序12/29/2022101v单周期指令vS1P2和S2P1,S4P2和S5P1期间,ALE(地址锁存允许信号)两次有效v执行单字节指令,第二次读入无效vS6P2结束时,完成操作。12/29/2022102v单字节双周期指令,有4次读操作码操作,后3次舍弃。v访问片外RAM指令,S5开始送出片外RAM地址,进
50、行读写数据,期间ALE端不输出有效信号,不产生取指操作。12/29/20221032.5复位操作复位操作返回返回2.5.1 复位操作的主要功能v主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。v复位操作还对其他一些寄存器有影响,它们的复位状态如P38表28所列。12/29/2022104表表28 各特殊功能寄存器的复位值各特殊功能寄存器的复位值返回返回12/29/2022105A=00H:表明累加器已被清表明累加器已被清0。PSW=00H:表明选寄存器表明选寄存器0组为工作寄存器组。组为工作寄存器组。SP=07H:表明堆栈指针指向片内表明堆栈指针指向片内RAM 07H