大学单片机原理及其接口技术课程第2章-结构与时序.ppt_第1页
大学单片机原理及其接口技术课程第2章-结构与时序.ppt_第2页
大学单片机原理及其接口技术课程第2章-结构与时序.ppt_第3页
大学单片机原理及其接口技术课程第2章-结构与时序.ppt_第4页
大学单片机原理及其接口技术课程第2章-结构与时序.ppt_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章:51单片机的结构与时序,本章基本要求: 51-单片机内部结构* 51-单片机外部结构* 51-单片机工作方式 51-单片机时序*,2.151-单片机内部结构,MCS-51是美国INTEL公司的8位高档单片机系列。有多个公司的多种单片机是以此为内核指令及工作方式相同。 其中,8051(52)是最有代表性的产品。 从制造工艺来看,可以分为CMOS、HMOS。,8 位的 CPU, 片内有振荡器和时钟电路,工作频率为 112MHz(Atmel 89Cxx为024MHz) 片内有 128/256字节 RAM 片内有 0K/4K/8K字节 程序存储器ROM 可寻址片外 64K字节 数据存储器RAM

2、 可寻址片外 64K字节 程序存储器ROM 片内 21/26个 特殊功能寄存器(SFR) 4个8位 的并行I/O口(PIO) 1个 全双工串行口(SIO/UART) 2/3个16位 定时器/计数器(TIMER/COUNTER) 可处理 5/6个中断源,两级中断优先级 内置1个布尔处理器和1个布尔累加器(Cy) MCS-51指令集含 111条指令,MCS-51单片机基本特性,MCS-51系列单片机配置一览表,注意:今后将会经常提到ATMEL的AT89C2051/51/52等MCU!,MCS-51单片机基本结构 包括:CPU、存储器(ROM、RAM)、I/O接口等计算机的基本组成。,2.151-单

3、片机内部结构,2.151-单片机内部结构,8051的内部主要包括三部分。 1、算术逻辑部件:实现算术和逻辑运算功能,它主要是由一个加法器和一个布尔处理器构成。 2、定时控制部件(控制器):它由定时控制逻辑电路、指令寄存器、振荡器电路组成。实现指令的执行取指令、存放指令、指令译码、产生指令时序脉冲。其中,振荡器是指挥的核心。,2.151-单片机内部结构,3、专用寄存器组:其功能是存放指令地址、操作数、指令执行后的状态。它由程序计数器PC、累加器ACC、通用寄存器B、状态字寄存器PSW、数据指针DPTR组成。 PC:16位寄存器,专门用来存放下一条要执行的指令的内存地址。其内容随着指令的读取,可由

4、硬件自动加1。它可描述的指令空间(寻址范围)64K。 ACC:存放操作数或运算结果。 B:用来存放乘除法的第二个操作数。,2.151-单片机内部结构,状态字PSW:它是一个标志寄存器,存放指令执行以后的状态标志以及设置标志。 PSW.7:进位位Cy PSW.6:辅助进位位AC PSW.5:用户标志位F0 PSW.4、3:寄存器选择位RS1、RS0 PSW.2:溢出标志OV PSW.0:奇偶标志P奇计数时,P=1,堆栈指针SP:专用于指出堆栈顶部数据的地址。堆栈中数据存取按先进后出、后进先出的原则。 堆栈操作分自动方式和指令方式。自动方式是在调用子程序或发生中断时CPU自动将断口地址存人或者取出

5、;指令方式是使用进出栈指令进行操作。 数据指针DPTR: 16位,由两个8位寄存器DPH、DPL组成。主要用于存放一个16位地址,作为访问外部存储器(外RAM和ROM)的地址指针。,RS1、RS0 工作寄存器区选择控制位。 RS1、RS0 = 00 0区(00H-07H) RS1、RS0 = 01 1区(08H-0FH) RS1、RS0 = 10 2区(10H-17H) RS1、RS0 = 11 3区(18H-1FH),仅用来访问外部程序 存储器和外部数据存储器,2.1.2 存储器结构,存储器,数据存储器,程序存储器,对单片机来讲,ROM和RAM的寻址机构和寻址方式是分开的。,ROM、 EPR

