MC单片机的硬件结构.pptx

上传人:一*** 文档编号:82686602 上传时间:2023-03-26 格式:PPTX 页数:95 大小:1.68MB
返回 下载 相关 举报
MC单片机的硬件结构.pptx_第1页
第1页 / 共95页
MC单片机的硬件结构.pptx_第2页
第2页 / 共95页
点击查看更多>>
资源描述

《MC单片机的硬件结构.pptx》由会员分享,可在线阅读,更多相关《MC单片机的硬件结构.pptx(95页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、任务一任务一 单灯受控闪烁单灯受控闪烁学学习习目目标标:过过学学习习任任务务一一的的完完成成方方法法,熟熟悉悉mcs-51mcs-51单单片片机机的的内内部部结结构构,掌掌握握mcs-51mcs-51单片机各组成部分的功能和特点单片机各组成部分的功能和特点。任务描述任务描述:单片机上电工作时,发光二极管间隔单片机上电工作时,发光二极管间隔1S1S闪烁闪烁。第1页/共95页 硬件电路与工作原理 硬件电路硬件电路第2页/共95页由该任务引出:1.单片机如何运行程序?2.单片机的软件及数据如何存放?3.单片机程序运行的结果如何送给发光二极管?4.怎样保证CPU工作?5.发光二极管为何按一定频率闪烁?

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

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

4、时和控制部件构成的控制器,包括定时控制逻辑、指令寄存器、指令译码器、数据地址指针DPTR、程序计数器PC、堆栈指针SP、RAM地址寄存器以及16位地址缓冲器等。运算器(ALU、专用寄存器)第8页/共95页 MCS-51系列单片机的基本结构图系列单片机的基本结构图 CPURAMROM中断系统串行口并行口定时计数器振荡电路X1X2P0P1P2P3TXDRXDINT0INT1T0T1计算机微机第9页/共95页 MCS-51系列单片机的基本结构图系列单片机的基本结构图 X1X2P0P1P2P3TXDRXDINT0INT1返回CPURAMROM中断系统串行口并行口定时计数器振荡电路X1X2P0P1P2P

5、3TXDRXDINT0INT1T0T11、RAM被称为随机读写存储器。2、用于存放数据。3、具有易失性:芯片掉电后,其内的信息消失。第10页/共95页 MCS-51系列单片机的基本结构图系列单片机的基本结构图 T0T1CPURAMROM中断系统串行口并行口定时计数器振荡电路X1X2P0P1P2P3TXDRXDINT0INT1T0T11、ROM被称为只读存储器。2、用于存放程序。3、具有非易失性:掉电后其内的信息依然存在。返回第11页/共95页运算器 最终结果数中间结果/据最后结果原始数据与程序最后 结果程序计算机系统的硬件组成框图存储器控制器输出设备输入设备单片机微机返回第12页/共95页DB

6、CPUABCB存储器存储器I/O口口微机的结构框图微机的结构框图单片机计算机返回第13页/共95页80C51单片机的内部结构ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P3ALU2.2 中央处理器中央处理器CPUCPU第14页/共95页80C51单片机的内部结构返回ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P3ALU算术逻辑运算部件主要用来完成数据的算术和逻辑运算。ALU有2个输入端和2个输出端,其中一端接至累加器

7、,接收由累加器送来的一个操作数;另一端接收TMP的第二个操作数。参加运算的操作数在ALU中进行规定的操作运算,运算结束后,一方面将结果送至累加器,同时将操作结果的特征状态送标志寄存器。第15页/共95页89C51单片机的内部结构ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P3ALU1、16位寄存器位寄存器2、存放下一条将要执行的指令地、存放下一条将要执行的指令地址址.程序中的指令是按照顺序存放在存储器中的某个连续区域.每条指令都有自己的地址,CPU根据PC中的指令地址从存储器中取出将要执行的指令.3、具有

8、自动加自动加1 1功能功能,从而指向下一条将要执行的指令地址.4、PCPC的值可以修改,的值可以修改,一般程序是按顺序执行指令的.若改变了的PC的值,则程序将不再按顺序执行。返回第16页/共95页80C51单片机的内部结构ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P3IRIR:用来存放当前正在执行的指令代码 。IDID:用来对指令代码进行分析、译码,根据指令译码的结果,输出相应的控制信号。PLAPLA:产生出各种操作电位、不同节拍的信号、时序脉冲等执行此条命令所需的全部控制信号。返回第17页/共95页8

9、0C51单片机的内部结构X1X2PSENRSTALEEAATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P31、8位寄存器2、累加器是一个特殊的寄存器,它的字长和微处理器的字长相同,累加器具有输入输出和移位功能,微处理器采用累加器结构可以简化某些逻辑运算。3、由于所有运算的数据都要通过累加器,故累加器在微处理器中占有很重要的位置。ALU返回第18页/共95页80C51单片机的内部结构X1X2PSENRSTALEEAATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X

10、2PSENRSTALEEAP0P1P2P3ALU1、8位寄存器2、在进行乘除法运算时,存放参与运算的一个操作数3、除此之外,作为一般工作寄存器使用返回第19页/共95页ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P31、PSW称为程序状态字寄存器,是一个8位寄存器。2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov -PALU返回第20页/共95页ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEE

11、AP0P1P2P31、程序状态字寄存器。8位寄存器。2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov -PALU返回 Cy(PSW.7)进位标志位。当运算结果产生进位时,Cy=1;当运算结果没有产生进位时,Cy=0。第21页/共95页ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P31、程序状态字寄存器。8位寄存器。2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov -PALUAC(PSW.6)辅助进位(或称半进位)标志。当运

12、算结果的D3向D4产生进位时,AC=1;当运算结果的D3向D4没有产生进位时,AC=0。返回第22页/共95页ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P31、程序状态字寄存器。8位寄存器。2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov -PALUOV(PSW.2)溢出标志位。当运算结果产生溢出时,OV=1;当运算结果没有产生溢出时,OV=0。返回第23页/共95页ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X

13、2PSENRSTALEEAP0P1P2P31、程序状态字寄存器。8位寄存器。2、D7 D6 D5 D4 D3 D2 D1 D0 Cy Ac F0 RS1 RS0 Ov -PALUP(PSW.0)奇偶标志位。当A中1的个数为奇数时,P=1;当A中1的个数为偶数时,P=0。返回第24页/共95页80C51单片机的内部结构X1X2ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P31、SP称为堆栈指针,8位寄存器2、SP用来存放堆栈栈顶的地址。返回第25页/共95页先加(先加(SP+1SP+1)后压)后压(数据数据

14、),先弹(数据)后减(,先弹(数据)后减(SP-SP-1 1)。)。89H80H70H50H栈底栈底SPSP入栈过程PUSHACC出栈过程POPACCSP89HSP89HAA 89H80H70H50H栈底栈底第26页/共95页80C51单片机的内部结构X1X2ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P31、8位寄存器2、SP用来存放堆栈栈顶的地址。返回1、堆栈是在内RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一块连续的存储区域。2、堆栈有栈顶和栈底,堆栈中没有数据时,二者重叠,SP指向最下

15、端(栈底),向堆栈推入数据后,栈顶向上生长,SP也向上生长。3、堆栈栈顶:最后推入堆栈的数据所在的存储单元4、SP用来指示堆栈所处的位置,在进行操作之前,先用指令给SP赋值,以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后,SP的值也自动随之变化。63H64H65H66H67H栈底演示第27页/共95页80C51单片机的内部结构X1X2ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P31、8位寄存器2、SP用来存放堆栈栈顶的地址。返回1、堆栈是在内RAM区专门开辟出来的按照“先进后出”原则进行数据

16、存取的一块连续的存储区域。2、堆栈有栈顶和栈底,堆栈中没有数据时,二者重叠,SP指向最下端(栈底),向堆栈推入数据后,栈顶向上生长,SP也向上生长。3、堆栈栈顶:最后推入堆栈的数据所在的存储单元4、SP用来指示堆栈所处的位置,在进行操作之前,先用指令给SP赋值,以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后,SP的值也自动随之变化。63H64H65H66H67H栈底12H46H73HSP=63HSP=64HSP=66HSP=65H入栈第28页/共95页80C51单片机的内部结构X1X2ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2

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

18、6H第29页/共95页80C51单片机的内部结构X1X2ATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P31、8位寄存器2、SP用来存放堆栈栈顶的地址。返回1、堆栈是在内RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一块连续的存储区域。2、堆栈有栈顶和栈底,堆栈中没有数据时,二者重叠,SP指向最下端(栈底),向堆栈推入数据后,栈顶向上生长,SP也向上生长。3、堆栈栈顶:最后推入堆栈的数据所在的存储单元4、SP用来指示堆栈所处的位置,在进行操作之前,先用指令给SP赋值,以规定栈区在RAM区的起始地址

19、(栈底层)。当数据推入栈区后,SP的值也自动随之变化。63H64H65H66H67H栈底SP=64HSP=66HSP=65H73H73H46H46H12H第30页/共95页80C51单片机的内部结构PSENRSTALEEAATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P31、数据指针DPTR是一个16位的专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。2、既可作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。3、DPTR主要用来存放16位地址,当对6

20、4KB外部数据存储器空间寻址时,作为间址寄存器用。在访问程序存储器时,用作基址寄存器。返回演示第31页/共95页DPTR0003H34HATMPPSWBSPDPTR0003HRAMPCROM定时中断串口返回ALU读写控制输入输出电路地址译码器RAM芯片单片机DBCBAB0003HDPTR0003HWR34H第32页/共95页80C51单片机的内部结构PSENRSTALEEAATMPPSWBSPDPTRRAMPCROMP1P2P3P0定时中断串口IRPLAID振荡X1X2PSENRSTALEEAP0P1P2P380C51内有的4K的ROM;不够用时可以外扩ROM;内ROM+外ROM64K返回第3

21、3页/共95页2.2.2.2.单片机的软件及数据如何存放?单片机的软件及数据如何存放?单片机的软件及数据如何存放?单片机的软件及数据如何存放?从前面的任务中,我们还看到要控制灯闪烁,必须编制程序,还必须将控制灯的相关数据预先存储,那么,在单片机中的程序和数据是怎样保存的?原来,在单片机内部有程序存储器和数据存储器,如果内部程序存储器和数据存储器的容量不够的话,还可以在单片机外部为它扩展,最大我们可以将程序存储器空间总容量扩大到64K,将数据存储器在片外再单独扩展64K,这样,以89S51为例,数据存储器的总容量可达64K(片外)128字节(片内)。MCS-51单片机的存储器组织结构,采用典型的

22、哈佛结构,即程序存储器和数据存储器完全独立,拥有各自的寻址系统,包括片内数据存储器与片外数据存储器都拥有自己独立的寻址系统。2.3 存储器存储器第34页/共95页)(外部K64RAM数据存储器数据存储器MCS-51MCS-51单片机存储器组织结构单片机存储器组织结构单片机存储器组织结构单片机存储器组织结构 程序存储器程序存储器1EA内部ROM=外部ROM0EA外部ROM=返回第35页/共95页程序存储器内部数据存储器特殊功能寄存器2.3 存储器存储器返回第36页/共95页程序存储器程序存储器程序存储器程序存储器用途:存放程序及程序运行时所需的常数。寻址范围:00000000H FFFFH H

23、FFFFH 容量6464KBKB,即地址长度:1616位 ,寻址内部ROM;说明:当PC值超过片内ROM容量时会自动转向外部存储器空间。,寻址外部ROM。说明:8031单片机必须接低电平。1 1)返回第37页/共95页2)程序存储器的分类程序存储器的分类 (1 1)Mask ROM Mask ROM 型:掩膜型:掩膜ROMROM,如,如8051ROM8051ROM(2 2)OTPROMOTPROM型:一次可编程型:一次可编程ROMROM(3 3)EPROMEPROM型:可擦除可编程型:可擦除可编程ROMROM,如,如8751ROM8751ROM(4 4)E E2 2PROMPROM型:电可擦除

