您的位置 首页 国产IC

51单片机C编程(四、定时器秒表数码管显现)

这个程序实现了通过定时器定时的秒表,并通过两位的数码管显示includereg51h>defineucharunsignedchardefineuintunsingned

这个程序完成了经过守时器守时的秒表,并经过两位的数码管显现

#include
#define uchar unsigned char
#define uint unsingned int
#define LED P0

uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管数字码
uchar num,t,shi,ge;

//—————-子函数初始化——————–
void init();
void timer0();
void display();
void delay(uchar);
//—————–主函数——————-
void main()
{
init();
while(1)
{
timer0();
display();

}
}
//—————–守时器0初始化——————-
void init()
{
num=t=0;
TMOD=0x01;
TH0=(65536-15536)/256;
TL0=(65536-15536)%256;
EA=1;
ET0=1;
}
//—————–计时函数——————-
void timer0()
{
TR0=1;//发动守时器0
if(TF0==1)//查询守时器0的中止标志位TF0
{
TF0=0;
t++;
if(t==10)
{
t=0;
num++;
}
}
}
//—————–显现函数——————-
void display()
{
shi=num/10;//核算时刻的十位数与个位数
ge=num%10;

P2=0x01;//选中个位并显现
LED=tab[ge];
delay(5);

P2=0x02;//选中十位并显现
LED=tab[shi];
delay(5);
}
//—————–延时函数——————-
void delay(uchar x)
{
int i,j;
for(i=x;i>0l;i–)
for(j=255;j>0;j–);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/256914.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部