先上图
首要用到
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
代码如下:
#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; //总中止敞开}
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/317916.html