27,375
社区成员
发帖
与我相关
我的任务
分享
#include<reg52.h> //数码管两位秒表
#define uchar unsigned char
#define uint unsigned int
sbit duan=P0;
sbit wei=P1;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示0到9
uchar num=0;
void main()
{
uchar a=0;
uchar ge,shi;
TMOD=0x01;
TH0=(65536-50000)/256; //50ms中断
TL0=(65536-50000)%256;
EA=1;
TR0=1;
ET0=1;
while(1)
{
ge=a%10;
shi=a/10; // 显示
wei=0x02;
duan=table[shi];
wei=0x01;
duan=table[ge];
if(num==20)
{
num=0;
if(a++>=60) a=0;
}
}
}
void time() interrupt 1 //中断
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
}