久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2336|回復: 0
打印 上一主題 下一主題
收起左側

中斷服務函數

[復制鏈接]
跳轉到指定樓層
樓主
ID:26188 發表于 2015-2-18 01:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
.INCLUDE hardware.inc
//=============================================================
//C段中必須包含如下函數,如果沒有書寫,就在每行前加//注釋掉,同
//時必須注釋掉對應的中斷子程序中的CALL語句
//.EXTERNAL _FIQ_call_F_1024;
//.EXTERNAL _IRQ0_call_F_1024;
//.EXTERNAL _FIQ_call_TMA;
//.EXTERNAL _IRQ1_call_TMA;
//.EXTERNAL _FIQ_call_TMB;
//.EXTERNAL _IRQ2_call_TMB;
//.EXTERNAL _IRQ3_call_EXT2;
//.EXTERNAL _IRQ3_call_EXT1;
//.EXTERNAL _IRQ3_call_KEY;
//.EXTERNAL _IRQ4_call_1KHz;
//.EXTERNAL _IRQ4_call_2KHz;
//.EXTERNAL _IRQ4_call_4KHz;
.EXTERNAL _irq5_call_2hz;
.EXTERNAL _irq5_call_4hz;
//.EXTERNAL _IRQ6_call_TMB1;
//.EXTERNAL _IRQ6_call_TMB2;
//=============================================================
.EXTERNAL _Clear_WatchDog;
//=============================================================
.TEXT
.PUBLIC _FIQ;
.PUBLIC _IRQ0;
.PUBLIC _IRQ1;
.PUBLIC _IRQ2;
.PUBLIC _IRQ3;
.PUBLIC _IRQ4;
.PUBLIC _IRQ5;
.PUBLIC _IRQ6;
//=============================================================
_FIQ:                                 
    PUSH r1,r4 TO [sp];              // 現場保護
    PUSH BP TO [SP];
    CALL _Clear_WatchDog;            // 清看門狗
r1 = ASM_FIQ_TMA;                // 中斷源 _FIQ_TMA 定時器A,  快速中斷
TEST r1,[ASM_Port_INT_Ctrl];            // 測試r1,[P_INT_Ctrl]
   JNE _FIQ_TMA;               // 進入_FIQ_TMA 定時器A
r1 = ASM_FIQ_TMB;                // 中斷源 _FIQ_TMB 定時器B,  快速中斷
TEST r1,[ASM_Port_INT_Ctrl];            // 測試r1,[P_INT_Ctrl]
   JNE _FIQ_TMB;                  // 進入_FIQ_TMB 定時器B
_FIQ_F_1024:
r1 = ASM_FIQ_F_1024;             // 中斷源 ASM_FIQ_F_1024,    快速中斷     
    [ASM_Port_INT_Clear] = r1;              // ASM_FIQ_F_1024清除中斷標志
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _FIQ_call_F_1024;
JMP _FIQ_OVER;
//==========================================================================
_FIQ_TMA:
    [ASM_Port_INT_Clear] = r1;
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _FIQ_call_TMA;
JMP _FIQ_OVER;
//==========================================================================
_FIQ_TMB:
    [ASM_Port_INT_Clear] = r1;
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _FIQ_call_TMB;
//==========================================================================
_FIQ_OVER:
    POP BP FROM [SP];
    POP r1,r4 FROM [sp];
RETI;
//==========================================================================
//==========================================================================
_IRQ0:
PUSH r1,r4 TO [sp];
PUSH BP TO [SP];
    CALL _Clear_WatchDog;   // 清看門狗
r1 =ASM_IRQ0_F_1024;   
    [ASM_Port_INT_Clear] = r1;     
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ0_call_F_1024;
    POP BP FROM [SP];
    POP r1,r4 FROM [sp];              // 恢復現場
RETI;
//==========================================================================
//==========================================================================
_IRQ1:
PUSH r1,r4 TO [sp];
PUSH BP TO [SP];
    CALL _Clear_WatchDog;   // 清看門狗
r1 =ASM_IRQ1_TMA;   
    [ASM_Port_INT_Clear] = r1;     
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ1_call_TMA;
    POP BP FROM [SP];
    POP r1,r4 FROM [sp];              // 恢復現場
RETI;
//==========================================================================
//==========================================================================
_IRQ2:
PUSH r1,r4 TO [sp];
PUSH BP TO [SP];
    CALL _Clear_WatchDog;   // 清看門狗
r1 =ASM_IRQ2_TMB;   
    [ASM_Port_INT_Clear] = r1;     
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ2_call_TMB;
    POP BP FROM [SP];
    POP r1,r4 FROM [sp];              // 恢復現場
RETI;
//==========================================================================
//==========================================================================
_IRQ3:
PUSH r1,r4 TO [sp];
PUSH BP TO [SP];
    CALL _Clear_WatchDog;   // 清看門狗
r1 =ASM_IRQ3_EXT1;   
TEST r1,[ASM_Port_INT_Ctrl];   
   JNE _IRQ3_EXT1;
