返回首页

单片机中断嵌套程序(单片机中断嵌套程序设计)

来源:www.haichao.net  时间:2022-12-15 05:41   点击:53  编辑:admin   手机版

1. 单片机中断嵌套程序设计

8051单片机有5个中断源和两个中断优先级,高优先级的中断源可以中断低优先级的服务程序,反之不行。INT0>T0>INT1>T1>串口中断。 8051没有专门的开中断和关中断的指令,中断的开放和关闭是由特殊功能寄存器IE来实现两级控制的。有个总开关EA,然后又有ES,ET1,EX1,ET0,EX0五个开关。为1表示开,为0表示关。 单片机在复位后,IE各位的状态为0,所以CPU处于关中断的状态。对于串口来说,其中断请求被响应后,CPU不能自动清除中断标志。用指令来实现关中断。其他中断源的中断标志在CPU响应中断后自动清除。 中断优先级由IP来控制,PS,PT1,PX1,PT0,PX0,置为1表示高优先级。 当几个中断源同时向CPU请求中断时,按所发生的实时事件的轻重缓急排队,优先处理最紧急事件的中断请求,于是单片机规定每个中断源的优先级别。 当CPU正在处理一个中断请求,又发生另一个优先级比它高的中断请求,CPU暂时中止对前一中断处理,转而去处理优先级更高的中断请求,待处理完后,再继续执行原来的中断处理程序,这样的过程称为中断嵌套,这样的中断系统称为多级中断系统。 由于外界异步事件中断CPU正在执行的程序时随机的,CPU转向去执行中断服务程序时,除了硬件会自动把断电地址,即16位PC程序计数器的值压入堆栈之外,用户还得注意保护有关工作寄存器,累加器,标志位等信息,这个过程通常称为保护现场 。以便在完成中断服务程序后,恢复原工作寄存器,累加器,标志位等的内容,这个过程称恢复现场;最后执行中断返回指令,自动弹出断电到PC,返回主程序,继续执行被中断的程序。

2. 单片机中断程序实例

voidINT_init()//初始化{IT0=0;//外部中断0低电平触发IT1=1;//外部中断1低电平触发PX0=1;//外部中断0分配高优先级PX1=0;IE=0x85;//使能全局中断,外部中断0,外部中断1}voidEX_INT0()interrupt0//外部中断0{//添加自己的功能代码IE0=0;//清零中断标志位}voidEX_INT1()interrupt2//外部中断1{//添加自己的功能代码IE1=0;}

3. 单片机允许同级中断嵌套

51单片机只有高低2个优先级,只能一级中断嵌套,stc的某些单片机另有一个高位中断优先级寄存器,优先级就有4个,可以实现三级中断嵌套

4. 中断嵌套程序例子

自动中断可能是程序出了问题,所以不能嵌套

5. 单片机如何实现中断嵌套

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

中断就是单片机处理任务A时,发生了触发中断的条件停下来执行另一个任务B,触发中断的条件就属于中断源,任务B就是中断任务(中断服务函数)。当中断任务执行完成后中断返回,在回到任务A中断的地方继续处理任务A。

CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。

6. 单片机中断应用实例

RETI是中断返回指令 ,否则,程序将发回不去中断口处,也有可能跑飞,或者运行到不该执行的地方; 如果没这个的话,那么程序跳到中断服务子程序执行完后,就回不去原来中断的地方。 就好比你写着写着作业(假设作业是必须完成的),然后电话来你,你去接电话的过程就是中断执行的过程,接完电话你就得回到你接电话前的那个地方继续写作业。

7. 单片机中断嵌套实验报告

笔者问的应该是单片机开发中,c语言功能程序中是否可以嵌套汇编语言来编程实现功能吧!答案是可以。

不管用那种语言,那只是人机交互的一种接口编码,不管是c语言程序也好,汇编语言程序也好,单片机都是不认识的,单片机能认识的只有二进制编码,所以不管开发者用哪种语言编写功能程序,最终都会编码器编译城二进制代码烧入单片机中,而编码语言的选择,只需要在开发工具中配置好就可以嵌套式编程了。

8. 51单片机中断嵌套程序编写

PIC系列单片机只有一个中断入口(004H),所有的中断都通过该入口进入中断服务子程序,至于是哪一个中断源,只有在进入中断服务子程序后查询中断标志才能确认。

该单片机没规定中断的优先级,也没有用于设定中断优先级的寄存器,中断的优先级是由于中断服务子程序中断查询中断标志的顺序确定的。

CPU响应一个中断并进入中断服务程序后,全局中断允许位GIE被自动清零,CPU在此期间不响应其它中断,也不能形成中断嵌套。

因此,在使用中断时要合理安排查询中断标志的顺序,尽量缩短CPU在中断服务程序中逗留的时间。

在用PIC系列单片机构成系统时应尽量减少中断源的个数,对于那些执行时间较长且不需采用中断方式来处理的事件,应尽量采和查询标志的方式进行处理;

对于那些必须采用中断方式处理的事件,在中断服务程序中要尽量先查询对系统至关重要的事件的中断标志。

另外,在退出中断服务程序时,只清除处理过的中断标志即可,而不需要将所有的中断标志清除。

对于RB口电平变化中断,一方面要保存RB口每次变化后的状态,以便在下次中断时判断是哪根口线上的电平发生了变化;

另一方面可以设置产生中断的口线标志,并将由于该中断而未执行的程序在中断服务程序外通过查询口线标志来执行,以减少CPU在中断服务程序中逗留的时间。

9. 单片机中断嵌套程序设计原理

难道你一点儿不懂汇编?PUSH DPH 是将原DPH中的数据压进堆栈缓存。PUSH ACC 是将堆栈中的数据送回到ACC寄存器。在程序嵌套调用过程或者中断处理过程中,进行的变量缓存、备份操作。随便找一本教材看看堆栈那一章!

顶一下
(0)
0%
踩一下
(0)
0%