320 likes | 511 Views
2 MCS-51 单片微机系统结构. 一、 MCS-51 单片机的逻辑结构. 1. 基本组成. 2. 内部逻辑结构. CPU 以 ALU 为中心的运算器 以定时控制逻辑为中心的控制器 内部数据寄存器 字节地址 00H ~ 7FH 内部程序存储器 8051 系列 4K 字节 字节地址 0000H ~ 0FFFH 定时 / 计数器 8051 系列 2×16 位 8052 系列 3×16 位. 并行 I/O 口 P0 、 P1 、 P2 、 P3 共 4 组 32 根 I/O 口线 一个全双工串行口 中断系统
E N D
一、MCS-51单片机的逻辑结构 1.基本组成
CPU • 以ALU为中心的运算器 • 以定时控制逻辑为中心的控制器 • 内部数据寄存器 • 字节地址 00H~7FH • 内部程序存储器 • 8051系列 4K字节 • 字节地址 0000H~0FFFH • 定时/计数器 • 8051系列 2×16位 • 8052系列 3×16位
并行I/O口 • P0、P1、P2、P3 共4组 32根I/O口线 • 一个全双工串行口 • 中断系统 • 中断系统是为了使单片机具有实时控制能力而设计的内部电路,两个优先级 • 时钟电路 • 位处理器(图中未画出) • 将PSW中的Cy位作为位累加器使用 • 总线
主电源引脚(Vss、Vcc)20脚、40脚 • 外部振荡器引脚(XTAL1、XTAL2)19脚、18脚 • 控制、选通或电源复用引脚 • RST/ VPD(9脚):复位输入/备用电源输入复用 • ALE/ PROG(30脚):允许地址锁存信号输出/编程脉冲输入 • PSEN(29脚):访问外部程序存储器选通信号 • EA/ VPP(31脚):访问内部或外部程序存储器选择信号/编程电压输入 • 多功能I/O口引脚 • P0口(32~39脚) • P1口(1~8脚) • P2口(21~28脚) • P3口(10~17脚):提供第二特殊功能 (RXD/TXD/INT0/INT1/T0/T1/WR/RD)
三、中央处理器CPU CPU包括运算器和控制器二大部分。 • 运算器 运算器包括算术/逻辑运算部件(ALU)、布尔处理器、暂存器、累加器A、寄存器B、程序状态字寄存器(PSW)等等。运算器主要用于实现算术/逻辑运算、位操作运算和数据传送等操作。下面介绍运算器的各组成部分。 1、算术/逻辑部件ALU 2、累加器A 3、寄存器B 4、程序状态字寄存器PSW
【累加器A】 地址:E0H • 存放操作数,是ALU输入的一个重要来源 • 是ALU运算结果的暂存单元,用于存放运算的中间结果 • 是数据传送的中转站,单片机中的大部分数据传送都通过累加器进行 • 在变址寻址方式中把累加器作为变址寄存器使用
【寄存器B】 • 主要用于乘除运算 • 乘法:乘积的高8位存于B中,低8位存于A中 • 除法:B中为余数,A中为商值 • 例如: MUL AB A×B→(BA) B中高8位 A中低8位 DIV AB A÷B→(A) 商 (B) 余数
【程序状态字PSW】 • CY(PSW·7):进位标志位。在进行加法(或减法)运算时,若运算结果最高位有进位或借位,则CY自动置“1”,否则CY置“0”,在进行布尔操作运算时,CY(简称C)作为布尔累加器。 • AC(PSW·6):辅助进位标志位。当进行加法或减法时,若低4位向高4位有进位(或借位)时,AC被置“1”,否则AC被置“0”。在十进制调整指令中AC还作为十进制调整的判别位。 • F0(PSW·5):用户标志位。用户可用软件对F0位置“1”或清“0”以决定程序的流向。 • OV(PSW·2):溢出标志位,当运算结果溢出时OV置“1”,否则为“0”,此标志位反映了运算结果是否溢出。OV=C7○C6 有符号数超过范围:-128~127 乘法积超过255 除数为0
【程序状态字PSW】(续) • PSW.1:未定义位。 • P(PSW·0):奇偶标志位。MCS-51单片机采用的是偶校验。当累加器A中“1”的个数为奇数时,P置“1”,否则P置“0”。此位反映累加器A中内容“1”的奇偶性,它常常用于机间通信。 • RS1(PSW·4)、RS0(PSW·3):工作寄存器组选择位。用来选择当前工作的寄存器组。每个寄存器组有8个8位得工作寄存器。用户通过改变RS1 、RS0的内容来选择当前工作寄存器组。RS1、RS0的内容与工作寄存器组的对应关系如表所示。
控制器 1)指令寄存器IR和指令译码器ID 指令寄存器是存放指令代码的地方。当执行指令时,CPU把从程序存储器中读取的指令代码送入指令寄存器,然后指令译码器译码后由定时控制电路发生相应的控制信号,最终完成指令所规定的操作。
2)程序计数器PC(16位) 程序计数器PC的功能与普通微机相同,它用来存放CPU执行的下一条指令的地址。当一条指令按照PC所指的地址从程序存储器中取出后,PC会自动加1,指向下一条指令。程序计数器PC是一个16位的寄存器,可寻址64KB的程序存储器空间。不可对PC寻址,不能读写。 3)堆栈指针SP(8位) 遵循先进后出的原则,SP总是指向栈顶且装有数据.数据称为堆栈元素。 4)数据指针DPTR(16位) DPH:DPTR的高位字节, DPL:DPTR的低位字节
四、时钟电路、时序 • 振荡电路
时钟电路 二分频
时序 1)基本概念 (1)振荡周期 Tosc 振荡周期指为单片机提供定时信号的振荡源的周期,即晶体振荡器直接产生的振荡信号的振荡周期。 (2)时钟周期 S 时钟周期是振荡周期的两倍。是对振荡器2分频的信号。时钟周期又称状态周期,用S来表示,一个时钟周期,分为两个节拍,P1和P2节拍。P1节拍通常完成算术逻辑操作,P2节拍通常完成内部寄存器间数据的传递。
2)时序之间的关系 (3)机器周期 一个机器周期由6个时钟周期组成,即S1~S6,如果把一条指令的执行过程划分为几个基本操作,则完成一个基本操作所需的时间称为机器周期。 (4)指令周期 指令周期是执行一条指令所需的全部时间。MCS-51单片机的指令周期通常由1~4个机器周期组成。 振荡周期Tocs=1/fosc 时钟周期S=2Tosc 地址锁存有效信号ALE=6Tosc 机器周期=12Tosc 指令周期=1~4个机器周期
『练一练』 若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为: 振荡周期=1/12MHz=1/12μs=0.0833μs 时钟周期=1/6μs=0.167μs 机器周期=1μs 指令周期=1~4μs
3)几种典型的取指/执行时序 (1)单字节单周期指令 (2)双字节单周期指令 (3)单字节双周期指令 (4)访问外部数据存储器指令MOVX时序
五、并行I/O口结构 【P0口】 字节地址:80H 位地址:80H~87H P0口有8位口线,是漏极开路的准双向I/O口、亦是低8位地址/数据总线口。结构如图所示。
【P1口】 字节地址:90H 位地址:90H~97H P1口是一个专用的8位准双向I/O口,只具有通用输入/输出口功能,内部自带上拉电阻。作输入时应先向其锁存器写入“1”使得FET截止。它的位结构如图所示。
【P2口】 字节地址:A0H 位地址:A0H~A7H P2口是一个8位准双向I/O口,具有两种功能。一是作通用I/O口用,与P1口相同。二是作系统扩展外部存储器的高8位地址总线。输出高8位地址,与P0口一起组成16位地址总线。它的位结构如图所示。
【P3口】 字节地址:B0H 位地址:B0H~B7H P3口也是一个8位准双向I/O口,除具有与P1口同样的功能(即可以作通用I/O口使用,内部带上拉电阻)外,还具有第二功能。当工作在第二功能时,每位都具有新的功能,各位的定义如表。
【P0~P3口的负载能力及接口要求】 P0口的输出级的每一位可驱动8个LSTTL门。P0口作通用I/O口时,由于输出级是漏极开路,故用它驱动NMOS电路时需外加上拉电阻;而作地址/数据总线时,无需外接上拉电阻。 P1口~P3口的输出级的每一位可驱动4个LSTTL门。由于它们的输出级内部有上拉电阻,因此组成系统时无需外加上拉电阻。
六、复位电路及复位状态 1)复位电路 单片机复位电路包括片内、片外两部分。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的。MCS-51单片机通常采用上电自动复位和按键手动复位两种方式。如图所示。
2)单片机复位后的状态 单片机运行出错或进入死循环时,可按复位键重新运行。21个特殊功能寄存器复位后的状态为确定值,如表所示。
七、MCS-51单片机的节电工作方式 1)CHMOS单片机的节电工作方式 • 电源控制寄存器PCON 2)HMOS单片机的掉电方式 • 冻结运行方式 将PCON中的IDL位置1,单片机进入冻结运行方式。此时CPU进入冻结状态,内部时钟只供给中断系统、定时器、串行口,CPU状态被完整地保存 • 掉电工作方式 PD置1,各功能停止,RAM和SFR内容被保存 • RST/VPD引脚
PCON SMOD — — — GF1 GF0 PD 1DL 电源控制寄存器PCON(97H) ——特殊功能寄存器PCON不能按位寻址—— ☞SMOD:在串行口工作方式 1、2、3 中, 是波特率加倍位 =1 时,波特率加倍 =0 时,波特率不加倍。 (在PCON中只有这一个位与串口有关) ☞GF1,GF0:用户可自行定义使用的通用标志位 ☞PD:掉电方式控制位 ☞IDL:待机方式(空闲方式)控制位
PCON SMOD — — — GF1 GF0 PD IDL ☞PD:掉电方式控制位 =0:常规工作方式。 =1:进入掉电方式: 振荡器停振 片内RAM和SRF的值保持不变 P0—P3口维持原状。 程序停止 只有复位能使之退出掉电方式。
PCON SMOD — — — GF1 GF0 PD 1DL ☞IDL:待机方式(空闲方式)控制位 =0:常规工作方式。 =1:进入待机方式: 振荡器继续振荡 中断、定时器、串口功能继续有效 片内RAM和SRF保持不变 CPU状态保持、P0—P3口维持原状 程序停顿。 中断和复位能退出待机,继续后面的程序。
PCON SMOD — — — GF1 GF0 PD 1DL ☞IDL:待机控制位 =0:常规方式。 =1:待机方式: 振荡器继续振荡 中断,定时器,串口有效 片内RAM和SRF不变 CPU状态,P0—P3维持原状 程序停顿。 中断和复位能退出待机,继续后面的程序。 ☞PD:掉电控制位 =0:常规方式。 =1:掉电方式: 振荡器停振 片内RAM和SRF不变 P0—P3口维持原状 程序停止 只有复位能退出掉电