24、可编程型:电可擦除可编程ROMROM(5 5)Flash ROMFlash ROM型:闪速只读存储器,如型:闪速只读存储器,如ATMELATMEL公司的公司的AT89AT89系列系列(89C51)(89C51)返回第38页/共95页MCS-51系列单片机的分类常用的MCS51系列单片机有2种类型的产品:8051/8751/89C51和8031。它们的结构基本相同,其主要差别反映在存储器的配置上的不同:8051内内设有设有4KB的的掩膜ROM;8751内设有4KB的EPROM;89C51内设有内设有4KB的的FlashROM;8031内没有内没有ROM。MCS-51 MCS-51 系列单片机配置

25、一览表系列单片机配置一览表第39页/共95页3 3)程序存储器中6 6个具有特殊含义的单元 0000H系统复位,PC指向此处;0003H外部中断0入口000BHT0溢出中断入口 0013H外中断1入口001BHT1溢出中断入口0023H串口中断入口返回第40页/共95页数据存储器数据存储器数据存储器数据存储器用途:存放程序执行的中间结果和过程数据的。物理上分为两大区域:00H7FH即128B用户RAM区。80HFFH即特殊功能寄存器区。R0、R1、R2、R3、R4、R5、R6、R7即可位寻址,又可字节寻址数据缓冲区、堆栈区、工作单元返回第41页/共95页7FH真正RAM区00HMCS-51 单

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

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

