1、寄存器总结
1.1 常用 SFR 汇总表格
| 寄存器 | 功能 | 地址 |
|---|---|---|
| TCON | 定时器控制 | 88H |
| TMOD | 定时器模式设置 | 89H |
| IE | 中断允许控制 | A8H |
| IP | 中断优先级设置 | B8H |
| SCON | 串口控制 | 98H |
1.2 TCON(定时器控制寄存器)
| 位 | 名称 | 功能 |
|---|---|---|
| D7 | TF1 | 定时器1溢出标志,硬件置1,响应中断后自动清0 |
| D6 | TR1 | 定时器1启停控制,1启动,0停止 |
| D5 | TF0 | 定时器0溢出标志 |
| D4 | TR0 | 定时器0启停控制 |
| D3 | IE1 | 外部中断1请求标志 |
| D2 | IT1 | 外部中断1触发方式,1下降沿,0低电平 |
| D1 | IE0 | 外部中断0请求标志 |
| D0 | IT0 | 外部中断0触发方式 |
1.3 TMOD(定时器模式寄存器)
| 位 | 名称 | 功能 |
|---|---|---|
| D7 | GATE | 定时器1门控位 |
| D6 | C/T | 定时器1选择,1计数器,0定时器 |
| D5-D4 | M1M0 | 定时器1模式选择 |
| D3 | GATE | 定时器0门控位 |
| D2 | C/T | 定时器0选择 |
| D1-D0 | M1M0 | 定时器0模式选择 |
工作模式: 00=13位,01=16位,10=8位自动重装,11=双8位
3、IE(中断允许寄存器)
地址:A8H,可位寻址
| 位 | 名称 | 功能 |
|---|---|---|
| D7 | EA | 总中断允许位,1开中断,0关中断 |
| D6 | - | 保留 |
| D5 | ET2 | 定时器2中断允许(8052才有) |
| D4 | ES | 串口中断允许,1允许,0禁止 |
| D3 | ET1 | 定时器1中断允许 |
| D2 | EX1 | 外部中断1允许 |
| D1 | ET0 | 定时器0中断允许 |
| D0 | EX0 | 外部中断0允许 |
使用示例:
EA = 1; // 开总中断
ET0 = 1; // 开定时器0中断
EX0 = 1; // 开外部中断0
4、IP(中断优先级寄存器)
地址:B8H,可位寻址
| 位 | 名称 | 功能 |
|---|---|---|
| D7 | - | 保留 |
| D6 | - | 保留 |
| D5 | PT2 | 定时器2优先级控制 |
| D4 | PS | 串口优先级控制 |
| D3 | PT1 | 定时器1优先级控制 |
| D2 | PX1 | 外部中断1优先级控制 |
| D1 | PT0 | 定时器0优先级控制 |
| D0 | PX0 | 外部中断0优先级控制 |
说明: 1=高优先级,0=低优先级
默认优先级(同级时): INT0 > T0 > INT1 > T1 > 串口
5、SCON(串口控制寄存器)
地址:98H,可位寻址
| 位 | 名称 | 功能 |
|---|---|---|
| D7 | SM0 | 串口工作模式选择位 |
| D6 | SM1 | 串口工作模式选择位 |
| D5 | SM2 | 多机通信控制位 |
| D4 | REN | 允许接收位,1允许接收,0禁止接收 |
| D3 | TB8 | 发送数据第9位(模式2、3) |
| D2 | RB8 | 接收数据第9位(模式2、3) |
| D1 | TI | 发送中断标志,发送完成硬件置1,需软件清0 |
| D0 | RI | 接收中断标志,接收完成硬件置1,需软件清0 |
串口工作模式:
| SM0SM1 | 模式 | 说明 | 波特率 |
|---|---|---|---|
| 00 | 模式0 | 同步移位寄存器 | fosc/12 |
| 01 | 模式1 | 8位UART | 可变(定时器1) |
| 10 | 模式2 | 9位UART | fosc/32或64 |
| 11 | 模式3 | 9位UART | 可变(定时器1) |
2、中断总结
2.1 外部中断
| 中断源 | 中断号 | 入口地址 | 触发方式 |
|---|---|---|---|
| INT0 | 0 | 0003H | IT0控制,0低电平,1下降沿 |
| INT1 | 2 | 0013H | IT1控制 |
2.2 定时器中断
| 中断源 | 中断号 | 入口地址 | 标志位 |
|---|---|---|---|
| T0 | 1 | 000BH | TF0 |
| T1 | 3 | 001BH | TF1 |
初值计算: 模式1:初值 = 65536 - 定时时间×晶振/12
2.3 串口中断
| 中断源 | 中断号 | 入口地址 | 标志位 |
|---|---|---|---|
| RI/TI | 4 | 0023H | RI接收,TI发送 |
注意: RI和TI必须软件清0
优先级(高到低): INT0 > T0 > INT1 > T1 > 串口

5972

被折叠的 条评论
为什么被折叠?



