1189C51单片机概述课件_第1页
1189C51单片机概述课件_第2页
1189C51单片机概述课件_第3页
1189C51单片机概述课件_第4页
1189C51单片机概述课件_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1189C51单片机概述1189C51单片机概述第一章 单片机的I/O接口扩展技术1.1 MCS-51单片机概述1.2 I/O扩展1.3 人机通道配置与接口技术1.4 前向通道配置与接口技术1.5 后向通道配置与接口技术1.6 应用系统的抗干扰技术9/9/20222第一章 单片机的I/O接口扩展技术1.1 MCS-51MCS-51单片机的结构MCS-51单片机引脚及其功能89C51存储器配置CPU时钟复位及复位电路89C51单片机的低功耗工作方式返回1.1 MCS-51单片机概述输出/输入端口结构9/9/20223MCS-51单片机的结构MCS-51单片机引脚及其功能MCS-51单片机的结构2

2、.1.1 MCS-51单片机的基本组成2.1.2 MCS-51单片机内部结构返回9/9/20224MCS-51单片机的结构2.1.1 MCS-51单片机MCS-51单片机的基本组成一、组成二、MCS-51系列单片机的性能返回9/9/20225MCS-51单片机的基本组成一、组成二、MCS-51系列单片一、组成89C51单片机结构框图 如图2-1所示返回9/9/20226一、组成89C51单片机结构框图 如图2-1所示返回9/7/89C51单片机结构框图89C51CPU振荡器和时序OSC64KB 总线扩展控制器数据存储器256B RAM/SFR216位定时器/计数器可编程I/O程序存储器4KB

3、FLASHROM可编程全双工串行口外中断内中断控制并行口串行通信外部时钟源外部事件计数返回9/9/2022789C51单片机结构框图89C51振荡器和时序64KB 总线一、组成一个8位 的微处理器CPU。返回9/9/20228一、组成一个8位 的微处理器CPU。返回9/7/202210一、组成 用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等。片内数据存储器(RAM128B/256B):返回9/9/20229一、组成 用以存放可以读/写的数据,如运算的中一、组成 用以存放程序、一些原始数据和表格。但有一些单片机内部不带ROM/EPROM,如8031、8032、80C31等

4、。片内程序存储器Flash ROM (4KB):返回9/9/202210一、组成 用以存放程序、一些原始数据和表格。但一、组成每个口可以用作输入,也可以用作输出。四个8位并行I/O(输入/输出)接口P0P3:返回9/9/202211一、组成每个口可以用作输入,也可以用作输出。四个8位并行I一、组成 每个定时/计数器都可以设置成计数方式,用以 对 外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果 实现计算机控制。两个或三个定时/计数器:返回9/9/202212一、组成 每个定时/计数器都可以设置成计数方一、组成 可实现单片机与单片机或其它微机之间串行通信。一个全双工UART的串

5、行I/O口:返回9/9/202213一、组成 可实现单片机与单片机或其它微机之间串一、组成 但需外接晶振和电容。片内振荡器和时钟产生电路:返回9/9/202214一、组成 但需外接晶振和电容。片内振荡器和一、组成五个中断源的中断控制系统。返回9/9/202215一、组成五个中断源的中断控制系统。返回9/7/202217二、MCS-51系列单片机的性能如表2-1所示。表中型号带“C”表示所用的是CMOS工艺,具有功耗低的优点。返回9/9/202216二、MCS-51系列单片机的性能如表2-1所示。表中型号带“MCS-51系列单片机的性能表返回9/9/202217MCS-51系列单片机的性能表返回

