第8章_8051内部资源的C编程1022.pdf
文本预览下载声明
第8章 8051 内部资源的C编程
8.1 中断
8.2 定时器/计数器
8.3 串行口
8.1 中断
1)中断源及中断请求
2 )中断优先权控制
3 )中断允许与中断屏蔽
4 )中断响应与中断返回
所谓的中断:是指当计算机执行正常程序时,系统中出现
某些紧急需处理的异常情况和特殊的请求,CPU暂时中
止现行程序,转去对随机发生的更紧迫事件进行处理;
处理完毕后,CPU 自动返回原来程序继续执行。
8.1.1 中断源
外部中断
外部中断
片内定时器/计数器0溢出中断请求
片内定时器/计数器1溢出中断请求
片内串行口发送/接收中断请求
1)定时器/计数器控制寄存器
TCON D7 D6 D5 D4 D3 D2 D1 D0
(88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0,IT1(Interrput Type) :外部中断0、1触发方式选择位,
由软件设置;
IE0,IE1(Interrupt Edge):外部中断0、1的中断请求标志位;
TF0 ,TF1(Timer Overflow) :定时器/计数器0、1溢出中断请求
标志位。
2 )串行口控制寄存器SCON
D7 D6 D5 D4 D3 D2 D1 D0
SCON
(98H) TI RI
TI :发送中断标志位;
RI:接收中断标志位。
8.1.2 中断的控制
1)中断允许寄存器IE(Interrupt Enable Register): 控制中
断源的允许和屏蔽。
IE D7 D6 D5 D4 D3 D2 D1 D0
(A8H) EA ET2 ES ET1 EX1 ET0 EX0
EA:中断允许总控位。EA=0,屏蔽所有的中断请求;EA=1,开放中断。
ET2:定时器/计数器T2 的溢出中断允许位;
ES:串行口中断允许位;
ET1:定时器/计数器T1 的溢出中断允许位;
EX1:外部中断INT1的中断允许位;
ET0:定时器/计数器T0 的溢出中断允许位;
EX0:外部中断INT0的中断允许位。
2 )中断优先级寄存器(Interrupt Priority Register): 控制每个
中断源的响应顺序,分高优先级和低优先级两级控制。
IP D7 D6 D5 D4 D3 D2 D1 D0
(B8H) PT2 PS PT1 PX1 PT0 PX0
PT2:定时器/计数器T2 的中断优先级控制位,只用于52子系列。
PS:串行口的中断优先级控制位。
PT1:定时器/计数器T1 的中断优先级控制位。
PX1:外部中断INT1的中断优先级控制位。
PT0:定时器/计数器T0 的中断优先级控制位。
PX0:外部中断INT0的中断优先级控制位。
系统默认的中断源优先级:
如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被清“0”,则
对应的中断源被设为低优先级。对于同级中断源,系统有默认的优先权顺序。
中断源 优先级顺序
外部中断0 最高
定时/计数器T0 中断
显示全部