《2 MCS-51单片机的结构与原理.ppt》由会员分享,可在线阅读,更多相关《2 MCS-51单片机的结构与原理.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章MCS-51单片机的结构与原理单片机的结构与原理2.1 MCS-51单片机的硬件功能2.2 MCS-51硬件系统结构2.3存储器结构2.4 I/O端口2.5 复位电路2.6 CPU时序2.7 CPU引脚功能2.8单片机的工作方式MCS-51单片机单片机 MCS-51单片机的硬件功能单片机的硬件功能 ROM形式片 内 片 内寻址范圈IO中断源片 内ROM片 内EPROM外 接EPROMROM(字节)RAM(字节)计数器并行口串行口8051875180314K128264K216481580C5l87C5180C314K128264K21648l58052875280328K256264
2、K31648l680C5287C5280C328K256264K31648l6 一个8位CPU片内振荡和定时电路128B内部RAM(00H7FH)5个中断源(可编程为两个优先级)22个SFR(除PC外,其余21个分散在80HFFH之间)堆栈深度可达80B(30H7FH);16B(128位,20H2FH)可位寻址区。MCS-51系列单片机的温度适用范围:民品(商业用)070工业品 -4085军用品 -55125 展望增大内部存储器型 该型产品将内部的程序存储器ROM和数据存储器RAM增加一倍。如52子系列。可编程计数阵列(PCA)型 型号中含有字母“F”的系列产品,如80C51FA采用CHMOS
3、工艺制造,具有比较/捕捉模块及增强的多机通信接口。AD型如80C51GB:8路8位AD转换模块MCS-51硬件系统结构硬件系统结构 CPU内部结构内部结构1 1算术逻辑运算单元算术逻辑运算单元算术逻辑运算单元算术逻辑运算单元ALU(8ALU(8位位位位)+、算术运算,与、或、非、异或算术运算,与、或、非、异或算术运算,与、或、非、异或算术运算,与、或、非、异或 逻辑运逻辑运逻辑运逻辑运算、循环移位、位处理。算、循环移位、位处理。算、循环移位、位处理。算、循环移位、位处理。2 2寄存器阵列寄存器阵列寄存器阵列寄存器阵列(1)(1)工作寄存器工作寄存器工作寄存器工作寄存器R0R0R7R7 (8(8
4、位位位位)暂存运算数据和中间结果。暂存运算数据和中间结果。暂存运算数据和中间结果。暂存运算数据和中间结果。4 4个工作寄存器区,工作寄存器个工作寄存器区,工作寄存器个工作寄存器区,工作寄存器个工作寄存器区,工作寄存器0 0区区区区3 3区。每个区均区。每个区均区。每个区均区。每个区均含含含含8 8个寄存器个寄存器个寄存器个寄存器R0R0R7R7 。用用用用PSWPSW中的两位中的两位中的两位中的两位PSW.4PSW.4和和和和PSW.3PSW.3来切换工作寄存来切换工作寄存来切换工作寄存来切换工作寄存器区,选用一个工作寄存器区进行读写操作器区,选用一个工作寄存器区进行读写操作器区,选用一个工作
5、寄存器区进行读写操作器区,选用一个工作寄存器区进行读写操作。(3)(3)寄存器寄存器寄存器寄存器B(8B(8位位位位)与与与与AA累加器配合执行乘、除运算。也可用作通用寄存器。累加器配合执行乘、除运算。也可用作通用寄存器。累加器配合执行乘、除运算。也可用作通用寄存器。累加器配合执行乘、除运算。也可用作通用寄存器。(4)(4)程序状态字程序状态字程序状态字程序状态字PSW(8PSW(8位位位位)存放存放存放存放ALUALU运算过程的标志状态运算过程的标志状态运算过程的标志状态运算过程的标志状态Cy AC F0 RS1 RS0 OV PCy AC F0 RS1 RS0 OV P(5)(5)数据指针
6、数据指针数据指针数据指针DPTR(16DPTR(16位位位位)存放片外存储器地址,作为片外存储器的指针。可分成存放片外存储器地址,作为片外存储器的指针。可分成存放片外存储器地址,作为片外存储器的指针。可分成存放片外存储器地址,作为片外存储器的指针。可分成两个两个两个两个8 8位寄存器位寄存器位寄存器位寄存器DPHDPH、DPLDPL使用使用使用使用。(2)(2)累加器累加器累加器累加器Acc(8Acc(8位位位位)需要需要需要需要ALUALU处理的数据和计算结果多数要经过处理的数据和计算结果多数要经过处理的数据和计算结果多数要经过处理的数据和计算结果多数要经过AA累加器累加器累加器累加器。(6
7、)(6)堆栈指针堆栈指针堆栈指针堆栈指针SP(8SP(8位位位位)(7)(7)程序计数器程序计数器程序计数器程序计数器PC(16PC(16位位位位)CPUCPU总是按总是按总是按总是按PCPC的指示读取程序。的指示读取程序。的指示读取程序。的指示读取程序。PCPC可自动加可自动加可自动加可自动加1 1。因。因。因。因此此此此CPUCPU执行程序一般是顺序方式。当发生转移、子程序执行程序一般是顺序方式。当发生转移、子程序执行程序一般是顺序方式。当发生转移、子程序执行程序一般是顺序方式。当发生转移、子程序调用、中断和复位等操作,调用、中断和复位等操作,调用、中断和复位等操作,调用、中断和复位等操作
8、,PCPC被强制改写,程序执行顺被强制改写,程序执行顺被强制改写,程序执行顺被强制改写,程序执行顺序也发生改变。序也发生改变。序也发生改变。序也发生改变。复位时,复位时,复位时,复位时,PC=0000HPC=0000H。堆栈是按堆栈是按堆栈是按堆栈是按“先进后出先进后出先进后出先进后出”原则存取数据的存储区。原则存取数据的存储区。原则存取数据的存储区。原则存取数据的存储区。MCS-51MCS-51堆栈设在片内堆栈设在片内堆栈设在片内堆栈设在片内RAMRAM区。数据入栈区。数据入栈区。数据入栈区。数据入栈/出栈时,出栈时,出栈时,出栈时,SPSP自动加自动加自动加自动加1/1/减减减减 1 1,
9、其内容始终为栈顶地址。,其内容始终为栈顶地址。,其内容始终为栈顶地址。,其内容始终为栈顶地址。复位时复位时复位时复位时 SP=07HSP=07H。8051存储器结构存储器结构 程序存储器程序存储器 在MCS-51的指令系统仅有两条:MOVC A,A+DPTR MOVC A,A+PC复位后,程序计数器PC的内容为0000HMCS-51最多可外扩64K字节程序存储器 中断源入口地址外部中断0(INT0)定时器0(T0)外部中断1(INT1)定时器1(T1)串行口(T1或RI)0003H000BH0013H001BH0023H各种中断服务子程序的入口地址数据存储器数据存储器 (1)从00H1FH的3
10、2B单元是4个工作寄存器组。(2)地址20H2FH的16B共128位,是可位寻址的内部RAM区,它们既可字节寻址,亦可位寻址。(P14表2-3)(3)其它80B是只能按字节寻址的内部RAM区,为用户区。MCS-51单片机的堆栈安排在内部RAM内,堆栈的深度以不超过内部RAM的空间为限。堆栈堆栈是一种只允许在其一端进行数据插入和删除操作的一种数据结构。数据存取为“后进先出”。堆栈功能:保护断点和现场信息。堆栈的建立:MCS-51的堆栈是设置在内部RAM 30H7FH空间中,栈底为低地址单元,堆栈指针为SP。堆栈是通过堆栈指示器 SP 进行读写操作。进栈指令格式为:PUSH direct;SP(S
11、P)+1,(SP)(direct)出栈指令格式为:POP direct;direct(SP),(SP)(SP)-1 堆栈操作是按照“先进后出”的原则进行存取的。注意:存取顺序字节进栈出栈操作堆栈操作堆栈操作如设(SP)=30H,(DPTR)=1200H,若将 DPTR的内容进栈保存后再退栈,则指令执行顺序是:PUSH DPL ;SP(SP)+1,(SP)(DPL)PUSH DPH ;SP(SP)+1,(SP)(DPH)POP DPH ;DPH(SP),SP(SP)-1 POP DPL ;DPL(SP),SP(SP)-1 执行示意图如图栈底内部RAM 30H栈底 00H栈顶SP 32H数据进栈数
12、据出栈30H31H12H12H32H31H00HSPPUSH DPL ;SP(SP)+1,(SP)(DPL)PUSH DPH ;SP(SP)+1,(SP)(DPH)如设(SP)=30H,(DPTR)=1200H POP DPH ;DPH(SP),SP(SP)-1 POP DPL ;DPL(SP),SP(SP)-1 DPTRDPH DPL12H00H特特殊功能寄存器殊功能寄存器SFR SFR区标识 名 称 地址 标识 名 称 地址 ACC 累加器 E0H B B寄存器 F0HPSW 程序状态字 D0HSP 堆栈指针 81H DPTR 数据指针DPH、DPL 82HP0 P0口 80HP1 P1口
13、 90HP2 P2口 A0H P3 P3口 B0HIP 中断优先级控制 B8HIE 允许中断控制 A8HTMOD 定时方式控制 89HTCON 定时/计数控制 88HTH0 T0高字节 8CHTL0 T0低字节 8AHTH1 T1高字节 8DH TL1 T1低字节 8BHSCON 串行控制 98HSBUF 串行数据 缓冲器 99HPCON 电源控制 97H 特特殊功能寄存器殊功能寄存器SFR SFR区部分寄存器功能介绍如下:程序计数器(PC、16位):存放将要执行的指 令地址。累加器(ACC、8位):存放数据或中间结果。B寄存器(8位):主要用于乘、除运算。数据指针(DPTR、16位):存放外
14、部数据存储器的地址。CY AC F0 RS1 RS0 OV /P奇偶标志位溢出标志位寄存器组选择位寄存器组选择位用户标志位辅助进位标志位进位标志位无定义 程序状态字(PSW、8位):用于寄存程序运行的状态信息。格式如下:D0H D7 D6 D5 D4 D3 D2 D1 D0 CY:(1)执行算术运算时,最高位向前进位或借位时,CY为1;否则,CY为0。(2)在位操作中,作“位”累加器。AC:用于十进制调整。当低四位向高四位进位或借位时,AC为1;否则AC为0。F0:供用户定义的标志位,可以用指令置位或复位,用以控制程序的转向。标志位功能:标志位功能:RS1、RS0:用于设定R0R7的组号。定义
15、如下:RS1 RS0 寄存器组 R0R7地址 0 0 组0 0007H 0 1 组1 080FH 1 0 组2 1017H 1 1 组3 181FH标志位功能:标志位功能:OV:(1)在带符号数的加减运算中,结果产生溢出,OV=1;否则,OV=0。(2)在乘法运算中,乘积超过255,OV=1,表示积存放在B与A中;否则,OV=0,表示积只存放在A中。(3)在除法运算中,当除数为0时,OV=1,除法无意义。P:累加器A中数的奇偶性,若A中“1”的个数为奇数,则P=1;否则,P=0。标志位功能:标志位功能:(1)单片机的22个专用寄存器中,有21个是可按字节寻址的(PC除外)。这些字节地址不连续的
16、分散在内部RAM存储空间的高128B中,剩余的空闲地址不允许用户使用。(2)SFR只能使用直接寻址方式来访问它们,书写时既可使用寄存器名(P0),也可使用寄存器单元地址(80H)。对专用寄存器的两点说明对专用寄存器的两点说明具有位寻址能力专用寄存器具有位寻址能力专用寄存器 在21个特殊功能寄存器中,有11个特殊功能寄存器具有位寻址能力,它们的字节地址正好能被8整除,其十六进制地址的末位,只能是0H或8H。(P16表2-5)外部数据存储器外部数据存储器 MCS-51外部数据存储器寻址空间为64KBMCS-51同外部数据存储器的指令有4条:MOVX A,Ri 其中 i=0,1 MOVX A,DPT
17、R MOVX Ri,A MOVX DPTR,AR0,R1为8位寄存器,寻址范围256BDPTR为16位的数据指针,寻址范围64KB。I/O端口端口 MCS-51有4个双向的8位并行I/O口:P0P3每一个口都有一个8位的锁存器复位后它们的初始状态为全“1”P0口是三态双向口:既可作为并行I/O口,也可作为数据总线口。当外部扩展了存储器或I/O端口,则只能作数据总线和地址总线低8位(分时复用)。I/O端口端口 P1口是专门供用户使用的I/O口,是准双向接口P2口是准双向接口,既可作为并行I/O口,也可作为地址总线高8位口。当外部扩展了存储器或I/O端口,则只能作地址总线高8位P3口是准双向口,又
18、是双功能口。该口的每一位均可独立地定义为第二功能,作为第一功能使用时,口的结构与操作与P1口相同 I/O端口端口 P0口结构口结构 当P0口作为地址/数据分时复用总线时,分为两种情况:一种是从P0口输出地址或数据,另一种是从P0口输入数据。通用I/O 地址地址/数据分时复用功能数据分时复用功能 原理:在访问片外存储器而需从P0口输出地址或数据信号时,控制信号应为高电平“1”,使转换开关MUX把反相器的输出端与T2接通,同时把与门打开。当地址或数据为1时,经反相器使T2截止,而经与门使T1导通,P0.x引脚上出现相应的高电平1;当地址或数据为0时,经反相器使T2导通而T1截止,引脚上出现相应的低
19、电平0。这样就将地址/数据的信号输出。P0口作为通用I/O口 在CPU向端口输出数据时,对应的控制信号为0,转换开关把输出级与锁存器Q端接通,同时因与门输出为0使T1截止,此时,输出级是漏极开路电路。当写脉冲加在锁存器时钟端CLK上时,与内部总线相连的D端数据取反后出现在Q端,又经输出T2反相,在P0引脚上出现的数据正好是内部总线的数据。当要从P0口输入数据时,引脚信息仍经输入缓冲器进入内部总线。P1口口 P2口口 nP1口为准双向口结构上与P0口的区别在于输出驱动部分。其输出驱动部分由场效应管T与内部上拉电阻组成。当其某位输出高电平时,可以提供拉电流负载,不必像P0口那样需要外接上拉电阻。n
20、P1口只有通用I/O接口一种功能(对51子系列),其输入输出原理特性与P0口作为通用I/O接口使用时一样。P1口具有驱动4个LSTTL负载的能力。n 另外,对于52子系列单片机P1口P1.0与P1.1除作为通用I/O接口线外,还具有第二功能,即P1.0可作为定时器/计数器2的外部计数脉冲输入端T2,P1.1可作为定时器/计数器2的外部控制输入端T2EX。P3口口 I/O的接口要求与负载能力的接口要求与负载能力 P1,P2,P3口内部均有上拉电阻,当它们用作输入方式时,对应的口锁存器必须先“置”1P0口内部没有上拉电阻,当它作为通用I/O时,外接上拉电阻,在用作地址/数据线时,不必外加上拉电阻P
21、0口的每位输出可驱动8个LSTTL负载,P1-P3口可驱动4个LSTTL负载。复位电路复位电路 复位后PC值为0000H,故复位后的程序入口地址为0000H;复位后PSW=00H,使片内存储器中选择0区工作寄存器,用户标志位F0为0状态;复位后SP=07H,设定堆栈栈底为07H;复位后的P1,P2,P3口锁存器全为1状态,使这些准双向口皆处于输入状态;内部RAM不受复位的影响。(见表2-4)nTH1、TL1、TH0、TL0的内容为00H,定时器/计数器的初值为0。n(TMOD)=00H,复位后定时器/计数器T0、T1为定时器方式0,非门控方式。n(TCON)=00H,复位后定时器/计数器T0、
22、T1停止工作,外部中断0、1为电平触发方式。n(T2CON)=00H,复位后定时器/计数器T2停止工作。n(SCON)=00H,复位后串行口工作在移位寄存器方式,且禁止串行口接收。n(IE)=00H,复位后屏蔽所有中断。n(IP)=00H,复位后所有中断源都设置为低优先级。寄 存 器复 位 状 态寄 存 器复 位 状 态PC0000HTCON 00HA00HT2CON 00HB00HTH0 00HPSW00HTL0 00HSP07HTH1 00HDPTR0000HTL1 00HP0P3FFHSCON 00HMCS-51单片机复位状态表单片机复位状态表复位电路复位电路 复位电路的基本功能是:系统
23、上电时提供复位信号,在加电瞬间,RST端出现一定时间的高电平,直至系统电源稳定后,撤销复位信号。CPU时序时序 MCS-51内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。CPU时序时序 CPU执行一条指令的时间称为指令周期,它是以机器周期为单位的,MCS-51典型的指令周期为一个机器周期。每个机器周期由6个状态周期组成,每个状态周期由2个振荡周期组成,状态周期即S1、S2、S3、S4、S5、S6,而每个状态周期由两个节拍Pl,P2组成。大多数8051指令执行时间为一个机器周期,MUL(乘法)和DIV(除法)需要4个机器周期。MCS-51单
24、片机典型的取指时序单片机典型的取指时序 每个机器周期由6个状态周期每个状态周期由2个振荡周期组成CPU引脚功能引脚功能 双列直插式封装(DIP,Dual Inline Package方形封装(PLCC,Plastic Leaded Chip Carrier引脚功能引脚功能 1.端口线(48=32条)1)P0.0-P0.7 2)P1.0-P1.73)P2.0-P2.7 4)P3.0-P3.72电源线(2条):VCC为+5V电源线,VSS为地线 3控制线(6条)ALEPROG:地址锁存允许编程线 EAVPP:允许访问片外存储器编程电源线 PSEN:片外ROM选通线 RSTVPD:复位备用电源线 X
25、TAL1和XTAL2:片内振荡电路输入/输出线 控制线控制线 ALEPROG:地址锁存允许编程线配合P0口引脚的第二功能使用,用于把这个片外存储器低8位地址锁存到外部专用地址锁存器 在不访问片外存储器时,MCS-51自动在ALE线上输出频率为fosc6的脉冲序列。该脉冲序列可用作外部时钟源或作为定时脉冲源使用它可以在对8751片内EPROM编程校验时传送5ms宽的负脉冲。控制线控制线 EAVPP:允许访问片外存储器编程电源线控制MCS-51使用片内ROM还是使用外ROM。若=1,则允许使用片内ROM;若=0,则只能使用片外ROM。对8751的EAVPP用于在片内EPROM编程/校验时输入21V
26、或12.5V编程电源。控制线控制线 PSEN:片外ROM选通线 执行访问片外ROM的指令MOVC时,自动在线上产生一个负脉冲,用于为片外ROM芯片的选通(相当于读信号RD)。其他情况下,线均为高电平封锁状态。控制线控制线 RSTVPD:复位备用电源线使CPU处于复位(即初始化)工作状态。复位有上电自动复位和人工按钮复位两种 RSTVPD的第二功能是作为备用电源输入端。当主电源VCC,发生故障而降低到规定低电平时,RSTVPD线上的备用电源自动投入,以保证片内RAM中信息不丢失。XTAL1和XTAL2:片内振荡电路输入/输出线,这两个端子用来外接石英晶体和微调电容,即用来连接片内OSC的定时反馈
27、回路,单片机的工作方式单片机的工作方式 复位方式程序执行方式单步执行方式 连续执行方式 节电方式待机方式掉电保护方式EPROM的编程和校验方式 复位方式复位方式 单片机在开机时都需要复位,以便CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作RST引脚是复位信号的输入端复位信号是高电平有效,持续时间要有24个时钟周期以上若时钟频率为12MHz,则复位脉冲宽度至少应为2S。单片机复位后,其片内各寄存器状态如表2-4所列(P15)。这时,堆栈指针SP为07H、ALE、PSEN、P0、P1、P2、和P3口各引脚均为高电平,片内RAM中内容不变。程序执行方式程序执行方式 1.单步执行
28、方式 单步执行方式是指按一次单步执行键就执行一条用户指令的方式。单步执行方式常常用于用户程序的调试。单步执行方式是利用单片机外部中断功能实现的 2.连续执行方式 连续执行方式是单片机都需要的一种工作方式 被执行程序可以放在片内或片外ROM中 由于复位后程序计数器PC0000H,可以预先在0000H处放一条转移指令,以便跳转到0000H0FFFFH中的任何地方执行程序。CHMOS型单片机低功耗工作方式型单片机低功耗工作方式 CHMOS型的51单片机具有低功耗的特点两种节电工作方式:待机方式和掉电保护方式。待机方式和掉电方式都是由电源控制寄存器PCON的有关位来控制的。SMOD:串行口波特率系数控
29、制位;PD :掉电方式控制位,PD=l,系 统进入掉电保护方式;IDL :待机方式控制位,IDL=1,系统进人待机方式。CHMOS型单片机低功耗工作方式型单片机低功耗工作方式 待机方式待机方式待机方式的进入:使用指令将PCON寄存器的IDL位置1即可。单片机进入待机方式时振荡器仍然运行 CPU不工作 通用寄存器都保持原有状态不变 退出待机方式的方法有两种:中断和硬件复位。CHMOS型单片机低功耗工作方式型单片机低功耗工作方式 掉电保护方式掉电保护方式掉电保护方式的进入:使用指令将PCON寄存器的PD位置1即可。单片机的一切工作全部停止只有内部的RAM单元的内容被保存I/O引脚状态和相关的特殊功能寄存器的内容相对应ALE和为逻辑低电平。退出掉电保护方式的方法只有一个:硬件复位。复位后特殊功能寄存器的内容被初始化,但RAM的内容仍然保持不变。编程和校验方式编程和校验方式 编程:是指利用特殊手段对单片机片内EPROM进行写入的过程校验:是对刚刚写入的程序代码进行读出验证的过程单片机的编程和校验方式只有EPROM型器件才有,如8751这样的器件。作业P33:1、3、5 8、9、10、11 第二章 END
限制150内