1、2022-11-26单片机部分参考网址单片机部分参考网址 http:/ 周立功单片机周立功单片机 http:/ 单片机学习网单片机学习网 http:/ 龙人电子龙人电子 http:/ 51单片机单片机 http:/ 01单片机网站单片机网站 http:/21IC中国电子网中国电子网 http:/AVR学习网学习网2022-11-2612022-11-26目 录&第一章第一章 微机基础知识微机基础知识&第二章第二章 89C5189C51单片机的结构和原理单片机的结构和原理&第三章第三章 89C5189C51指令系统指令系统&第四章第四章 汇编语言程序设计知识汇编语言程序设计知识&第五章第五章 中
2、断系统中断系统&第六章第六章 定时器及应用定时器及应用&第七章第七章 89C5189C51串行口及通信技术串行口及通信技术&第八章第八章 单片机小系统片外扩展单片机小系统片外扩展&第九章第九章 应用系统配置及接口技术应用系统配置及接口技术&附录附录A 89C51A 89C51指令系统表指令系统表&参考资料参考资料Exit2022-11-2622022-11-2642.1MCS-51单片机的结构单片机的结构42.2MCS-51单片机引脚及其功能单片机引脚及其功能42.389C51存储器配置存储器配置42.4CPU时序时序42.5复位及复位电路复位及复位电路42.689C51单片机的低功耗工作方式
3、单片机的低功耗工作方式返回返回第二章第二章 MCS-51单片机的结构和原理单片机的结构和原理42.7输出输出/输入端口结构输入端口结构4 2.8 思考题与习题思考题与习题2022-11-2632022-11-262.12.1MCS-51MCS-51单片机的结构单片机的结构:2.1.1 MCS-512.1.1 MCS-51单片机的基本组成单片机的基本组成:2.1.2 MCS-512.1.2 MCS-51单片机内部结构单片机内部结构返回返回2022-11-2642022-11-262.1.1 MCS-512.1.1 MCS-51单片机的基本组成单片机的基本组成一、组成一、组成二、二、MCS-51系
4、列单片机的性能系列单片机的性能返回返回2022-11-2652022-11-26一、组成一、组成 89C51单片机结构框图单片机结构框图 如图如图2-1所示所示返回返回2022-11-26689C51CPU振荡器和时序振荡器和时序OSC64KB 总线总线扩展控制器扩展控制器数据存储器数据存储器256B RAM/SFR216位位定时器定时器/计数器计数器可编程可编程I/O程序存储器程序存储器4KBROM可编程全双工可编程全双工串行口串行口外中断外中断内中断内中断控制控制并行口并行口串行通信串行通信外部时钟源外部时钟源外部事件计数外部事件计数返回返回2022-11-2672022-11-26一、组
5、成一、组成+一个一个8位位 的微处理器的微处理器CPU。返回返回2022-11-2682022-11-26一、组成一、组成 用以存放可以读用以存放可以读/写的数据,如运算的中间结写的数据,如运算的中间结果、最终结果以及欲显示的数据等。果、最终结果以及欲显示的数据等。+片内数据存储器片内数据存储器(RAM128B/256B):返回返回2022-11-2692022-11-26一、组成一、组成 用以存放程序、一些原始数据和表格。但有用以存放程序、一些原始数据和表格。但有一些单片机内部不带一些单片机内部不带ROM/EPROM,如,如8031、8032、80C31等。等。+片内程序存储器片内程序存储器
6、Flash ROM (4KB/8KB):返回返回2022-11-26102022-11-26一、组成一、组成每个口可以用作输入,也可以用作输出。每个口可以用作输入,也可以用作输出。+四个四个8位并行位并行I/O(输入输入/输出)接口输出)接口P0P3:返回返回2022-11-26112022-11-26一、组成一、组成 每个定时每个定时/计数器都可以设置成计数方式,计数器都可以设置成计数方式,用以用以 对对 外部事件进行计数,也可以设置成定时外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果方式,并可以根据计数或定时的结果 实现计算实现计算机控制。机控制。+两个或三个定时两个或
7、三个定时/计数器计数器:返回返回2022-11-26122022-11-26一、组成一、组成 可实现单片机与单片机或其它微机之间串可实现单片机与单片机或其它微机之间串行通信。行通信。+一个全双工一个全双工UART的串行的串行I/O口口:返回返回2022-11-26132022-11-26一、组成一、组成 但需外接晶振和电容。但需外接晶振和电容。+片内振荡器和时钟产生电路片内振荡器和时钟产生电路:返回返回2022-11-26142022-11-26一、组成一、组成+五个中断源的中断控制系统。五个中断源的中断控制系统。返回返回2022-11-26152022-11-26二、二、MCS-51系列单片
8、机的性能系列单片机的性能 如如表表2-1所示。表中型号带所示。表中型号带“C”表表示所用的是示所用的是CMOS工艺,具有功耗工艺,具有功耗低的优点。低的优点。返回返回2022-11-2616返回返回2022-11-26172022-11-262.1.2 MCS-51单片机内部结构单片机内部结构一、结构图一、结构图二、结构组成二、结构组成返回返回2022-11-26182022-11-26一、结构图一、结构图 由由 中央处理单元(中央处理单元(CPU)、)、存储器存储器(ROM及及RAM)和和I/O接口接口组成。组成。MCS-51单片机内部结构如单片机内部结构如 图图2-2所示所示。返回返回20
9、22-11-2619P0驱动器驱动器P2驱动器驱动器P0锁存器锁存器P2锁存器锁存器RAM地地址寄存器址寄存器128BRAM4KBFlash ROMB寄存器寄存器暂存器暂存器1暂存器暂存器2ACCSP程序地址程序地址寄存器寄存器 缓冲器缓冲器PC增增1PCDPTR中断、串行口和定时器中断、串行口和定时器PSWP1锁存器锁存器P1驱动器驱动器P3锁存器锁存器P3驱动器驱动器定定时时控控制制指指令令寄寄存存器器指指令令译译码码器器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1 XTAL2PSENALEEARET返回返回2022-11-26202022
10、-11-26二、结构组成二、结构组成(一)、中央处理单元(一)、中央处理单元(CPU)(二)、存储器(二)、存储器(三)、(三)、I/O接口接口返回返回2022-11-26212022-11-26(一)、中央处理单元(一)、中央处理单元(CPU)1运算器运算器返回返回2控制器控制器2022-11-26222022-11-261运算器运算器(1)8位的位的ALU:返回返回(2)8位累加器位累加器ACC(A):):(3)8位程序状态寄存器位程序状态寄存器PSW:(4)8位寄存器位寄存器B:(5)布尔处理器:布尔处理器:(6)2个个8位暂存器:位暂存器:2022-11-26232022-11-261
11、运算器运算器可对可对4 4位、位、8 8位、位、1616位数据进行操作。位数据进行操作。返回返回(1 1)8 8位的位的ALUALU:2022-11-26242022-11-261运算器运算器(2)8位累加器位累加器ACC(A):):它经常作为一个运算数经暂存器它经常作为一个运算数经暂存器2 2进入进入ALUALU的输入端,与另一个来自暂存器的输入端,与另一个来自暂存器1 1的运算数进行运算,运算结果又送回的运算数进行运算,运算结果又送回ACCACC。返回返回2022-11-26252022-11-261运算器运算器指示指令执行后的状态信息供程序查询指示指令执行后的状态信息供程序查询和判别用。
12、和判别用。(3)8位程序状态寄存器位程序状态寄存器PSW:返回返回2022-11-26262022-11-261运算器运算器(4)8位寄存器位寄存器B:在乘除运算时,用来存放一个操作数也在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;如不用来存放运算后的一部分结果;如不能做乘除运算时,作为通用寄存器。能做乘除运算时,作为通用寄存器。返回返回2022-11-26272022-11-261运算器运算器(5)布尔处理器:)布尔处理器:专门用于处理位操作的,以专门用于处理位操作的,以PSWPSW中的中的C C为为其累加器。其累加器。返回返回2022-11-26282022-11-261运
13、算器运算器(6)2个个8位暂存器:位暂存器:ALUALU的两个入口处。的两个入口处。返回返回2022-11-26292022-11-262控制器控制器(1)程序计数器)程序计数器PC(16位)位)(2)指令寄存器)指令寄存器IR及指令译码器及指令译码器ID(3)振荡器和定时电路)振荡器和定时电路返回返回2022-11-26302022-11-26(1)程序计数器)程序计数器PC(16位)位)由两个由两个8 8位计数器位计数器PCHPCH、PCLPCL组成。组成。PCPC是程序的字节地址计数器,是程序的字节地址计数器,PCPC内内容为将要执行的指令地址。容为将要执行的指令地址。改变改变PCPC内
14、容,改变执行的流向。内容,改变执行的流向。PCPC可对可对64KB64KB的的ROMROM直接寻址,也可对直接寻址,也可对89C5189C51片内片内RAMRAM寻址寻址。返回返回2022-11-26312022-11-26(2)指令寄存器)指令寄存器IR及指令译码器及指令译码器ID 由由PCPC中的内容指定中的内容指定ROMROM地址,取出来地址,取出来的指令经的指令经IRIR送至送至IDID,由,由IDID对指令译对指令译码产生一定序列的控制信号,以执码产生一定序列的控制信号,以执行指令所规定的操作。行指令所规定的操作。返回返回2022-11-26322022-11-26(3)振荡器和定时
15、电路)振荡器和定时电路 89C5189C51单片机片内有振荡电路,只需单片机片内有振荡电路,只需外接石英晶体和频率微调电容(外接石英晶体和频率微调电容(2 2个个30pF30pF左右),其频率范围为左右),其频率范围为1.2MHz1.2MHz12MHz12MHz。该信号作为该信号作为89C5189C51工工作的基本节拍即时间的最小单位。作的基本节拍即时间的最小单位。返回返回2022-11-26332022-11-26(二)、存储器(二)、存储器1、程序存储器(、程序存储器(ROM)2、数据存储器(、数据存储器(RAM)返回返回2022-11-26342022-11-261、程序存储器(、程序存
16、储器(ROM)2地址从地址从0000H0000H开始。开始。2用于存放程序和表格常数。用于存放程序和表格常数。返回返回2022-11-26352022-11-262、数据存储器(、数据存储器(RAM)2地址为地址为00H00H7FH7FH。2用于存放运算的中间结果、数据暂存以用于存放运算的中间结果、数据暂存以及数据缓冲等。及数据缓冲等。2这这128B128B的的RAMRAM中有中有3232个字节单元可指定为个字节单元可指定为工作寄存器。工作寄存器。2片内还有片内还有2121个特殊功能寄存器(个特殊功能寄存器(SFRSFR),),它们同它们同128128字节字节RAMRAM统一编址,地址为统一编
17、址,地址为80H80HFFHFFH。后面详细介绍。后面详细介绍。返回返回2022-11-26362022-11-26(三)、(三)、I/O接口接口289C5189C51有四个有四个8 8位并行位并行I/OI/O接口接口P0P0P3P3。2它们都是双向端口,每个端口各有它们都是双向端口,每个端口各有8 8条条I/OI/O线。线。2P0-P3P0-P3口四个锁存器同口四个锁存器同RAMRAM统一编址,统一编址,可作为可作为SFRSFR来寻址。来寻址。返回返回2022-11-26372022-11-262.2 MCS-51单片机引脚及其功能单片机引脚及其功能2.2.1MCS-51单片机引脚单片机引脚
18、2.2.2 MCS-51单片机引脚功能单片机引脚功能返回返回2022-11-26382022-11-262.2.1 89C51单片机引脚单片机引脚 89C5189C51单片机引脚如单片机引脚如图图2-32-3所示。所示。返回返回2022-11-2639返回返回2022-11-26402022-11-262.2.2 89C51单片机引脚功能单片机引脚功能 一、电源引脚:一、电源引脚:Vcc和和Vss 二、时钟电路引脚:二、时钟电路引脚:XTAL1和和XTAL2 三、控制信号引脚三、控制信号引脚RST、ALE、PSEN和和EA 四、四、I/O端口端口P0、P1、P2和和P3返回返回2022-11-
19、26412022-11-26一、电源引脚:一、电源引脚:Vcc和和Vss 1Vcc(40脚):电源端,为+5V。2Vss(20脚):接地端。返回返回图图2-32-32022-11-26422022-11-26二、时钟电路引脚:二、时钟电路引脚:XTAL1和和XTAL2 XTAL2XTAL2(1818脚):接外部晶体和微调电容的一脚):接外部晶体和微调电容的一端;在端;在89C51 89C51 片内它是振荡电路反向放大器的片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时若需采用外部时钟电路时,该引
20、脚输入外部时钟脉冲。钟脉冲。89C51/803189C51/8031正常工作时,该引脚应有正常工作时,该引脚应有脉冲信号输出。脉冲信号输出。返回返回2022-11-26432022-11-26 XTAL1XTAL1(1919脚):接外部晶体和微调脚):接外部晶体和微调电容的另一端;在片内它是振荡电电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外路反向放大器的输入端,在采用外部时钟时,该引脚接地。部时钟时,该引脚接地。二、时钟电路引脚:二、时钟电路引脚:XTAL1和和XTAL2返回返回2022-11-26442022-11-26 三、控制信号引脚:三、控制信号引脚:RST、ALE、P
21、SEN和和EA RST/VRST/VPDPD(9 9脚):脚):RSTRST:复位信号输入端,高电平有效。复位信号输入端,高电平有效。当此输入端保持两个机器周期的高电当此输入端保持两个机器周期的高电平时,就可以完成复位操作。平时,就可以完成复位操作。返回返回2022-11-26452022-11-26 RST/VRST/VPDPD(9 9脚):脚):V VPDPD :RSTRST引脚的第二功能,备用电源引脚的第二功能,备用电源输入端。当主电源输入端。当主电源VccVcc 发生故障,降发生故障,降低到低电平规定值时,将低到低电平规定值时,将+5V+5V电源自动电源自动接入该引脚,为接入该引脚,为
22、RAMRAM提供备用电源,以提供备用电源,以保证保证RAMRAM中的信息不丢失,使得复位后中的信息不丢失,使得复位后能继续正常运行。能继续正常运行。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回2022-11-26462022-11-26 ALE/PROG(30脚):ALEALE:地址锁存允许信号端。正常工地址锁存允许信号端。正常工作时,该引脚以振荡频率的作时,该引脚以振荡频率的1/61/6固定输固定输出正脉冲。出正脉冲。CPUCPU访问片外存储器时,该访问片外存储器时,该引脚输出信号作为锁存低引脚输出信号作为锁存低8 8位地址的控位地址的控制信号。它的负载能力为
23、制信号。它的负载能力为8 8个个LSLS型型TTLTTL负载。负载。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回2022-11-26472022-11-26 ALE/PROG(30脚):PROGPROG:是对片内带有是对片内带有4KB EPROM4KB EPROM的的87518751编程写入时的编程脉冲输入端。编程写入时的编程脉冲输入端。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回2022-11-26482022-11-26 PSEN(29脚):程序存储器允许信号输出端。程序存储器允许信号输出端。在访问片外在访问片外ROMROM时
24、,定时输出负脉冲时,定时输出负脉冲作为读片外作为读片外ROMROM的选通信号,接片外的选通信号,接片外ROMROM 的的OEOE端。端。它的负载能力为它的负载能力为8 8个个LSLS型型TTLTTL负载。负载。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回2022-11-26492022-11-26 EA/Vpp(31脚):EAEA:外部程序存储器地址允许输入端。外部程序存储器地址允许输入端。当该引脚接高电平时,当该引脚接高电平时,CPUCPU访问片内访问片内EPROM/ROMEPROM/ROM并执行片内程序存储器中的指并执行片内程序存储器中的指令,但当令,但当P
25、CPC值超过值超过0FFFH0FFFH(片内片内ROMROM为为4KB4KB)时,将自动转向执行片外时,将自动转向执行片外ROMROM中的程序。中的程序。当该引脚接低电平时,当该引脚接低电平时,CPUCPU只访问片外只访问片外EPROM/ROMEPROM/ROM并执行外部程序存储器中的程并执行外部程序存储器中的程序。序。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回2022-11-26502022-11-26 EA/Vpppp(31脚):脚):V Vpppp:对:对87518751片内片内EPROMEPROM固化编程时,固化编程时,编程电压输入端(编程电压输入端(
26、12-21V12-21V)。)。三、控制信号引脚:三、控制信号引脚:RST、ALE、PSEN和和EA返回返回2022-11-26512022-11-26四、四、I/OI/O端口端口P0P0、P1P1、P2P2和和P3P3 1 1、准双向、准双向 2 2、P0P0口口 3 3、P1P1口口 4 4、P2P2口口 5 5、P3P3口口返回返回2022-11-26522022-11-261、准双向、准双向当当I/OI/O口作为输入时,应先向此口锁口作为输入时,应先向此口锁存器写入全存器写入全1 1,此时该口引脚浮空,此时该口引脚浮空,可作高阻抗输入。可作高阻抗输入。返回返回2022-11-26532
27、022-11-262、P0口:口:漏极开路的漏极开路的8 8位准双向位准双向I/OI/O口,每位口,每位能驱动能驱动8 8个个LSLS型型TTLTTL负载。负载。P0P0口可作为一个数据输入口可作为一个数据输入/输出口;输出口;在在CPUCPU访问片外存储器时,访问片外存储器时,P0P0口为分口为分时复用的低时复用的低8 8位地址总线和位地址总线和8 8位数据位数据总线。总线。返回返回2022-11-26542022-11-263、P1口:口:带内部上拉电阻的带内部上拉电阻的8位准双向位准双向I/O端端口,每位能驱动口,每位能驱动4个个LS型型TTL负载。负载。返回返回2022-11-2655
28、2022-11-264、P2口:口:P2口:带内部上拉电阻的口:带内部上拉电阻的8位准双位准双向向I/O端口,每位能驱动端口,每位能驱动4个个LS型型TTL负载。在负载。在CPU访问片外存储器访问片外存储器时,它输出高时,它输出高8位地址位地址。返回返回2022-11-26562022-11-265、P3口:口:带内部上拉电阻的带内部上拉电阻的8 8位准双向位准双向I/OI/O端端口,每位能驱动口,每位能驱动4 4个个LSLS型型TTLTTL负载。负载。P3P3口除作为一般口除作为一般I/OI/O口外,每个引脚口外,每个引脚都有第二功能。都有第二功能。返回返回2022-11-26572022-
29、11-262.3 89C51存储器配置存储器配置:2.3.12.3.189C5189C51存储器分类存储器分类:2.3.22.3.2程序存储器地址空间程序存储器地址空间:2.3.32.3.3数据存储器地址空间数据存储器地址空间返回返回2022-11-26582022-11-262.3.12.3.1 89C51 89C51存储器分存储器分类类一、物理结构(哈佛结构)一、物理结构(哈佛结构)二、用户角度二、用户角度返回返回2022-11-26592022-11-26一、物理结构(哈佛结构一、物理结构(哈佛结构)89C51存储器存储器程序存储器程序存储器ROM数据存储器数据存储器ROM片内程序存储器
30、片内程序存储器片外程序存储器片外程序存储器片内数据存储器片内数据存储器片外数据存储器片外数据存储器返回返回2022-11-26602022-11-26二、用户角度二、用户角度图图2-4 89C51存储器配置存储器配置2022-11-26612022-11-26二、用户角度二、用户角度 1、片内、外统一编址的、片内、外统一编址的64K程序存储器程序存储器地址空间。地址空间。CPU访问片内、片外访问片内、片外ROM指指令用令用MOVC。返回返回2022-11-26622022-11-26二、用户角度二、用户角度 2、64K的片外数据存储器地址空间。访的片外数据存储器地址空间。访问片外问片外RAM指
31、令用指令用MOVX。返回返回2022-11-26632022-11-26二、用户角度二、用户角度 3、256字节的片内数据存储器地址空间。字节的片内数据存储器地址空间。访问片内访问片内RAM指令用指令用MOV。上述三个存储空间地址是重叠的,上述三个存储空间地址是重叠的,89C51的指令系统采用不同的数据传送指的指令系统采用不同的数据传送指令符号。令符号。返回返回2022-11-26642022-11-262.3.2 2.3.2 程序存储器地址空间程序存储器地址空间 一、用途:一、用途:二、编址:二、编址:三、寻址方式:三、寻址方式:返回返回2022-11-26652022-11-26一、用途:
32、一、用途:用于存放编好的程序和表格常数。用于存放编好的程序和表格常数。返回返回2022-11-26662022-11-26二、编址:二、编址:容量为容量为4KB。地址为地址为0000H0FFFH。片外最多可扩至片外最多可扩至64KB ROM/EPROM,地址为地址为1000HFFFFH。片内外统一编址。片内外统一编址。返回返回2022-11-26672022-11-26三、寻址方式:三、寻址方式:1、当、当 EA=“1”时:时:在在000000000FFFH0FFFH范围内执行片内范围内执行片内ROMROM中中的程序,当指令地址超过的程序,当指令地址超过0FFFH 0FFFH 后就后就自动转向
33、片外自动转向片外ROMROM中取指令。中取指令。2022-11-26682022-11-26三、寻址方式:三、寻址方式:2、当、当 EA=”0”时:时:片内片内ROMROM不起作用,不起作用,CPUCPU只能从片只能从片ROM/EPROMROM/EPROM中取指令。可以从中取指令。可以从 0000H0000H 开始寻址。开始寻址。2022-11-26692022-11-26三、寻址方式:三、寻址方式:3、片内片内ROM和片外和片外ROM取指的速取指的速度相同。度相同。2022-11-26702022-11-26三、寻址方式:三、寻址方式:4、程序存储器的保留存储单元。、程序存储器的保留存储单元
34、。如表如表2-22-2所示。所示。2022-11-26712022-11-26三、寻址方式:三、寻址方式:(1 1)0000H0000H0002H0002H三个单元:三个单元:用作上电复位后引导程序的存放单元。因用作上电复位后引导程序的存放单元。因为复位后为复位后PCPC的内容为的内容为0000H0000H,CPUCPU总是从总是从0000H0000H开始执行程序。将转移指令存放到开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序这三个单元,程序就被引导到指定的程序存储器空间去执行。存储器空间去执行。2022-11-26722022-11-26三、寻址方式:三、寻址方式:(2
35、2)0003H0003H002AH002AH单元:单元:均分为五段,用作五个中断服务程序的入均分为五段,用作五个中断服务程序的入口。中断矢量地址表如表口。中断矢量地址表如表2-32-3所示。所示。返回返回2022-11-26732022-11-262.3.3 数据存储器地址空间数据存储器地址空间 一、用途:一、用途:二、片外二、片外RAM:三、片内三、片内RAM:返回返回2022-11-26742022-11-26一、用途:一、用途:用于存放运算的中间结果、数据暂存和用于存放运算的中间结果、数据暂存和缓冲、标志位等。缓冲、标志位等。2022-11-26752022-11-26二、片外二、片外R
36、AM:地址:地址:0000HFFFFH 寻址:用寻址:用MOVX指令指令2022-11-26762022-11-26三、片内三、片内RAM:片内数据存储器最大可寻址256个单元,它们又分为两部分:低128字节(00H7FH)是真正的RAM区;高128字节(80HFFH)为特殊功能寄存器(SFR)区。如图27所示。高128字节和低128字节RAM中的配置及含义如图28和图29所示。2022-11-26772022-11-26图图28 低低128字节字节RAM区区图图29 高高128字节字节RAM区区(SFR区,特区,特殊功能寄存器区殊功能寄存器区)2022-11-26782022-11-261)
37、低低128字节字节RAM9C51的32个工作寄存器与RAM安排在同一个队列空间里,统一编址并使用同样的寻址方式(直接寻址和间接寻址)。00H1FH地址安排为4组工作寄存器区,每组有8个工作寄存器(R0R7),共占32个单元,见表2-4。通过对程序状态字PSW中RS1、RS0的设置,每组寄存器均可选作CPU的当前工作寄存器组。若程序中并不需要4组,那么其余可用作一般RAM单元。CPU复位后,选中第0组寄存器为当前的工作寄存器。工作寄存器区后的16字节单元(20H2FH),可用位寻址方式访问其各位。在89系列单片机的指令系统中,还包括许多位操作指令,这些位操作指令可直接对这128位寻址。这128位
38、的位地址为00H7FH,其位地址分布见图28。2022-11-26792022-11-262)高128字节RAM特殊功能寄存器(SFR)89C51片内高128字节RAM中,有21个特殊功能寄存器(SFR),它们离散地分布在80HFFH的RAM空间中。访问特殊功能寄存器只允许使用直接寻址方式。这些特殊功能寄存器见图29。各SFR的名称及含义如表25所列。2022-11-26802022-11-26(1)累加器ACC(E0H)累加器ACC是89C51最常用、最忙碌的8位特殊功能寄存器,许多指令的操作数取自于ACC,许多运算中间结果也存放于ACC。在指令系统中用A作为累加器ACC的助记符。2022-
39、11-26812022-11-26(2)寄存器B(F0H)在乘、除指令中,用到了8位寄存器B。乘法指令的两个操作数分别取自A和B,乘积存于B和A两个8位寄存器中。除法指令中,A中存放被除数,B中放除数,商存放于A,B中存放余数。在其他指令中,B可作为一般通用寄存器或一个RAM单元使用。2022-11-26822022-11-26(3)程序状态寄存器PSW(D0H)PSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。各位的含义及其格式如表26所列。PSW除有确定的字节地址(D0H)外,每一位均有位地址,见表26。2022-11-26832022-11-262
40、022-11-26842022-11-262022-11-26852022-11-262022-11-26862022-11-26(4)栈指针SP(81H)堆栈指针SP为8位特殊功能寄存器,SP的内容可指向89C51片内00H7FH RAM的任何单元。系统复位后,SP初始化为07H,即指向07H的RAM单元。2022-11-26872022-11-262022-11-2688 在图210中,假若有8个RAM单元,每个单元都在其右面编有地址,栈顶由堆栈指针SP自动管理。每次进行压入或弹出操作以后,堆栈指针便自动调整以保持指示堆栈顶部的位置。这些操作可用图210说明。图210 堆栈的压入与弹出20
41、22-11-26892022-11-26(5)数据指针DPTR(83H,82H)DPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示(地址82H)。DPTR既可以作为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和DPL使用。DPTR主要用于存放16位地址,以便对64 KB片外RAM作间接寻址。2022-11-26902022-11-26(6)/端口P0P3(80H,90H,A0H,B0H)P0P3为4个8位特殊功能寄存器,分别是4个并行/端口的锁存器。它们都有字节地址,每一个口锁存器还有位地址,每一条/线均可独立用作输入或
42、输出。用作输出时,可以锁存数据;用作输入时,数据可以缓冲。图2-11所示为各个SFR所在的字节地址位置。空格部分为未来设计新型芯片可定义的SFR位置。2022-11-26912022-11-26图图2-11 特殊功能寄存器特殊功能寄存器SFR的位置的位置2022-11-26922022-11-262.4CPU时序时序2.4.1片内振荡器及时钟信号的产生片内振荡器及时钟信号的产生返回返回2.4.2机器周期和指令周期机器周期和指令周期2.4.3CPU取指、执行周期时序取指、执行周期时序2022-11-26932022-11-262.4.1 片内时钟信号的产生片内时钟信号的产生89C51芯片内部有一
43、个高增益反相放大器,用于构成振荡器。反芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为相放大器的输入端为XTAL1,输出端为输出端为XTAL2,两端跨接石英两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器和晶体及两个电容就可以构成稳定的自激振荡器。电容器和通常取通常取30 pF左右,可稳定频率并对振荡频率有微调作用。振左右,可稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为荡脉冲频率范围为fOSC=024 MHz。晶体振荡器的频率为晶体振荡器的频率为fOSC,振荡信号从振荡信号从XTAL2端输入到片内的端输入到片内的时钟发生器上,时钟发生器上,如图如图2-12
44、 所示。所示。返回返回2022-11-26942022-11-26图图2-12 89C51的片内振荡器及时钟发生器的片内振荡器及时钟发生器2022-11-26952022-11-261.节拍与状态周期 时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率fOSC除以2,向CPU提供两相时钟信号P1和P2。时钟信号的周期称为机器状态周期S(STATE),是振荡周期的2倍。在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2,节拍2)信号有效。每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟P1和P2为基本节拍
45、指挥89C51单片机各个部件协调地工作。2022-11-26964 一个机器周期是指一个机器周期是指CPU访问存储器一次访问存储器一次所需的时间。所需的时间。例如,取指令、读存储器、例如,取指令、读存储器、写存储器等等。写存储器等等。4 一个机器周期包括一个机器周期包括12个振荡周期,分为个振荡周期,分为6个个S状态:状态:S1S6。4 每个状态又分为两拍,称为每个状态又分为两拍,称为P1和和P2。4 因此,一个机器周期中的因此,一个机器周期中的12个振荡周期个振荡周期表示为表示为S1P1,S1P2,S2P1,S6P1,S6P2。4若采用6MHz晶体振荡器,则每个机器周期为2s(微秒)机器周期
46、机器周期如图所示如图所示返返回回2.机器周期和指令周期2022-11-26974 指令周期:执行一条指令所需的指令周期:执行一条指令所需的时间。时间。4 每条指令由一个或若干个字节组每条指令由一个或若干个字节组成。成。有单字节指令,双字节指令,多字节指令等。字节数少则占存储器空间少。4 每条指令的指令周期都由一个或每条指令的指令周期都由一个或几个几个组成。组成。有单周期指令、双周期指令、和四周期指令。机器周期数少则执行速度快。指令周期指令周期如图所示如图所示返返回回2.机器周期和指令周期2022-11-26982022-11-263.基本时序定时单位综上所述,89C51或其他80C51单片机的
47、基本时序定时单位有如下4个。振荡周期:晶振的振荡周期,为最小的时序单位。状态周期:振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。因此,一个状态周期包含2个振荡周期。机器周期(MC):1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一种基本操作的时间单位。指令周期:执行一条指令所需的时间。一个指令周期由14个机器周期组成,依据指令不同而不同,见附录A。2022-11-26992022-11-262022-11-261002022-11-262.4.2 CPU取指、执行周期时序取指、执行周期时序 每条指令的执行都可以包括取指和执指两个阶段。每条指令的执行都可以包括取指和
48、执指两个阶段。在取指阶段,在取指阶段,CPUCPU从内部或外部从内部或外部ROMROM中取出指令操作码中取出指令操作码及操作数,然后再执行这条指令。及操作数,然后再执行这条指令。单字节和双字节的指令都可能是单机器周期或双周期,单字节和双字节的指令都可能是单机器周期或双周期,而三字节指令都是双周期的,只有乘、除指令占四周而三字节指令都是双周期的,只有乘、除指令占四周期。因此,执行一条指令的时间(指令周期)分别是期。因此,执行一条指令的时间(指令周期)分别是2s2s,4s4s和和8s8s。如如 图图2-14所示所示返回返回2022-11-261012022-11-26图图214 89C51单片机的
49、取指单片机的取指/执行时序执行时序2022-11-261022022-11-262.5复位操作复位操作返回返回2.5.1 复位操作的主要功能 主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。复位操作还对其他一些寄存器有影响,它们的复位状态如表28所列。表28中的符号意义如下:2022-11-261032022-11-262022-11-261042022-11-26表表28 各特殊功能寄存器的复位值各特殊功能寄存器的复位值返回返回2022-11-261052022-11-262.5.2 复位信号及其产生复位信号及其产生一、复位信号:一、复位信号:RST引脚为复位信号输
50、入端。引脚为复位信号输入端。当当RST引脚为高电平,且有效时间持续引脚为高电平,且有效时间持续24个个振荡周期以上,才能复位。振荡周期以上,才能复位。二、产生复位信号的电路逻辑图:二、产生复位信号的电路逻辑图:如如图图2-15所示。所示。返回返回2022-11-261062022-11-26返回返回 复位电路复位电路施密特触发器施密特触发器片内片内RAMRST/VPDVCCVSSD1D2图图215 复位电路逻辑图复位电路逻辑图2022-11-261072022-11-262.5.3复位电路复位电路一、上电自动复位:一、上电自动复位:是通过外部复位电路的电容充电实现。是通过外部复位电路的电容充电