MC51单片机的硬件结构PPT参考课件.ppt_第1页
MC51单片机的硬件结构PPT参考课件.ppt_第2页
MC51单片机的硬件结构PPT参考课件.ppt_第3页
MC51单片机的硬件结构PPT参考课件.ppt_第4页
MC51单片机的硬件结构PPT参考课件.ppt_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 MCS-51单片机 的硬件结构,任务一 单灯受控闪烁,2.1 MCS-51系列单片机概述 2.2 中央处理器CPU 2.3 存储器 2.4 并行输入/输出口 2.5 单片机的时序、引脚及其功能,习 题,1,任务一 单灯受控闪烁 学习目标:过学习任务一的完成方法,熟悉mcs-51单片机的内部结构,掌握mcs-51单片机各组成部分的功能和特点 。 任务描述: 单片机上电工作时,发光二极管间隔1S闪烁。,2,硬件电路与工作原理,硬件电路,3,由该任务引出: 1.单片机如何运行程序? 2.单片机的软件及数据如何存放? 3.单片机程序运行的结果如何送给发光二极管? 4.怎样保证CPU工作 ? 5

2、.发光二极管为何按一定频率闪烁?,4,相关知识,2.1 MCS-51系列单片机概述,2.1 MCS - 51系列单片机的基本结构 1.单片机如何运行程序? 单片机和其他微机一样,也拥有一个中央处理器(CPU)。 (单片机通过I/O口与外设打交道,单片机的程序与数据保存在存储器中。),5,它通过单片机的内部总线,将单片机内部的各个部分:程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等联系在一起 。,内部总线有三种,数据总线:专门用来传送数据信息 。,地址总线:专门用来传送地址信息,选中各操作单元。,控制总线:专门用来传送CPU各种控制命令,以便CPU统一指

3、挥协调工作。完成程序所要执行的各种功能。,6,CPU执行程序一般包括两个主要过程,第一,就是从程序存储器中取出指令,指令的地址由PC指针提供。,第二,就是执指过程,取出的指令代码首先被送到CPU中控制器中的指令寄存器,再通过指令译码器译码变成各种电信号,从而实现指令的各种功能。,执行,取指令,分析,7,2.1 MCS - 51系列单片机的基本结构,单片机是一个大规模集成电路芯片,其上集成有CPU、存储器、I/O口(串行口、并行口)、其它辅助电路(如中断系统,定时/计数器,振荡电路及时钟电路等)。 其基本结构框图如下:,8,ALU,由定时和控制部件构成的控制器,包括定时控制逻辑、指令寄存器、指令

4、译码器、数据地址指针DPTR、程序计数器PC、堆栈指针SP、RAM地址寄存器以及16位地址缓冲器等。,运算器(ALU、专用寄存器),9,MCS - 51系列单片机的基本结构图,CPU,RAM,ROM,中断系统,串行口,并行口,定时计数器,振荡电路,X1 X2 P0 P1 P2 P3 TXD RXD INT0 INT1,T0 T1,计算机,微机,10,MCS - 51系列单片机的基本结构图,X1 X2 P0 P1 P2 P3 TXD RXD INT0 INT1,返回,CPU,RAM,ROM,中断系统,串行口,并行口,定时计数器,振荡电路,X1 X2 P0 P1 P2 P3 TXD RXD INT

5、0 INT1,T0 T1,1、RAM被称为随机读写存储器。 2、用于存放数据 。 3、具有易失性:芯片掉电后,其内的信息消失。,11,MCS - 51系列单片机的基本结构图,T0 T1,CPU,RAM,ROM,中断系统,串行口,并行口,定时计数器,振荡电路,X1 X2 P0 P1 P2 P3 TXD RXD INT0 INT1,T0 T1,1、 ROM被称为只读存储器。 2、用于存放程序。 3、具有非易失性:掉电后其内的信息依然存在。,返回,12,运算器,最终结果 数 中间结果/ 据 最后结果 原始数据 与程序 最后 结果 程 序 计算机系统的硬件组成框图,存储器,控制器,输出设备,输入设备,

