主要用到
EA:中斷總控制 1 開啟 0關(guān)閉
ET0 :定時(shí)器0溢出中斷 1開啟 0關(guān)閉
要點(diǎn):中斷號(hào)計(jì)算
公式:中斷向量=8×中斷號(hào)+3
timer0為例 中斷向量=0x0b (11十進(jìn)制) 中斷號(hào)=(11-3)/8=1
中斷函數(shù):
void timer0_interrupt() interrupt1 //中斷號(hào)為1
中斷優(yōu)先級(jí)可以查書。
數(shù)碼管動(dòng)態(tài)顯示就是用一組io口 顯示多個(gè)led數(shù)碼管 掃描頻率1~10ms
代碼如下:
#includetypedef 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; //總中斷開啟}
評(píng)論