6、9/7/202219MCS-51单片机内部结构一、结构图二、结构组成返回9/9/202218MCS-51单片机内部结构一、结构图二、结构组成返回9/7/一、结构图由 中央处理单元(CPU)、存储器(ROM及RAM)和I/O接口组成。MCS-51单片机内部结构如 图2-2所示。返回9/9/202219一、结构图由 中央处理单元(CPU)、存储器(ROM及RAMP0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器128BRAM4KBFlash ROMB寄存器暂存器1暂存器2ACCSP程序地址寄存器 缓冲器PC增1PCDPTR中断、串行口和定时器PSWP1锁存器P1驱动器P3锁存器P3驱动器定时

7、控制指令寄存器指令译码器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1 XTAL2PSENALEEARET89C51单片机内部结构图返回9/9/202220P0驱动器P2驱动器P0锁存器P2锁存器RAM地址寄存器12二、结构组成(一)、中央处理单元(CPU)(二)、存储器(三)、I/O接口返回9/9/202221二、结构组成(一)、中央处理单元(CPU)(二)、存储器(三(一)、中央处理单元(CPU)1运算器返回2控制器9/9/202222(一)、中央处理单元(CPU)1运算器返回2控制器9/71运算器(1)8位的ALU:返回(2)8位累加器AC

8、C(A):(3)8位程序状态寄存器PSW:(4)8位寄存器B:(5)布尔处理器:(6)2个8位暂存器:9/9/2022231运算器(1)8位的ALU:返回(2)8位累加器ACC(A1运算器可对4位、8位、16位数据进行操作。返回(1)8位的ALU:9/9/2022241运算器可对4位、8位、16位数据进行操作。返回(1)8位1运算器(2)8位累加器ACC(A):它经常作为一个运算数经暂存器2进入ALU的输入端,与另一个来自暂存器1的运算数进行运算,运算结果又送回ACC。返回9/9/2022251运算器(2)8位累加器ACC(A):它经常作为一个运算数1运算器指示指令执行后的状态信息供程序查询和

9、判别用。(3)8位程序状态寄存器PSW:返回9/9/2022261运算器指示指令执行后的状态信息供程序查询和判别用。(3)1运算器(4)8位寄存器B: 在乘除运算时,用来存放一个操作数也用来存放运算后的一部分结果;如不能做乘除运算时,作为通用寄存器。返回9/9/2022271运算器(4)8位寄存器B: 返回9/71运算器(5)布尔处理器:专门用于处理位操作的,以PSW中的C为其累加器。返回9/9/2022281运算器(5)布尔处理器:返回9/7/2022301运算器(6)2个8位暂存器:ALU的两个入口处。返回9/9/2022291运算器(6)2个8位暂存器:返回9/7/2022312控制器(

10、1)程序计数器PC(16位)(2)指令寄存器IR及指令译码器ID(3)振荡器和定时电路返回9/9/2022302控制器(1)程序计数器PC(16位)(2)指令寄存器IR(1)程序计数器PC(16位)由两个8位计数器PCH、PCL组成。PC是程序的字节地址计数器,PC内容为将要执行的指令地址。改变PC内容,改变执行的流向。PC可对64KB的ROM直接寻址,也可对89C51片内RAM寻址。返回9/9/202231(1)程序计数器PC(16位)由两个8位计数器PCH、PCL(2)指令寄存器IR及指令译码器ID由PC中的内容指定ROM地址,取出来的指令经IR送至ID,由ID对指令译码产生一定序列的控制

11、信号,以执行指令所规定的操作。返回9/9/202232(2)指令寄存器IR及指令译码器ID由PC中的内容指定ROM(3)振荡器和定时电路89C51单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2MHz12MHz。该信号作为89C51工作的基本节拍即时间的最小单位。返回9/9/202233(3)振荡器和定时电路89C51单片机片内有振荡电路,只需外(二)、存储器1、程序存储器(ROM)2、数据存储器(RAM)返回9/9/202234(二)、存储器1、程序存储器(ROM)2、数据存储器(RAM1、程序存储器(ROM)地址从0000H开始。用于存放程序和表

12、格常数。返回9/9/2022351、程序存储器(ROM)地址从0000H开始。返回9/7/22、数据存储器(RAM)地址为00H7FH。用于存放运算的中间结果、数据暂存以及数据缓冲等。这128B的RAM中有32个字节单元可指定为工作寄存器。片内还有21个特殊功能寄存器(SFR),它们同128字节RAM统一编址,地址为80HFFH。后面详细介绍。返回9/9/2022362、数据存储器(RAM)地址为00H7FH。返回9/7/2(三)、I/O接口89C51有四个8位并行I/O接口P0P3。它们都是双向端口,每个端口各有8条I/O线。P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。返回9

13、/9/202237(三)、I/O接口89C51有四个8位并行I/O接口P0PMCS-51单片机引脚及其功能MCS-51单片机引脚MCS-51单片机引脚功能返回9/9/202238MCS-51单片机引脚及其功能返回9/7/202240 89C51单片机引脚89C51单片机引脚如图2-3所示。返回9/9/202239 89C51单片机引脚89C51单片机引脚如图2-3所示。89C51单片机引脚图返回9/9/20224089C51单片机引脚图返回9/7/20224289C51单片机引脚功能一、电源引脚:Vcc和Vss二、时钟电路引脚:XTAL1和XTAL2三、控制信号引脚RST、ALE、PSEN和E

14、A四、I/O端口P0、P1、P2和P3返回9/9/20224189C51单片机引脚功能一、电源引脚:Vcc和Vss返回9/一、电源引脚:Vcc和Vss1Vcc(40脚):电源端,为+5V。2Vss(20脚):接地端。返回图2-39/9/202242一、电源引脚:Vcc和Vss返回图2-39/7/202244二、时钟电路引脚:XTAL1和XTAL2XTAL2(18脚):接外部晶体和微调电容的一端;在89C51 片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。89C51/8031正常工作时,该引脚应有脉冲信号输出。返回9/9/20

15、2243二、时钟电路引脚:XTAL1和XTAL2XTAL2(18脚)XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚接地。二、时钟电路引脚:XTAL1和XTAL2返回9/9/202244XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它 三、控制信号引脚:RST、ALE、PSEN和EARST/VPD(9脚):RST:复位信号输入端,高电平有效。当此输入端保持两个机器周期的高电平时,就可以完成复位操作。返回9/9/202245 三、控制信号引脚:RST、ALE、PSENRST/VPD(9脚):VPD :RST引脚的第二功

16、能,备用电源输入端。当主电源Vcc 发生故障,降低到低电平规定值时,将+5V电源自动接入该引脚,为RAM提供备用电源,以保证RAM中的信息不丢失,使得复位后能继续正常运行。 三、控制信号引脚:RST、ALE、PSEN和EA返回9/9/202246RST/VPD(9脚): 三、控制信号引脚:ALE/PROG(30脚):ALE:地址锁存允许信号端。正常工作时,该引脚以振荡频率的1/6固定输出正脉冲。CPU访问片外存储器时,该引脚输出信号作为锁存低8位地址的控制信号。它的负载能力为8个LS型TTL负载。三、控制信号引脚:RST、ALE、PSEN和EA返回9/9/202247ALE/PROG(30脚)

17、:三、控制信号引脚:RSTALE/PROG(30脚):PROG:是对片内带有4KB EPROM的8751编程写入时的编程脉冲输入端。三、控制信号引脚:RST、ALE、PSEN和EA返回9/9/202248ALE/PROG(30脚):三、控制信号引脚:RSTPSEN(29脚):程序存储器允许信号输出端。在访问片外ROM时,定时输出负脉冲作为读片外ROM的选通信号,接片外ROM 的OE端。它的负载能力为8个LS型TTL负载。三、控制信号引脚:RST、ALE、PSEN和EA返回9/9/202249PSEN(29脚):三、控制信号引脚:RST、ALEEA/Vpp(31脚):EA: 外部程序存储器地址允

18、许输入端。当该引脚接高电平时,CPU访问片内EPROM/ROM并执行片内程序存储器中的指令,但当PC值超过0FFFH(片内ROM为4KB)时,将自动转向执行片外ROM中的程序。当该引脚接低电平时,CPU只访问片外EPROM/ROM并执行外部程序存储器中的程序。三、控制信号引脚:RST、ALE、PSEN和EA返回9/9/202250EA/Vpp(31脚):三、控制信号引脚:RST、AEA/Vpp(31脚):Vpp:对8751片内EPROM固化编程时,编程电压输入端(12-21V)。三、控制信号引脚:RST、ALE、PSEN和EA返回9/9/202251EA/Vpp(31脚):三、控制信号引脚:R

19、ST、A四、I/O端口P0、P1、P2和P31、准双向2、P0口3、P1口4、P2口5、P3口返回9/9/202252四、I/O端口P0、P1、P2和P31、准双向返回9/7/21、准双向当I/O口作为输入时,应先向此口锁存器写入全1, 此时该口引脚浮空,可作高阻抗输入。返回9/9/2022531、准双向当I/O口作为输入时,应先向此口锁存器写入全1, 2、P0口:漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。P0口可作为一个数据输入/输出口;在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。返回9/9/2022542、P0口:漏极开路的8位准双向I/O

20、口,每位能驱动8个LS3、P1口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。返回9/9/2022553、P1口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4、P2口:P2口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。在CPU访问片外存储器时,它输出高8位地址。返回9/9/2022564、P2口:P2口:带内部上拉电阻的8位准双向I/O端口,每5、P3口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。P3口除作为一般I/O口外,每个引脚都有第二功能。返回9/9/2022575、P3口:带内部上拉电阻的8位准双向

21、I/O端口,每位能驱动89C51存储器配置89C51存储器分类程序存储器地址空间数据存储器地址空间返回9/9/20225889C51存储器配置89C51存储器分类返回9/7/20 89C51存储器分类一、物理结构二、用户角度返回9/9/202259 89C51存储器分类一、物理结构返回9/7/202261一、物理结构89C51存储器程序存储器ROM数据存储器ROM片内程序存储器片外程序存储器片内数据存储器片外数据存储器返回9/9/202260一、物理结构89C51存储器程序存储器ROM数据存储器ROM二、用户角度图2-4 89C51存储器配置9/9/202261二、用户角度图2-4 89C51

22、存储器配置9/7/2022二、用户角度1、片内、外统一编址的64K程序存储器地址空间。CPU访问片内、片外ROM指令用MOVC。返回9/9/202262二、用户角度1、片内、外统一编址的64K程序存储器地址空间。二、用户角度2、64K的片外数据存储器地址空间。访问片外RAM指令用MOVX。返回9/9/202263二、用户角度2、64K的片外数据存储器地址空间。访问片外RA二、用户角度3、256字节的片内数据存储器地址空间。访问片内RAM指令用MOV。上述三个存储空间地址是重叠的,89C51的指令系统采用不同的数据传送指令符号。返回9/9/202264二、用户角度3、256字节的片内数据存储器地

23、址空间。访问片内程序存储器地址空间一、用途:二、编址:三、寻址方式:返回9/9/202265程序存储器地址空间一、用途:返回9/7/202267一、用途:用于存放编好的程序和表格常数。返回9/9/202266一、用途:用于存放编好的程序和表格常数。返回9/7/2022二、编址:容量为4KB。地址为0000H0FFFH。片外最多可扩至64KB ROM/EPROM,地址为1000HFFFFH。片内外统一编址。返回9/9/202267二、编址:容量为4KB。地址为0000H0FFFH。返回9三、寻址方式:1、当 EA=“1”时:在00000FFFH范围内执行片内ROM中的程序,当指令地址超过0FFF

24、H 后就自动转向片外ROM中取指令。9/9/202268三、寻址方式:1、当 EA=“1”时:9/7/202270三、寻址方式:2、当 EA=”0”时:片内ROM不起作用,CPU只能从片ROM/EPROM中取指令。可以从 0000H 开始寻址。9/9/202269三、寻址方式:2、当 EA=”0”时:9/7/202271三、寻址方式:3、片内ROM和片外ROM取指的速度相同。9/9/202270三、寻址方式:3、片内ROM和片外ROM取指的速度相同。9/三、寻址方式:4、程序存储器的保留存储单元。 9/9/202271三、寻址方式:4、程序存储器的保留存储单元。9/7/2022三、寻址方式:(

25、1)0000H0002H三个单元:用作上电复位后引导程序的存放单元。因为复位后PC的内容为0000H,CPU总是从0000H开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序存储器空间去执行。9/9/202272三、寻址方式:(1)0000H0002H三个单元:9/7/三、寻址方式:(2)0003H002AH单元:均分为五段,用作五个中断服务程序的入口。中断矢量地址表。返回9/9/202273三、寻址方式:(2)0003H002AH单元:返回9/7/数据存储器地址空间一、用途:二、片外RAM: 三、片内RAM: 返回9/9/202274数据存储器地址空间一、用途:返回9/7/2

26、02276一、用途:用于存放运算的中间结果、数据暂存和缓冲、标志位等。9/9/202275一、用途:用于存放运算的中间结果、数据暂存和缓冲、标志位等。二、片外RAM:地址:0000HFFFFH 寻址:用MOVX指令9/9/202276二、片外RAM:地址:0000HFFFFH 9/7/三、片内RAM: 片内数据存储器最大可寻址256个单元,它们又分为两部分: 低128字节(00H7FH)是真正的RAM区;高128字节(80HFFH)为特殊功能寄存器(SFR)区。如图27所示。高128字节和低128字节RAM中的配置及含义如图28和图29所示。9/9/202277三、片内RAM: 片内数据存储器

27、最大可寻址256个单元,它们图28 低128字节RAM区图29 高128字节RAM区(SFR区,特殊功能寄存器区)9/9/202278图28 低128字节RAM区图29 高128字节RA1) 低128字节RAM89C51的32个工作寄存器与RAM安排在同一个队列空间里,统一编址并使用同样的寻址方式(直接寻址和间接寻址)。00H1FH地址安排为4组工作寄存器区,每组有8个工作寄存器(R0R7),共占32个单元,见表2-4。通过对程序状态字PSW中RS1、RS0的设置,每组寄存器均可选作CPU的当前工作寄存器组。若程序中并不需要4组,那么其余可用作一般RAM单元。CPU复位后,选中第0组寄存器为当

28、前的工作寄存器。工作寄存器区后的16字节单元(20H2FH),可用位寻址方式访问其各位。在89系列单片机的指令系统中,还包括许多位操作指令,这些位操作指令可直接对这128位寻址。这128位的位地址为00H7FH,其位地址分布见图28。9/9/2022791) 低128字节RAM89C51的32个工作寄存器与RAM2) 高128字节RAM特殊功能寄存器(SFR)89C51片内高128字节RAM中,有21个特殊功能寄存器(SFR),它们离散地分布在80HFFH的RAM空间中。访问特殊功能寄存器只允许使用直接寻址方式。这些特殊功能寄存器见图29。各SFR的名称及含义如表25所列。9/9/202280

29、2) 高128字节RAM特殊功能寄存器(SFR)89C5(1) 累加器ACC(E0H)累加器ACC是89C51最常用、最忙碌的8位特殊功能寄存器,许多指令的操作数取自于ACC,许多运算中间结果也存放于ACC。在指令系统中用A作为累加器ACC的助记符。9/9/202281(1) 累加器ACC(E0H)累加器ACC是89C51最常用(2) 寄存器B(F0H)在乘、除指令中,用到了8位寄存器B。乘法指令的两个操作数分别取自A和B,乘积存于B和A两个8位寄存器中。除法指令中,A中存放被除数,B中放除数,商存放于A,B中存放余数。在其他指令中,B可作为一般通用寄存器或一个RAM单元使用。9/9/2022

