单片机的结构和时序.ppt_第1页
单片机的结构和时序.ppt_第2页
单片机的结构和时序.ppt_第3页
单片机的结构和时序.ppt_第4页
单片机的结构和时序.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理与应用 授课教师: 曲培树 Tel:E-mail: 1 MCS-51系列 单片机结构和工作原理 2 1 MCS-51系列单片机的内部结构 2 MCS-51单片机引脚功能 3 MCS-51单片机的工作方式 4 MCS-51单片机时序 3 什么是单片机? 所谓单片机(Single Chip Microcomputer),是指 在一块芯片中集成有中央处理器(CPU)、存储器 (RAM和ROM)、基本I/O接口以及定时器、计数 器等部件,并具有独立指令系统的智能器件, 即在一块芯片上实现一台微型计算机的基本功 能。 l特点是:体积小,控制功能强,性价比高等 4 1 MCS-51系列单单片机概述 MCS-51是指由美国Intel公司生产的一系列单 片机的总称,这一系列单片机包括了许多型号, 如8031,8051,8751,8032,8052,8752等。其 中8051是最早生产、最典型的产品。 MCS-51系列的其他单片机,都是在以8051为 内核的基础上,进行了功能的增加以及外围接口 的改变。因此,人们习惯于用8051来称呼MCS-51 系列单片机。 5 1.1 MCS-51系列单片机简介 Intel公司将8051的核心技术授权给了很多其他公司,所以 有很多公司在生产以8051为核心的单片机。 MCS-51系列单片机共有十多种芯片,分为两大系列,即 51子系列与52子系列,并以芯片型号的末位数字作为标志。它 们的内部结构基本相同,其中51子系列是基本型,52子系列是 增强型。MCS-51系列单片机各种芯片的技术指标见下表。 6 MCS-51系列单单片机芯片技术术指标标 子 系 列 片内ROM形式 ROM 容量 RAM 容量 寻寻址范 围围 I/O特性中 断 源 无ROM EPRO M 定时时 器 并行 口 串 行 口 51 子 系 列 8031805187514KB128B264KB2*164815 80C3180C5187C514KB128B264KB2*164815 52 子 系 列 8032805287528KB256B364KB3*164816 80C3280C5287C528KB256B364KB3*164816 7 2 MCS-51单片机引脚功能 l两种封装:1.双列直插式封装 8 2.方形封装 9 2.1 MCS-51单片机引脚及其功能 l8051有40条引脚,共分为端口线、电源线和控制线 三类 10 11 l3.电源线(2条) lVCC为+5V电源线; lVSS为接地线 12 2.2 8031对片外存储器的连接 13 内部结构框图如图所示 14 8051各功能部件划分为以下五部分: CPU 存储器 I/O端口 定时器/计数器 中断系统 15 1 CPU结构 l8051内部CPU是一个字长为8位二进制中央处理 单元,它对数据的处理是按字节为单位进行的 。 lCPU 由运算器(ALU)、控制器(定时控制部 件等)、和专用寄存器组三部分组成 16 算术逻辑单元(ALU) lALU的功能是进行算术、逻辑运算、位变量处 理和数据传送等操作。 l8051 ALU由一个加法器、两个8位暂存器( TMP1与TMP2)和一个布尔处理器组成。 17 定时控制部件 l定时控制部件起着控制器的作用,由定时控制逻辑、指令寄 存器和振荡器OSC等电路组成。 l定时控制逻辑 用于对指令寄存器中的指令码进行译码,并在OSC振荡 器的配合下产生执行指令的时序脉冲,用以完成相应指令的 执行 l指令寄存器IR 用于存放程序存储器中取出的指令码 lOSC振荡器 是控制器的心脏,能为控制器提供时钟脉冲,OSC振荡 器产生矩形时钟脉冲序列,其频率是单片机的重要性能指标 之一,时钟频率越高,单片机控制器的控制节拍就越快,运 算速度也就越快。 18 专用寄存器组 l专用寄存器组:用来指示当前要执行指令的内存地 址,存放操作数和指示指令后的状态等。 l专用寄存器主要包括: 程序计数器PC、累加器A、程序状态字PSW、堆栈 指示器SP、数据指针DPTR和通用寄存器B等六部 分 19 (1)程序计数器PC (Program counter) l16位计数器,能自动加1,保证指令顺序执行; l存放下一条需要执行指令的内存地址; l编址范围:0000H-FFFFH,共64K。也就是说8051 对程序存储器的寻址范围为64K。 l如果想为8051配置大于64KB的程序存储器,就必 须在制造时加长程序计数器的位数。实际中64KB已 经足够了。 20 (2)累加器A l累加器A 是一个具有特殊用途的8位二进制寄存器,专 门用来存放操作数或运算结果(多于8位放不下)。 lMOV A,#05H; lADD A,#03H; l第一条指令是把加数5送入累加器A,为执行第二条指令 做准备,因此第二条指令执行前累加器A为加数5,在执 行完第二条指令后把8存入A。 21 (3)通用寄存器B l 寄存器B又称为乘法寄存器,它与累加器A协同工作, 可进行乘法操作和除法操作。 l 在乘除指令中运用到寄存器B,乘法指令中的两个操作 数分别取自于A、B寄存器,其结果也存放在A、B寄存器 中,A存放乘积的低8位,B存放乘积的高8位; l 除法指令中,被除数取自A,除数取自B,进行运算后 ,商数存放于A,余数存放于B。在一般状态下寄存器B也 可作为普通的寄存器使用。 22 l例: lMOV A,#05H; lMOV B, #03H; lMUL AB ; BAAB=53 lDIV AB ; AB=AB 23 (4)程序状态字PSW l 程序状态字PSW是一个8位寄存器,用于指示指令 执行后的状态信息,相当于一般微处理器的标志寄存器 。其有关位用来表示ALU操作的结果状态或CPU的工作 状态,供程序查询和判别,其各位的含义见表2-2(其中 PSW1位未定义)。 程序状态态字PSW各位的含义义 PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0 CyACF0RS1RS0OV/P 24 功能标标志地址 进进位标标志CyPSW.7:0D7H 辅辅助进进位标标志ACPSW.6:0D6H 溢出标标志OVPSW.2:0D2H 奇偶标标志PPSW.0:0D0H 用户标户标 志F0PSW.5:0D5H 保留/PSW.1:0D1H 寄存器区选择选择 MSBRS1PSW.4:0D4H 寄存器区选择选择 LSBRS0PSW.3:0D3H PSW各位功能对应对应 表 25 各个标志位的含义如下: lCY(PSW.7):进位标志位,也可以记为C。在进行算术 运算时,它表示加减运算过程中累加器A的最高位有无 进位或借位。如果操作位在最高位有进位(加法)或借 位(减法)时置1,否则清0。 lAC(PSW.6):辅助进位标志。(累加器A中的A3位向 A4位进位或借位)低四位有进位(加法)或者向高四位 有借位(减法),AC位被置1,否则清0。 lF0(PSW.5):用户定义的状态标志位。可以通过软件对 它置位、复位或者测试,以控制程序的流向。 26 l RS1、RS0(PSW.4、PSW.3):工作寄存器区 选择控制位 l 8051共有8个8位的工作寄存器R0R7。可以用 软件来置位或者清零,以确定当前使用的工作寄存器 组。用户可以通过改变RS1和RS0的状态来决定 R0R7的实际物理地址。 l RS1和RS0与工作寄存器R0R7的物理地址之间 的关系见表2-4。 27 RS1RS0选选中的寄存器组组R0R7地址 000组组00H-07H 011组组08H-0FH 102组组10H-17H 113组组18H-1FH RS1和RS0与工作寄存器的关系对对照表 28 lOV(PSW.2):溢出标志位。 l 当执行运算指令时,由硬件置位或清除,以指示运算 是否产生溢出,OV置位表示运算结果超出了目的寄存器A 所能表示的带符号数的范围(一128127)。 l 若以Ci表示位i向位il有进位或借位,则OV为由下式决 定: lOV=C6C7; l上式表示:当位6向位7有进位(借位)而位7不向CY进位(借 位)时;或当位7向C进位(借位)而位6不向位7进位(借位)时 OV标志置1,表示带符号数运算时运算结果是错误的;否 则,清除OV标志,运算结果正确。 29 P(PSW.0):奇偶标志位 每个指令周期都由硬件来置位或清 零,以表示累加器A中1的个数的奇偶性。 若1的个数为奇数,则P置1;若1的个数为 偶数,则P清零。 30 l(5)堆栈指针SP l 堆栈指针SP是一个8位专用寄存器,它用来指示 堆栈顶部在内部RAM中的位置,即SP中的内容就是栈 顶的地址。堆栈区可占用片内128字节的RAM任何单元 。在执行PUSH指令时,存储数据前,堆栈指针先自动 加1。它是按“先进后出”的原则进行存取数据的。 31 l栈顶地址始终在SP中,当堆栈中空无数据时,栈顶地址 与栈底地址重合,即SP中是栈底地址;当堆栈中存放的 数据越多,SP中的栈顶地址比栈底地址就越大。 例: MOV SP , #data ; (70H) MOV A , #X ; MOV B , #Y ; PUSH ACC ; SPSP+1,(SP) ACC PUSH B ; SPSP+1,(SP) B POP ACC ; ACCY, SPSP-1 POP B ; B X ,SPSP-1 32 (6)数据指针DPTR (Data Pointer) l数据指针DPTR是16位的数据寄存器,由两个8位寄存器DPH和 DPL拼成。其中,DPH为DPTR的高8位, DPL为DPTR的低8位, DPTR可以用来存放片内ROM的地址,也可以用来存放片外RAM和 片外ROM的地址。 l设片外RAM的2000H单元中有一个数X,若要把它取入累加器A, 则可以采用如下程序 lMOV DPTR,#2000H; DPTR2000H lMOVX A,DPTR ; AX l(MOVX指示DPTR中的2000H是外部RAM的地址,而不是外部ROM的 地址。) 33 1.2存储器结构 1、存储器地址分配 存储器的地址分配有三个地址空间,这三个地址 空间是:ROM存储器地址空间(包括片内ROM和片外ROM ),地址范围是0000HFFFFH;8052AH/8752BH片内 RAM地址空间为256字节,地址范围是00HFFH, 8051/8031片内RAM地址空间为128字节,地址范围是 00H-7FH;片外RAM地址空间,地址范围是0000H FFFFH。 34 2.片内ROM l8051内部有4KB ROM,地址范围为0000H0FFFH,可 以外接外部ROM,但片内和片外之和不能超过64KB 。 35 3.片外RAM l8051的片内RAM容量有128个存储单元,可以用来存放操 作数、操作结果和实时数据。如果片内RAM容量太小,不 能满足控制需要,也可以外接外部RAM。外接外部RAM的 最大容量不能超过64KB,地址范围为0000HFFFFH。 l读写指令有如下四条 MOVX A , Ri ; A(Ri) MOVX A , DPTR ; A(DPTR) MOVX Ri , A ; (Ri) A MOVX DPTR , A ; A(DPTR) l前两条用于把片外RAM中数据读入累加器A,后两条用于 把累加器A中数据写入片外RAM中。 36 4.片内RAM l8031/8051的片内RAM 共有128个存储单元, 地址范围为00H7FH, 共128B,根据不同功能 可分为工作寄存器区 、位寻址区和便笺区 等三个子区域 l8052AH/8752BH共有 256个存储单元,地址 范围为00H-FFH 37 (1)工作寄存器区(00H1FH ) l这32个RAM单元共分四组,每组占8个RAM单元,分 别用代号R0R7表示。 R0R7可以指向四组中的任 一组,由PSW中的RS1RS0状态决定。如下表所示: RS1RS0 选选中的寄存器 组组 R0R7地址 000组组00H-07H 011组组08H-0FH 102组组10H-17H 113组组18H-1FH 38 (2)位寻址区(20H2FH) l这16个RAM单元具有双重功能。它们既可以象普通 RAM单元一样按字节存取,也可以对每个RAM单元中 的任一位单独存取,这就是位寻址。 l20H-2FH用作位寻址时,共有16*8=128位,每位都分配 了一个特定地址,即00H-7FH,这些地址称为位地址。 如图所示: 39 40 l欲把2FH单元中最高位(位地址7FH)置成1, 则可使用如下置位指令 SETB 7FH; 7FH1 l其中:SETB为位置位指令的操作码。 位地址的另一种表示方法是采用字节地址和位数相 结合的表示法。 l例如: 位地址00H可以表示成20H.0, 位地址1AH可以表示成23H.2 41 (3)便笺区(30H7FH) l便笺区共有80个RAM单元,用于存放用 户数据或作堆栈区使用。MCS-51对便笺 区中每个RAM单元是按字节存取的。 42 5.特殊功能寄存器SFR(80H-FFH) l特殊功能寄存器是指有特殊用途的寄存器集合 。8051的SFR有21个,每个SFR占有一个RAM 单元。其物理地址如表所示: 43 *表示可以位寻址 44 其中可以位寻址的是 45 l在21个SFR中,用户可以通过直接寻址指令对它们进行 字节存取,也可以对带有*的11个字节寄存器的每一位 进行位寻址。 l在字节型寻址指令中,直接地址的表示方法有两种:一 种是使用物理地址,如累加器要用E0H、B寄存器要用 F0H等;另一种采用寄存器标号,如累加器A要用ACC 、B寄存器用B、程序状态字寄存器用PSW等等。 后一种比较普遍的使用 46 1.3 I/O端口 lI/O端口有串行和并行之分,串行I/O端口 一次只能传送1位二进制信息,并行I/O端 口一次可以传送一组二进制信息。 47 l相同点是: l 输入带缓冲,输出带锁存 l不同点: P0口可以输出片外存储器的低8位地址码和读写数据; P1口常作为通用I/O端口使用,为CPU传送数据; P2口可以输出片外存储器的高8位地址码; P3口除可以作为通用I/O外,还有第二功能,第二功能 如下表所示。 48 P3口的第二功能见下表 49 2.串行I/O端口 l8051有一个全双工的可编程串行I/O端口。这个串行I/O 端口既可以在程序控制下把CPU的8位并行数据变成串 行数据逐位从发送数据线TXD发送出去,也可以把RXD 线上串行接收到的数据变成8位并行数据送给CPU,而 且这种串行发送和串行接收可以单独进行,也可以同时 进行。 l8051串行发送和串行接收利用了P3口的第二功能 50 l1.4 定时器/计数器 l 8051内部有两个16位可编程序的定时器/计数器:T0,T1 l T0由两个8位寄存器TH0和TL0拼装而成,其中TH0为高8 位,TLO为低8位。和T0类似,T1也由TH1和TL1拼装而 成,其中TH1为高8位,TL1为低8位。TH0、TL0、TH1、 TL1均为SFR中的一个,用户可以通过指令对它们存取数 据。 51 1.5中断系统 52 3 MCS-51单片机工作方式 lMCS-51单片机的工作方式包括: 复位方式 程序执行方式 节电方式 EPROM的编程和检验方式 53 3.1复位方式 l单片机在开机时都需要复位,以便中央处理器CPU以及其 他功能部件都处于一个确定的初始状态,并从这个状态开 始工作。 lMCS-51 的RST引脚是复位信号的输入端。复位信号是高电 平有效,持续时间要有24个时钟周期以上。 l例:如果MCS-51单片机时钟频率为12MHZ,则复位脉冲宽 度至少应为2s, 54 单片机复位后,其片内各寄存器状态如 下表所示 55 3.2程序执行方式 l程序执行方式是单片机的基本工作方式,通常可以分为 单步执行和连续执行两种工作方式 l1.单步执行方式 单步执行方式是指单片机在控制面板上的单步执行 键(STEP)控制下逐条执行用户程序中指令的方式,即 按一次单步执行键就执行一条用户指令的方式。 56 57 2.连续执行方式 l连续执行方式是所有单片机都需要的一种工作 方式,被执行程序可以放在片内或片外ROM中。 l由于单片机复位后PC=0000H,因此在加电或按 钮复位后总是转到0000H处执行程序,这时可以 预先在0000H处放一条转移指令,以便跳转到 0000H-FFFFH中的任何地方执行程序。 58 3.3 节电工作方式 l节电方式是一种能减少单片机功耗的工作方式 ,通常可以分为空闲(等待)方式和掉电(停 机)方式两种,只有CHMOS型器件才有这种工作 方式。 l CHMOS型单片机的节电方式是由电源控制寄存 器PCON 控制的,PCON各位定义如下图 59 其中,SMOD为串行口波特率倍率控制位,GF1和GF0为 通用标志位,用户可通过指令改变它们的状态;PD为 掉电控制位;IDL为空闲控制位。 60 1.掉电方式 l工作状态 (1)时钟停振,内部RAM和SFR保持不变,消 耗功率:5-50A,Vcc降为3V。 (2)中断、定时器、串行口等电路不工作。 l进入方法: MOV PCON ,#02H ;PD1 l退出方法: 加到RST 上至少24T的复位正脉冲 61 掉电方式工作图 62 2.空闲方式 l工作状态 (1)CPU不工作,片内功能保持(RAM,SFR中的内容) 不变 消耗功率:1.7-5mA (2)中断,定时器,串行口等电路正常工作。 l进入方法: CPU执行如下指令 MOV Pcon,#01H ; IDL1 l两种退出方法 l(1)硬件复位使IDL=0 l(2)在RST上加上大于24个时钟周期的正脉冲 63 空闲方式工作图 64 3.4编程和校验方式 l这里的编程是指利用特殊手段对单片机片内 EPROM进行写操作的过程,校验则是对刚刚写 入的程序代码进行读出验证的过程。因此,单片 机的编程和校验方式只有EPROM型器件才有, 如8751这样的器件。 l8751片内EPROM有编程、校验和保密编程等三 种工作方式。在每种工作方式下,8751各引脚的 输入电平是不相同的,如下表所示: 65 表中:1表示逻辑高电平,0表示逻辑低电平, 表示任意逻辑电平,VPP为21V0.5V,PROG的编 程脉冲为50ms负脉冲。 66 1.EPROM编程方式 作用:写程序和常数于EPROM中 条件: 振荡频率为4-6MHz 编程地址: P2.3-P2.0和P1.7-P1.0 编程代码:P0口进入 EA/VPP:21V0.5V ALE/PROG: 编码脉冲为50ms的负 脉冲,以完成一个存储单元的程 序代码写入。 67 2.EPROM的校验方式 68 3.EPROM的编程和校验波形 69 4.EPROM的保密方式 l方法: 1)先写程序代码和常数; 2)后写保密位。 l状态: 1)保密编程后的程序代码允许执行; 2)程序代码不可读出; l擦除: 1)先清除全部程序代码; 2)清除保密位后器件才可能恢复再编程。 l用途:保护软件版权 70 电路连接:和编程方式类似,但P2.6应为高电平。 编程方式和保密方式电路连接对比 71 4 MCS-51单片机时序 lCPU发出的时序信号有两类: l一类是用于片内各功能部件的控制,这类信号 很多,但对于用户是没有意义的,不做专门介 绍; l另一类用于片外存储器或I/O端口的控制,需要 通过器件的控制引脚送到片外,这部分时序对 于分析硬件电路至关重要。 72 4.1机器周期和指令周期 l为了对CPU时序进行分析,首先要为它定义一种能 够度量各时序信号出现时间的尺度。这个尺度为 时钟周期、机器周期和指令周期 l1.时钟周期 时钟周期T又称为振荡周期,由单片机内振荡 电路OSC产生,常定义为时钟脉冲频率的倒数,是 时序中最小的时间单位。 例: 若某单片机时钟频率为1MHz,则它的时钟 周期T应为1s。T=1/f 73 2.机器周期 l机器周期定义为实现特定功能所需的时间,通 常有若干时钟周期T构成。 l MCS-51的机器周期时间是固定不变的均由12 个时钟周期T组成,分为6个状态(S1-S6),每 个状态又分为P1和P2两拍。因此,一个机器周 期中的12个振荡周期可以表示为 S1P1,S1P2,S2P1,S2P2,S6P2。 74 3.指令周期 l指令周期是时序中的最大时间单位,定义为执行 一条指令所需的时间。由于机器执行不同指令所 需的时间不同,因此不同指令所包含的机器周期 数也不相同。 l MCS-51单片机通常可以分为单周期指令(12T) 、双周期指令(24T)和四周期指令(48T)等三种。 四周期指令只有乘法和除法指令两条,其余均为 单周期和双周期指令。 75 4.2MCS-51指令的取指/执行时序 l单片机执行任何一条指令时都可以分为取指令 阶段和执行指令阶段。 l取指令阶段简称取指阶段,单片机在这个阶段 里可以把程序计数

温馨提示

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

评论

0/150

提交评论