单片机怎么设计一个0-9的一位数秒表,用定时器实现 c语言程序及其注释

如题所述

#include
#define
uchar
unsigned
char
uchar
distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
uchar
times,num;
void
t0isr()
interrupt
1
{
TH0=(65536-50000)/256;
//重置初值
TL0=(65536-50000)%256;
times++;
if(times>=20)
//1秒是否到
{
times=0;
num--;
//1秒到后,计数值减1
P0=distab[num];
//显示
if(num==0)num=9;
//到0后再赋值为9
}
}
main()
{
TMOD=0x01;
//定时器0为16为定时
TH0=(65536-50000)/256;
//50毫米中断一次
TL0=(65536-50000)%256;
ET0=1;
EA=1;
num=9;
times=0;
TR0=1;
while(1);
}
温馨提示:答案为网友推荐,仅供参考