30、82(2) 寄存器B(F0H)在乘、除指令中,用到了8位寄存器B(3) 程序状态寄存器PSW(D0H)PSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。各位的含义及其格式如表26所列。PSW除有确定的字节地址(D0H)外,每一位均有位地址,见表26。9/9/202283(3) 程序状态寄存器PSW(D0H)PSW是一个8位特殊功CY(PSW.7): 进位标志位。在执行加法(或减法)运算指令时,如果运算结果最高位(位7)向前有进位(或借位),则CY位由硬件自动置1;如果运算结果最高位无进位(或借位),则CY清0。CY也是89C51在进行位操作(布尔操作)时

31、的位累加器,在指令中用C代替CY。AC(PSW.6): 半进位标志位,也称辅助进位标志。当执行加法(或减法)操作时,如果运算结果(和或差)的低半字节(位3)向高半字节有半进位(或借位),则AC位将被硬件自动置1;否则AC被自动清0。F0(PSW.5): 用户标志位。用户可以根据自己的需要对F0位赋予一定的含义,由用户置位或复位,以作为软件标志。9/9/202284CY(PSW.7): 进位标志位。在执行加法(或减法)运算指RS0和RS1(PSW.3和PSW.4): 工作寄存器组选择控制位。这两位的值可决定选择哪一组工作寄存器为当前工作寄存器组。通过用户用软件改变RS1和RS0值的组合,以切换当

