单片机的结构和时序.ppt

上传人:小飞机 文档编号:6449699 上传时间:2023-11-01 格式:PPT 页数:84 大小:2.38MB
返回 下载 相关 举报
单片机的结构和时序.ppt_第1页
第1页 / 共84页
单片机的结构和时序.ppt_第2页
第2页 / 共84页
单片机的结构和时序.ppt_第3页
第3页 / 共84页
单片机的结构和时序.ppt_第4页
第4页 / 共84页
单片机的结构和时序.ppt_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《单片机的结构和时序.ppt》由会员分享,可在线阅读,更多相关《单片机的结构和时序.ppt(84页珍藏版)》请在三一办公上搜索。

1、1,单片机原理与应用,授课教师:曲培树 E-mail:,2,MCS-51系列单片机结构和工作原理,3,1 MCS-51系列单片机的内部结构2 MCS-51单片机引脚功能3 MCS-51单片机的工作方式4 MCS-51单片机时序,4,什么是单片机?所谓单片机(Single Chip Microcomputer),是指在一块芯片中集成有中央处理器(CPU)、存储器(RAM和ROM)、基本I/O接口以及定时器、计数器等部件,并具有独立指令系统的智能器件,即在一块芯片上实现一台微型计算机的基本功能。特点是:体积小,控制功能强,性价比高等,5,1 MCS-51系列单片机概述,MCS-51是指由美国Int

2、el公司生产的一系列单片机的总称,这一系列单片机包括了许多型号,如8031,8051,8751,8032,8052,8752等。其中8051是最早生产、最典型的产品。MCS-51系列的其他单片机,都是在以8051为内核的基础上,进行了功能的增加以及外围接口的改变。因此,人们习惯于用8051来称呼MCS-51系列单片机。,6,1.1 MCS-51系列单片机简介,Intel公司将8051的核心技术授权给了很多其他公司,所以有很多公司在生产以8051为核心的单片机。MCS-51系列单片机共有十多种芯片,分为两大系列,即51子系列与52子系列,并以芯片型号的末位数字作为标志。它们的内部结构基本相同,其

3、中51子系列是基本型,52子系列是增强型。MCS-51系列单片机各种芯片的技术指标见下表。,7,MCS-51系列单片机芯片技术指标,8,2 MCS-51单片机引脚功能,两种封装:1.双列直插式封装,9,2.方形封装,10,2.1 MCS-51单片机引脚及其功能,8051有40条引脚,共分为端口线、电源线和控制线三类,11,12,3.电源线(2条)VCC为+5V电源线;VSS为接地线,13,2.2 8031对片外存储器的连接,14,内部结构框图如图所示,15,8051各功能部件划分为以下五部分:,CPU存储器I/O端口定时器/计数器中断系统,16,1 CPU结构,8051内部CPU是一个字长为8

4、位二进制中央处理单元,它对数据的处理是按字节为单位进行的。CPU 由运算器(ALU)、控制器(定时控制部件等)、和专用寄存器组三部分组成,17,算术逻辑单元(ALU),ALU的功能是进行算术、逻辑运算、位变量处理和数据传送等操作。8051 ALU由一个加法器、两个8位暂存器(TMP1与TMP2)和一个布尔处理器组成。,18,定时控制部件,定时控制部件起着控制器的作用,由定时控制逻辑、指令寄存器和振荡器OSC等电路组成。定时控制逻辑 用于对指令寄存器中的指令码进行译码,并在OSC振荡器的配合下产生执行指令的时序脉冲,用以完成相应指令的执行指令寄存器IR 用于存放程序存储器中取出的指令码OSC振荡

5、器 是控制器的心脏,能为控制器提供时钟脉冲,OSC振荡器产生矩形时钟脉冲序列,其频率是单片机的重要性能指标之一,时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。,19,专用寄存器组,专用寄存器组:用来指示当前要执行指令的内存地址,存放操作数和指示指令后的状态等。专用寄存器主要包括:程序计数器PC、累加器A、程序状态字PSW、堆栈指示器SP、数据指针DPTR和通用寄存器B等六部分,20,(1)程序计数器PC(Program counter),16位计数器,能自动加1,保证指令顺序执行;存放下一条需要执行指令的内存地址;编址范围:0000H-FFFFH,共64K。也就是说8051对程