6、OM E2ROM或FLASH,RAM,按地址访问的一维线性(逻辑)空间,按地址访问的一维线性(逻辑)空间,单片机,容量小仅256B,容量大达64KB,普林斯顿结构,哈佛结构,普林斯顿结构,从物理上分,MCS-51分为4个存储空间,片内程序存储器 ROM,片内数据存储器 RAM,片外程序存储器 ROM,片外数据存储器 RAM(I/O),从逻辑上分,MCS-51分为3个逻辑空间, 片内、外统一编址的程序存储器地址空间, 256B或384B片内数据存储器地址空间, 64KB片外数据存储器或I/O地址空间,片内固有,需要扩展,需要扩展,从功能上分,MCS-51分为5个地址空间, 程序存储器 ROM,

7、片内数据存储器 RAM, 特殊功能寄存器区 SFR, 位寻址区, 外部扩展的数据存储器 RAM(I/O)区,一、程序存储器,8051 / 8751内部有4KB ROM / EPROM,地址:0000H 0FFFH,8051 / 8751外部的ROM / EPROM,地址:1000H FFFFH,8031 / 8032内部没有ROM / EPROM,地址:0000H FFFFH,52 子系列内部有8KB ROM / EPROM,地址:0000H 1FFFH,52:2000H FFFFH,0000H,0FFFH,0FFFH,0000H,1000H,FFFFH,8051/ 8751,8031,51系

8、列程序存储器配置图,4KB,0000H,1FFFH,1FFFH,0000H,2000H,FFFFH,8052/ 8752,8032,52系列程序存储器配置图,8KB,二、内部数据存储器 RAM 地址:00H FFH,内部数据存储器从物理上分为几个不同的块:,MCS-51,128B RAM (地址00H7FH),128B SFR (地址80HFFH),MCS-52,128B RAM (地址00H7FH),128B SFR (地址80HFFH),256B,384B,间接寻址,直接寻址,128B RAM (地址80HFFH),间接直接皆可,MCS-51内部 RAM配置,直接寻址,内部数据存储器配置图

9、,地址重叠,256B,384B,间接寻址,仅52 系列有,1、内部RAM区(MCS-51),MCS-51内部RAM只有128B,内部RAM区 分为三部分,地址:00H7FH,7FH 00H,80个字节 为真正的 RAM,16个字节分为 128个RAM位,32个字节分为 四个工作寄存器区 每个区8个工作寄存器,0FH 08H,17H 10H,2FH 20H,7FH 30H,80个字节 RAM,只能按字节寻址,16个字节分为 128个RAM位,可按位亦可按字节寻址,四个工作寄存器区,内部RAM区功能配置图,00H,1FH,07H 00H,1FH 18H,亦可作普通RAM使用, 通用寄存器组 32个

10、RAM单元,共4个区,每个区8个通用工作寄存器 R0R7,“区”的选择由程序状态字PSW中的RS1和RS0确定, 位寻址区 (16个RAM单元 VS 12个SFR), 字节地址:20H 2FH, 16个 RAM 字节共128个 RAM 位, 位地址:00H 7FH, 12个SFR中的93位具有位寻址功能,位寻址区,128个RAM位,93个SFR位, 布尔处理机数据存储器的主要组成部分,共221位,位地址请参看下页,直接地址能被8所整除的,构成,其中3位无定义,特殊功能寄存器SFR,片内RAM, 用户RAM区(数据缓冲区)共80个单元,字节地址:30H 7FH,8051单片机复位时,堆栈指针SP

