0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

CHANBAEK 来源:透析之眼 作者: AdamChen 2023-11-01 17:49 次阅读

在前面的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正在响应某个中断,这个时候有更高优先级的中断请求,高优先级的中断可以打断低优先级的中断,先高优先级中断,然后返回执行低优先级中断。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    240

    文章

    23130

    浏览量

    658328
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632752
  • 中断系统
    +关注

    关注

    1

    文章

    96

    浏览量

    61000
  • 矩阵键盘
    +关注

    关注

    7

    文章

    206

    浏览量

    31431
收藏 人收藏

    评论

    相关推荐

    51单片机中断系统详解

    8031单片机中断系统简单实用,其基本特点是:有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的
    发表于 07-07 00:04 118次下载

    单片机教程十七:单片机中断系统

    单片机教程十七:单片机中断系统 单片机中断系统
    发表于 05-15 23:11 5009次阅读
    <b class='flag-5'>单片机</b>教程十七:<b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b><b class='flag-5'>系统</b>

    单片机中断系统_从零开始学习单片机系列

    【从零开始学习单片机系列】第04章单片机中断系统
    发表于 01-06 17:56 0次下载

    单片机中断系统介绍_51单片机中断系统结构

    单片机中断就是当单片机正在执行程序的时候,突然某个按键按下了(产生外部中断),单片机就必须得去处理那个按键(
    发表于 01-10 17:29 1.2w次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>中断</b><b class='flag-5'>系统</b>介绍_51<b class='flag-5'>单片机</b><b class='flag-5'>中断</b><b class='flag-5'>系统</b>结构

    单片机--中断系统实验

    实验目的和任务目的:利用“模块化单片机教学实验平台”,加深对单片机中断系统的理解。任务:利用单片机
    发表于 11-05 13:20 11次下载
    <b class='flag-5'>单片机</b>--<b class='flag-5'>中断</b><b class='flag-5'>系统</b>实验

    C51单片机学习笔记(四)——单片机中断系统及应用

    C51单片机学习笔记(四)——单片机中断系统及应用文章目录C51单片机学习笔记(四)——单片机
    发表于 11-14 10:21 17次下载
    C51<b class='flag-5'>单片机</b>学习笔记(四)——<b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b><b class='flag-5'>系统</b>及应用

    单片机(AT89C51)中断系统详解和中断系统应用实验

    单片机中断系统什么叫做单片机中断?CPU暂时中止其正在执行的程序,转去执行请求中断的那个外设或
    发表于 11-17 11:06 14次下载
    <b class='flag-5'>单片机</b>(AT89C51)<b class='flag-5'>中断</b><b class='flag-5'>系统</b>详解和<b class='flag-5'>中断</b><b class='flag-5'>系统</b>应用实验

    51单片机(十四)—— 中断功能介绍

    中断单片机的一个重要功能,本文我们就对51单片机中断进行介绍。 所谓“中断”,通俗一点讲
    发表于 11-22 12:36 8次下载
    51<b class='flag-5'>单片机</b>(十四)—— <b class='flag-5'>中断</b><b class='flag-5'>功能</b>介绍

    51单片机中断系统

    文章目录1 51单片机中断系统1.1 中断的固有优先级和抢占优先级1 51单片机中断
    发表于 11-22 13:36 8次下载
    51<b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b><b class='flag-5'>系统</b>

    单片机基础:什么是中断系统中断系统如何用(附中断系统应用实例)

    单片机中断系统多级中断控制实例
    发表于 11-22 15:21 6次下载
    <b class='flag-5'>单片机</b>基础:什么是<b class='flag-5'>中断</b><b class='flag-5'>系统</b>、<b class='flag-5'>中断</b><b class='flag-5'>系统</b>如何用(附<b class='flag-5'>中断</b><b class='flag-5'>系统</b>应用实例)

    基于单片机的外部中断实验 中断系统知识介绍

    单片机中有两个重要的概念分别叫做中断中断系统,那么他们分别又代表什么意义呢?当单片机CPU正在运行主程序时外界发生了紧急事件请求,要求
    的头像 发表于 07-26 17:23 2491次阅读
    基于<b class='flag-5'>单片机</b>的外部<b class='flag-5'>中断</b>实验 <b class='flag-5'>中断</b><b class='flag-5'>系统</b>知识介绍

    单片机用按钮中断函数

    单片机用按钮中断函数  单片机中断是一种能够使单片机响应外部信号的机制,这种机制允许单片机在处理
    的头像 发表于 09-01 10:17 1461次阅读

    8051单片机中断系统过程

    8051单片机是一种经典的8位微控制器,它具有一个灵活的中断系统。在8051单片机中,中断是一种非常重要的
    发表于 12-05 09:15 0次下载

    51单片机中断系统介绍

    51单片机中断系统介绍与运用外部中断系统触发数码管显示数字的代码实验
    发表于 12-05 09:10 2次下载

    单片机中断功能及其应用

    单片机中断功能及其应用  单片机中断是指在程序执行过程中,根据特定的条件或事件自动暂时中断当前程
    的头像 发表于 01-30 14:45 4950次阅读