chapt2-单片机结构与时序

上传人:san****019 文档编号:70831479 上传时间:2019-01-18 格式:PPT 页数:81 大小:1.73MB
返回 下载 相关 举报
chapt2-单片机结构与时序_第1页
第1页 / 共81页
chapt2-单片机结构与时序_第2页
第2页 / 共81页
chapt2-单片机结构与时序_第3页
第3页 / 共81页
chapt2-单片机结构与时序_第4页
第4页 / 共81页
chapt2-单片机结构与时序_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《chapt2-单片机结构与时序》由会员分享,可在线阅读,更多相关《chapt2-单片机结构与时序(81页珍藏版)》请在金锄头文库上搜索。

1、1,第二章 MCS-51系列单片机的结构和原理,2.0 概 述 2.1 MCS-51单片机内部结构 2.2 MCS-51单片机引脚功能 2.3 MCS-51单片机工作方式 2.4 MCS-51单片机时序,2,MCS-51系列单片机是把构成计算机的CPU、存储器、I/O端口制作在一块集成电路芯片中。另外,还集成有定时器/计数器和中断系统等部件,因此可方便地用于定时控制和远程数据传送。 MCS-51的典型产品是8051、80C51、8052。MCS-51系列里,所以产品都是以8051为核心电路发展起来的,它们都具有8051的基本结构和软件特征。 8051是ROM型单片机,内部有4KROM;8031

2、无片内ROM,8052片内有8KROM。,2.0 概 述,3,从制造工艺看,MCS-51系列中的器件基本分为HMOS和CMOS两类。CMOS的特点是电流小且功耗低,但对电平要求高(高电平大于4.5V,低电平小于0.45V),HMOS对电平要求低(高电平大于2.0V,低电平小于0.8V),但功耗大。 8051采用HMOS工艺制造, 80C51BH系列采用CHMOS工艺制成,功耗低,其中87C51具有两级存储器保密系统,可防止非法拷贝 。 本章将以MCS-51系列的8051为典型例子,详细介绍MCS-51单片机的结构、性能、存储器结构及工作原理等内容。,4,2.1 MCS-51单片机内部结构,以8

3、051为例 由图可见,在这一块芯片上,集成了一台微型计算机的各个部分。其功能部件主要有CPU、存储器、可编程I/O端口、定时/计数器、串行口和中断系统等。各部分通过内部总线相连。具体包含1个8位中央处理器CPU、4KB程序存储器EPROM、128B随机存取存储器RAM、4个8位并行I/O接口、1个全双工串行通信接口、2个16位定时器/计数器及21个特殊功能寄存器。外部具有64KB程序存储器寻址能力和64KB数据存储器寻址能力。,5,6,8051单片机内部结构框图,XTAL1,XTAL2,7, 2.1.1 CPU结构,运算器,CPU,算术/逻辑部件ALU(Arithmetic Logic Uni

4、t),累加器ACC (Accumulator),程序状态字寄存器PSW (Program Status Word),暂存寄存器TMP1和TMP2,寄存器B,控制器,定时控制与条件转移逻辑电路,程序计数器PC,指令寄存器IR,指令译码器ID,8,1、运算器 运算器的功能主要是对数据进行加、减、乘、除等算术运算及“与”、“或”、“非”、“异或”等逻辑运算,还具有数据传送、移位、判断和程序转移等功能。对于位操作数,可进行置位、清零、求反、移位、条件判断及按位“与”、按位“或”等操作。 2、控制器 控制器电路包括程序计数器PC、PC加1寄存器、指令寄存器IR、指令译码器、数据指针DPTR、堆栈指针SP

5、、缓冲器以及定时与控制电路、振荡器(OSC)等。指令寄存器用于存放从程序存储器取出的指令码,定时控制逻辑用于对指令寄存器中的操作码进行译码,并在OSC的配合下产生执行该指令的时序脉冲,以完成相应指令的执行。,9,时钟电路或者OSC电路 MCS51芯片内部有时钟电路,但晶体振荡器和微调电容必须外接。时钟电路为单片机产生时钟脉冲序列,振荡器的频率范围为1.2MHz12MHz,典型取值为6MHz。,外接晶振,产生时钟信号,控制CPU的工作速度。,CPU各个功能部件及其专用寄存器组介绍,10,算术逻辑运算部件主要用来完成数据的算术和逻辑运算。ALU有2个输入端和2个输出端,其中一端接至累加器,接收由累

