p1 单片机基本结构与最小应用系统
单片机就是一块集成芯片,包括 CPU、 RAM ROM、 定时/计数器、 I/O 等。
使用单片机编程的目的就是控制这块芯片的各个引脚在不同时间输出不同的电平(高电平或低电平),进而控制与单片机各个引脚连接的外围电路的电气状态。
51 单片机集成了微型计算机所需的基本功能部件,包括 CPU、振荡与时钟电路、程序存储器ROM、数据存储器RAM、定时/计数器、串行口、并行口、总线扩展、中断等部分,各部分之间通过内部总线相连接。
CPU
CPU 是单片机的核心部件,它由运算器 ALU 和控制器等部件组成。
ALU
- ALU
- 一个加法器
- 两个 8 位暂存器(TMP1, TMP2)
- 8 位的累加器 A 和寄存器 B
- 程序状态寄存器 PSW
- 一个布尔处理器
控制器
程序计数器 PC
指令寄存器 IR
指令译码器 ID
堆栈指针 SP
数据指针 DPTR
时钟发生器
定时控制逻辑
存储器
随机存取存储器 RAM (Random Access Memory)
用于上电开机后的运行过程,掉电即消失
- 静态 RAM, 很快,很贵,CPU 内部缓存
- 动态 RAM, 很快,比静态慢,电脑或手机 运行内存
只读存储器 ROM (Read Only Memory)
用于烧录程序(分多次或单次),掉电不丢失
快擦写存储器 FLASH
可在运行时随时改写,掉电不丢失 速度比 RAM 慢
- NAND Flash U 盘,固态硬盘等
51 单片机的存储器
从逻辑上看,51 单片机有三个存储器空间:片内 RAM, 片外 RAM, 片内片外统一编址的 ROM。
读写 ROM 由 EA 的值 0 1 来区分, EA 为 39 脚
EA=0 CPU 使用外部 ROM
EA=1 CPU 使用内部 ROM
与存储器有关的概念:
位 bit,读比特,比特位,常用于指传输单位,如 100M bit, 5G bit
字节 Byte,读拜特,常用于指存储或编程中的单位,如 4KB,512MB
字长(8位,16位,32位,64位),系统寄存器多长就是多长
存储单元及地址,一个字节 Byte 所占用的存储空间称为一个存储单元, 51 单片机可以使用 16 位二进制的地址码(0000H ~ FFFFH),所能访问的最大地址空间为 64KB,即 64K 字节
51 ROM
EA = 1,
0000H ~ 0FFFH, 4K 内部ROM
或 0000H ~ 1FFFH, 8K 内部ROM
再往上 ~ FFFFH,为外部 ROM
51 RAM
外部: RD 或 WD 用于读写外部串行口
内部:
内部 RAM 数据存储器是最灵活的存储区。
专用寄存器 SFR
专用寄存器是学习 C51 编程的重点,编程过程会对这些寄存器反复赋值及操作来控制单片机系统的运行。后续专门以一篇文章介绍。
可编程并行 I/O 端口 P0 ~ P4
P0, P1, P2, P3
- 四个口在作输入口使用时,均应先对其写 “1” (0xff),以避免误读
- P0 口作 I/O 口使用时应外接 10K欧 的上拉电阻,其他口则可不必
- P2 口几根线作地址使用时,剩下的线不能作 I/O 口线使用
- P3 口的部分线作第二功能时,剩下的线可以单独作 I/O 口线使用
时钟电路与复位电路
石英片(晶片)的特定形状,在两端加电时会有稳定的振荡频率。可用来产生时钟信号,以提供单片机片内各种数字逻辑电路工作的时间基准。
TODO: 内部振荡方式 和 外部振荡方式 补图
使用 XTAL1 XTAL2 连接电路构成时钟电路
基本时序单位
TODO: 补图
假设晶片振动频率为 12MHz, 即每秒振动 12 000 000 次。Fosc
每一次振停产生一个方格信号,称为 晶振周期 Tosc
Fosc 二分频后, 第 1, 3, 5 …振动分为 P1, 第2, 4, 6 …振动分为P2
P1 或 P2 的周期 S 称为 状态周期 Tt
Fosc 12 分频后形成 机器周期 Tcy, 一个机器周期包含有 12 个晶振周期(或者说 6 个状态周期)
一条指令的执行时间称为 指令周期,指令常用__机器周期__表示。有单周期指令,双周期指令,四周期指令 三种时长的指令周期
- 振荡周期 Tosc = 1/Fosc
- 状态周期 Tt = 2 Tosc
- 机器周期 Tcy = 6Tt
复位电路
上电复位与开关复位
TODO: 待补图
51 单片机引脚及最小应用系统
TODO: 待补图
DIP-40 封装有 40 个引脚:
- P0 P1 P2 P3 各 8 个, 共 32 个
- Vcc, Vss 共 2 个
- RST/Vpd, 共一个
- XTAL1, XTAL2 共 2 个
- EA/Vdd, ALE/PROG, PSEN 共 3 个
单片机芯片、电源、时钟电路、复位电路组成 51 单片机的最小系统。
TODO: 待补图