32、前选用的工作寄存器组。其组合关系如表27所列。89C51上电复位后,RS1=RS0=0,CPU自动选择第0组为当前工作寄存器组。根据需要,可利用传送指令对PSW整字节操作或用位操作指令改变RS1和RS0的状态,以切换当前工作寄存器组。这样的设置为程序中保护现场提供了方便。9/9/202285RS0和RS1(PSW.3和PSW.4): 工作寄存器组选择OV(PSW.2): 溢出标志位。当进行补码运算时,如有溢出,即当运算结果超出128127的范围时,OV位由硬件自动置1;无溢出时,OV=0。PSW.1: 为保留位。89C51未用,89C52为F1用户标志位。P(PSW.0): 奇偶校验标志位。每

33、条指令执行完后,该位始终跟踪指示累加器A中1的个数。如结果A中有奇数个1,则置P=1;否则P=0。常用于校验串行通信中的数据传送是否出错。9/9/202286OV(PSW.2): 溢出标志位。当进行补码运算时,如有溢(4) 栈指针SP(81H)堆栈指针SP为8位特殊功能寄存器,SP的内容可指向89C51片内00H7FH RAM的任何单元。系统复位后,SP初始化为07H,即指向07H的RAM单元。9/9/202287(4) 栈指针SP(81H)堆栈指针SP为8位特殊功能寄存89C51在片内RAM中专门开辟出来一个区域,数据的存取是以“后进先出”的结构方式处理的,好像冲锋枪压入子弹。这种数据结构方