11、指向 07H 单元,片内RAM的部分单元可用作堆栈,51的栈区不是固定的,为避开工作寄存器区、位寻址区,用户堆栈一般设置在 30H 7FH 之间,真正的RAM单元,SP 指针是可编程的寄存器, 程序计数器PC,16位专用寄存器 ,寻址范围64KB,此时的程序是顺序执行的,2. 专用寄存器区,通电时自动复位,运行时可手动复位,复位 后,,PC的内容自动清零,用来存放下一条指令地址。CPU取指令时,,将PC内容经地址总线送到程序存储器,从该地址单元取回指令,译码并执行;同时,PC自动加1,如果程序需要转移,可在程序中安排转移或条件转移指令,(JMP或JNC)、调用子程序指令CALL等,23个专用(

12、3个属于52)其中5个是双字节寄存器,PC物理上是独立的,其余22个属于SFR,共占用26个字节,PC 管理程序执行顺序的过程:,74H,0001H,08H,0002H,24H,0003H,04H,0004H,02H,22H,00H,0005H,0006H,0007H,2200H,78H,2201H,74H,2202H,2202H,下一条指令, 累加器A 地址:0E0H,最常用的一个专用寄存器,大部分单操作数指令的操作数取自A,很多双操作数指令的一个操作数取自A,算术运算和逻辑运算的结果放在A或AB对中,指令系统采用A 作为累加器的标识符,例:INC A,;执行A中的内容加1操作,ADD A,

13、#data,位寻址功能, 寄存器B 地址:0F0H, 8位寄存器,与累加器 A 配合使用,一般用于乘除法运算,例:MUL A B,DIV A B,次累加器,作 一 RAM单元用,余 B, 程序状态字PSW 地址:0D0H, 8位寄存器,存放程序的状态信息,格式如下:,进/借位标志CY(PSW.7),加法运算时,如果D7有进位,则CY=1,否则CY=0,减法运算时,如果D7有借位,则CY=1,否则CY=0,布尔运算中被定义为位累加器,PSW,D7 D0,CY,辅助进位标志AC(PSW.6),8位加法运算时,如果低半字节的D3向D4有进位,则 AC=1,否则AC=0,8位减法运算时,如果低半字节的

14、D3向D4有借位,则AC=1,否则AC=0,标志F0(PSW.5),由用户定义,可用软件来使它置“1”、或清“0”,可由软件测试F0来控制程序流向,AC,工作寄存器区选择位RS1 、RS0(PSW.4、 PSW .3),通过软件来改变RS1 、RS0的组合,以确定当前 工作寄存器区。,PSW.4 PSW.3,用布尔操作来改变,溢出标志OV(PSW.2),作为有符号数加、减法时由硬件置位或清除,以指示运算结果是否溢出,执行加/减法指令时,用Ci 表示i位向i+1有进/借位,a) 第6位向第7位有进/借位,而第7位不向CY进/借位时,b) 第6位不向第7位进/借位,而第7位向CY有进/借位时,OV

15、=1, 否则 OV=0,若OV=1,意味着加/减法的结果已超出了一个字节 有符号补码数 所表示的范围(-128 +127),D7D6D5D4 D3D2D1D0,例:,0 1 0 1 0 1 1 0 (+86)(正),0 0 1 1 0 0 1 0 (+50) (正),0,0,0,1,0,0,0,1,此时C6=1、 C7=0 则,D7D6D5D4 D3D2D1D0,1 0 0 1 0 1 1 0 (-106)(负),1,1,0,1,1,1,0,0,1,( +136) (正),(-197) (负),符 号 位,1,1 0 1 0 0 1 0 1 (-91) (负),Cy,奇偶标志P(PSW.0),

16、 每个指令周期都由硬件置位或清零,以表示累加器A中值为“1”的位数的奇偶性, 该标志可用于串行数据通讯,验证数据传输的可靠性,P =,1 A中1的个数为奇数,0 A中1的个数为偶数,?,思 考,后,程序状态字 PSW中 CY,AC,OV,P 的状态是什么?,D7D6D5D4 D3D2D1D0,0 1 1 1 1 1 1 1 (7FH),0 1 0 0 0 1 1 1 (47H),0,1,1,0,0,0,1,1,(C6H),MOV A, #7FH,ADD A, #47H,执行第一条指令后P=1,执行第二条指令后P=0,此时C6=1、 C7=0 则, 堆栈指针 SP,8位寄存器,存放栈顶地址,保护