6、序存储器的寻址范围为64K。如果想为8051配置大于64KB的程序存储器,就必须在制造时加长程序计数器的位数。实际中64KB已经足够了。,21,(2)累加器A,累加器A 是一个具有特殊用途的8位二进制寄存器,专门用来存放操作数或运算结果(多于8位放不下)。MOV A,#05H;ADD A,#03H;第一条指令是把加数5送入累加器A,为执行第二条指令做准备,因此第二条指令执行前累加器A为加数5,在执行完第二条指令后把8存入A。,22,(3)通用寄存器B,寄存器B又称为乘法寄存器,它与累加器A协同工作,可进行乘法操作和除法操作。在乘除指令中运用到寄存器B,乘法指令中的两个操作数分别取自于A、B寄存

7、器,其结果也存放在A、B寄存器中,A存放乘积的低8位,B存放乘积的高8位;除法指令中,被除数取自A,除数取自B,进行运算后,商数存放于A,余数存放于B。在一般状态下寄存器B也可作为普通的寄存器使用。,23,例:MOV A,#05H;MOV B,#03H;MUL AB;BAAB=53 DIV AB;AB=AB,24,(4)程序状态字PSW,程序状态字PSW是一个8位寄存器,用于指示指令执行后的状态信息,相当于一般微处理器的标志寄存器。其有关位用来表示ALU操作的结果状态或CPU的工作状态,供程序查询和判别,其各位的含义见表2-2(其中PSW1位未定义)。,程序状态字PSW各位的含义,25,PSW

8、各位功能对应表,26,各个标志位的含义如下:,CY(PSW.7):进位标志位,也可以记为C。在进行算术运算时,它表示加减运算过程中累加器A的最高位有无进位或借位。如果操作位在最高位有进位(加法)或借位(减法)时置1,否则清0。AC(PSW.6):辅助进位标志。(累加器A中的A3位向A4位进位或借位)低四位有进位(加法)或者向高四位有借位(减法),AC位被置1,否则清0。F0(PSW.5):用户定义的状态标志位。可以通过软件对它置位、复位或者测试,以控制程序的流向。,27,RS1、RS0(PSW.4、PSW.3):工作寄存器区选择控制位 8051共有8个8位的工作寄存器R0R7。可以用软件来置位

9、或者清零,以确定当前使用的工作寄存器组。用户可以通过改变RS1和RS0的状态来决定R0R7的实际物理地址。RS1和RS0与工作寄存器R0R7的物理地址之间的关系见表2-4。,28,RS1和RS0与工作寄存器的关系对照表,29,OV(PSW.2):溢出标志位。当执行运算指令时,由硬件置位或清除,以指示运算是否产生溢出,OV置位表示运算结果超出了目的寄存器A所能表示的带符号数的范围(一128127)。若以Ci表示位i向位il有进位或借位,则OV为由下式决定:OV=C6C7;上式表示:当位6向位7有进位(借位)而位7不向CY进位(借位)时;或当位7向C进位(借位)而位6不向位7进位(借位)时OV标志

10、置1,表示带符号数运算时运算结果是错误的;否则,清除OV标志,运算结果正确。,30,P(PSW.0):奇偶标志位 每个指令周期都由硬件来置位或清零,以表示累加器A中1的个数的奇偶性。若1的个数为奇数,则P置1;若1的个数为偶数,则P清零。,31,(5)堆栈指针SP 堆栈指针SP是一个8位专用寄存器,它用来指示堆栈顶部在内部RAM中的位置,即SP中的内容就是栈顶的地址。堆栈区可占用片内128字节的RAM任何单元。在执行PUSH指令时,存储数据前,堆栈指针先自动加1。它是按“先进后出”的原则进行存取数据的。,32,栈顶地址始终在SP中,当堆栈中空无数据时,栈顶地址与栈底地址重合,即SP中是栈底地址

11、;当堆栈中存放的数据越多,SP中的栈顶地址比栈底地址就越大。,例:MOV SP,#data;(70H)MOV A,#X;MOV B,#Y;PUSH ACC;SPSP+1,(SP)ACCPUSH B;SPSP+1,(SP)BPOP ACC;ACCY,SPSP-1POP B;B X,SPSP-1,33,(6)数据指针DPTR(Data Pointer),数据指针DPTR是16位的数据寄存器,由两个8位寄存器DPH和DPL拼成。其中,DPH为DPTR的高8位,DPL为DPTR的低8位,DPTR可以用来存放片内ROM的地址,也可以用来存放片外RAM和片外ROM的地址。设片外RAM的2000H单元中有一

