可以根据这个扩展一下外部中断0
#include
sbit D1=p1^0;
sbit wela=P2^7;
sbit dula=P2^6;
unsigned char code table[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
unsigned int aa=1,num=0;
void main()
{
dula=1;
P0=table[0];
dula=0;
wela=1;
P0=0xc0;
wela=0;
EA=1;//开总中断
TMOD=0x01;//定时器0工作状态1
TH0=(65536-50000)/256;//放置初值
TL0=(65536-50000)%256;
ET0=1;//定时器启动
TR0=1;//定时器中断开始
while(1)
{
if(num==20)
{ num=0;
if(aa>=10)
aa=0;
dula=1;
P0=table[aa];
dula=0;
aa++;
}
}
}
void inte() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
}
void enter0() interrupt 0 //外部中断0使得led第一个灯亮
{
D1=0;
}
亲,既然是初学就要自己写才会有进步哦。。。不难的,要有信心。
外部中断0让数码管闪烁?这个是什么意思呢? 亲~ 留爪 854091421~~
EDNChina 电子设计技术 网站里有,你去论坛、博客那里找。