《80C51单片机内部结构和工作原理》由会员分享,可在线阅读,更多相关《80C51单片机内部结构和工作原理(8页珍藏版)》请在金锄头文库上搜索。
1、第 2 章 80C51 单片机内部结构和工作原理本章要点 80C51 系列单片机内部结构 外部引脚功能 存储空间配置和功能 片内 RAM 结构和功能 特殊功能寄存器的用途和功能 程序计数器 PC 的作用和基本工作方式 I/O 端口结构、工作原理及功能 时钟和时序 复位电路、复位条件和复位后状态 低功耗工作方式的作用和进入退出的方法2-1 内部结构和引脚功能一、二、引脚功能40 个引脚大致可分为 4 类:电源、时钟、控制和 I/O 引脚。 电源: VCC - 芯片电源,接+5V; VSS - 接地端; 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有 4 根
2、, ALE/PROG:地址锁存允许 /片内 EPROM 编程脉冲 ALE 功能:用来锁存 P0 口送出的低 8 位地址 PROG 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,此引脚输入编程脉冲。 PSEN: 外 ROM 读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD 功能:在 Vcc 掉电情况下,接备用电源。 EA/Vpp:内外 ROM 选择/片内 EPROM 编程电源。 EA 功能:内外 ROM 选择端。 Vpp 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,施加编程电源 Vpp。 I/O 线80C51 共有
3、4 个 8 位并行 I/O 端口:P0、P1、P2 、P3 口,共 32 个引脚。P3 口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线) 。P3.0 RXD:串行口输入端;P3.1 TXD:串行口输出端; P3.2 INT0:外部中断 0 请求输入端; P3.3 INT1:外部中断 1 请求输入端; P3.4 T0:定时/计数器 0 外部信号输入端; P3.5 T1:定时/计数器 1 外部信号输入端; P3.6 WR:外 RAM 写选通信号输出端; P3.7 RD:外 RAM 读选通信号输出端。2-1 存储空间配置和功能80C51 的存储器组织结构可以分为三个不同的存储空间,分别
4、是: 64KB 程序存储器(ROM),包括片内 ROM 和片外 ROM; 64KB 外部数据存储器(外 RAM) ; 256B 内部数据存储器(内 RAM)(包括特殊功能寄存器) 。80C51 存储空间配置图 一、程序存储器(ROM)地址范围:0000HFFFFH,共 64KB。其中: 低段 4KB:0000H0FFFH80C51 和 87C51 在片内,80C31 在片外。 高段 60KB:1000HFFFFH。在片外。读写 ROM 用 MOVC 指令,控制信号是 PSEN 和 EA。读 ROM 是以程序计数器 PC 作为 16 位地址指针,依次读相应地址 ROM 中的指令和数据,每读一个字
5、节,PC+1PC,这是 CPU 自动形成的。但是有些指令有修改 PC 的功能,例如转移类指令和 MOVC 指令,CPU 将按修改后 PC 的 16 位地址读 ROM。读外 ROM 的过程: CPU 从 PC 中取出当前 ROM 的 16 位地址,分别由 P0 口(低 8 位)和 P2 口(高 8 位)同时输出,ALE 信号有效时由地址锁存器锁存低 8 位地址信号,地址锁存器输出的低 8 位地址信号和 P2 口输出的高 8 位地址信号同时加到外ROM 16 位地址输入端,当 PSEN 信号有效时,外 ROM 将相应地址存储单元中的数据送至数据总线(P0 口) ,CPU读入后存入指定单元。 地址范
6、围:0000HFFFFH 共 64KB。 读写外 RAM 用 MOVX 指令,控制信号是 P3 口中的 RD 和 WR。 读外 RAM 的过程: 外 RAM 16 位地址分别由 P0 口(低 8 位)和 P2 口(高 8 位)同时输出,ALE 信号有效时由地址锁存器锁存低 8 位地址信号,地址锁存器输出的低 8 位地址信号和 P2 口输出的高 8 位地址信号同时加到外 RAM 16 位地址输入端,当RD 信号有效时,外 RAM 将相应地址存储单元中的数据送至数据总线(P0 口) ,CPU 读入后存入指定单元。写外 RAM 的过程: 写外 RAM 的过程与读外 RAM 的过程相同。只是控制信号不
7、同,信号换成 WR 信号。当 WR 信号有效时,外 RAM 将数据总线(P0 口分时传送)上的数据写入相应地址存储单元中。 从广义上讲,80C51 内 RAM(128B )和特殊功能寄存器( 128B)均属于片内 RAM 空间,读写指令均用 MOV 指令。但为加以区别,内 RAM 通常指 00H7FH 的低 128B 空间。 80C51 内 RAM 又可分成三个物理空间:工作寄存器区、位寻址区和数据缓冲区。 地址区域 功能名称 00H07H 工作寄存器 0 区 08H0FH 工作寄存器 1 区 10H17H 工作寄存器 2 区 00H 1FH18H1FH 工作寄存器 3 区 20H2FH 位寻
8、址区 30H7FH 数据缓冲区 工作寄存器区作用:有专用于工作寄存器操作的指令,读写速度比一般内 RAM 要快,指令字节比一般直接寻址指令要短,还具有间址功能,能给编程和应用带来方便。工作寄存器区分为 4 个区:0 区、1 区、2 区、3 区。每区有 8 个寄存器:R0R7 ,寄存器名称相同。但是,当前工作的寄存器区只能有一个,由 PSW 中的 D4、D3 位决定。 位寻址区地址:从 20H2FH 共 16 字节(Byte,缩写为英文大写字母 B) 。每 B 有 8 位(bit ,缩写为小写 b) ,共 128 位,每一位均有一个位地址,可位寻址、位操作。即按位地址对该位进行置 1、清 0、求
9、反或判转。 用途: 存放各种标志位信息和位数据。注意事项:位地址与字节地址编址相同,容易混淆。区分方法:位操作指令中的地址是位地址 ;字节操作指令中的地址是字节地址。位寻址区的位地址映象表 位 地 址字节地址 D7 D6 D5 D4 D3 D2 D1 D02FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H2EH 77H 76H 75H 74H 73H 72H 71H 70H2DH 6FH 6EH 6DH 6CH 6BH 6AH 69H 68H2CH 67H 66H 65H 64H 63H 62H 61H 60H2BH 5FH 5EH 5DH 5CH 5BH 5AH 59H
10、58H2AH 57H 56H 55H 54H 53H 52H 51H 50H29H 4FH 4EH 4DH 4CH 4BH 4AH 49H 48H28H 47H 46H 45H 44H 43H 42H 41H 40H27H 3FH 3EH 3DH 3CH 3BH 3AH 39H 38H26H 37H 36H 35H 34H 33H 32H 31H 30H25H 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H24H 27H 26H 25H 24H 23H 22H 21H 20H23H 1FH 1EH 1DH 1CH 1BH 1AH 19H 18H22H 17H 16H 15H 1
11、4H 13H 12H 11H 10H21H 0FH 0EH 0DH 0CH 0BH 0AH 09H 08H20H 07H 06H 05H 04H 03H 02H 01H 00H 数据缓冲区内 RAM 中 30H7FH 为数据缓冲区,用于存放各种数据和中间结果,起到数据缓冲的作用。 四、特殊功能寄存器(SFR) 特殊功能寄存器地址映象表(一) 特殊功能寄存器地址映象表(二) 注:带括号的字节地址表示每位有位地址可位操作。 累加器 Acc 寄存器 B 程序状态字寄存器 PSWPSW 也称为标志寄存器,存放各有关标志。其结构和定义如下: Cy 进位标志。用于表示 Acc.7 有否向更高位进位。 AC
12、 辅助进位标志。用于表示 Acc.3 有否向 Acc.4 进位。 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 ) OV 溢出标志。表示 Acc 在有符号数算术运算中的溢出。 P 奇偶标志。 表示 Acc 中“1”的个数的奇偶性。 F0 、F1 用户标志。 数据指针 DPTR16 位,由两个 8 位寄存器 DPH、DPL 组成。主要用于存放一个 16 位地址,作为访问外部存储器(外 RAM 和RO
13、M)的地址指针。 堆栈指针 SP专用于指出堆栈顶部数据的地址。五、程序计数器 PC PC 不属于特殊功能寄存器,不可访问,在物理结构上是独立的。 PC 是一个 16 位的地址寄存器,用于存放将要从 ROM 中读出的下一字节指令码的地址,因此也称为地址指针。 PC 的基本工作方式有: 自动加 1。CPU 从 ROM 中每读一个字节,自动执行PC+1PC; 执行转移指令时,PC 会根据该指令要求修改下一次读 ROM 新的地址; 执行调用子程序或发生中断时,CPU 会自动将当前 PC 值压入堆栈,将子程序入口地址或中断入口地址装入PC;子程序返回或中断返回时,恢复原有被压入堆栈的 PC 值,继续执行
14、原顺序程序指令。2-3 I/O 端口结构及工作原理 有 4 个 8 位并行 I/O 口,共 32 条端线:P0、P1、P2 和 P3 口。每一个 I/O 口都能用作输入或输出。 用作输入时,均须先写入“1” ;用作输出时,P0 口应外接上拉电阻。 P0 口的负载能力为 8 个 LSTTL 门电路;P1P3 口的负载能力为 4 个 LSTTL 门电路。 在并行扩展外存储器或 I/O 口情况下,P0 口用于低 8 位地址总线和数据总线( 分时传送)P2 口用于高 8 位地址总线,P3 口常用于第二功能,用户能使用的 I/O 口只有 P1 口和未用作第二功能的部分 P3 口端线。2-4 时钟和时序一
15、、时钟电路 二、时钟周期和机器周期 时钟周期。80C51 振荡器产生的时钟脉冲频率的倒数,是最基本最小的定时信号。 机器周期。80C51 单片机工作的基本定时单位,简称机周。 机器周期是时钟周期的 12 倍。当时钟频率为 12MHz 时,机器周期为 1S;当时钟频率为 6MHz 时,机器周期为 2S。2-5 复位和低功耗工作方式80C51 单片机的工作方式共有四种: 复位方式; 程序执行方式; 低功耗方式; 片内 ROM 编程(包括校验)方式。一、复位方式 复位条件RST 引脚保持 2 个机器周期以上的高电平。 复位电路 复位后 CPU 状态PC: 0000H TMOD: 00HAcc: 00H TCON: 00HB: 00H TH0: 00HPSW: 00H TL0: 00HSP: 07H TH1: 00HDPTR:0000H TL1: 00HP0P3:FFH SCON: 00HIP:00000B