08系列单片机特点及模块应用---中断
作者:管理员 来源:本站 浏览数:420 发布时间:2012/6/28 14:30:58
中断
08系列中MC68HC908GP32能够在当前指令执行结束时处理相应中断,当发生中断时它将CPU寄存器的值压入堆栈保存,进入中断处理例程;在中断处理例程结束时,将保存的值弹出堆栈,继续执行进入中断之前的程序。
1、 中断的效果
当中断发生时,首先将CPU寄存器的值压入堆栈。在中断处理例程结束时,RTI指令将堆栈中保存的程序寄存器的两个字节的值弹出,恢复被打断的正常程序的执行。需要注意的是,为了同MC68HC05系列单片机兼容,MC68HC08在进入中断时并不保存H寄存器的值,需要用户自己将H寄存器的值压入堆栈,在返回时再弹出来。当然如果中断处理例程中不使用H寄存器,也可以不保存。一般在中断产生时,CPU会自动关闭,设置中断屏障位老防止其他中断进入,这样其他中断不论优先级是高是低,都不能打断已经执行的中断处理例程。最后CPU将用户自己定义的中断向量地址载入程序计数器,开始执行中断服务例程。
2、 中断源
MC68HC908GP32的中断源。
⑴、SWI指令中断
SWI指令为软中断指令,它引起一个不可屏蔽的中断。
3、 断点中断
断点中断使得CPU在一个软件可编程的断点处执行SWI指令。
4、 IRQ引脚外中断
IRQ引脚上的逻辑零电平触发外中断,中断状态和控制寄存器。
5、 CGM中断
在PLL每次进入或离开锁相状态时,CGM对CPU产生一个中断请求。当LOCK为改变状态时,PLL标志位被置为1。PLL中断允许位允许PLLF对CPU的中断请求。LOCK在PLL带宽控制寄存器PLLF在PLL控制寄存器中。
6、 TIMI中断
● TIMI溢出标志。当TIMI的计数值达到TIMI计数器模式寄存器的值有返回为1。TOF和TOIE都在TIMI的状态和控制寄存器中。
● TIMI通道标志。当通道X发生输入捕捉或输出比较时,CHxF被设置为1。通道x中断允许位CHxF允许通道xCPU中断请求。CHxF和ChxIE都在TIMI通道x的状态和控制寄存器中。
⑹TIM2中断
⑺SPI中断
⑻SCI中断
⑼KBD0~KBD7键盘中断
在键盘中断引脚上,逻辑“0”触发中断请求。
⑽ADC中断
当AIEN标志位被设置为逻辑“1”时,每次模/数转换结束后,ADC模块会产生一个CPU中断。当中断被允许时,COCO/IDMAS位不再用作转换结束标志未。
⑾TMB中断
TBM能够以TNR2~TBR0定义的速度产生CPU终端。当时基计数器溢出时,TBIF标志位被设置为逻辑“1”。