在计算机系统中,请解释什么是中断,请用流程图画出一次中断处理流程

在计算机系统中,请解释什么是中断,请用流程图画出一次中断处理流程,第1张

中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情码哪含况的程序,处理完毕后又返回原被暂停的程序继续运行。

中断流程图如下:

中断过程

按照事件发生的顺序,中断过程包迟笑括:

①中断源发出中断请求

②判断当前处理机是否允许中断和该中断源是否被屏蔽

③优先权排队

④处理机执行完当前指令或当前指令无法执行完,则立即停止当前程序,保护断点地址和处理机当前状态,转入相应的中断服务程序

⑤执行中断服务程序

⑥恢复被保护的状态,执行“中断返回”指令回到被中断的程序或转入其他程序。

上述过程中前四项 *** 作是由硬件完成的,后两项是由软件完成的。

扩展资料

众所周知,处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后专门等待回应的办法,显然降低内核效率。

既然硬件的响应这么慢,那么内核就应该在此期间处理其他事务,等到硬件真正完成了请求的 *** 作之后,再回过头来对它进行处理。想要实现这种功能,轮询(polling)可能会是一种解决办法。可以让内核定期对设备的状态进行查询,然后做出相应的处理。

不过这种方法很可能会让那个缓州内核做不少无用功,因为无论硬件设备是正在忙碌着完成任务还是已经大功告成,轮询总会周期性的重复执行。更好的办法是由我们来提供一种机制,让硬件在需要的时候再向内核发出信号(变内核主动为硬件主动),这就是中断机制。

中断使得硬件得以与处理器进行通信。举个例子,在你敲打键盘的时候,键盘控制器(控制键盘的硬件设备)会发送一个中断,通知 *** 作系统有键按下。中断本质是一种特殊的电信号,由硬件设备发向处理器。

处理器接受到中断后,会马上向 *** 作系统反映此信号的到来,然后就由os负责处理这些新到来的数据。硬件设备生成中断的时候并不考虑与处理器的时钟同步——换句话说就是中断随时可以产生。因此,内核随时可能因为新到来的中断而被打断。

不同的设备对应的中断不同,而每个中断都通过一个惟一的数字标识。因此,来自键盘的中断就有别于来自硬盘的中断,从而使得 *** 作系统能够对中断进行区分,并知道哪个硬件设备产生了哪个中断。这样, *** 作系统才能给不同的中断提供不同的中断处理程序。

在它执行程序的时候,如果有另外的事件发生(比如用户又打开了一个程序)那么这时候就需要由计算机系统的中断机制来处理了。

中断机制包括硬件的中断装置和 *** 作系统的中断处理服务程序。

让硬件在需要的时候再向内核发出信号。

参考资料来源:百度百科-中断机制

参考资料来源:百度百科-中断

虽然不橡拍知道你的u2是什么集成电路,但根据你的电路图也能猜到其功能

看着就是一个利用单片机外部中断来检测按键的电路

在按键被按下的时候,同时触发外部中断,无论是哪个按键被按下,都会触发外部中断

所以根据这个特性,就可以写出相应的程薯猜序了

思路是:编写一个外部中断的函数数如型,在函数内检测哪个按键被按下即可

如果没有按键被按下,则不执行

/***************************************************************************/

void

main(void)//主函数

{

ea=1

ex0=1//开总中断和外部中断

0

while(1)

{

if(int0==0&&p1==0xf1){

p2=0x00

}//如果中断进来且按键1被按下

}

}

/***************************************************************************/

这属于查询方式,int0

是外部中断的关键字

也可以用中断方式写,只有中断进来的时候才检测按键状态

/***************************************************************************/

void

int()

interrupt

0

//外部中断

0

{

if(p1==0xf1){

p2=0x00

}//如果按键1被按下

}

/***************************************************************************/

涡街流量计是基于卡门涡街原理制成的一种流体振荡性流量计。即在流动的流体中放置一个非流线型的对称形状的物体(涡街流量传感器中称之为漩涡发生体),就会在其下流两侧产生两列有规律的漩涡即卡门涡街,其漩涡频率正比于来流速度:[2]

F=Stu/d (1)

式中 F—涡街频率

d—漩涡发生体宽度

u—来流速度

St—斯特劳哈尔数

St的值与漩涡发生体宽度d和雷诺数Re有关。当雷诺数Re<2×104情况下,St为变数:当Re在2×104~7×106的范围内,St值基本上保持不变,这段范围为流量计的基本测量范围。

式(1)表明做渗,当d和St为定值时,漩涡产生的频率F与流体的平均流速u成正比,利用这一特性制成了涡街流量计。由于涡街传感器所测的并不是平均流速,而大约是漩涡发生体两侧的流速。[3]对于湍流状态,不同的雷诺数下,流速分布规律是不同的。即不同的流速下具有不同的流速分布,进而说明了涡街流量传感器检测到的主要反映漩涡发生体两侧的流速与管道平均流速的关系不是唯一确定的。这说明涡街流量传感器的非线性误差是其检测机理所决定的。在实际使用时,先绘出传感器的仪表系数与频率的试验曲线f (F)。

K= f (F)=KG(F) (2)

式中G(F)是同一口径的各台仪表相同的曲线形状(仅是位移不同)。K是平均仪表系数。在本文应用MCS一51单片机的智能涡街流量计中,通过将试验曲线形状G(F)事先固化于流量计的EPROM中,和让用户结合现场埋搭具体工况通过键盘输入K的值,实现涡街传感器的非线性修正。

