带你了解什么是中断以及外部中断案例分析

了解什么是中断

好,今天我来给大家讲一下我们什么是中断以及如何去运用外部中断源。
首先,我们学习单片机的时候,一定听说过学会中断才是单片机的入门。因为中断系统大大提高了单片机对随机事件的实时处理能力,并且提高了单片机的工作效率。

当然,中断这个概念对初学者会有点难以理解,这里我们举一个例子,比如我在家里看书,这时候有快递员送货上门我听到敲门声,那我肯定是先暂停看书先去开了门,然后取完快递后,再继续回去开始看书。
这里过程我们可以分析为:
1.在家里看书是我当前执行的主程序
2.听到敲门声是中断申请
3.暂停看书去开了门,并且取完快递是单片机对中断的响应和处理
4.回去开始看书是中断结束返回继续执行被打断的主程序

这样分析大家是否对中断有一个初步的认识,就是打断正在执行的程序去做中断的程序,做完了再回来继续做原来的程序。

中断有哪些以及该怎么设置

那我们知道了中断的概念后,我们要去实现中断该怎么做呢?
首先,你要明白用单片机的哪个中断源,其次你要怎么实现这个中断,要设置哪些参数。
这里我们介绍一下对于51单片机的话中断源只有五个,分别为
在这里插入图片描述
总体上可分为外部中断源(外部中断0和外部中断1)和内部中断源(定时器0、定时器1和串行口中断),相对于其他单片机如stm32来说,其中断源更多和中断体系更加复杂,所以建议大家先把51这五个中断源弄明白了,后面遇到的其他复杂中断都是从这些基础上过来的。

知道了有哪些中断源后我们就可以根据自己的需要来选择自己想要用的中断源,比如我想要当系统中的某个输入信号变为低电平时候或者出现下降沿时候执行中断,那我用到外部中断源,那我就选择外部中断0或者外部中断1。

而当我想设计计时多久就来一个其他程序执行,那我就要用到内部中断源里面的定时器0和定时器1,一般用到计时或者计算脉冲边沿数量等等的采用定时器来做中断源。

当我想要用pc或者其他无线传输发送过来的命令来使单片机产生中断的话,我们就可以使用串口中断,比如当我接收到特定的字符时候就执行中断。

现在我们知道了中断是什么,以及我也知道了中断源有哪些可以用,并且我也知道了我要用的是哪个中断源。那现在就是该怎么设置使我实现中断。这里告诉大家,我们要实现中断控制就要去设置中断相关的寄存器。设置好了我们才能使用中断。而相对于的寄存器有哪些呢?
这里我们先列出
1.定时控制寄存器TCON
在这里插入图片描述

2.串行控制寄存器SCON
在这里插入图片描述

3.中断屏蔽寄存器IE
在这里插入图片描述

4.中断优先级寄存器IP(IP寄存器这里下面例子没用到,所以只列出相关位)
在这里插入图片描述

一共有四个,这里我们先不深入将这四个中断寄存器,而是先给大家一个概念先,等后面大家熟悉了,大家就明白这四个寄存器的作用。
或许到了这里有些小伙伴会问,我知道要用这四个寄存器来设置相应中断,但是我该怎么设置呢?要设置哪些呢?我当时学的时候也是这样的,学了一遍也不懂,直到我看到了这张中断控制系统图。
在这里插入图片描述
我们从图中可以很明显的看出当我们要用什么中断的时候,要去设置哪些寄存器位。当年,我就是看到这张图使我一下子明白了该如何去设置相应的中断。这里我们举一个例子带大家了解中断该如何去设置以及使用。

中断案例分析

我们这里举例外部中断源的外部中断0使用,定时器的后期我会再出一期给大家讲解。
首先,Proteus 仿真要求:8 个 LED 一直闪烁;每按一下按键(外部 0 中断 P3.2),8
个 LED 从下向上流水 1 次。

我们可以从上图的中断控制系统可以看到,要使用外部中断0,首先我们要设置IT0,而IT0我们从寄存器TCON可以得出IT0是设置中断触发的,IT0=1为下降沿触发;IT0=0为低电平触发。这里我选择下降沿触发所以IT0=1。

然后IE0是中断标志这里我们不做设置。再后面的EX0是在寄存器IE里面的,而寄存器IE是用来设置相应的中断允许和禁用,所以这里EX0是外部中断0的中断允许位,EX0=1是允许中断;EX0=0是禁止中断。所以这里我们要使EX0=1允许中断
而开启相应中断后我们还要开启总中断就是使EA=1,我们可以从图中看出每一个中断源都有一个EA中断开发。也就是说无论什么中断源,你开启了自己的中断还要去开启总中断。这一定要记得哦。

最后的PX0设置中断优先我们就不设置了。因为这边也就用到了一个中断。
总结就是使{IT0=1;EX0=1;EA=1;},放在主程序里。

  IT0=1;
  EX0=1;
  EA=1;

