单片机中断系统的特点和功能

在前面的io篇中,使用到矩阵键盘与led,主函数中对它们的功能函数,从而检测矩阵键盘是否被按下,led是否需要被点亮。如下面的代码所示,在循环中,不断执行键盘扫描与显示。
/********************************************************* function name :main* description :扫描键盘与显示* parameter :none* return :none**********************************************************/void main() { sysinit(); while(1) { //扫描键盘将键值码保存到一维数组 inputnum(); //显示数组 showsmg(0,table2[0]); delay(5); //添加延时函数,防止会有显示乱码,必须加 if(table2[1]==1){ showsmg(1,table2[1]); delay(5); //添加延时函数,防止会有显示乱码,必须加 } }从上面的代码中,循环中的inputnum()函数会被一直调用,cpu不断检测检矩阵键盘有没有被使用,从而进行按键处理。
实际应用中,可能矩阵键盘很久才会被用到,不断扫描的方式,会影响cpu的利用率;为此希望按键被按下时, 才会执行按键代码处理代码,否则执行其他的功能代码。这样子inputnum()函数,就不应该放在主函数执行了,而是需要放在inputnum()函数放在中断服务程序中执行。
中断是个什么概念?从上面的场景中可以看到
(1)cpu可以循环执行着主程序代码;
(2)矩阵键盘被按下(有中断源请求),打断主程序执行;
(3)中断响应,进入中断服务程序(执行按键处理程序);
(4)中断服务程序(按键处理程序)执行完后,中断返回;
(5)继续执行主函数代码。
中断的是否发生,是由外部因素决定(按键是否被按下,是人为因素)。程序中无法事先按安排好(不然键盘扫描函数可以放在主函数执行即可),因此中断服务程序的过程是由硬件自动完成的。
中断的特点:
1)分时操作:缓解慢速外设与快速cpu的矛盾(键盘使用与cpu利用率的矛盾)
2)实时操作:外界变量可以根据要向cpu提出处理请求
中断系统的功能:
1)实现中断响应与中断返回
根据中断请求优先级是否马上进行中断响应;
执行中断响应时,需要将当前运行的状态(程序指针pc、寄存器、标志位)压入堆栈保存,保护现场,然后进入中断服务程序;
中断服务程序执行完后,恢复原来的运行状态,恢复现场。
2)中断优先权
一般系统有多个中断源(可以请求中断的事件),它们进行中断请求时,需要区分优先级进行响应。
3)中断嵌套
中断可以实现嵌套,当cpu正在响应某个中断,这个时候有更高优先级的中断请求,高优先级的中断可以打断低优先级的中断,先高优先级中断,然后返回执行低优先级中断。

魅族演唱会倒计时 魅蓝Note5将强势登场 直播地址
预计2019年无线可穿戴市场出货量1.2亿台
SUNPLUS推出8位工业级单片机学习板
hypervisor的调试分析方法
开关电源升压电路设计
单片机中断系统的特点和功能
变频器是什么?变频器的原理是怎么样的详细讲解
TI工程师再论车载平视显示
单片机是如何读取外部电压ADC阻抗匹配的呢
基于Splunk对人工智能和机器学习在2018年的三大趋势预测
一文带您了解场发射扫描电镜
教新手小白怎样去操作Android手机
移动存储加密转接器解决方案
美国国家半导体推出首款100V半桥栅极驱动器LM5113
集成电路测试仪电源电路的仿真设计研究与应用
PT4115调光芯片的功能及作用 pt4115模拟调光与pwm调光的区别
超声波水表的原理及设计
SD-WAN企业组网:实现高效、可靠和安全的网络连接
工业4.0变革:从自动化到智能工厂的飞跃
四频信号放大器具有哪些优势