中断原理及应用
1.什么是中断系统(interrupt systems)
(1)中断系统是单片机为了实现中断功能而配置的硬件和编写的软件
(2)中断操作就是CPU中止正在运行的主程序,转而去处理特殊事件的操作。
优点:
(1)提高CPU效率,使CPU能够和其他外设同时工作,解决了快速CPU和慢速外设之间的矛盾。
(2)具有了实时处理的能力:使CPU在运行当中发生的随机事件,增强CPU的实时控制性。
(3)故障处理:保证了系统的可靠性。
2.基本概念
3.结构图
4.
5.相关寄存器
(1).TCON寄存器(中断标志)
(中断撤除一:自动清除)
(中断撤除二)
a.下降沿触发(和TF一样)
b.底电平触发(由于低电平不会立刻撤销,可能会重复中断。故,需要处理)
(中断撤除三)
RI=0;//撤除语句
(2).SCON寄存器(中断标志)
(3).IE寄存器(中断允许)
只有当EA和中断允许位都为1时才允许中断,复位之后IE寄存器的值都变为0
例:启用T0溢出中断允许位
(4).IP寄存器(优先级)
(注意三条规则)
利用低级可被高级中断规则可以实现中断嵌套。
同一级的顺序:
6.中断响应条件
注意:使用外部中断时实际应用中要考虑中断响应的时间。即CPU从发出中断请求的程序转到中断服务程序的时间。
7.中断服务函数/中断处理函数
(1)特点:独立工作,利用全局变量与其他函数联
系,无须主函数调用。
(2)声名格式:void 函数名( ) interrupt n [using m];
n:中断的类型
m:寄存器组
例如:
//内部定时TO中断服务函数
void t0() interrupt 1{//Timer
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
(3)注意:有时需要“保护现场“和恢复现场”
如下列交通信号灯系统: