打印

汇编语言编写中断服务程序

[复制链接]
1863|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianli1980|  楼主 | 2012-5-24 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为了提高整个系统响应速度,要求中断服务程序执行时间较短,执行速度较快,因此最好的方法就是用汇编语言编写中断服务程序。
下面举个例子用汇编语言编写看门狗定时器的中断服务程序,用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

相关帖子

沙发
jxmzzr| | 2012-5-24 16:42 | 只看该作者
资料不错,不过值得注意的上中断服务中所有被用到的寄存器都需要保护。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

482

主题

2214

帖子

11

粉丝