17、CPU现场和断点地址,作用:,工作方式:“先进后出”或“后进先出”,数据压入堆栈时,SP自动加1,数据弹出堆栈时,SP自动减1,SP始终指向栈顶地址,中断时,转子时,栈区“向上生成”,按“先进后出”工作原则,由SP组织的内部 RAM区域,被称为堆栈。,例:堆栈操作,建立堆栈,压入操作,弹出操作,A的内容,B的内容,MOV SP, #60H,PUSH A,PUSH B,POP direct,direct,栈 底, 数据指针 DPTR,16位寄存器,高字节用DPH表示,低字节用DPL表示,对外部 RAM 或 I/O 口寻址,范围64KB,例:,MOVX A,DPTR,MOVX DPTR, A,;将

18、外部RAM中地址为DPTR的单元内容读到A中,;将A中的内容写到外部RAM中地址为DPTR的单元,MOVC A, A+ DPTR,;采用基址+变址的方法读程序存储器内的表格常数,;DPTR为基址寄存器, A为变址寄存器,(DPTR),A,(A),DPTR,(A)+(DPTR),A, I/O 端口P0 P3 地址:80H 90H 0A0H 0B0H,专用寄存器P0 P3分别是端口P0 P3的锁存器, 串行数据缓冲器 SBUF 地址:99H,存放欲发送的数据,存放已接收的数据,一个地址: 99H, 定时/计数器 T0 T1,MCS-51系列有2个16位定时/计数器T0 、T1,MCS-52系列增加

19、了1个16位定时/计数器T2,SBUF,两个缓冲器共用,“写”发送缓冲器,“读”接受缓冲器,MOV SBUF,A,MOV A ,SBUF, 其他控制寄存器,寻址空间64KB,采用寄存器间接寻址方式,间址寄存器有R0、R1(256B),数据指针DPTR(64KB),采用MOVX指令单片机产生读/写信号,对外部RAM产生读写操作,3、外部数据存储器,FFFFH,0000H,MOVX A,Ri,MOVX A,DPTR,MOVX Ri,A,MOVX DPTR ,A,“读”指令,“写”指令,通过三条总线扩展,2.151-单片机内部结构,2.1.3I/O端口 他们的功能是:在CPU与外部设备之间传输信息。

20、可分为:并行I/O端口、串行I/O端口。 1、并行I/O端口: 它可将8位信息同时在CPU与外设之间进行传送。特点是:传输距离近、传输线多、传输速度快。 8051具有四个并行I/O端口,每个都可用于传输8位二进制信息。 四个端口取名为:P0、P1、P2、P3。,2.151-单片机内部结构,注意: 每个端口的结构:8位输入缓冲器、8位输出锁存器。 P0P3端口的操作可以分为:写端口、读端口、读引脚三种,各自的含义有所不同。,2.151-单片机内部结构,2、串行I/O端口 CPU与外设使用串口传送信息时,8位信息必须分时逐位传送。特点是:传输距离远、传输线少、传输速度慢。 8051有一个全双工可编

21、程串行I/O端口。使用TXD、RXD两条线在CPU与外设之间传输信息。 串口占CPU资源有: SCON:串口控制寄存器,存放串口工作方式信息 PCON:串口波特率寄存器,存放收发波特率信息 SBUF:串口收、发数据缓冲器,存放收发数据。,2.151-单片机内部结构,2.1.4定时/计数器 其功能是:对外部事件或内部时钟脉冲按照一定的规则进行计数。 51单片机内部设有2个(52系列设有3个)16位定时/计数器。取名为:T0、T1、(T2)。 各个16位计数器采用两个8位寄存器组成。 各定时/计数器均为加1操作,当计数的个数满时,则会产生计数/计时满输出信号。 各个定时/计数器有多种工作、控制方式