6、单片机,微机,返回,13,DB CPU AB CB 存储器 I/O口 微机的结构框图,单片机,计算机,返回,14,80C51单片机的内部结构,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,ALU,2.2 中央处理器CPU,15,80C51单片机的内部结构,返回,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,

7、P0 P1 P2 P3,ALU,算术逻辑运算部件主要用来完成数据的算术和逻辑运算。ALU有2个输入端和2个输出端,其中一端接至累加器,接收由累加器送来的一个操作数;另一端接收TMP的第二个操作数。参加运算的操作数在ALU中进行规定的操作运算,运算结束后,一方面将结果送至累加器,同时将操作结果的特征状态送标志寄存器。,16,89C51单片机的内部结构,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,ALU,1、16位寄存器 2、存放下一条将要

8、执行的指令地址.程序中的指令是按照顺序存放在存储器中的某个连续区域.每条指令都有自己的地址,CPU根据PC中的指令地址从存储器中取出将要执行的指令. 3、具有自动加1功能,从而指向下一条将要执行的指令地址. 4、PC的值可以修改,一般程序是按顺序执行指令的.若改变了的PC的值,则程序将不再按顺序执行。,返回,17,80C51单片机的内部结构,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,IR:用来存放当前正在执行的指令代码 。 ID:用来

9、对指令代码进行分析、译码,根据指令译码的结果,输出相应的控制信号。 PLA:产生出各种操作电位、不同节拍的信号、时序脉冲等执行此条命令所需的全部控制信号 。,返回,18,80C51单片机的内部结构,X1 X2,PSEN RST ALE EA,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、8位寄存器 2、累加器是一个特殊的寄存器,它的字长和微处理器的字长相同,累加器具有输入输出和移位功能,微处理器采用累加器结构可以简化某些逻辑运算。 3

10、、由于所有运算的数据都要通过累加器,故累加器在微处理器中占有很重要的位置。,ALU,返回,19,80C51单片机的内部结构,X1 X2,PSEN RST ALE EA,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,ALU,1、8位寄存器 2、在进行乘除法运算时,存放参与运算的一个操作数 3、除此之外,作为一般工作寄存器使用,返回,20,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,

11、IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、PSW称为程序状态字寄存器,是一个8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov - P,ALU,返回,21,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、程序状态字寄存器。8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 O

12、v - P,ALU,返回,Cy(PSW.7)进位标志位。 当运算结果产生进位时, Cy =1; 当运算结果没有产生进位时, Cy =0。,22,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、程序状态字寄存器。8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov - P,ALU,AC(PSW.6)辅助进位(或称半进位)标志。 当运算结果的D3向D4产生进位时, AC =1; 当运算结果

13、的D3向D4没有产生进位时, AC =0。,返回,23,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、程序状态字寄存器。8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov - P,ALU,OV(PSW.2)溢出标志位。 当运算结果产生溢出时, OV =1; 当运算结果没有产生溢出时, OV =0。,返回,24,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2

14、,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、程序状态字寄存器。8位寄存器。 2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov - P,ALU,P(PSW.0)奇偶标志位。 当A中1的个数为奇数时, P =1; 当A中1的个数为偶数时, P =0。,返回,25,80C51单片机的内部结构,X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST

15、ALE EA,P0 P1 P2 P3,1、SP称为堆栈指针,8位寄存器 2、 SP用来存放堆栈栈顶的地址。,返回,26,先加(SP+1)后压(数据),先弹(数据)后减(SP-1)。,89H,入栈过程 PUSH ACC,出栈过程 POP ACC,89H,27,80C51单片机的内部结构,X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、8位寄存器 2、 SP用来存放堆栈栈顶的地址。,返回,1、堆栈是在内RAM区专门开辟出来的按照

16、“先进后出”原则进行数据存取的一块连续的存储区域。 2、堆栈有栈顶和栈底,堆栈中没有数据时,二者重叠,SP指向最下端(栈底),向堆栈推入数据后,栈顶向上生长,SP也向上生长。 3、堆栈栈顶:最后推入堆栈的数据所在的存储单元 4、SP用来指示堆栈所处的位置, 在进行操作之前, 先用指令给SP赋值, 以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后, SP的值也自动随之变化。,63H,64H,65H,66H,67H,栈底,演示,28,80C51单片机的内部结构,X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L