28、元,又称为R0R74、程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择哪一组作为工作寄存器使用。CPU通过软件修改PSW中RS0和RS1两位的状态,就可任选一个工作寄存器工作。第44页/共95页RS1、RS0与片内工作寄存器组的对应关系RS1RS0寄存器组片内PAM地址通用寄存器名称000组00H07HR0R7011组08H0FHR0R7102组10H17HR0R7113组18H1FHR0R7返回第45页/共95页工作寄存器和RAM地址对照表 返回第46页/共95页7FH真正RAM区00HMCS-51 单片机片内RAM的配置下图 所示:FFHSFR区80H7FH普通RA

29、M区30H2FH位寻址区20H1FH工作寄存器区00H20H21H22H23H24H25H26H27H2FH1、位寻址区是指20H2FH单元,共16个单元。2、位寻址区的每1位都可当作软件触发器,由程序直接进行位处理。3、位寻址区的16个单元(共计128位)的每1位都有一个8位表示的位地址,位地址范围为00H1FH。如表所示。4、同样,位寻址的RAM单元也可以按字节操作作为一般的数据缓冲区。返回第47页/共95页内部RAM中位地址表返回第48页/共95页7FH真正RAM区00HMCS-51 单片机片内RAM的配置图FFHSFR区80H返回 89C51内有256B的RAM单元,其地址范围为00H

