文章目录
前言
目前正在准备写一个51单片机库,希望能实现51的大多数功能,此博客对应代码已存在码云,https://gitee.com/smalkang/library_51.git 希望大家多多指正。
数据类型
sfr–特殊功能寄存器的数据声明,声明8为寄存器
sfr–声明16位
sbit–特殊功能位声明,也声明某特殊功能寄存器某一位
bit–位变量声明
周期
- 时钟周期:时钟频率倒数
- 状态周期:时钟周期二倍
- 机器周期:单片机基本操作周期,由12个时钟周期组成
- 指令周期:执行一条指令周期的时间(一般一个指令周期1~4个机器周期)
芯片
段选锁存器
OE–GND
LE :高点平:锁死
低电平: 跟随输入端
ADC0804
AGND与DGND区别
为了提高控制精度,可以数字地与模拟地分开,最后通过一点连接
芯片说明与数模转换原理
中断
IE:中断允许寄存器
位符号 | 1 | 意义 |
---|---|---|
EA | 开 | 全局中断 |
ET2 | 开 | 定时器2 |
ET1 | 开 | 定时器1 |
ET0 | 开 | 定时器0 |
EX1 | 开 | 外部1 |
EX0 | 开 | 外部0 |
ES | 开 | 串行口 |
IP:中断优先级寄存器
优先级别
默认:
- 外部0–INT0
- 定时器0–T0
- 外部1–INT1
- 定时器1–T1
- 串行口–TI/RI
- 定时器2–T2
位符号 | 意义 |
---|---|
PS | 串行口 |
PT1 | 定时器1 |
PT0 | 定时器0 |
PX1 | 外部1 |
PX0 | 外部0 |
TMOD:定时器工作方式寄存器
TMOD不能位寻址,所以必须用十六进制表示