22、,可通过设置定时器方式寄存器(TMOD)和定时器控制寄存器(TCON)来选择。,2.151-单片机内部结构,2.1.5中断系统 无论是那种CPU,其中断系统都是其核心组成部分。其功能是:可以中断处理方式调整CPU处理过程,以满足某些操作的实时性要求。 所谓中断:是指CPU暂停当前的程序执行而转去为某个设备服务,在服务完成后,再返回原程序继续执行。 中断源:能向CPU发出中断请求信号的来源。 8051单片机具有5个(8052为6个)中断源。 CPU在管理中断源时,可采用级别高/低排队、请求开放/屏蔽等控制。,2.151-单片机内部结构,8051的中断系统设有: 5个中断源,分为2个外部中断源和3

23、个内部中断源,分别是:外部中断0、1,内部定时器0、1以及串口中断源。8052设有6个中断源,它比8051多了一个定时器2中断源。 8051的中断系统主要是通过:中断允许控制器IE以及中断优先级控制器来实现中断管理。 注意:有关中断的内容是本课程的重点之一,会在后面专门章节讲述。,2.251-单片机外部结构引脚功能,无论是那种CPU或者是集成电路,掌握其引脚功能是使用他们的重要前提。 51系列单片机有多种封装形式,引脚的定义及位置各有不同。大体上可分为双列直插式封装和方形封装。,2.251-单片机外部结构引脚功能,2.251-单片机外部结构引脚功能,2.2.151单片机引脚及功能 本课程以双列

24、直插式封装芯片引脚为例。 共40条引脚,分为端口、控制、电源三类: 1、端口线:4个8位端口共32条引脚,用于传输数据、地址、控制、状态等信息。 P0口(P0.0P0.7):多功能端口,用于传输数据、地址。P0口在传输数据信息时,输入带缓冲、输出带锁存,使用非常方便。 P1口(P1.0P1.7):单功能端口,用于数据输入/输出传输。,2.251-单片机外部结构引脚功能,P2口(P2.0P2.7):多功能端口,用于传输地址信息或作为普通I/O端口。 P3口(P3.0P3.7):多功能端口,用于传输控制信息或作为普通I/O端口。传输控制信息时: P3.0:RXD,串口输入 P3.1:TXD,串口数

25、出 P3.2:INT0,外部中断0输入 P3.3:INT1,外部中断1输入 P3.4:T0,计数器0输入 P3.5:T1,计数器1输入 P3.6:WR,“写”控制信号线 P3.7:RD,“读”控制信号线,2.251-单片机外部结构引脚功能,2、电源线:共2条,VCC、VSS(GND) 3、控制线:共6条,传送控制信号。 ALE:地址锁存,用于区分在多功能端口传送的数据/地址信息,ALE=0/1:数据/地址。 EA:允许访问外存储器。EA=0/1:片外/片内存储器有效。 PSEN:片外ROM选通。 RST:芯片复位线。 XTAL1、XTAL2:外接石英晶体输入线。,2.251-单片机外部结构引脚

26、功能,2.2.28031对片外存储器的连接 8031单片机的存储器分为片内、片外存储器两个部分。在一些外部连接存储器时,如下图:,2.251-单片机外部结构引脚功能,对上图的说明: 1、8031单片机分为数据、程序两个存储空间,各个空间最大为64K字节。 2、存储容量与地址线的关系,必须是对应的。 3、ROM空间的选通线为PSEN,RAM空间的选通线为WR、RD。 举例说明: 8031单片机对外部数据、程序存储器读/写一个字节的操作。,2.3MCS-51单片机工作方式,单片机的工作方式是指:一种单片机的复位方式、程序执行方式、节电方式、编程方式的操作过程。 2.3.1复位方式 1、无论何种CP

27、U都设有一种固定的复位方式。 2、所谓复位:是指一种过程,是一种使CPU处在一种确定的初始状态的过程,其作用是为CPU开始后续操作设定一个确定的起点。 3、51单片机的复位过程需要24个时钟周期。 4、51单偏激的复位电路(P64)。 4、51单片机的复位所确定的初始状态见表:,2.3MCS-51单片机工作方式,51复位状态(P67)。注意:几个重要寄存器的初值。,2.3MCS-51单片机工作方式,2.3.2程序执行方式 可以分为单步执行、连续执行。 1、单步执行:是利用单片机的中断功能,结合特殊按键所设立的工作方式,用于调试程序。 2、连续执行:是指单片机从复位状态开始的顺序工作方式,程序的