30、FFH,分为两大部分:低 128 字节(00H7FH)为真正的RAM区;高 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、特殊功能寄存器名称、标识符、地址见表第49页/共95页特殊功能寄存器名称、标识符、地址一览表返回第50页/共95页返回第51页/共95页特殊功能寄存器特殊功能寄存器特殊功能寄存器特

31、殊功能寄存器 寄存器 位地址/位定义 地址 F7F7 F6F6 F5F5 F4F4 F3F3 F2F2 F1F1 F0F0 B B F0HF0H E7E7 E6E6 E5E5 E4E4 E3E3 E2E2 E1E1 E0E0 ACCACC E0E0 D7D7 D6D6 D5D5 D4D4 D3D3 D2D2 D1D1 D0D0 PSWPSW CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV /P P D0HD0H BFBF BEBE BDBD BCBC BBBB BABA B9B9 B8B8 IPIP B8HB8H B7B7 B6B6 B5B5 B4B4 B3B3 B2B2

32、B1B1 B0B0 P3P3 P3.7P3.7 P3.6P3.6 P3.5P3.5 P3.P3.4 4 P3.3P3.3 P3.2P3.2 P3.1P3.1 P3.0P3.0 B0HB0H IEIE A8HA8H A7A7 A6A6 A5A5 A4A4 A3A3 A2A2 A1A1 A0A0 P2P2 P2.7P2.7 P2.6P2.6 P2.5P2.5 P2.4P2.4 P2.3P2.3 P2.2P2.2 P2.1P2.1 P2.0P2.0 A0HA0H SBUFSBUF 9999H H 返回第52页/共95页返回第53页/共95页1 1 1 1)累加器累加器累加器累加器ACC(Accumu

33、lator)ACC(Accumulator)2 2 2 2)寄存器寄存器寄存器寄存器B B3 3 3 3)程序状态字程序状态字程序状态字程序状态字(ProgramStatusWord)(ProgramStatusWord)位序位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志位标志CYACF0RS1RS0OV-PCY进位/借位标志;位累加器。AC辅助进/借位标志;用于十进制调整。F0用户定义标志位;软件置位/清零。OV溢出标志;硬件置位/清零。P奇偶标志;A中1的个数为奇数P=1;否则P=0。返回第54页/共95页4 4 4 4)数据指针数据指针数据指针

