新聞中心

        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 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 蕉岭县| 汕头市| 霞浦县| 隆林| 泾阳县| 咸阳市| 高阳县| 六盘水市| 安泽县| 金湖县| 砚山县| 和硕县| 集贤县| 宣恩县| 新安县| 吴川市| 德州市| 伊金霍洛旗| 郑州市| 绥宁县| 崇义县| 荆门市| 阜城县| 南郑县| 周宁县| 河西区| 九龙县| 清苑县| 江华| 张家界市| 平遥县| 上饶市| 天等县| 车险| 桂林市| 什邡市| 卓尼县| 普洱| 张家口市| 闵行区| 南安市|