我是单片机初学者求高手帮忙写一个程序

2025-03-01 19:56:44
推荐回答(4个)
回答1:

可以根据这个扩展一下外部中断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;
}

回答2:

亲,既然是初学就要自己写才会有进步哦。。。不难的,要有信心。

回答3:

外部中断0让数码管闪烁?这个是什么意思呢? 亲~ 留爪 854091421~~

回答4:

EDNChina 电子设计技术 网站里有,你去论坛、博客那里找。