本文目录一览

1,什么叫中断优先权

51单片机有5级中断源,其每一级中断有0或1(即高低级之分),是用户通过程序控制中断优先级寄存器IP实现的!当五级中断中不止一个中断源时,就会出现多个高中断优先级或多个低中断优先级!此时就必须用优先权来区别多个高中断或多个低中断的先后
指令中断>非屏蔽中断>可屏蔽中断>单步中断

什么叫中断优先权

2,51单片机中断优先级问题请教

1.不会2.因为在默认情况下(即每次单片机复位时),中断优先级寄存器IP为XXX0 0000B,未设置IP时,所有中断都是同等级的!外部中断1在执行时,同级的中断是进不来的。3.是同时接到这些同级中断时,CPU按照如下硬件顺序进行中断响应 外部中断0 - >计时器0 ->外部中断1 ->计时器1->串口中断。不过这种情况一般不会发生,只是为了在出现这种情况下,单片机知道该怎么办而已。注意如果同时接到这些中断信号,外部中断0被响应了,可能其他的中断信号有的就不存在了,这时还要看有什么中断信号存在,在去响应未响应的中断

51单片机中断优先级问题请教

3,关于单片机中断优先级的一点问题

你按键按下时不管流动点亮的执行到到哪了都改变为8灯齐闪,说明这个8灯齐闪的子程序的优先级比流动点亮的优先级高,并且你外部中断是8灯齐闪的子程序,而定时中断是流动点亮子程序,所以当然得设置外部中断为高优先级了。 关于SP给你举个例子吧:比如你的主程序有加减乘除法,中断子程序中也有,那么你就必须对ACC,PSW进行保护,因为你在执行中断程序的加减法时可能已经改变了某些进位标志位,而回到主程序中时若主程序的没有进位就可能出错了。所以在进入中断子程序时要首先把这些标志位(即ACC和PSW)保存起来,以便回到主程序时能正确的继续运行。而MOV SP,#50H等只是你设置的堆栈所在的存储区域,是为了避免和你的工作寄存器重叠的,因为复位后堆栈指针SP的初值是07H,你的程序结构稍大的话就能把它给覆盖了,所以要向后推,一般的程序50H,60H就足够用了。

关于单片机中断优先级的一点问题

4,内部中断外部中断网口中断优先级 如何配置

51单片机中断源总共有5个,即2个外部中断、2个定时/计数器中断、1个串行口中断。  没有时钟中断,你说的时钟中断是指定时器中断吧。  中断优先级的设定 主要是对中断优先级寄存器IP的设置,  其8位内容 如下:XXPT2 PS PT1 PX1 PT0 PX0 其中PX0为外部中断0的优先级设定位,  PX1为外部中断1的优先级设定位, PT0 PT1 为定时器的 优先级设定位,  设置 优先级设定位=1时,该优先级最高 为高级中断。  设置 优先级设定位=0时,该优先级最低 为低级中断。  同一级别的中断内部优先级顺序是  外部中断0最高  定时器0  外部中断1  定时器2  串行口最低  最简单的方法是,将你用到的外部中断设为高级中断,其它的中断设为低级中断。  可以在程序中 使用置1指令 SETB PX0,将外部中断0设为高级中断。

5,什么是中断中断源中断优先级和中断嵌套

1、中断:你正在看书,电话铃响了。你在书上作个记号,走到电话机旁通话。通话完毕,挂上电话。回到座位上,从作记号的地方开始继续读书。你相当于CPU,打电话的人相当于外部设备,你们俩各干各的(并行工作),他有事想找你(数据准备好),电话铃响(某种突发事件发生),向你提出请求(电话铃不停地响);你停止看书(CPU暂停正在执行的程序),接电话(处理紧急事件为该外设服务),处理完毕(通话完毕,挂上电话)再回到原断点(书上记号处)继续执行原程序(继续看书)。2、中断源:你允许有几个好朋友,在你工作期间可以打断你的工作为他服务,他们就是中断你工作的源头。3、中断优先级:铁哥们与好朋友的关系,例如你正在为好朋友甲服务,好朋友乙也想你为他干活,那得等好朋友甲服务完成之后才行;铁哥们则不然,可以停下甲服务,先给铁哥们干了再说,铁哥们中断优先,当然谁是铁哥们你的预先认定(机器是预先安排的响应次序)。4、中断的嵌套:在问题3中,铁哥们是高优先级的 好朋友是较低级的,本来正在给好朋友干活,铁哥们来了先给铁哥们干了再说,这就是中断嵌套,也就是中断之后再中断。5、中断系统:机器中搞定了能中断的朋友有几个(你不可能让全世界的人都可打断你的工作去为他们服务),是不是允许中断优先,这都是属于硬件;由于是机器工作,对于不同的中断源只能预先设定为他干什么,怎么干,这就是中的服务程序(软件)。能明白吗。

6,单片机中断优先级问题

80C51默认中断优先级从高到低排列:INT0 > T0 > INT1 > T1 > 串行中断 题目所给出的高优先级为PS和PX1,低优先级为其他四个。同一优先级中的中断申请不止一个时,有中断优先权排队问题,同一优先级的中断优先权由中断系统确定的默认优先级形成。由此可得中断优先级从高到低排列INT1 > 串行中断 > INT0 > T0 > T1
中断源为同一中断优先级时,取决于查询顺序,意思就是ip表示的优先级相同时ip的低位优先级略大于高位,就是Px0>pT0>px1>pt1>ps>pt2故当px1和ps都是1时,外部中断1优先级最高
51单片机有2级中断,高优先级和低优先级,如果是同级中断,优先顺序按中断向量大小排序。即:外部0,定时器0,外部1,定时器1,串口
51单片机默认的中断优先级如下INT0 >> T0 >> INT1 >> T1 >> TI/RI设成高优先(IP)=00010100B 对应 PS PX1, 同级仍按自然序为INT1 >> TI/RI, 然后是 INT0 >> T0 >> T1 故你的设想是对的: 外部中断1 T1溢出中断
你按键按下时不管流动点亮的执行到到哪了都改变为8灯齐闪,说明这个8灯齐闪的子程序的优先级比流动点亮的优先级高,并且你外部中断是8灯齐闪的子程序,而定时中断是流动点亮子程序,所以当然得设置外部中断为高优先级了。 关于sp给你举个例子吧:比如你的主程序有加减乘除法,中断子程序中也有,那么你就必须对acc,psw进行保护,因为你在执行中断程序的加减法时可能已经改变了某些进位标志位,而回到主程序中时若主程序的没有进位就可能出错了。所以在进入中断子程序时要首先把这些标志位(即acc和psw)保存起来,以便回到主程序时能正确的继续运行。而mov sp,#50h等只是你设置的堆栈所在的存储区域,是为了避免和你的工作寄存器重叠的,因为复位后堆栈指针sp的初值是07h,你的程序结构稍大的话就能把它给覆盖了,所以要向后推,一般的程序50h,60h就足够用了。
依次 外部中断0,定时器T0中断,外部中断1,定时器T1中断,串行口中断,定时器2中断。

文章TAG:中断  中断优先级  优先  优先级  中断优先级  
下一篇