34、数据指针(DPTR)(DPTR)数据指针为16位寄存器,编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用,即高位字节寄存器DPH和低位字节DPL。DPTR主要是用来保存16位地址,当对64kB外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令:MOVXA,DPTRMOVXDPTR,A在访问程序存储器时,DPTR可用来作基址寄存器,采用基址+变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据。MOVCA,A+DPTR返回第55页/共95页5 5 5 5)堆栈指针堆栈指针堆栈指针堆栈指针SP(StackPointer)SP(StackPointer

35、)指明栈顶元素的地址,8位,可软件设置初值,复位时SP=07H。返回第56页/共95页6 6 6 6)I/OI/O口专用寄存器口专用寄存器口专用寄存器口专用寄存器(P0(P0、P1P1、P2P2、P3)P3)I/O口寄存器P0、P1、P2和P3分别是MCS-51单片机的四组I/O口锁存器。7 7 7 7)定时定时定时定时/计数器计数器计数器计数器(TL0(TL0、TH0TH0、TL1TL1和和和和TH1)TH1)MCS-51单片机中有两个16位的定时/计数器T0和T1,它们由四个8位寄存器组成的,两个16位定时/计数器却是完全独立的。我们可以单独对这四个寄存器进行寻址,但不能把T0和T1当作1

36、6位寄存来使用。8 8 8 8)定时定时定时定时/计数器方式选择寄存器计数器方式选择寄存器计数器方式选择寄存器计数器方式选择寄存器(TMOD)(TMOD)TMOD寄存器是一个专用寄存器,用于控制两个定时计数器的工作方式,TMOD可以用字节传送指令设置其内容,但不能位寻址。返回第57页/共95页3.3.3.3.单片机程序运行的结果如何送给发光二极管?单片机程序运行的结果如何送给发光二极管?单片机程序运行的结果如何送给发光二极管?单片机程序运行的结果如何送给发光二极管?从刚才的任务中,我们看到发光二极管随着程序的运行,有规律的闪动,那么,现在我们来看看单片机是怎样将程序中运行的结果送给发光二极管的

37、。原来,MCS-51单片机上有4组8位I/O口:P0、P1、P2和P3口,共有4个8位双向I/O口,共32口线。每位均有自己的锁存器(SFR),输出驱动器和输入缓冲器。他们在单片机中,主要承担了和单片机外部设备打交道的任务,下面我们分别介绍这几个I/O口:2.4 2.4 并行输入并行输入/输出口输出口第58页/共95页多路开关多路开关1)功能功能:用于控制选通I/O方式还是地址/数据输出方式2)方式控制方式控制:由内部控制信号产生输入锁存器两个输入缓冲器(BUF1和BUF2)推拉式I/O驱动器P0P0口位图内部结构口位图内部结构BUF2BUF1说明:说明:1 1、当控制信号为、当控制信号为0

38、0时,时,P0P0口做口做双向双向I/OI/O口,为漏极开路(三口,为漏极开路(三态)态)2 2、控制信号为、控制信号为1 1时,时,P0P0口为地口为地址址/数据复用总线(用于口扩数据复用总线(用于口扩展)展)Q QQ QD DC CVccVcc控制控制AD0AD0P0R1P0R1 P0R2P0R2D0D0P0WP0W图图1 1、P0P0口内部结构口内部结构读锁存器读锁存器读引脚读引脚锁存器锁存器内部总线内部总线写锁存器写锁存器地址地址/数据数据P0P0多路开关多路开关10(1 1)P0P0和和P2P2口口第59页/共95页一、P0口作I/O口(写Output):CP有效,控制信号为0时,V