12、个数X,若要把它取入累加器A,则可以采用如下程序MOV DPTR,#2000H;DPTR2000HMOVX A,DPTR;AX(MOVX指示DPTR中的2000H是外部RAM的地址,而不是外部ROM的地址。),34,1.2存储器结构,1、存储器地址分配 存储器的地址分配有三个地址空间,这三个地址空间是:ROM存储器地址空间(包括片内ROM和片外ROM),地址范围是0000HFFFFH;8052AH/8752BH片内RAM地址空间为256字节,地址范围是00HFFH,8051/8031片内RAM地址空间为128字节,地址范围是00H-7FH;片外RAM地址空间,地址范围是0000HFFFFH。,

13、35,2.片内ROM,8051内部有4KB ROM,地址范围为0000H0FFFH,可以外接外部ROM,但片内和片外之和不能超过64KB。,36,3.片外RAM,8051的片内RAM容量有128个存储单元,可以用来存放操作数、操作结果和实时数据。如果片内RAM容量太小,不能满足控制需要,也可以外接外部RAM。外接外部RAM的最大容量不能超过64KB,地址范围为0000HFFFFH。读写指令有如下四条MOVX A,Ri;A(Ri)MOVX A,DPTR;A(DPTR)MOVX Ri,A;(Ri)AMOVX DPTR,A;A(DPTR)前两条用于把片外RAM中数据读入累加器A,后两条用于把累加器A

14、中数据写入片外RAM中。,37,4.片内RAM,8031/8051的片内RAM共有128个存储单元,地址范围为00H7FH,共128B,根据不同功能可分为工作寄存器区、位寻址区和便笺区等三个子区域8052AH/8752BH共有256个存储单元,地址范围为00H-FFH,38,(1)工作寄存器区(00H1FH),这32个RAM单元共分四组,每组占8个RAM单元,分别用代号R0R7表示。R0R7可以指向四组中的任一组,由PSW中的RS1RS0状态决定。如下表所示:,39,(2)位寻址区(20H2FH),这16个RAM单元具有双重功能。它们既可以象普通RAM单元一样按字节存取,也可以对每个RAM单元

15、中的任一位单独存取,这就是位寻址。20H-2FH用作位寻址时,共有16*8=128位,每位都分配了一个特定地址,即00H-7FH,这些地址称为位地址。如图所示:,40,41,欲把2FH单元中最高位(位地址7FH)置成1,则可使用如下置位指令 SETB 7FH;7FH1其中:SETB为位置位指令的操作码。位地址的另一种表示方法是采用字节地址和位数相结合的表示法。例如:位地址00H可以表示成20H.0,位地址1AH可以表示成23H.2,42,(3)便笺区(30H7FH),便笺区共有80个RAM单元,用于存放用户数据或作堆栈区使用。MCS-51对便笺区中每个RAM单元是按字节存取的。,43,5.特殊

16、功能寄存器SFR(80H-FFH),特殊功能寄存器是指有特殊用途的寄存器集合。8051的SFR有21个,每个SFR占有一个RAM单元。其物理地址如表所示:,44,*表示可以位寻址,45,其中可以位寻址的是,46,在21个SFR中,用户可以通过直接寻址指令对它们进行字节存取,也可以对带有*的11个字节寄存器的每一位进行位寻址。在字节型寻址指令中,直接地址的表示方法有两种:一种是使用物理地址,如累加器要用E0H、B寄存器要用F0H等;另一种采用寄存器标号,如累加器A要用ACC、B寄存器用B、程序状态字寄存器用PSW等等。后一种比较普遍的使用,47,1.3 I/O端口,I/O端口有串行和并行之分,串

17、行I/O端口一次只能传送1位二进制信息,并行I/O端口一次可以传送一组二进制信息。,48,相同点是:输入带缓冲,输出带锁存不同点:P0口可以输出片外存储器的低8位地址码和读写数据;P1口常作为通用I/O端口使用,为CPU传送数据;P2口可以输出片外存储器的高8位地址码;P3口除可以作为通用I/O外,还有第二功能,第二功能如下表所示。,49,P3口的第二功能见下表,50,2.串行I/O端口,8051有一个全双工的可编程串行I/O端口。这个串行I/O端口既可以在程序控制下把CPU的8位并行数据变成串行数据逐位从发送数据线TXD发送出去,也可以把RXD线上串行接收到的数据变成8位并行数据送给CPU,

