新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 凌陽16位單片機之定時器中斷

凌陽16位單片機之定時器中斷

作者: 時間:2016-11-20 來源:網(wǎng)絡 收藏
首先先計算好想要的時間,基本上就是 *P_TIMEA_Data = 0xffff-你想要的時間頻率。然后*P_INT_Ctrl = 允許相應的中斷允許接受中斷,然后__asm();

然后等到溢出的時候進入相應的中斷,

本文引用地址:http://butianyuan.cn/article/201611/318710.htm

說一下*P_INT_Ctrl的意義,他有兩個操作,一個是讀操作一個寫操作,剛開始可能只是看書理解有點難,其實讀操作和寫操作就是兩碼事,就像你命令一個人拿東西一樣,第一次規(guī)定了怎么拿但是下一次拿的時候就不用再告訴怎么拿了,之所以叫做讀操作是因為不用寫(/這句話看似是廢話但是想想還是可以的)即每次清除的不是寫操作而讀操作,

*P_TimerA_Ctrl代表開啟什么頻率的中斷,*P_TimerA_Data 是初始到溢出的位置

#include "SPCE061A.H"
unsigned Output = 0x0000;
void IRQ1()__attribute__((ISR));
void IRQ1()
{
*P_INT_Clear = 0x1000;
Output=~Output;
*P_IOA_Data=Output;
}
int main()
{
__asm("INT OFF");
*P_IOA_Dir = 0x00ff;
*P_IOA_Attrib = 0x00ff;
*P_IOA_Data = 0x0000;

*P_INT_Ctrl = 0x1000;
*P_TimerA_Ctrl = 0x000d;
*P_TimerA_Data = 0xffff-1024;
__asm("INT IRQ");
while(1)
{
*P_Watchdog_Clear=C_WDTCLR;
}
}



評論


技術(shù)專區(qū)

關(guān)閉