r1 =ASM_IRQ3_EXT2;
TEST r1,[ASM_Port_INT_Ctrl];
   JNE _IRQ3_EXT2;
_IRQ3_KEY:
r1 = ASM_IRQ3_KEY;        
    [ASM_Port_INT_Clear] = r1;     
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ3_call_KEY;
JMP _IRQ3_OVER;
//==========================================================================
_IRQ3_EXT1:
    [ASM_Port_INT_Clear] = r1;
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ3_call_EXT1;
JMP _IRQ3_OVER;
//==========================================================================
_IRQ3_EXT2:  
    [ASM_Port_INT_Clear] = r1;
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ3_call_EXT2;
//==========================================================================
_IRQ3_OVER:
    POP BP FROM [SP];
    POP r1,r4 FROM [sp];              // 恢復現場
RETI;
//==========================================================================
//==========================================================================
_IRQ4:
PUSH r1,r4 TO [sp];
PUSH BP TO [SP];
    CALL _Clear_WatchDog;   // 清看門狗
r1 =ASM_IRQ4_4KHz;   
TEST r1,[ASM_Port_INT_Ctrl];   
   JNE _IRQ4_4KHz;
r1 =ASM_IRQ4_2KHz;   
TEST r1,[ASM_Port_INT_Ctrl];   
   JNE _IRQ4_2KHz;
_IRQ4_1KHz:
r1 = ASM_IRQ4_1KHz;        
    [ASM_Port_INT_Clear] = r1;     
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ4_call_1KHz;
JMP _IRQ4_OVER;
//==========================================================================
_IRQ4_2KHz:
    [ASM_Port_INT_Clear] = r1;
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ4_call_2KHz;
JMP _IRQ4_OVER;
//==========================================================================
_IRQ4_4KHz:  
    [ASM_Port_INT_Clear] = r1;
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ4_call_4KHz;
//==========================================================================
_IRQ4_OVER:
    POP BP FROM [SP];
    POP r1,r4 FROM [sp];              // 恢復現場
RETI;
//==========================================================================
//==========================================================================
_IRQ5:
PUSH r1,r4 TO [sp];
PUSH BP TO [SP];
    CALL _Clear_WatchDog;   // 清看門狗
r1 =ASM_IRQ5_4Hz;   
TEST r1,[ASM_Port_INT_Ctrl];   
   JNE _IRQ5_4Hz;
_IRQ5_2Hz:
r1 = ASM_IRQ5_2Hz;
    [ASM_Port_INT_Clear] = r1;     
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    call _irq5_call_2hz;
jmp _IRQ5_over;
//==========================================================================
_IRQ5_4Hz:
    [ASM_Port_INT_Clear] = r1;
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    call _irq5_call_4hz;
//==========================================================================
_IRQ5_over:
    POP BP FROM [SP];
    POP r1,r4 FROM [SP];              // 恢復現場
RETI;
//==========================================================================
//==========================================================================
_IRQ6:
PUSH r1,r4 TO [sp];
PUSH BP TO [SP];
    CALL _Clear_WatchDog;   // 清看門狗
r1 =ASM_IRQ6_TMB1;   
TEST r1,[ASM_Port_INT_Ctrl];   
   JNE _IRQ6_TMB1;
_IRQ6_TMB2:
r1 = ASM_IRQ6_TMB2;        
    [ASM_Port_INT_Clear] = r1;     
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ6_call_TMB2;
JMP _IRQ6_over;
//==========================================================================
_IRQ6_TMB1:
    [ASM_Port_INT_Clear] = r1;
    //C段中有書寫,并需要時,去掉下行的//注釋,否則不要動
    //call _IRQ6_call_TMB1;
//==========================================================================
_IRQ6_over:
    POP BP FROM [SP];
    POP r1,r4 FROM [sp];              // 恢復現場
RETI;
//==========================================================================
//==========================================================================


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品videossex高潮汇编 | 日韩一区二区三区av | 国产区在线视频 | www亚洲成人 | 国产福利视频导航 | 欧美激情视频一区二区三区在线播放 | 国产精品视频导航 | 黄色国产 | 天天综合网天天综合 | 欧美一区二区综合 | 日韩av在线免费 | 香蕉久久a毛片 | 免费一级做a爰片久久毛片潮喷 | 日韩免费一区二区 | 久久国产精品一区二区 | 精品国产一区一区二区三亚瑟 | 中文字幕国产 | 不卡av电影在线播放 | 美女视频黄色的 | 日本一区二区高清不卡 | 日韩区 | 欧美日韩视频在线播放 | 亚洲欧美日韩在线 | 中文字幕亚洲一区二区va在线 | 日韩三级 | 国产一区 日韩 | www.日韩在线| 欧美在线观看免费观看视频 | 成人免费看黄网站在线观看 | 国内精品视频一区二区三区 | 中国一级毛片免费 | 国产在线观看一区二区三区 | 欧美黑人激情 | 亚洲 成人 在线 | 久久视频精品 | 91福利在线观看 | 久久久99国产精品免费 | 日韩视频免费 | 成人特区| 天天av综合 | 日韩视频在线一区 |