18、而且这种串行发送和串行接收可以单独进行,也可以同时进行。8051串行发送和串行接收利用了P3口的第二功能,51,1.4 定时器/计数器 8051内部有两个16位可编程序的定时器/计数器:T0,T1 T0由两个8位寄存器TH0和TL0拼装而成,其中TH0为高8位,TLO为低8位。和T0类似,T1也由TH1和TL1拼装而成,其中TH1为高8位,TL1为低8位。TH0、TL0、TH1、TL1均为SFR中的一个,用户可以通过指令对它们存取数据。,52,1.5中断系统,53,3 MCS-51单片机工作方式,MCS-51单片机的工作方式包括:复位方式程序执行方式节电方式EPROM的编程和检验方式,54,3

19、.1复位方式,单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51 的RST引脚是复位信号的输入端。复位信号是高电平有效,持续时间要有24个时钟周期以上。例:如果MCS-51单片机时钟频率为12MHZ,则复位脉冲宽度至少应为2s,,55,单片机复位后,其片内各寄存器状态如下表所示,56,3.2程序执行方式,程序执行方式是单片机的基本工作方式,通常可以分为单步执行和连续执行两种工作方式1.单步执行方式 单步执行方式是指单片机在控制面板上的单步执行键(STEP)控制下逐条执行用户程序中指令的方式,即按一次单步执行键就执行一条用户

20、指令的方式。,57,58,2.连续执行方式,连续执行方式是所有单片机都需要的一种工作方式,被执行程序可以放在片内或片外ROM中。由于单片机复位后PC=0000H,因此在加电或按钮复位后总是转到0000H处执行程序,这时可以预先在0000H处放一条转移指令,以便跳转到0000H-FFFFH中的任何地方执行程序。,59,3.3 节电工作方式,节电方式是一种能减少单片机功耗的工作方式,通常可以分为空闲(等待)方式和掉电(停机)方式两种,只有CHMOS型器件才有这种工作方式。CHMOS型单片机的节电方式是由电源控制寄存器PCON 控制的,PCON各位定义如下图,60,其中,SMOD为串行口波特率倍率控

21、制位,GF1和GF0为通用标志位,用户可通过指令改变它们的状态;PD为掉电控制位;IDL为空闲控制位。,61,1.掉电方式,工作状态(1)时钟停振,内部RAM和SFR保持不变,消耗功率:5-50A,Vcc降为3V。(2)中断、定时器、串行口等电路不工作。进入方法:MOV PCON,#02H;PD1退出方法:加到RST 上至少24T的复位正脉冲,62,掉电方式工作图,63,2.空闲方式,工作状态(1)CPU不工作,片内功能保持(RAM,SFR中的内容)不变 消耗功率:1.7-5mA(2)中断,定时器,串行口等电路正常工作。进入方法:CPU执行如下指令 MOV Pcon,#01H;IDL1两种退出

22、方法(1)硬件复位使IDL=0(2)在RST上加上大于24个时钟周期的正脉冲,64,空闲方式工作图,65,3.4编程和校验方式,这里的编程是指利用特殊手段对单片机片内EPROM进行写操作的过程,校验则是对刚刚写入的程序代码进行读出验证的过程。因此,单片机的编程和校验方式只有EPROM型器件才有,如8751这样的器件。8751片内EPROM有编程、校验和保密编程等三种工作方式。在每种工作方式下,8751各引脚的输入电平是不相同的,如下表所示:,66,表中:1表示逻辑高电平,0表示逻辑低电平,表示任意逻辑电平,VPP为21V0.5V,PROG的编程脉冲为50ms负脉冲。,67,1.EPROM编程方