34、式对于处理中断,调用子程序都非常方便。堆栈的操作有两种: 一种叫数据压入(PUSH),另一种叫数据弹出(POP)。89C51的堆栈指针SP是一个双向计数器。进栈时,SP内容自动增值,出栈时自动减值。存取信息必须按“后进先出”或“先进后出”的规则进行。9/9/20228889C51在片内RAM中专门开辟出来一个区域,数据的存取是以在图210中,假若有8个RAM单元,每个单元都在其右面编有地址,栈顶由堆栈指针SP自动管理。每次进行压入或弹出操作以后,堆栈指针便自动调整以保持指示堆栈顶部的位置。这些操作可用图210说明。图210 堆栈的压入与弹出9/9/202289在图210中,假若有8个RAM单元

35、,每个单元都在其右面编有(5) 数据指针DPTR(83H,82H)DPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示(地址82H)。DPTR既可以作为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和DPL使用。DPTR主要用于存放16位地址,以便对64 KB片外RAM作间接寻址。9/9/202290(5) 数据指针DPTR(83H,82H)DPTR是一个16(6) /端口P0P3(80H,90H,A0H,B0H)P0P3为4个8位特殊功能寄存器,分别是4个并行/端口的锁存器。它们都有字节地址,每一个口锁存器还有位地址,每一

