#defineuintunsignedint#defineucharunsignedcharucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6">
c語言定時器中斷程序

c語言定時器中斷程序

ID:20325303

大?。?1.00 KB

頁數(shù):4頁

時間:2018-10-09

c語言定時器中斷程序_第1頁
c語言定時器中斷程序_第2頁
c語言定時器中斷程序_第3頁
c語言定時器中斷程序_第4頁
資源描述:

《c語言定時器中斷程序》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫

1、C語言的定時器中斷程序#include#defineuintunsignedint#defineucharunsignedcharucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharaa,num;voidmain(){aa=0;num=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;P2=0xf0;P0=0x3f;while(1){if(aa==10){aa=0;nu

2、m++;if(num==10){num=0;}P2=0xf0;P0=table[num];}}}voidtimer0()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++;}voidtimer0(void)interrupt1using3//中斷部分代碼,見下文的釋疑{?……………}釋疑:voidTimer0()interrupt1using1Timer0??是函數(shù)名,隨便取的interrupt??xx??using??y跟在interrupt??后面的xx??值得是中斷號,就是說這個函數(shù)對應第幾個中斷端口,

3、一般在51中0外部中斷0??1??定時器02??外部中斷13??定時器14??串行中斷實際上編譯的時候就是把你這個函數(shù)的入口地址方到這個對應中斷的跳轉地址using??y??這個y是說這個中斷函數(shù)使用的那個寄存器組,51里面一般有4組??r0??--??r7寄存器,一共有32個,看看原碼、補碼就知道。正數(shù)的補碼是對應的二進制數(shù),符號位為零,負數(shù)的補碼是它的絕對值對應的二進制數(shù)按位取反再加一,符號位為一。無符號數(shù)不考慮符號,那么這個結果就跟用FFFF減去它的絕對值一樣中斷的理解。單片機的主程序是從0x0000開始運行的,單片機服務程序從哪里開始運行呢?在51里,有多個中斷服務程

4、序入口,0號入口是外中斷0,地址在0x0003;1號入口是定時器0,在0x000B;2號入口是外中斷1;地址在0x0013,3號入口是定時器2;地址在0x001B,等等。當中斷發(fā)生時,程序就記下當前運行的位置,跳到對應的中斷入口去運行中斷服務程序,運行完之后,又跳回到原來的位置繼續(xù)運行。在C51中,你不用理會中斷服務程序放在哪里,會怎么跳轉。你只要把某個函數(shù)標識為幾號中斷服務函數(shù)就可以了。在發(fā)生了對應的中斷時,就會自動的運行這個函數(shù)。請看一下相關的51的硬件的書,對定時器工作的寄存器設置做進一步的了解。也可以做完試驗再了解,因為例程中都已經(jīng)為您設置好了。

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。