39、1管截止,P0是对V2漏极开路输出,需要外接上拉电阻。D=1,V2截止,P0.X1;D=0,V2导通,P0.X0。第60页/共95页二、P0口作I/O口(读Input):1、读引脚(MOVC,P0.0)读引脚信号使三态缓冲器打开,数据输入(注:P0口做I/O输入时,必须先向电路中的锁存器写入“1”,使FET截止,否则FET导通,P0.X为0,无法读入高电平)。第61页/共95页2、读锁存器、读锁存器(ANLP0.0,C)凡属于读凡属于读-修改修改-写方式的指令,从锁存器读入信号,写方式的指令,从锁存器读入信号,其其它指令则从端引脚线上读入信号。它指令则从端引脚线上读入信号。读读-修改修改-写指

40、令的特点是,从端口输入写指令的特点是,从端口输入(读读)信号,在信号,在单片单片机内加以运算机内加以运算(修改修改)后,再输出后,再输出(写写)到该端口上。到该端口上。第62页/共95页三、输出“地址/数据”,V1、V2管交替导通,负载能力很强。1、P0口作为地址总线:控制信号为1地址信号为1,V1管导通,V2管截止,P0.X为高电平;地址信号为0,V1管截止,V2管导通,P0.X为低电平。第63页/共95页2、P0口作数据总线:访问外部ROM时,P0口输出低8位地址后,将变为数据总线,以便取指令。期间,“控制信号”为“0”,V1管截止,多路开关转向Q;CPU自动将向锁存器写“1”,使V2管截

41、止,读引脚。第64页/共95页P0P0口锁存器和缓冲器结构口锁存器和缓冲器结构口锁存器和缓冲器结构口锁存器和缓冲器结构P0口除了作普通的I/O口,直接和外部设备打交道外;还用作片外总线的地址总线AB0-AB7的低八位、数据总线。第65页/共95页 P2口内部结构2 2、当控制信号为、当控制信号为1 1时时FP2P2口输出地址信息,口输出地址信息,F此时单片机完成外部的此时单片机完成外部的取指操作或对外部数据取指操作或对外部数据存储器存储器1616位地址的读写位地址的读写操作。操作。3 3、当、当P2P2口作为普通口作为普通I/OI/O口使用时口使用时F用法和用法和P1P1口类似。口类似。说明:

42、说明:1 1、P2P2可以作为通用的可以作为通用的I/OI/O,也可以,也可以作为作为高高8 8位地址位地址输出。输出。第66页/共95页P2P2口锁存器和缓冲器结构口锁存器和缓冲器结构口锁存器和缓冲器结构口锁存器和缓冲器结构P2口除了作普通的I/O口,直接和外部设备打交道外;还用作片外总线的地址总线的高八位地址线AB8-AB15注意:P0口在作输出入口使用时,由于它无内部上拉电阻,为了在口线上输出高电平并具有一定的驱动能力,必须外接上拉电阻。作输入口使用时,为了防止口锁存器对输入口线的输入信号造成影响,必须先往口锁存器写1。同理,P2口作输入时,也必须先往口锁存器写1。第67页/共95页P0

43、.3地址锁存器CBI/OA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0DBABP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RESETP3.0P3.1P3.3P3.4P3.5P3.6P3.7VSSVCC P0.0P0.1P0.2P0.5P0.6P0.7EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3.2MCS-51片外总线结构示意图 MCS-51单片机片外总线 P0.4第68页/共95页单片机8031P2.0P2.1P2.2A8A9A10ALERD74LS373G6264A7A

44、6A5A4A3A2A1A0O0O1O2O3O4O5O6O7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7OECEQ0Q1Q2Q3Q4Q5Q6Q7D0D1D2D3D4D5D6D7WEWRP2.7P2.3P2.4A11A126264WE单片机8031P2.0:.A8.ALERD74LS373GA7.A0P0.0P0.0 :P0.7P0.7OECEQ0.Q7D0.D7A12P2.4WRD7.D0第69页/共95页P1口内部结构P1P1口内部结构如图口内部结构如图2 2所示所示输出部分有内部上拉电阻输出部分有内部上拉电阻R*R*约为约为20K20K。其他部分与其他部分与P0P0端口使