6、加器送来的一个操作数;另一端接收TMP中的第二个操作数。参加运算的操作数在ALU中进行规定的操作运算,运算结束后,一方面将结果送至累加器,同时将操作结果的特征状态送标志寄存器。,算术逻辑运算部件ALU,用于存放从程序存储器中取出的指令(即操作)码。,用于存放从程序存储器中取出的指令(即操作)码。,指令寄存器IR,用于存放从程序存储器中取出的指令(即操作)码。,11,累加器A或ACC,二进制8位寄存器,用来存放操作数或运算结果。在CPU执行某种运算前,两个操作数中的一个通常应放在累加器A中,运算完成后累加器A便可得到运算结果。累加器是一个特殊的寄存器,由于所有运算的数据都要通过累加器,故累加器在

7、微处理器中占有很重要的位置。,通用寄存器B,二进制8位寄存器,专门为乘法和除法设置的寄存器。在进行乘除法运算前,存放乘数或除数,在乘法或除法完成后用于存放乘积的高8位或除法的余数。除此之外,作为一般REG使用。,12,PSW称为程序状态字寄存器,是一个8位标志寄存器。用来存放指令执行后的有关状态。各位状态在指令执行过程自动形成,也可由用户根据需要利用传送指令加以改变。,Cy(PSW.7)进位标志位。当加减运算时,累加器A产生进位或借位时, Cy =1;当运算结果没有产生进位和借位时, Cy =0。,AC(PSW.6)辅助进位(或称半进位)标志。 当加减运算结果的低四位(A3)向高四位(A4)产

8、生进位或借位时, AC =1;当运算结果的A3向A4没有产生进位或借位时, AC =0。,OV(PSW.2)溢出标志位。 当运算结果产生溢出,则累加器A中运算结果超出8位数可表示范围时, OV置1;否则 OV =0。根据OV状态可判断累加器中运算结果是否正确。,程序状态字PSW,13,F0(PSW.7)用户标志位。该位状态由用户根据程序执行的需要通过传送指令确定,而且一经设定,便由用户程序直接检测,以决定用户程序流向。,P(PSW.0)奇偶标志位。当A中1的个数为奇数时, P =1;当A中1的个数为偶数时, P =0。,PSW.1为无定义位,用户可不使用。,RS1和RS0(PSW.3和PSW.

9、4)寄存器选择位。8051共有8个8位工作寄存器,分别命名为R0R7。但它在RAM中的实际物理地址是根据需要选定的。用户通过改变RS1和RS0的状态可以决定R0R7的实际物理地址。,14,二进制16位的程序地址寄存器。用来存放下一条将要执行的指令地址。程序中的指令是按照顺序存放在存储器中的某个连续区域。每条指令都有自己的地址,CPU执行指令时,先根据PC中的指令地址从存储器中取出当前需要执行的指令并把它送给控制器,随后PC中地址码自动加1,以便为CPU取出下一条指令。 具有自动加1功能,从而指向下一条将要执行的指令地址。PC的值可以修改,一般程序是按顺序执行指令的。若改变了PC的值,则程序将不

10、再按顺序执行。,程序计数器PC,8位寄存器。 SP用来存放堆栈的栈顶地址,能自动加1或减1。,堆栈指针SP,15,堆栈是在片内RAM区专门开辟出来的按照“先进后出”或“后进先出”原则进行数据存取的一块连续的存储区域。称为堆栈区。 堆栈有栈顶和栈底,栈底地址是固定不变的,它决定了堆栈在RAM中的物理位置;栈顶地址始终在SP中,是可以改变的,它决定堆栈中是否存放有数据。堆栈中为空(没有数据)时,二者重叠,SP指向最下端(栈底),向堆栈推入数据后,栈顶向上生长,SP也向上生长。 堆栈栈顶:最后推入堆栈的数据所在的存储单元 在进行操作之前, 先用指令给SP赋值, 以规定栈区在RAM区的起始地址(栈底层

11、)。当数据推入栈区后, SP的值也自动随之变化。访问堆栈区指令为:PUSH和POP。,16,一个 16 位的专用寄存器, 其高8位字节寄存器用DPH表示,低8位字节寄存器用DPL表示。DPTR既可作为一个 16 位寄存器DPTR来处理, 也可作为两个独立的 8 位寄存器DPH和DPL来处理。 DPTR 主要用来存放 16位地址,包括存放片内ROM的地址,以及片外RAM和片外ROM的地址。,数据指针DPTR,17, 2.1.2 存储器结构,MCS-51的存储器有ROM和RAM之分,还有片内和片外之分。MCS-51的片内存储器集成在芯片内部,是MCS-51的一个组成部分;片外存储器是外接的专用存储

