单片机结构及其原理
- 51单片机的内部结构
- 单片机CPU
- 控制器
- 控制器:程序计数器:PC
- 控制器:数据指针寄存器:DPTR
- 运算器
- 累加器A
- PSW程序状态字
- CY(PSW.7)进位标志
- AC(PSW.6)辅助进位标志
- RS1和RS0(PSW.4&PSW.3)工作寄存器组指针
- OV(PSW.2)溢出标志位
- P(PSW.0)奇偶标志位
- 51单片机的引脚以及功能
- 电源以及晶振引脚
- 控制引脚
- 并行IO口引脚
- P3口的第二功能定义
- 51单片机的存储器结构
- 程序存储器ROM
- ROM的6个特殊存储器单元
- 数据存储器RAM
- 低128字节分区1:工作寄存器区(00H-1FH)
- 51单片机的复位、时钟与时序
- 复位
- 时钟和时序
51单片机的内部结构
SCM:将通用微计算机基本功能部件集成在一块芯片上构成的一种专用微计算机系统。
SCM=CPU+ RAM+ ROM+I/O+T/C+INT+UART
单片机CPU
CPU由控制器和运算器组成。
控制器
控制器:程序计数器:PC
PC——指令地址寄存器,永远存放着下一条指令的地址。
所以PC的变化规律决定着程序的流程。
PC还以下的性质:
16位的字长:可寻址范围为64KB
自动加1功能:顺序运行程序
可以被修改:跳转到运行的程序
复位时,PC值为0,也就是说复位后程序从0开始运行。
控制器:数据指针寄存器:DPTR
用于表示存储器数据地址的指针
16字节的字长,可寻址范围64kb,可以拆位2个8位的独立寄存器DPL和DPH
运算器
作用:对数据进行算术运算和逻辑运算。
组成:算术/逻辑部件ALU+累加器ACC+程序状态字PSW+其他运算单元
功能:
1.对暂存器中的数据进行运算。
2.结果保存到ACC中。
3.运行状态反映在PSW中。
累加器A
累加器A是一个8位寄存器,用来存放操作数或是中间运行结果。
PSW程序状态字
是一个8位的专用寄存器,用于存放程序运行过程中的各种状态信息。
PSW中的各位信息通常是在指令执行的过程中自动形成的,但也可以由传送指令加以改变。
CY(PSW.7)进位标志
在进行加减运算时,如果操作结果的最高位有进位或者是借位,CY由硬件置“1”,否则清“0”
AC(PSW.6)辅助进位标志
在进行加或减法运算时,如果操作结果的低四位数向高四位数产生进位或者是借位,由硬件置“1”,否则清“0”
用途:1.根据ac判断加减运算时有无半进位或者是半借位。
2.在BCD码调整运算中要用到AC标志。
RS1和RS0(PSW.4&PSW.3)工作寄存器组指针
OV(PSW.2)溢出标志位
运算结果是否存在溢出,若有溢出,OV=1,无溢出,OV=0.
P(PSW.0)奇偶标志位
该位始终跟踪累加器A中含“1”个数的奇偶性
用于串行通信中的数据校验,判断是否存在传输错误。
51单片机的引脚以及功能
电源以及晶振引脚
vcc:+5v电源引脚
vss:接地引脚
XTAL1、XTAL2:外接晶振引脚
控制引脚
并行IO口引脚
51单片机有32个io引脚,分别组成P0、P1、P2、P3四个端口。
P1口具有输出、读引脚、读锁存器三种工作方式,但是P0口做输入输出作用时需要外接上拉电阻。P0口和P2口除了做数据的输入和输出,还可以被用来构建系统的数据总线和地址总线。
P3口的第二功能定义
51单片机的存储器结构
计算机存储器地址空间的两种结构形式:
普林斯顿结构和哈佛结构。
51单片机采用哈佛结构,共有四个物理存储空间,或三个逻辑存储空间。
ROM:64KB,包含4KB的片内ROM+64KB的片外ROM(60+4)
RAM:包含片内数据存储器(共256B,21个sfr+128B的内部RAM)和64KB片外数据存储器
程序存储器ROM
作用:存放程序,表格或者是常数(掉电可保存)
字长:8位
数量:片内ROM4KB,片外ROM64KB(其中4KB与片内ROM共用地址编号)
通过控制线EA来选择是片内ROM操作还是片外ROM操作。(EA=1,程序从片内ROM开始,片内ROM和片外ROM共同构成64kb空间,EA=0时,片内ROM被禁用,程序从片外ROM开始)
ROM的6个特殊存储器单元
数据存储器RAM
作用:存放程序运行结果(掉电消失)
数量:256B
字长:8位
低128B为普通RAM区
高128B为特殊功能寄存器区
低128字节分区1:工作寄存器区(00H-1FH)
分为四组,每一组8个单元,命名为工作寄存器R0-R7。
通过PEW中的RS1与RS0进行设置。
注意,cpu复位后,RS1与RS0都是默认为0,即默认第0组为当前工作寄存器组。
51单片机的复位、时钟与时序
复位
分为三种:上电复位、按键复位、复合复位
在RST引脚端出现满足复位时间要求的高电平状态(一般不小于10ms)
时钟和时序
操作必须在统一的时钟控制下才能正确进行,各操作的时间顺序称为时序
时序定时单位一共有四个参数:
拍(振荡周期、时钟周期)P
状态周期S:一个状态s包含两个拍(p)
机器周期:一个机器周期由6个s或者是12个p组成(振荡周期时机器周期的1/12)
指令周期