硬件设计

图1是系统的硬件原理框图。

图1 硬件原理框图

根据设计要求,单片机应用系统[4]包括:(1)接受变送器送来的与流量成正比的脉冲,并对其定时、计数的电路;(2)显示器,键盘,打印机接口电路;(3)外部存储器的扩展电路;主要电路介绍如下:

1 键盘/显示器及打印机接口[5]

为使接口硬件尽可能少,设计时,仅用一片8155I/O接口芯片完成智能化仪表的键盘输入,LED输出和打印机输出的接口任务。将8155的PC口用作显示自选通和键盘扫描输出,PB口用作显示字段及小数点的输出,8031外部中断INTO用作键盘响应输入,PA口用作外接打印机的输出。如图2所示。

图2 键盘/显示器及打印机接口电路

(1)显示器接口设计

设计6位LED显示器作为仪表的显示输出。8155的PB口定义为输出口,其中低四位PB0~PB3输出显示数据的BCD码,并经74LS249 BCD译码器译码后送LED的段码端,PB4作为测量结果的小数点位经驱动器后接LED的小数点发光段;PB5作为极性控制位单独控制一个发光二极管以显示测量结果的正负。8155的PC口定义为输出口,PC0~PC5分别控制6位LED的位选通,实现动态扫描方式显示。

(2)键盘接口设计

在图2所示的键盘接口中,由6个键组成键盘。8031用外部中断INTO作为键盘状态输出。在6个键中,其中两个键定义为"加一键"和"减一键"。另外4个键分别为打印键,编程键,选项键以及复位键。按下编程键后,进入编程状态,用户输入平均仪表系数。选项键用来确定显示那种流量表达方式(如体积流量、质量流量等),键盘的列扫描信号来自于PC口输出的LED位选通信号:键盘的行输入信号由键盘是否闭合得到。没键按下,键状态为开,INTO位高电平,中断不被触发;若有键按下,键状态为闭,INTO由高点平变为低电平,中断由信号下降沿触发,从而向CPU发出中断请求。CPU响应中断后读取PC口的输出状态,判断PC0~PC5输出的低电平为即可完成键扫描和键识别。

(3)打印机接口设计

采用GP一16通用智能微型打印机,自带8039单片纯液脊机。它可以把8031送来的数据以字符串、数据或图形三种方式打印出来;它与仪表的接口设计如图2所示,它的8根双向三态数据线D0~D7直接与8155的PA0~PA7相连,片选信号CS与8155的片选信号公用单片机系统译码器输出的端口地址Y7,WR和RD直接与8031的WR,RD相连,其硬件设计非常简单。

2 外部存储器的扩展

(1)程序存储器EPROM的扩展

由于8031片内没有EPROM,故8031单片机需要外扩一片EPROM2764(8K字节)。在P0口送出的低8位地址时,地址由信号ALE的下降沿控制锁存到锁存器中,高5位由P2.0~P2.4提供,锁存器采用74LS373锁存器,控制端直接与ALE相连。则程序存储器读选通信号PSEN控制EPROM2764的输出允许端OE。

(2)数据存储器的扩展

MCS一51单片机内RAM为128个字节,因其容量不能满足设计要求,故本机扩展8K字节静态RAM6264一片。本机外扩展的RAM和EPROM电路如图3所示:

图3 外部存储器扩展

从图中可以看出EPROM2764与RAM6264的地址范围是相同的,但是它们的控制信号是不一样的。2764的选通信号是PSEN,而6264的读入或写入是靠RD或WR型号控制,所以不会产生数据冲突问题。

软件设计[6]

本机软件采用模块结构,其4个主要部分分别如下。

1 主程序

主程序为本仪器的监测程序。在程序运行中,必须首先对系统进行初始化,清各工作单元,置计数器及标志位初值,自检指示灯,开中断,启动计数器等工作。仪器采用微型键盘和LED指示灯相配合,使仪器的各种功能清晰有序。

键盘子程序包括:扫描键盘子程序。其功能是寻找是否有键按下,输入键值程序;键值扫描程序;表驱动程序;通用显示子程序等。键值扫描子程序的功能是根据按键的位置一行行的扫描。表驱动程序是判断按键是哪种功能键。通用显示子程序的功能是将显示缓冲区中的字码转换成段码送入显示器中,显示各种字型。几乎所有程序中都要用到这一程序,因此称之为通用显示子程序,以便与显示功能块相区别。

2 中断服务程序

仪器的测量、转换等程序均通过中断方式同主程序相连,单片机内的两个定时器计数器作为闸门使用。因为流量频率的测量很重要,所以定时器TO被用来测评,并定为高级中断。测量测频中断服务子程序流程图如图4所示。

3 功能块程序

仪器通过键盘输入命令,可随时得到用户所需的结果,这就要用到功能程序块。功能程序块包括:显示、打印、清零等功能块。显示功能块的作用是根据用户的需要转入相应的入口参数,再经过码之转换,送至显示缓冲区中。打印程序包括打印质量流量及体积流量、瞬时流量及累计流量。

4 使用计算子程序主要包括计算流量的程序

采用的是浮点制运算子程序,这些运算子程序可直接调用。

结 论

采用上述设计的智能化涡街流量计,可让用户结合现场具体工况,通过键盘方便地输入校正系数,完成了对涡街流量计非线性修正,拓宽了涡街流量计的应用范围。

图4 TO的中断子程序框图


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12496839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存