12、器芯片,MCS-51只提供地址和控制命令,需要通过印刷电路板上三总线才能联机工作。 无论是片内还是片外,MCS-51对某存储单元的读写地址都是MCS-51提供的。,18,ROM(片内和片外) 片内RAM 区 片外RAM区 MCS-51存储器地址分配,19,一、程序存储器ROM及地址空间,ROM被称为只读存储器。程序存储器用于存放编好的程序、表格和常数。 8051片内有4K字节的ROM存储单元,地址为0000H0FFFH。8751有4K字节的EPROM,而8052和8752则有8K字节的片内存储器。8031和8032无片内程序存储器,所以片内程序存储器的有无是区分芯片的主要标志。 片外用16位地

13、址线最多可扩展64K字节ROM,两者是统一编址的。,20,0000H0FFFH的4KB地址区可以为片内和片外ROM公用,引脚EA用来指示这种占用:,21,在程序存储器中,有6个单元具有特殊功能,0003H:外部中断0入口地址。 000BH:定时器0中断入口地址。 0013H:外部中断1入口地址。 001BH:定时器1中断入口地址。 0023H:串行口中断入口地址。 使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序响应中断后跳转到用户安排的中断程序起始地址,或者从0000H起始地址跳转到用户设计的初始程序上。,0000H: 8051复位后,PC0000H,即程序从0000H开始执行指令。

14、,22,二、数据存储器RAM及地址空间,数据存储器,片外RAM容量不超过64KB,地址范围0000HFFFFH,片内RAM128B(低128字节),地址范围00H7FH,使用时只能用MOVX指令访问,使用MOV指令访问,可以进行堆栈操作,23,片外数据存储器和I/O口与片内数据存储器空间0000HFFFFH是重叠的。在8051单片机中采用MOV和MOVX两种指令来区分片内外RAM空间。程序运行时,片外数据存储器只能通过地址寄存器DPTR和通用寄存器R0、R1间接寻址。,片外RAM,用R0和R1只能访问低256个字节单元,用DPTR可访问64KB单元。指令格式如下: MOVX A, R0 MOV

15、X A, R1 MOVX A, DPTR MOVX R0, A MOVX R1, A MOVX DPTR, A,24,内部 RAM共128个字节单元,片内数据存储器空间分布图如下:,通用RAM区 (80B),位地址区 (16B),寄存器区 4组(32B),7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,寄存器区 4组(32B),. . . . .,寄存器工作区的选择:由PSW中的3-4位RS1、RS0来决定选哪一组为当前工作寄存器: RS1、RS0=00 选0组(00H07H) RS1、RS0=01 选1组(08H0FH) RS1、RS0=10 选2组(10H17H) RS1、RS0=

16、11 选3组(18H1FH) 工作寄存器区 是指00H1FH区, 共分4个组, 每组有8个单元, 共32个内部RAM单元。每次只能有1组作为工作寄存器使用, CPU通过软件修改PSW中RS0和RS1两位的状态, 就可任选一个工作寄存器工作,其它各组可以作为一般的数据缓冲区使用。,00H,30H 2FH 20H 1FH,. . .,片内RAM(低128字节),25,位地址区,在工作寄存器后的16个数据单元(20H2FH),它们既可以作为一般的数据单元使用,按字节寻址,又可以按位对每个单元进行操作,即位处理,因此这16个数据单元又称作位寻址区。位寻址区共计128位,其位地址为00H7FH。,26,通用RAM区 (80B),位地址区 (16B),00H,30H 2FH 20H 1FH,7FH,寄存器3组 寄存器2组 寄存器1组 寄存器0组,通用RAM区,. . .,. . .,剩余的80个数据单元即30H

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号