单片机基础:MCS-51单片机的硬件结构(附硬件结构框图)
单片机硬件结构知识点非常琐碎,通过一次两次的学习是不太可能记住的。想要熟练掌握硬件结构,最好的方法是在实验中练习,通过编程多见多用才能牢固的掌握。
硬件系统框图
单片机功能图
单片机就是一个芯片集成了计算机的三大部分,中央处理器、存储器、I/O接口,这三大部分又通过三总线(数据总线、地址总线、控制总线)相互连接。
单片机的主要部件
CPU
- 1个8位CPU
存储器
- 4KB程序存储器ROM(Read Only Memory),片外最多可扩展64KB,ROM是只读存储器,用于存储数据,相当于硬盘。
- 128B数据存储器RAM(Random Access Memory),片外最多可扩展64KB,RAM是随机存取存储器,用于临时存放数据,相当于内存条。
- 21个具有特殊功能的寄存器SFR。
I/O接口
- 4个8位并行口,P0、P1、P2、P3
- 1个全双工串行口
其它
- 2个16位定时/计数器
- 5个中断源
- 1个片内振荡器、时钟电路
CPU内部结构
运算器
- 算术/逻辑运算单元ALU:进行算术逻辑运算,加减乘除、与或非等等。
- 累加器ACC(8位):助记符A。
- 寄存器B(8位):配合ACC完成乘除运算,没有乘除运算时,可当做RAM的一个单元。
- 程序状态字寄存器PSW(8位):存放ALU运算状态
控制器
- 堆栈指针SP(8位):存取数据,先进后出。数据入栈出栈时,SP自动加1减1。复位时SP=07H。
- 程序计数器PC(16位):存放下条要执行的指令的地址,PC指针指向哪,CPU就执行哪条指令。复位时PC=0000H
- 数据指针DPTR(16位):与PC功能一样,区别是DPTR是外部存储器的指针。
存储器
存储器结构图
单片机存储器在物理结构上分为4部分,片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。但在逻辑上分为3部分,片内外统一编制的程序存储器、片内数据存储器、片外数据存储器,访问这3个存储空间时,采用不同形式的指令。
程序存储器ROM
读取数据的两条指令
MOVC A, @A + DPTR
MOVC A, @A + PC
DPTR为外部扩展ROM的数据指针
最多扩展64KB的程序存储器
复位地址0000H
当EA为低电平时,所有取指令操作都在片外ROM中进行;当EA为高电平,所有取指令操作都在片内ROM中进行。
各中断入口地址
中断源 | 入口地址 |
---|---|
外部中断0(INT0) | 0003H |
外部中断1(INT1) | 0013H |
定时器0(T0) | 000BH |
定时器0(T1) | 001BH |
串行口(TI或RI) | 0023H |
数据存储器RAM
数据存储器分为外部RAM和内部RAM,内部RAM只有128B地址空间(00H~7FH),外部RAM有64KB(0000H ~ 0FFFFH);访问内部RAM用指令MOV,访问外部RAM用指令MOVX。
内部RAM分为通用数据存储器和特殊功能寄存器,两大部分
通用数据存储器
通用数据存储器被分为三个区,工作寄存器区、可位寻址区、用户数据缓冲器
工作寄存器区(00H ~ 1FH)
工作寄存器区共分为4个工作寄存器组,每组有8个工作寄存器R0 ~ R7,可以通过程序状态字寄存器(PSW)中RS0和RS1两位来选择工作寄存器组。
可位寻址区(20H ~ 2FH)
可以对具体的某一位进行处理、传输数据等。
用户数据缓冲区(30H ~ 7FH)
用户RAM,只能按字节寻址
特殊功能寄存器
21个特殊功能寄存器中,有11可位寻址。
重要:程序状态字寄存器PSW
三大逻辑存储部分指令
访问ROM用MOVC
访问片内RAM用MOV
访问片外RAM用MOVX
- 从外部RAM取数 MOVX A,@DPTR
- 从数到外部RAM MOVX @DPTR,A
I/O接口
引脚图
P0
P0口是三态双向口,如果需要输出电平,需要外接上拉电阻。
P1
准双向IO口
P2
准双向IO口
P3
准双向IO口,双功能口