为了提高整个系统响应速度,要求中断服务程序执行时间较短,执行速度较快,因此最好的方法就是用汇编语言编写中断服务程序。
下面举个例子用汇编语言编写看门狗定时器的中断服务程序,用C语言编写主程序
(C)语言主程序
/**************************************/
/*文件名:c_main.c */
/*c语言和汇编语言混合编程,C源程序 */
/*这段源程序被看门狗定时器中断执行汇编语言函数编写的中断服务程序*/
/**************************************/
#include<MSP430x14x.h>
void main(void)
{
IFG1=0;
WDTCTL=WDF_MDLY_32;
PLDIR=0x01;
IFG1 &=~WDTIE;
IE1 |=WDTIE;
_EINT();
while(1)
}
(2)汇编语言源程序
NAME WDT_ISR
#include"msp430x14x.h"
PUBLIC wdt_isr
RSEG CODE
wdt_isr
xor.b#001h,&P10UT
RETI
COMMON INTVEC(1)
ORG WDT_VECTOR
DW wdt_isr
END |