然后中断寄存器设置好了,我们要开始写中断函数,中断函数这里需要写一个中断的标志interrupt 0。interrrupt我们都知道是中断的意思,而后面的0是指外部中断0(也就是说明我这个中断函数是执行哪个中断的意思)。这里拓展一下相应的中断对于的数字。这里提示一下如果使用的是其他中断,修改完寄存器值还要修改相应的中断函数后面指定的中断数。
在这里插入图片描述

void int0() interrupt 0  
{

}

然后我们在编写中断的程序,这里是每按一下按键(外部 0 中断 P3.2),8个 LED 从下向上流水 1 次
,所以这里我们程序这样编写。

void int0() interrupt 0
{
  unsigned char i,temp=0x7f;
  for(i=0;i<8;i++ )
 {
  P1 = temp ;
  delay(100);
  temp=_cror_(temp,1); 
 }
}

这样我们就设置好了外部中断0的设置,而这里还有一点就是因为你是外部中断源,信号是有单片机外部给的,所以你的信号输入要接到单片机外部中断0的那个IO口,也就是P3.2口,单片机的五个中断源的IO口都在P3口上,大家要记住哦。

中断的程序介绍就到这里,程序放在下面供大家参考。

电路图如下 :
在这里插入图片描述

程序代码:

#include<reg51.h>
#include<intrins.h>  //含左移函数
void delay(unsigned int m)
{
  unsigned int i;
  for(;m>0;m--)
  {
   for(i=540;i>0;i--) {;}
  }
}

void int0() interrupt 0  //中断函数
{
  unsigned char i,temp=0x7f;
  for(i=0;i<8;i++ )  
 {
  P1 = temp ;
  delay(100);
  temp=_cror_(temp,1);   //右移一位
 }
}


void main()
{
  IT0=1;     //中断初始化
  EX0=1;
  EA=1;
  while(1)
  {
  P1=0xff;     //八个LED闪烁
  delay(100);
  P1=~P1;
  delay(100);
  }		 
}


好了,今天我们介绍了中断以及讲解了一个外部中断的例子,下次我来分享一个定时中断的例子,给大家讲解一下什么是定时中断以及其使用。

本人水平有限,上述信息仅供参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞,谢谢~

  • 19
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 管理信息系统(MIS)是指利用计算机技术和信息技术,设计和开发各种软件和硬件,以满足组织内部和外部信息处理和管理的需要。在实施MIS项目之前,需要进行经济可行性分析,以评估该项目是否值得投资。下面是一个MIS经济可行性分析案例: 某公司决定实施一个新的MIS项目,该项目的目标是提高公司内部信息处理的效率和准确性。在进行经济可行性分析之前,公司确定了该项目的预算和时间表。该项目的总成本为100万美元,预计在实施过程中需要两年时间。公司使用财务计算方法,计算出该项目的净现值(NPV),内部收益率(IRR)和投资回收期(IRR)。 经过计算,该项目的净现值为200万美元,内部收益率为15%,投资回收期为3年。这些结果表明该项目是经济可行的,公司可以考虑投资实施该项目。 然而,在进行经济可行性分析时,公司还应该考虑其他因素,例如技术可行性、组织文化适应性等。只有在综合考虑了这些因素之后,公司才能做出最终的决策,决定是否投资实施MIS项目。 ### 回答2: 管理信息系统(MIS)是指为管理层提供有关组织内部和外部环境的信息的系统。经济可行性分析是一种评估项目的经济效益和可行性的方法。下面是一个关于MIS经济可行性分析案例: 某公司决定引入一个新的MIS来提高生产效率和决策能力。在进行经济可行性分析时,首先需要考虑引入新系统所需的投资成本。这些成本包括硬件、软件、培训和实施费用。然后,我们需要估计使用新系统后的预期盈利增长和成本节约。 在这种情况下,引入MIS的主要优势是提高生产效率和减少错误。公司能够更好地跟踪库存、订单和供应链,从而避免过量或不足的库存。此外,MIS还提供了更准确的数据分析和决策支持,使得公司能够更好地预测需求,控制成本和提高服务质量。 根据过去的数据和市场趋势,公司预计通过引入MIS每年能够节省10%的成本,并提高5%的销售额。此外,其预计投资回报周期为两年。这意味着公司在引入新系统后的两年内将恢复其投资成本,并开始产生净盈利。 在经济可行性分析中,也需要考虑一些潜在的风险和不确定性。例如,新系统的实施可能会导致一段时间的生产中断,这可能会对公司的盈利能力产生负面影响。此外,市场环境和技术进步也可能影响MIS的效益和可行性。 综上所述,该公司引入MIS的经济可行性分析表明,该决策是经济上可行的。通过减少成本、提高销售额和增强决策能力,公司预计能够在两年内实现投资回报并产生盈利。然而,需要谨慎考虑潜在的风险和不确定性,并制定适当的风险管理和应对策略。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OMGMac

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值