28、起点:(PC)=0000H。,2.3MCS-51单片机工作方式,2.3.3节电工作方式 可以分为空闲、掉电两种(CHMOS类型)。(自学) 2.3.4编程和校验方式 是单片机中带有片内ROM空间类芯片所特有的工作方式。对片内的程序存储空间可以有编程、校验、保密三种方式。(自学),2.4MCS-51单片机时序,在学习任何一种微型计算机的原理时,其时序的内容都是基本的重要概念。 所谓时序是指:CPU执行指令时所产生的各种信号(数据、地址、控制信号)的时间顺序。 从CPU执行指令的角度来看,每条指令的执行过程可以分为:取指令、执行指令两个过程。 CPU在执行指令时,产生的信号可以分为:作用于片内的数

29、据、地址、控制信号,作用于片外的数据、地址、控制信号。 本课程主要讨论作用于片外的数据、地址、控制信号。,2.4MCS-51单片机时序,OSC,ALE,S1,S2,S3,S4,S5,S6,机器周期,机器周期,XTAL2,2.4.1 机器周期和指令周期,时钟周期、机器周期、指令周期。,1、时钟周期:又可称为振荡周期,是由单片机的时钟输入引脚产生的信号。时钟周期是单片机时序中最小的时间单位。 2、机器周期:是指单片机完成某个特定功能所需要的时间,一般是由若干个时钟周期组成。MCS-51单片机的机器周期是固定的,由12个时钟周期组成。每两个时钟周期定为一个S状态,取名为:S1S6。 3、指令周期:是

30、指单片机执行一条指令所需要的时间。对不同的指令,指令周期的差异较大。有些指令需要一个、有些需要多个机器周期。,2.4.1 机器周期和指令周期,机器周期、状态、相位,一个机器周期包括6个S 状态S1S6,每个S状态 分为2 (拍)个振荡周期(相位P1,相位P2)。, 1个机器周期 6个S状态12 (拍)个振荡周期,采用主频为 12MHz 振荡源,每个机器周期为1S,又称为CPU周期,二、典型指令的取指和执行时序,OSC,ALE,S1,S2,S3,S4,S5,S6,机器周期,读操作码 04H,读下一个操作码(丢掉)PC不增“1”,再读下一个操作码,(a) 单字节单周期指令 如: INC A,机器周

31、期,XTAL2,(a) 单字节单周期指令,指令长度为一个字节,执行时间为一个机器周期,在S4P2期间的取指无效,PC不增“1”,在本周期的S6P2期间执行完毕,在S1P2期间读入操作码并锁存在指令寄存器中,读操作码 24H,读第二字节 #data,再读下一个操作码,(b) 双字节单周期指令 如:ADD A,#data,XTAL2,(b) 双字节单周期指令,指令长度为2个字节,执行时间为一个机器周期,在S4P2期间读入第2字节,在本周期的S6P2期间执行完毕,在S1P2期间读入操作码并锁存在指令寄存器中,读操作码 A3H,(c) 单字节双周期指令 如:INC DPTR,读下一个操作码(丢掉)PC不增“1”,“+1”,XTAL2,(c) 单字节双周期指令,指令长度为1个字节,执行时间为2个机器周期,因DPTR是16位的,即在本周期的S4P2及下一周期的2次取指无效,在第2周期的S6P2期间执行完毕,在S1P2期间读入操作码并锁存在指令寄存器中 在后面3个ALE出现时(PC)不加1,而CPU是8位的,,需要2次运算,读操作码 E0H,不取指,不取指 无ALE,读下一个操作码(丢掉)PC不增“1”,XTAL2,MO

温馨提示

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

评论

0/150

提交评论