45、用相类似(读引脚时先写入端口使用相类似(读引脚时先写入1 1)。)。写数据读端口(2 2)P1P1口口第70页/共95页P1P1口锁存器和缓冲器结构口锁存器和缓冲器结构口锁存器和缓冲器结构口锁存器和缓冲器结构P1口只用作普通输入输出口注意:和P0、P2口一样,为防止口锁存器对输入口线造成影响,P1口作输入时,也必须先往口锁存器写1。第71页/共95页口内部结构说明:说明:1、做普通端口使用时,第、做普通端口使用时,第二功能应为二功能应为“1”。2、使用第二功能时,输出端口锁存器应为“1”。3、变异功能(第二功能)1输出I/O口1读I/O口1 1P3.0串行输入口(RXD)P3.1串行输出口(T

46、XD)P3.2外中断0(INT0)P3.3外中断1(INT1)P3.4定时/计数器0的外部输入口(T0)P3.5定时/计数器1的外部输入口(T1)P3.6外部数据存储器写选通(WR)P3.7外部数据存储器读选通(RD)第72页/共95页(3 3 3 3)P3P3P3P3口口口口P3P3口锁存器和缓冲器结构口锁存器和缓冲器结构口锁存器和缓冲器结构口锁存器和缓冲器结构P3口除了作普通的I/O口(功能和P1口一样)直接和外部设备打交道外;还具有第二功能。第73页/共95页P3P3端口功能总结端口功能总结使用中应注意的问题:使用中应注意的问题:P0P0P3P3口口都都是是并并行行I/OI/O口口,但但

47、P0P0口口和和P2P2口口还还可可用用来来构构建建数据总线和地址总线,所以数据总线和地址总线,所以电路中有一个电路中有一个MUXMUX,进行转换。,进行转换。而而P1P1口口和和P3P3口口无无构构建建系系统统的的数数据据总总线线和和地地址址总总线线的的功功能能,因此,因此,无需转接开关无需转接开关MUXMUX。只有只有P0P0口口是一个真正的是一个真正的双向口双向口,P1P1P3P3口口都是都是准双向口准双向口。原原因因:P0P0口口作作数数据据总总线线使使用用时时,为为保保证证数数据据正正确确传传送送,需需解解决决芯芯片片内内外外的的隔隔离离问问题题,即即只只有有在在数数据据传传送送时时

48、芯芯片片内内外外才才接接通通;否否则则应应处处于于隔隔离离状状态态。为为此此,P0P0口口的的输输出出缓冲器应为三态门。缓冲器应为三态门。P3P3口口具具有有第第二二功功能能。因因此此在在P3P3口口电电路路增增加加了了第第二二功功能能控控制逻辑。这是制逻辑。这是P3P3口与其它各口的不同之处口与其它各口的不同之处。第74页/共95页4.4.4.4.怎样保证怎样保证怎样保证怎样保证CPUCPU工作工作工作工作?现在我们知道了单片机怎样取指、执指,即怎样运行程序了。那么怎样才能保证CPU有序的工作?这就必须提到单片机的两个非常重要的外围电路:单片机的时钟电路和复位电路。Pin19:时钟XTAL1

49、脚,片内振荡电路的输入端。Pin18:时钟XTAL2脚,片内振荡电路的输出端。时钟电路如下时钟电路如下时钟电路如下时钟电路如下2.5单片机的时序、引脚及其它单片机的时序、引脚及其它第75页/共95页【振荡周期】:单片机外接石英晶体振荡器的周期。如外接石英晶体的频率若为12MHz,这其振荡周期就是1/12微秒。【状态周期】:单片机完成一个最基本的动作所需的时间周期。如扫描一次定时器T0引脚状态所需要的时间。一个状态周期2个振荡周期。【机器周期】:单片机完成一次完整的具有一定功能的动作所需的时间周期。如一次完整的读操作或写操作对应的时间。一个机器周期6个状态周期。【指令周期】:执行完某条指令所需要

50、的时间周期,一般需要14个机器周期,如MULAB指令是四机器周期指令。一个指令周期14个机器周期。第76页/共95页若外接晶振为若外接晶振为12MHz时,则单片机的四个周时,则单片机的四个周期的具体值为:期的具体值为:时钟周期时钟周期1/12MHz1/12s0.0833s状态周期状态周期1/6s0.167s机器周期机器周期1s指令周期指令周期14s可用于计算指令、程序的执行时间,以及定时可用于计算指令、程序的执行时间,以及定时器的定时时间器的定时时间第77页/共95页一个机器周期P1 P2P1 P2单字节单周期指令例:INC A单周期单字节指令时序单周期单字节指令时序第78页/共95页单字节单

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