36、条/线均可独立用作输入或输出。用作输出时,可以锁存数据;用作输入时,数据可以缓冲。图2-11所示为各个SFR所在的字节地址位置。空格部分为未来设计新型芯片可定义的SFR位置。9/9/202291(6) /端口P0P3(80H,90H,A0H,B0H图2-11 特殊功能寄存器SFR的位置9/9/202292图2-11 特殊功能寄存器SFR的位置9/7/20229片内时钟信号的产生89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器和通常取30 pF左右,可稳定频率并对振荡频率有微

37、调作用。振荡脉冲频率范围为fOSC=024 MHz。晶体振荡器的频率为fOSC,振荡信号从XTAL2端输入到片内的时钟发生器上,如图2-12 所示。返回9/9/202293片内时钟信号的产生89C51芯片内部有一个高增益反相放大器图2-12 89C51的片内振荡器及时钟发生器9/9/202294图2-12 89C51的片内振荡器及时钟发生器9/7/2复位操作返回2.5.1 复位操作的主要功能主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。复位操作还对其他一些寄存器有影响,它们的复位状态如表28所列。表28中的符号意义如下:9/9/202295复位操作返回2.5.1 复

38、位操作的主要功能9/7/202 A=00H: 表明累加器已被清0。 PSW=00H: 表明选寄存器0组为工作寄存器组。 SP=07H: 表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的数据被写入08H单元中。 P0P3=FFH: 表明已向各端口线写入1,此时,各端口既可用于输入,又可用于输出。 IP=00000B: 表明各个中断源处于低优先级。 IE=000000B: 表明各个中断均被关断。 TMOD=00H: 表明T0,T1均为工作方式0,且运行于定时器状态。 TCON=00H: 表明T0,T1均被关断。 SCON=00H: 表明串行口处于工作方式0,允

39、许发送,不允许接收。 PCON=00H: 表明SMOD=0,波特率不加倍。9/9/202296 A=00H: 表明累加器已被清0。9/7/2022表28 各特殊功能寄存器的复位值返回9/9/202297表28 各特殊功能寄存器的复位值返回9/7/20229复位信号及其产生一、复位信号:RST引脚为复位信号输入端。当RST引脚为高电平,且有效时间持续24个振荡周期以上,才能复位。二、产生复位信号的电路逻辑图:如图2-15所示。返回9/9/202298复位信号及其产生一、复位信号:返回9/7/2022100返回 复位电路施密特触发器片内RAMRST/VPDVCCVSSD1D2图215 复位电路逻辑

40、图9/9/202299返回 复位电路施密特触发器片内RAMRST/VPDVCCVS复位电路一、上电自动复位:是通过外部复位电路的电容充电实现。如图2-16(a)所示。二、按键手动复位:按键电平复位方式:如图2-16(b)所示。返回9/9/2022100复位电路一、上电自动复位:返回9/7/2022102图 2-16 (a) 上电复位电路只要Vcc的上升时间不超过1ms,就自动上电复位,即接通电源就完成了系统复位。返回VCCCRVCCRST/VPDVSS1K 22F89C519/9/2022101图 2-16 (a) 上电复位电路只要Vcc的上升时间不超过图 2-12 (b) 按键电平复位电路通

41、过使复位端经电阻与VCC电源接通而实现。VCCCR2VCCRST/VPDVSS1K22F89C51R1200RESET返回9/9/2022102图 2-12 (b) 按键电平复位电路通过使复位端经电阻与V89C51单片机的低功耗工作方式89C51提供两种节电工作方式,即空闲(等待、待机)方式和掉电(停机)工作方式图217所示为实现这两种方式的内部电路。由图217可见,若IDL(idle)=0,则89C51将进入空闲运作方式。在这种方式下,振荡器仍继续运行,但IDL封锁了去CPU的“与”门,故CPU此时得不到时钟信号。而中断、串行口和定时器等环节却仍在时钟控制下正常运行。掉电方式下(PD=0),

42、振荡器冻结。图217中,PD和IDL均为PCON中PD和IDL触发器的输出端。9/9/202210389C51单片机的低功耗工作方式89C51提供两种节电工作方图217 空闲和掉电方式控制电路9/9/2022104图217 空闲和掉电方式控制电路9/7/2022106方式的设定空闲方式和掉电方式是通过对SFR中的PCON(地址87H)相应位置1而启动的。图218所示为89C51电源控制寄存器PCON各位的分布情况。HMOS器件的PCON只包括一个SMOD位,其他4位是CHMOS器件独有的。3个保留位用户不得使用。图218 电源控制寄存器PCON9/9/2022105方式的设定空闲方式和掉电方式

43、是通过对SFR中的PCON(地址图218中各符号的名称和功能如下:SMOD: 波特率倍频位。若此位为1,则串行口方式1、方式2和方式3的波特率加倍。GF1和GF0: 通用标志位。PD: 掉电方式位。此位写1即启动掉电方式。由图217可见,此时时钟冻结。IDL: 空闲方式位。此位写1即启动空闲方式。这时CPU因无时钟控制而停止运作。如果同时向PD和IDL两位写1,则PD优先。89C51中PCON的复位值为00000B。9/9/2022106图218中各符号的名称和功能如下:SMOD: 波特率倍频位空闲(等待、待机)工作方式CPU执行完置IDL=1(PCON.1)的指令后,系统进入空闲工作方式。进

44、入空闲方式后,有两种方法可以使系统退出空闲方式:一是任何的中断请求被响应都可以由硬件将PCON.0(IDL)清0而中止空闲工作方式。另一种退出空闲方式的方法是硬件复位,9/9/2022107空闲(等待、待机)工作方式CPU执行完置IDL=1(PCON掉电(停机)工作方式当CPU执行一条置PCON.1位(PD)为1的指令后,系统进入掉电工作方式。退出掉电方式的唯一方法是由硬件复位,复位后将所有特殊功能寄存器的内容初始化,但不改变片内RAM区的数据。在掉电工作方式下,VCC可以降到2 V,但在进入掉电方式之前,VCC不能降低。而在准备退出掉电方式之前,VCC必须恢复正常的工作电压值,并维持一段时间

45、(约10 ms),使振荡器重新启动并稳定后方可退出掉电方式。9/9/2022108掉电(停机)工作方式当CPU执行一条置PCON.1位(PD)输出/输入端口I/O端口概述P0口P1口P2口P3口端口的负载能力和接口要求返回9/9/2022109输出/输入端口I/O端口概述返回9/7/2022111I/O端口概述返回189C51单片机有四个8位并行I/O端口:P0、P1、P2和P3。2每个端口都是8位准双向口,共占32根引脚。3每一条I/O线都能独立地用作输入或输出。4每个端口都包括一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和输入缓冲器,作输出是数据可以锁存,作输入时数据可以缓冲。9

46、/9/2022110I/O端口概述返回189C51单片机有四个8位并行I/OP0口一、结构二、P0口作为一般I/O口使用三、P0口作为地址/数据总线使用返回9/9/2022111P0口一、结构返回9/7/2022113一、结构P0口某位的结构由一个输出锁存器、二个三态输入缓冲器和输出驱动电路及控制电路组成。如图2-21所示。当C=0时,开关MUX被控为如图示位置,P0口为通用I/O口;当C=1时,开关拨向反相器3的输出端,P0口分时作为地址/数据总线使用。返回9/9/2022112一、结构P0口某位的结构由一个输出锁存器、二个三态输入缓冲器图2-21 P0口某位的结构图当C=0时,开关MUX被

47、控为如图示位置,P0口为通用I/O口;当C=1时,开关拨向反相器3的输出端,P0口分时作为地址/数据总线使用。返回读引脚读锁存器内部总线写入DCPQQ地址/数据控制CMUXVCCT1T2P0.X4312锁存器9/9/2022113图2-21 P0口某位的结构图当C=0时,开关MUX被控二、P0口作为一般I/O口使用1、P0口用作输出口2、P0口作输入口返回9/9/2022114二、P0口作为一般I/O口使用1、P0口用作输出口返回9/71、P0口用作输出口当CPU执行输出指令时,写脉冲加在D锁存器的CP上,这样,与内部总线相连的D端的数据取反后就出现在Q端上,又经输出级FET(T2)反相,在P

48、0端口上出现的数据正好是内部总线的数据。这是一般的数据输出情况。返回9/9/20221151、P0口用作输出口当CPU执行输出指令时,写脉冲加在D锁存2、P0口作输入口当执行一条由端口输入的指令时,“读引脚”脉冲把三态缓冲器2打开,这样,端口上的数据经过缓冲器2读入到内部总线。在端口进行输入操作前,应先向端口锁存器写入1,也就是使锁存器Q=0。因为控制线C=0,因此T1和T2全截止,引脚处于悬浮状态,可作高阻抗输入。返回9/9/20221162、P0口作输入口当执行一条由端口输入的指令时,“读引脚”脉三、P0口作为地址/数据总线使用1P0口用作输出地址/数据总线以P0口引脚输出低8位地址或数据

49、信息,MUX开关把CPU内部地址/数据线经反向器3与驱动场效应管FET(T2)栅极接通。上下两个FET处于反相,构成推拉式的输出电路(T1导通时上拉,T2导通时下拉),提高了负载能力。当P0口被地址/数据总线占用时,就无法再作I/O口使用了。返回9/9/2022117三、P0口作为地址/数据总线使用1P0口用作输出地址/数据2由P0口输入数据:在“读引脚”信号有效时,打开输入缓冲器2,使数据进入内部总线。三、P0口作为地址/数据总线使用返回9/9/20221182由P0口输入数据:三、P0口作为地址/数据总线使用返回9P1口一、P1口结构二、P1口用作通用I/O返回9/9/2022119P1口

50、一、P1口结构返回9/7/2022121P1口一、P1口结构:其电路结构见图2-19,输出驱动部分与P0口不同,内部有上拉负载电阻与电源相连。实质上,电阻是两个场效应管FET并在一起:一个FET为负载管,其电阻固定。另一个FET可工作在导通或截止两种状态,使其总电阻值变化近似为0或阻值很大两种情况。当阻值近似为0时,可将引脚快速上拉至高电平;当阻值很大时,P1口为高阻输入状态。返回9/9/2022120P1口一、P1口结构:返回9/7/2022122图2-19 P1口某位的结构图返回读引脚读锁存器内部总线写入DCPQQVCCP1.X12锁存器9/9/2022121图2-19 P1口某位的结构图

51、返回读引脚读锁存器内部总线P1口二、P1口用作通用I/OP1口也是一个准双向口。在端口用作输入时,也必须先向对应的锁存器写入1,使FET截止。当P1口输出高电平时,能向外提供拉电流负载,所以不必再接上拉电阻。返回9/9/2022122P1口二、P1口用作通用I/O返回9/7/2022124P2口一、P2口结构二、P2口用作一般I/O口三、P2口用作高8位地址总线返回9/9/2022123P2口一、P2口结构返回9/7/2022125一、P2口结构如图2-20所示,P2口某位的结构与P0口类似,有MUX开关。驱动部分与P1口类似,但比P1口多了一个转换控制部分。返回9/9/2022124一、P2

52、口结构返回9/7/2022126图2-20 P2口某位的结构图返回读引脚读锁存器内部总线写入DCPQQ地址/数据控制CMUXVCCP2.X锁存器9/9/2022125图2-20 P2口某位的结构图返回读引脚读锁存器内部总线二、P2口用作一般I/O口1、当CPU对片内存储器和I/O口进行读/写(执行MOV 指令或EA=1时,执行MOVC指令)时,由内部硬件自动使开关MUX倒向锁存器的Q端,这时,P2口为一般I/O口。返回9/9/2022126二、P2口用作一般I/O口1、当CPU对片内存储器和I/O口二、P2口用作一般I/O口2、在只需扩展256B片外RAM的系统中,使用“MOVX A, Ri”类指令访问片外RAM时,寻址范围是256B,只需低8位地址线就可以实现。P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论