2.用keil软件编写4位数码管代码,怎样编写0~9999,进行前导0(如可以这样实现:
定义一个消隐段码(现在你已经实现了数字0~9的段码),该段码使数码管所有段(即LED)全部熄灭,定义在段码表LED_code[10]位置(LED_code[9]对应数字9);
之后你可以在点亮数码管之前取段码的程序中增加前导0的判断(很简单,请自己思考怎么实现),若判断是前导0,则P0=~LED_code[10](取代楼主之前的P0=~LED_code[led_num[i]],此时led_num[i]=0) 。
OK!
3.编写一完整的程序,使一个8段码LED(共阴)重复显示数字9#include
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
uchar time,num=9;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
if(time>=20)
{
time=0;
P0=table[num];
if(num>0)num--;
else num-9;
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
P0=table[9];
while(1);
}
【led段码怎么写】
文章插图