单片机数码管动态显示,急救!求C语言程序

发布时间:
浏览次数: 577

好酷屋教程网小编为您收集和整理了单片机数码管动态显示,急救!求C语言程序的相关教程:去百度文库,查看完整内容>内容来自用户:蓝蓝的天he//这是一个,四位数码管动态显示c语言程序,每隔一秒加一,直至加到9999为止#includeunsignedcharcodeLED[]={0xc0

去百度文库,查看完整内容>

内容来自用户:蓝蓝的天he

//这是一个,四位数码管动态显示c语言程序,每隔一秒加一,直至加到9999为止
#include
unsigned char code LED[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
unsignedcharLEDbuff[]={0xff,0xff,0xff,0xff};
//定义数码管的位选段
sbitSEG_bit_1 = P0^1;
sbitSEG_bit_2 = P0^2;
sbitSEG_bit_3 = P0^3;
sbitSEG_bit_4 = P0^4;
unsignedintcnt=0;
unsignedintsec =0;
unsignedchar i=0;
voidmain()
{TMOD=0x01;/*设置定时器*/
TH0=0xfc;
TL0=0x18;
TR0=1;
EA=1;/*设置中断*/
ET0=1;
while(1)
{
if(0==TF0)
{
if(cnt>=1000)
{
cnt=0;
sec++;
LEDbuff[0]=LED[sec%10];/*设置数码管显示位*/
LEDbuff[1]=LED[sec/10%10];
LEDbuff[2]=LED[sec/100%10];
LEDbuff[3]=LED[sec/1000%10];
}
}
}}
void interrupttimer0() interrupt 1/*设置中断函数*/
{
TH0=0xfc;
TL0=0x18;
cnt++;
P1=0xff;
switch(i)
{
case0: SEG_bit_1 = 1;SEG_bit_4 = 0;P1=LEDbuff[0];i++;break;
case1: SEG_bit_4 = 1;SEG_bit_3 = 0;P1=LEDbuff[1];i++;break;
case2: SEG_bit_3 = 1;SEG_bit_2 = 0;P1=LEDbuff[2];i++;break;
case3: SEG_bit_2 = 1;SEG_bit_1 = 0;P1=LEDbuff[3];i=0;break;
default:break;
}
}

以上就是好酷屋教程网小编为您收集和整理的数码管,语言程序,单片机相关内容,如果对您有帮助,请帮忙分享这篇文章^_^

本文来源: https://www.haoku5.com/youxi/640eb4b4ee890ed519006e43.html

相关推荐

    分享到: