84人参与 • 2024-08-06 • 单片机
#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int
uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //led0-9
uchar data_l,data_h; //high bite and low bite
uchar t,a; //count
void delay(uint k) //delay about 0.1ms
{
uint m,n;
for(m=0;m<k;m++)
{
for(n=0;n<120;n++);
}
}
void display (void) //display program
{
p2=0x01;
p0=tab[data_h];
delay(1);
p2=0x02;
p0=tab[data_l];
delay(1);
}
void timer0() interrupt 1 //50ms timing
{
t++;
th0=0x4c; //11.0592mhz initial value at high bits
tl0=0x00; //11.0592mhz initial value at low bits
}
void data_tim(void) //59s cuont
{
if(t==20)
{
a++;
t=0;
if(a==60)
{
a=0;
}
}
}
void data_in(void) //cut value
{
data_l=a%10;
data_h=a/10;
}
void t0_init(void) //t0 initialization
{
tmod=0x01; //t0 count model 1
th0=0x4c;
tl0=0x00;
et0=1; //allow t0 break
tr0=1; //state t0
ea=1;
}
void main(void)
{
a=0;
t0_init();
while(1)
{
data_tim();
data_in();
display();
}
}
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论