中断系统:外部中断
实现功能
按下独立按键Key3,LED流水灯向右;按下Key4,LED流水灯向左。
单片机型 :STC89C52
硬件原理

中断系统就是当系统在进行一项工作时,需要终止这项工作,转而去执行另一项工作,当执行完成后再接着执行第一项工作。
如上图,STC89C52有两个外部中断(INT0、INT1)、两个定时器中断(T0、T1)、一个串口中断(RX/TX)
以外部中断 INT0 讲解,INT1 同理。
外部中断 INT0 中的 IT0 是选择中断触发方式的,如果等于 1 ,则是下降沿触发中断;如果等于 0 ,则是低电平触发中断。EX0 是 INT0 的中断允许,将其赋值为 1 ,则可以开启 INT0 的中断允许。EA 是总中断 ,只有将其打开才能允许中断。IP 是控制中断的优先级的,这里不做介绍,使用默认优先级。INT0 的管脚连在 P3^2 ,INT1 的管脚连接在 P3^3 ,和独立按键 Key3、Key4 连在同一个管脚,所以可以用独立按键 Key3、Key4 来触发外部中断。
中断标 为:
- INT0 0
- T0 1
- INT1 2
- T1 3
- RX/TX 4
软件编写
外部中断配置:
- 中断源有中断请求。
- 中断源的中断允许位为1.
- CPU开中断。(即 EA=1)
题目要求按下两个按键,流水灯需要往不同的方向流动,所以需要两个外部中断。首先将两个外部中断配置好,再写出两个外部中断需要执行的函数。在写外部中断函数时需要用到关键字 interrupt ,再在后面写上中断标 。例如外部中断 INT0 的中断函数这样写 void Int0() interrupt 0 ,千万不要将中断标 写错了。
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览114545 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!