17、 A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、8位寄存器 2、 SP用来存放堆栈栈顶的地址。,返回,1、堆栈是在内RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一块连续的存储区域。 2、堆栈有栈顶和栈底,堆栈中没有数据时,二者重叠,SP指向最下端(栈底),向堆栈推入数据后,栈顶向上生长,SP也向上生长。 3、堆栈栈顶:最后推入堆栈的数据所在的存储单元 4、SP用来指示堆栈所处的位置, 在进行操作之前, 先用指令给SP赋值, 以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后, SP的值也自动随之变化。,63H,64H,65H,66

18、H,67H,栈底,12H,46H,73H,SP=63H,SP=64H,SP=66H,SP=65H,入栈,29,80C51单片机的内部结构,X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、8位寄存器 2、 SP用来存放堆栈栈顶的地址。,返回,1、堆栈是在内RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一块连续的存储区域。 2、堆栈有栈顶和栈底,堆栈中没有数据时,二者重叠,SP指向最下端(栈底),向堆栈推入数据后,栈顶

19、向上生长,SP也向上生长。 3、堆栈栈顶:最后推入堆栈的数据所在的存储单元 4、SP用来指示堆栈所处的位置, 在进行操作之前, 先用指令给SP赋值, 以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后, SP的值也自动随之变化。,63H,64H,65H,66H,67H,栈底,12H,SP=64H,SP=66H,SP=65H,出栈,73H,73H,46H,46H,30,80C51单片机的内部结构,X1 X2,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P

20、0 P1 P2 P3,1、8位寄存器 2、 SP用来存放堆栈栈顶的地址。,返回,1、堆栈是在内RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一块连续的存储区域。 2、堆栈有栈顶和栈底,堆栈中没有数据时,二者重叠,SP指向最下端(栈底),向堆栈推入数据后,栈顶向上生长,SP也向上生长。 3、堆栈栈顶:最后推入堆栈的数据所在的存储单元 4、SP用来指示堆栈所处的位置, 在进行操作之前, 先用指令给SP赋值, 以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后, SP的值也自动随之变化。,63H,64H,65H,66H,67H,栈底,SP=64H,SP=66H,SP=65H,73H

21、,73H,46H,46H,12H,31,80C51单片机的内部结构,PSEN RST ALE EA,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE EA,P0 P1 P2 P3,1、数据指针DPTR是一个 16 位的专用寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。 2、既可作为一个 16 位寄存器DPTR来处理, 也可作为两个独立的 8 位寄存器DPH和DPL来处理。 3、 DPTR 主要用来存放 16位地址,当对 64 KB外部数据存储器空间寻

22、址时, 作为间址寄存器用。在访问程序存储器时, 用作基址寄存器。,返回,演示,32,DPTR 0003H,34H A,TMP,PSW,B,SP,DPTR 0003H,RAM,PC,ROM,定时,中断,串口,返回,ALU,读写控制,输 入 输 出 电 路,地 址 译 码 器,RAM 芯片,单片机,DB,CB,AB,0003H,DPTR 0003H,WR,34H,33,80C51单片机的内部结构,PSEN RST ALE EA,A,TMP,PSW,B,SP,DPTR,RAM,PC,ROM,P1,P2,P3,P0,定时,中断,串口,IR,P L A,ID,振 荡,X1 X2,PSEN RST ALE

23、 EA,P0 P1 P2 P3,80C51内有的4K的ROM; 不够用时可以外扩ROM; 内ROM+外ROM 64K,返回,34,2.单片机的软件及数据如何存放?,从前面的任务中,我们还看到要控制灯闪烁,必须编制程序,还必须将控制灯的相关数据预先存储,那么,在单片机中的程序和数据是怎样保存的? 原来,在单片机内部有程序存储器和数据存储器,如果内部程序存储器和数据存储器的容量不够的话,还可以在单片机外部为它扩展,最大我们可以将程序存储器空间总容量扩大到64K,将数据存储器在片外再单独扩展64K,这样,以89S51为例,数据存储器的总容量可达64K(片外)128字节(片内)。,MCS-51单片机的

24、存储器组织结构,采用典型的哈佛结构,即程序存储器和数据存储器完全独立,拥有各自的寻址系统,包括片内数据存储器与片外数据存储器都拥有自己独立的寻址系统。,2.3 存储器,35,MCS-51单片机存储器组织结构,返回,36,2.3.1 程序存储器2.3.2 内部数据存储器2.2.3 特殊功能寄存器,2.3 存储器,返回,37,2.3.1 程序存储器,用途: 存放程序及程序运行时所需的常数。,寻址范围:0000H FFFFH 容量64KB,即地址长度:16位,,寻址内部ROM;,说明:当PC值超过片内ROM容量时会自动转向 外部存储器 空间。,,寻址外部ROM。,1),返回,38,2)程序存储器的分

25、类,(1)Mask ROM 型:掩膜ROM,如8051ROM (2)OTPROM型:一次可编程ROM (3)EPROM型:可擦除可编程ROM,如8751ROM (4)E2PROM型:电可擦除可编程ROM (5)Flash ROM型:闪速只读存储器,如ATMEL公司的AT89系列(89C51),返回,39,MCS - 51系列单片机的分类,常用的MCS51系列单片机有2种类型的产品:8051/8751/89C51和8031。它们的结构基本相同,其主要差别反映在存储器的配置上的不同:8051内设有4KB的掩膜ROM;8751内设有4KB的EPROM;89C51内设有4KB的Flash ROM ;8

26、031内没有ROM。 MCS - 51 系列单片机配置一览表,40,3)程序存储器中6个具有特殊含义的单元,0000H 系统复位,PC指向此处; 0003H 外部中断0入口 000BH T0溢出中断入口 0013H 外中断1入口 001BH T1溢出中断入口 0023H 串口中断入口,返回,41,2.3.2 数据存储器,用途:存放程序执行的中间结果和过程数据的 。,物理上分为两大区域: 00H 7FH即128B用户RAM区。 80H FFH即特殊功能寄存器区。,返回,42,7FH 真正RAM区 00H,MCS-51 单片机片内RAM的配置图,FFH SFR区 80H,MCS-51内有256B的

27、RAM单元,其地址范围为00HFFH,分为两大部分: 低 128 字节(00H7FH)为真正的RAM区; 高 128 字节(80HFFH)为特殊功能寄存器区SFR。,返回,43,7FH 真正RAM区 00H,MCS-51 单片机片内RAM的配置图,FFH SFR区 80H,返回,89C51内有256B的RAM单元,其地址范围为00HFFH,分为两大部分: 低 128 字节(00H7FH)为真正的RAM区; 高 128 字节(80HFFH)为特殊功能寄存器区SFR。,7FH 普通RAM区 30H,2FH 位寻址区 20H,1FH 工作寄存器区 00H,44,7FH 真正RAM区 00H,MCS-

28、51 单片机片内RAM的配置图,FFH SFR区 80H,89C51内有256B的RAM单元,其地址范围为00HFFH,分为两大部分: 低 128 字节(00H7FH)为真正的RAM区; 高 128 字节(80HFFH)为特殊功能寄存器区SFR。,7FH 普通RAM区 30H,2FH 位寻址区 20H,1FH 工作寄存器区 00H,返回,07H 0组 00H,0FH 1组 08H,17H 2组 10H,1FH 3组 18H,1、工作寄存器区 是指00H1FH区, 共分4个组, 每组有8个单元, 共32个内部RAM单元。 2、每次只能有1组作为工作寄存器使用, 其它各组可以作为一般的数据缓冲区使

29、用。 3、作为工作寄存器使用的8个单元,又称为R0R7 4、程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择哪一组作为工作寄存器使用。CPU通过软件修改PSW中RS0和RS1两位的状态, 就可任选一个工作寄存器工作。,45,RS1、 RS0与片内工作寄存器组的对应关系,返回,46,工作寄存器和RAM地址对照表,返回,47,7FH 真正RAM区 00H,MCS-51 单片机片内RAM的配置下图 所示:,FFH SFR区 80H,7FH 普通RAM区 30H,2FH 位寻址区 20H,1FH 工作寄存器区 00H,20H,21H,22H,23H,24H,25H,26H,27

