求单片机4位数码管程序

来源:百度知道 编辑:UC知道 时间:2024/07/02 09:39:00
显示的是语音录放电路的计时

我用的是89s82,这个程序是我学单片机时在师哥和同学的帮助下完成的,希望对你有用。
uchar code tab[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
void dlms(void) //延时
{
uchar i;
for(i=125;i>0;i--);
}
void show() //显示程序
{ uchar b;
sz[0]=y/600; //分钟的十位
sz[1]=y/60%10; //分钟的个位
sz[2]=(y%60)/10; //秒的十位
sz[3]=(y%60)%10; //秒的个位
r=0x0e;
for(b=0;b<4;b++)
{
P0=r; //选通最右边的数码管
P2=tab[sz[b]]; //送字型码
delay(); //显示延时
r=r<<1|0x01; //移位以显示前一位
P2=0xff;
}
}
因为是以前写的程序,可能有错误,你看着用吧。