23、式,作用:写程序和常数于EPROM中条件:振荡频率为4-6MHz编程地址:和编程代码:P0口进入EA/VPP:21V0.5VALE/PROG:编码脉冲为50ms的负脉冲,以完成一个存储单元的程序代码写入。,68,2.EPROM的校验方式,69,3.EPROM的编程和校验波形,70,4.EPROM的保密方式,方法:1)先写程序代码和常数;2)后写保密位。状态:1)保密编程后的程序代码允许执行;2)程序代码不可读出;擦除:1)先清除全部程序代码;2)清除保密位后器件才可能恢复再编程。用途:保护软件版权,71,电路连接:和编程方式类似,但P2.6应为高电平。编程方式和保密方式电路连接对比,72,4

24、MCS-51单片机时序,CPU发出的时序信号有两类:一类是用于片内各功能部件的控制,这类信号很多,但对于用户是没有意义的,不做专门介绍;另一类用于片外存储器或I/O端口的控制,需要通过器件的控制引脚送到片外,这部分时序对于分析硬件电路至关重要。,73,4.1机器周期和指令周期,为了对CPU时序进行分析,首先要为它定义一种能够度量各时序信号出现时间的尺度。这个尺度为时钟周期、机器周期和指令周期1.时钟周期 时钟周期T又称为振荡周期,由单片机内振荡电路OSC产生,常定义为时钟脉冲频率的倒数,是时序中最小的时间单位。例:若某单片机时钟频率为1MHz,则它的时钟周期T应为1s。T=1/f,74,2.机

25、器周期,机器周期定义为实现特定功能所需的时间,通常有若干时钟周期T构成。MCS-51的机器周期时间是固定不变的均由12个时钟周期T组成,分为6个状态(S1-S6),每个状态又分为P1和P2两拍。因此,一个机器周期中的12个振荡周期可以表示为S1P1,S1P2,S2P1,S2P2,S6P2。,75,3.指令周期,指令周期是时序中的最大时间单位,定义为执行一条指令所需的时间。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不相同。MCS-51单片机通常可以分为单周期指令(12T)、双周期指令(24T)和四周期指令(48T)等三种。四周期指令只有乘法和除法指令两条,其余均为单周期

26、和双周期指令。,76,4.2MCS-51指令的取指/执行时序,单片机执行任何一条指令时都可以分为取指令阶段和执行指令阶段。取指令阶段简称取指阶段,单片机在这个阶段里可以把程序计数器PC中的地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。指令执行阶段可以对指令操作码进行译码,以产生一系列控制信号完成指令的执行。,77,基本约定:ALE引脚上出现的信号是周期性的,每个机器周期内出现两次高电平,出现时刻为S1P2和S4P2,持续时间为一个状态S。ALE信号每出现一次,CPU就进行一次取指操作。MCS-51指令可分成一下六类:1)单字节单周期指令2)单字节双周期指令3)单字节四周期指令4)

27、双字节单周期指令5)双字节双周期指令6)三字节双周期指令,78,1.单字节单周期指令时序,这类指令的指令码只有一个字节(如INC A指令),存放在存储器ROM中,及其从取出指令码完成指令的执行仅需一个机器周期。,79,机器在ALE第一次有效(S1P2)时从ROM中读出指令码,把它送到指令寄存器IR,接着开始执行。在执行期间,CPU一方面在ALE第二次有效(S4P2)时封锁PC加1,使第二次读操作无效;另一方面在S6P2时完成指令的执行。,80,2.双字节单周期指令时序,MCS-51在执行这类指令时需要分两次从ROM中读出指令码。ALE在第一次有效时读出指令操作码,CPU对它译码后便知道是双字节

28、指令,故使程序计数器PC加1,并在ALE第二次有效时读出指令的第二字节,最后在S6P2时完成指令的执行。,81,3.单字节双周期指令时序,这类指令执行时,CPU在第一机器周期S1期间从程序存储器ROM中读出指令操作码,经译码后便知道是单字节双周期指令,所以,控制器自动封锁后面的连续三次读操作,并在第二机器周期的S6P2时完成指令的执行。,82,4.3访问片外ROM/RAM的指令时序,MCS-51有两类专门访问片外存储器的指令:一类是读片外ROM指令;另一类是访问片外RAM指令。,83,1.读片外ROM指令时序,相应指令:MOVC A,A+DPTR;A(A+DPTR)=XMOVC A,A+PC;A(A+PC)读片外ROM指令时序如图(具体流程见光盘),84,2.读片外RAM指令时序,相应指令:MOVX A,DPTR;A(DPTR)=YMOVX A,RI;A(RI)读片外RAM指令时序如图(具体流程见光盘),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号