久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 定時器中斷使用+數碼管動態顯示

定時器中斷使用+數碼管動態顯示

作者: 時間:2016-11-30 來源:網絡 收藏
先上圖


主要用到
EA:中斷總控制 1 開啟 0關閉
ET0 :定時器0溢出中斷 1開啟 0關閉

要點:中斷號計算


公式:中斷向量=8×中斷號+3
timer0為例 中斷向量=0x0b (11十進制) 中斷號=(11-3)/8=1
中斷函數:
void timer0_interrupt() interrupt1 //中斷號為1
中斷優先級可以查書。
數碼管動態顯示就是用一組io口 顯示多個led數碼管 掃描頻率1~10ms
代碼如下:
#include typedef unsigned char uint8;typedef unsigned int uint16;uint8 flag=0;uint16 i=0;sbit led1=P1^6;sbit led2=P1^7;sbit bee=P1^5;code uint8 ledcode[]={0xC0,	// 00xF9,	// 10xA4,	// 20xB0,	// 30x99,	// 40x92,	// 50x82,	// 60xF8,	// 70x80,	// 80x90,	// 90x88,	// A0x83,	// B0xC6,	// C0xA1,	// D0x86,	// E0x8E	// F};uint8 table[]={0,0};void timer0_init(){TMOD|=0x01;	 //工作模式1TMOD&=0xfd;TH0=0xdc;	 //初始值  10ms ×100=1sTL0=0x00;TR0=1;}void intr_init(){ET0=1;	    //timer0中斷開啟EA=1;	//總中斷開啟}
				
            
                
			
							
上一頁 1 2 下一頁

評論


技術專區

關閉