51单片机怎么同时开启两个中断的问题?

小弟不知道怎么同时开启两个中断。求解!

    高优先级中断执行过程中低的不能执行。

    中断使能,中断允许即此中断已开启。但CPU不可以同时执行两个中断。所以中断分优先级。

    要优先于高级中断,再开低级中断。

    当系统有个定时中断。比如定时采集温度值,然后通过串口发送到上位机。这样程序里要用到定时中断和串口中断。

    处理了定时中断后,再处理的串口中断。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-06
中断使能,中断允许即此中断已开启。但CPU不可以同时执行两个中断。所以中断分优先级。追问

您能写段简单的程序我看看吗?只用一个内部中断0的。我还不懂编中断程序,谢谢!
P0.0亮;一秒后P0.0灭、P0.1亮,一秒后P0.1灭、P0.2亮,·····一秒后P0.6灭、P0.7亮,循环。
真心谢谢

追答

你说的是用定时计数器T0延时产生中断的跑马灯程序吧?

追问

嗯。对对!

追答

告诉你思路自己编,这样才能学得会。
1,先开总中断。
2,设置T0工作状态为定时
3,设置T0工作方式为方式1,16位定时计数方式()
4,将TH0和TL0赋初始值。(0-65536根据定时时间需要随意设定)
5,赋值p0.0点亮发光管。
6,开T0中断允许。
7,原地循环等待中断
8,中断执行程序
RR p0
AJMP 7

追问

我中断基础都没有,目前只会懂弄数码管;LED;等没用到中断的?

追答

通俗解释:
你在看电视,有人敲门(中断源),中断了你看电视。敲门干什么(中断目的)
再比如:你在看电视,水开了(中断源),把水灌到暖瓶里(中断目的),再烧上一壶(继续开中断),回去看电视。水又开了。。。。。。。。(循环中断)

以51单片机16位定时计数器0(T0)来讲,
计数是T1是一个能盛65536(十六位时)滴水的水盆,在水龙头下水一滴滴地滴入盆中。如果盆是空的那水在滴完65536滴水时盆子的水就满了再滴一滴的时候就溢出了。这时就会产生中断。
如果盆里面已经装入65500滴水(即初装值),那么只需要36滴水后就溢出了。
每一个水滴计数时即一个脉冲(高低电平变换一次)。
定时时每一个水滴即一个机器周期,水滴的速度即机器周期,等于12个振荡周期(晶振的振荡频率除以12),直接影响到溢出的时间。

本回答被网友采纳
第2个回答  2012-11-07
一个中断怎么写,第二个中断就怎么写啊!!只是要注意两个中断不能同时响应!!所以要注意一下就好了本回答被提问者采纳

51单片机怎么同时开启两个中断的问题?
高优先级中断执行过程中低的不能执行。中断使能,中断允许即此中断已开启。但CPU不可以同时执行两个中断。所以中断分优先级。要优先于高级中断,再开低级中断。当系统有个定时中断。比如定时采集温度值,然后通过串口发送到上位机。这样程序里要用到定时中断和串口中断。处理了定时中断后,再处理的串口中断。

51单片机的两个外部中断可否同时开启
可以,只要第二次的中断优先级高于第一次就行。通过设置了中断控制寄存器IP来实现。如果不设置 默认的优先级顺序为:INT0 TO INT1 TI 串口中断。do{} while(P3^3==0);先执行一次DO里的循环 在P3.3=0(INT1中断) 如果成立继续执行循环 do{} while(P3^3==1);TR1=0;先执行一次DO里的循环...

高手,单片机程序里面可以同时出现两个中断吗
单片机程序里是不可能同时进入两个中断的。1、会有出现同时两个中断满足进入中断的条件,这时就会根据中断优先级进行判断先进入那个中断服务程序里,高优先级的执行完毕才会进入低优先级中断;2、如果正在执行中断服务程序(中断1)的时候,另一个中断(中断2)触发,如果优先级高于正在执行的中断,那么会立...

51单片机定时器中断和外部中断可不可以同时进行
还可以根据中断的重要程序,设置一个为优先级。就是把所有的中断都打开,也是可以同时进行的。

高手,单片机程序里面可以同时出现两个中断吗
单片机程序里是不可能同时进入两个中断的。1、会有出现同时两个中断满足进入中断的条件,这时就会根据中断优先级进行判断先进入那个中断服务程序里,高优先级的执行完毕才会进入低优先级中断;2、如果正在执行中断服务程序(中断1)的时候,另一个中断(中断2)触发,如果优先级高于正在执行的中断,那么会...

51单片机2个外中断的应用,这个怎么设计?
MCS-51单片机复位后,IE=00H,因此中断处于禁止状态。值得一提的是:单片机中断响应后不会自动关闭中断,因此在转入中断服务程序后,应由软件指令禁止中断。中断优先级控制寄存器 (IP)MCS-51的中断优先级控制比较简单,只设置了高、低两个级别的有限级,各中断源的优先级别由优先寄存器(IP)进行控制。·...

单片机怎么处理相同时间的两个定时中断
单片机怎么处理相同时间的两个定时中断 么单片机??51单片机有一个默认(此时的IP寄存器不做设置)的中断优先级 外部中断0 > 定时\/计数器0 > 外部中断1 > 定时\/计数器1 > 串行中断;优先级是逻辑上的优先级,当同时有几种中断到达时,高优先级中断会先得到服务。可以通过更改中断优先级寄存器IP的值...

51单片机中断怎样嵌套?
51单片机总共支持5个中断源,分别为外部中断0,定时器0,外部中断1,定时器,串行中断 这5个中断源都可以独立申请中断 当需要同时进行两个中断时,即可自动通过中断嵌套的方式来进行 比如说,当需要用外部中断0来启动和停止定时器计数 由于外部中断0的优先级比定时器0的优先级高 所以当定时器正在计数时...

MCS-51单片机外部中断的触发方式如何设定和选择
1、打开Keil μVision编译器,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT89C51单片机为模型,并添加STARTUP.A51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径。2、导入51单片机的头文件,否则后续使用的端口都会出现未定义的情况,然后在主函数中,使得EA=1,即总中断允许,...

51单片机怎么同时执行两个任务
具体来说,51单片机可以通过使用中断技术来实现同时执行两个任务。例如,我们可以将一个任务作为主程序,另一个任务作为中断服务程序,在主程序执行的过程中,当中断事件发生时,CPU会立即跳转到中断服务程序中执行,完成中断服务程序中的任务后,CPU再返回主程序继续执行。这种方式可以使得51单片机实现多任务...

相似回答