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
    +关注

    关注

    237

    文章

    22462

    浏览量

    645912
  • 单片机
    +关注

    关注

    6002

    文章

    43990

    浏览量

    620953
  • 中断系统
    +关注

    关注

    1

    文章

    96

    浏览量

    60891
  • 矩阵键盘
    +关注

    关注

    7

    文章

    204

    浏览量

    31138
收藏 人收藏

    评论

    相关推荐

    单片机原理及应用: 中断系统#单片机

    单片机中断
    学习硬声知识
    发布于 :2022年11月06日 14:06:40

    单片机原理与应用: 中断系统应用#单片机

    单片机中断
    学习硬声知识
    发布于 :2022年11月08日 18:47:44

    单片机原理及应用: 中断系统的结构#单片机

    单片机中断
    学习硬声知识
    发布于 :2022年11月09日 02:40:48

    单片机系统特点与优势

    相对于长数据位和高速度的主流电脑处理器而言,单片机特点是:具有内部存储器和串行接口,有些还具有A/D和D/A转换功能,功耗很低,但是数据位数少、时钟速度较慢。功能齐全和功耗低是其优势
    发表于 11-21 21:15

    单片机的组成及特点

    成部分都包括:中央处理器CPU(Central Processing Unit)只读存储器ROM(Read Only Memory)随机存储器RAM(Random Access Memory)中断系统、定时器/计数器和I/O(Input/Output)接口等一、
    发表于 11-22 07:52

    中断系统的主要功能是什么

    51单片机各个引脚功能IO口引脚:中断系统的主要功能:处理随机突发事件中断
    发表于 12-01 08:02

    51单片机中断系统详解

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

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

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

    8031单片机中断系统的基本结构介绍

    8031单片机中断系统简单实用,其基本特点是:有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的
    发表于 10-09 16:35 3701次阅读

    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>及应用

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

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

    单片机用按钮中断函数

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

    8051单片机中断系统过程

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

    单片机外部中断和定时器中断的区别和用法

    单片机外部中断和定时器中断在触发来源、应用场景以及功能特点上存在明显差异** **。
    的头像 发表于 01-28 17:35 1372次阅读

    单片机中断功能及其应用

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