30、H,2FH,1、位寻址区是指 20H2FH单元,共16个单元。 2、位寻址区的每1位都可当作软件触发器, 由程序直接进行位处理。 3、 位寻址区的 16个单元(共计128位)的每1位都有一个8位表示的位地址, 位地址范围为00H1FH。 如表所示。 4、 同样, 位寻址的RAM单元也可以按字节操作作为一般的数据缓冲 区。,返回,48,内部RAM中位地址表,返回,49,7FH 真正RAM区 00H,MCS-51 单片机片内RAM的配置图,FFH SFR区 80H,返回,89C51内有256B的RAM单元,其地址范围为00HFFH,分为两大部分: 低 128 字节(00H7FH)为真正的RAM区;

31、 高 128 字节(80HFFH)为特殊功能寄存器区SFR。,1、高128B的RAM单元中有21个单元可用,称为SFR。这21个SFR分散在高128B的地址空间内,分别是A,B,PSW,SP,DPH,DPL,P0,P1,P2,P3,IP,IE,TCON,TMOD,TH0,TL0,TH1,TL1,SCON,SBUF,PCON。 2、有些可以按位寻址。 3、特殊功能寄存器名称、 标识符、 地址见表,50,特殊功能寄存器名称、 标识符、 地址一览表,返回,51,返回,52,2.3.3 特殊功能寄存器,返回,53,返回,54,1)累加器ACC(Accumulator),2)寄存器B,3)程序状态字(P

32、rogram Status Word),CY 进位/借位标志;位累加器。 AC 辅助进/借位标志;用于十进制调整。 F0 用户定义标志位;软件置位/清零。 OV 溢出标志; 硬件置位/清零。 P 奇偶标志;A中1的个数为奇数 P = 1;否则 P = 0。,返回,55,4)数据指针(DPTR),数据指针为16位寄存器,编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用,即高位字节寄存器DPH和低位字节DPL。,DPTR主要是用来保存16位地址,当对64kB外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令: MOVXA,DPTR MOVXDPTR,A,在访问程序存

33、储器时,DPTR可用来作基址寄存器,采用基址+变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据。 MOVCA,A+DPTR,返回,56,5)堆栈指针SP(Stack Pointer),指明栈顶元素的地址,8位,可软件设置初值,复位时SP = 07H。,返回,57,6)I/O口专用寄存器(P0、P1、P2、P3),I/O口寄存器P0、P1、P2和P3分别是MCS-51单片机的四组I/O口锁存器。,7)定时/计数器(TL0、TH0、TL1和TH1),MCS-51单片机中有两个16位的定时/计数器T0和T1,它们由四个8位寄存器组成的,两个16位定时/计数器却是完全独立的。我们可

34、以单独对这四个寄存器进行寻址,但不能把T0和T1当作16位寄存来使用。,8)定时/计数器方式选择寄存器(TMOD),TMOD寄存器是一个专用寄存器,用于控制两个定时计数器的工作方式,TMOD可以用字节传送指令设置其内容,但不能位寻址 。,返回,58,3.单片机程序运行的结果如何送给发光二极管?,从刚才的任务中,我们看到发光二极管随着程序的运行,有规律的闪动,那么,现在我们来看看单片机是怎样将程序中运行的结果送给发光二极管的。 原来,MCS-51单片机上有4组8位I/O口:P0、P1、P2和P3口,共有4个8位双向I/O口,共32口线。每位均有自己的锁存器(SFR),输出驱动器和输入缓冲器。 他

35、们在单片机中,主要承担了和单片机外部设备打交道的任务,下面我们分别介绍这几个I/O口:,2.4 并行输入/输出口,59,多路开关 功能:用于控制选通I/O方式还是地址/数据输出方式 方式控制:由内部控制信号产生,输入锁存器,两个输入缓冲器(BUF1和BUF2),推拉式I/O驱动器,P0口位图内部结构,说明: 1、当控制信号为0时,P0口做双向I/O口,为漏极开路(三态) 2、控制信号为1时,P0口为地址/数据复用总线(用于口扩展),1,0,(1)P0和P2口,60,一、P0口作I/O口(写Output): CP 有效,控制信号为0时,V1管截止,P0是对V2漏极开路输出,需要外接上拉电阻。 D

36、=1,V2截止,P0.X1;D=0,V2导通, P0.X0。,61,二、P0口作I/O口(读Input):1、读引脚(MOV C,P0.0) 读引脚信号使三态缓冲器打开,数据输入 (注:P0口做I/O输入时,必须先向电路中的锁存器写入“1”,使FET截止,否则FET导通,P0.X为0,无法读入高电平)。,62,2、读锁存器(ANL P0.0,C) 凡属于读-修改-写方式的指令,从锁存器读入信号,其 它指令则从端引脚线上读入信号。 读-修改-写指令的特点是,从端口输入(读)信号,在单片 机内加以运算(修改)后,再输出(写)到该端口上。,63,三、输出“地址/数据”,V1、V2管交替导通,负载能力

37、很强。 1、P0口作为地址总线:控制信号为1 地址信号为1,V1管导通,V2管截止,P0.X为高电平; 地址信号为0,V1管截止,V2管导通, P0.X为低电平。,64,2、P0口作数据总线:访问外部ROM时,P0口输出低8位地址后,将变为数据总线,以便取指令。 期间, “控制信号”为“0” ,V1管截止,多路开关转向Q; CPU自动将向锁存器 写“1” ,使V2管截止,读引脚。,65,P0口锁存器和缓冲器结构,P0口除了作普通的I/O口,直接和外部设备打交道外;还用作片外总线的地址总线AB0-AB7的低八位、数据总线。,66,P2口内部结构,2、当控制信号为1时 P2口输出地址信息, 此时单

38、片机完成外部的取指操作或对外部数据存储器16位地址的读写操作。 3、当P2口作为普通I/O口使用时 用法和P1口类似。,说明: 1、P2可以作为通用的I/O,也可以作为高8位地址输出。,67,P2口锁存器和缓冲器结构,P2口除了作普通的I/O口,直接和外部设备打交道外;还用作片外总线的地址总线的高八位地址线AB8-AB15,注意:P0口在作输出入口使用时,由于它无内部上拉电阻,为了在口线上输出高电平并具有一定的驱动能力,必须外接上拉电阻。作输入口使用时,为了防止口锁存器对输入口线的输入信号造成影响,必须先往口锁存器写1。同理,P2口作输入时,也必须先往口锁存器写1。,68,MCS-51片外总线

39、结构示意图,MCS-51单片机片外总线,P0.4,69,6264,WE,单片机 8031,P2.0,:,.,A8,. .,ALE,RD,74LS 373,G,A7 . . A0,P0.0 : P0.7,OE,CE,Q0 . . Q7,D0 . . D7,A12,P2.4,WR,D7 . . D0,70,P1口内部结构,P1口内部结构如图2所示 输出部分有内部上拉电阻R*约为20K。 其他部分与P0端口使用相类似(读引脚时先写入1)。,写数据,读端口,(2)P1口,71,P1口锁存器和缓冲器结构,P1口只用作普通输入输出口,注意:和P0、P2口一样,为防止口锁存器对输入口线造成影响,P1口作输入

40、时,也必须先往口锁存器写1。,72,2.5.4 P3口内部结构,说明: 1、做普通端口使用时,第二功能应为“1”。,2、使用第二功能时,输出端口锁存器应为“1”。 3、变异功能(第二功能),P3.0串行输入口(RXD) P3.1串行输出口(TXD) P3.2外中断0(INT0) P3.3外中断1(INT1) P3.4定时/计数器0的外部输入口(T0) P3.5定时/计数器1的外部输入口(T1) P3.6外部数据存储器写选通(WR) P3.7外部数据存储器读选通(RD),73,(3)P3口,P3口锁存器和缓冲器结构,P3口除了作普通的I/O口(功能和P1口一样)直接和外部设备打交道外;还具有第二

41、功能。,74,2.5.5 P0P3端口功能总结 使用中应注意的问题: P0P3口都是并行I/O口,但P0口和P2口还可用来构建数据总线和地址总线,所以电路中有一个MUX,进行转换。 而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无需转接开关MUX。 只有P0口是一个真正的双向口,P1P3口都是准双向口。 原因:P0口作数据总线使用时,为保证数据正确传送,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;否则应处于隔离状态。为此,P0口的输出缓冲器应为三态门。 P3口具有第二功能。因此在P3口电路增加了第二功能控制逻辑。这是P3口与其它各口的不同之处。,75,4.怎样保证

42、CPU工作 ?,现在我们知道了单片机怎样取指、执指,即怎样运行程序了。那么怎样才能保证CPU有序的工作?这就必须提到单片机的两个非常重要的外围电路:单片机的时钟电路和复位电路。,Pin19: 时钟XTAL1脚,片内振荡电路的输入端。 Pin18: 时钟XTAL2脚,片内振荡电路的输出端。,时钟电路如下,2.5 单片机的时序、引脚及其它,76,【振荡周期】:单片机外接石英晶体振荡器的周期。如外接石英晶体的频率若为12MHz,这其振荡周期就是1/12微秒。 【状态周期】:单片机完成一个最基本的动作所需的时间周期。如扫描一次定时器T0引脚状态所需要的时间。一个状态周期2个振荡周期。 【机器周期】:单

43、片机完成一次完整的具有一定功能的动作所需的时间周期。如一次完整的读操作或写操作对应的时间。一个机器周期6个状态周期。 【指令周期】: 执行完某条指令所需要的时间周期,一般需要14个机器周期,如MUL AB指令是四机器周期指令。一个指令周期14个机器周期。,77,若外接晶振为12MHz时,则单片机的四个周期的具体值为: 时钟周期1/12MHz1/12s0.0833s 状态周期1/6s0.167s 机器周期1s 指令周期14s 可用于计算指令、程序的执行时间,以及定时器的定时时间,78,单周期单字节指令时序,79,单字节单周期指令 例:INC A,双字节单周期指令 例:ADD A,DATA,单字节

44、双周期指令例:INC DPTR,CPU取指/执行时序,80,P1 P2,P1 P2,读操作码(丢弃),MOVX类指令(单字节双周期指令),无取指(无ALE),地址,数据,访问外部存储器,双字节双周期指令 例:MOV Rn,direct,读第二字节操作码,当CPU对外部RAM读写时,ALE不是周期信号,无取指,81,复位电路如下,单片机工作时,除了需要时钟支持外,还必须有一个初始状态,即单片机的复位状态。复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态如下表:,Pin9: RESET复位信号脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平

45、,系统即初始复位。,当VCC接通电源时,即可实现单片机的上电复位,82,83,5.发光二极管为何按一定频率闪烁?,在前面的任务中,灯有规律的间隔1S闪烁,离不开时间的控制。那么,这个时间我们在前面的程序中是怎样得到的?原来,在MSC-51单片机中有两个定时器T0、T1,我们在前面也已经提到了,它在单片机中能够利用中断实现定时或计数功能。详细的用法,在单元五、六进行讲解。,84,6.单片机的其他资源,通过本次任务的分析,我们基本上知道MCS-51单片机的结构,它由CPU、程序存储器、数据存储器、并行输入输出口、定时计数器、中断系统等构成,当然除了本次任务用到的以上资源外,51单片机还有一个串行通

46、讯口。,单片机的引脚除了我们前面介绍的4个并I/O口,两根时钟引脚(18、19脚),一根复位引脚(9脚),两根电源脚(40、20脚)外,还有以下一些引脚。,85,外部程序存储器读选通信号,地址锁存信号输出端1/6fosc,86,程序运行工作方式,MCS-51单片机的程序运行方式包括连续执行方式和单步执行方式两种。 其中连续执行方式是程序最基本的执行方式,即从PC指针开始,连续不断地执行程序,直到遇到结束或暂停标志。在系统复位时,PC总是指向0000H地址单元,而实际的程序应允许从程序存储器的任意位置开始,可通过执行若干种指令使PC指向程序的实际起始地址。,87,节电工作方式,MCS-51单片机的CHMOS器件具有两种降低功耗的工作方式:空闲方式和掉电方式。 MOS器件不具有这种功能。通过置位特殊功能寄存器PCON(电源控制寄存器

温馨提示

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

评论

0/150

提交评论