#include<reg52.h>
#define dat P0
#define seg P2
unsigned char hour,minute,second;
bit timeflag;
sbit keymh=P3^0;
sbit keyml=P3^1;
sbit keyhh=P3^2;
sbit keyhl=P3^3;
unsigned char code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char code wei[]={0,1,2,3,4,5,6,7};
unsigned char temp[8];
void delayus(unsigned char t);
void delayms(unsigned char t);
void display(unsigned char firstbit,unsigned char num);
void keyscan();
void init ();
void main ()
{
init ( );
while (1)
{
display(0,8);
if(timeflag==1)
{
timeflag=0;
temp[0]=duan[hour/10];
temp[1]=duan[hour%10];
temp[2]=0x40;
temp[3]=duan[minute/10];
temp[4]=duan[minute%10];
temp[5]=0x40;
temp[6]=duan[second/10];
temp[7]=duan[second%10];
}
keyscan( );
}
}
void init ( )
{
TMOD |= 0x01;
EA=1;
ET0=1;
TR0=1;
}
void time ( ) interrupt 1
{
static unsigned int num,i;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
display(0,8);
i++;
if(i==4)
{
i=0;
timeflag=1;
}
num++;
if(num==20)
{
num=0;
second++;
if(second==60)
{
second=0;
minute++;
if(minute==60)
{
minute=0;
hour++;
if(hour==24)
hour=0;
}
}
}
}
void keyscan( )
{
keymh=1;
keyml=1;
keyhh=1;
keyhl=1;
if(!keymh)
{
delayms(10);
if(!keymh)
{
while(!keymh)
delayms(10);
{
if(minute<60)
minute++;
if(minute==60)
minute=0;
}
}
}
if(!keyml)
{
delayms(10);
if(!keyml)
{
while(!keyml)
delayms(10);
{
if(minute>0)
minute--;
if(minute==0)
minute=59;
}
}
}
if(!keyhh)
{
delayms(10);
if(!keyhh)
{
while(!keyhh)
delayms(10);
{
if(hour<24)
hour++;
if(hour==24)
hour=0;
}
}
}
if(!keyhl)
{
delayms(10);
if(!keyhl)
{
while(!keyhl)
delayms(10);
{
if(hour>0)
hour--;
if(hour==0)
hour=23;
}
}
}
}
void display(unsigned char firstbit,unsigned char num)
{
static unsigned char i=0;
dat=0;
seg=wei[i+firstbit];
dat=temp[i];
i++;
if(i==num)
i=0;
}
void delayus(unsigned char t)
{
while(--t);
}
void delayms(unsigned char t)
{
while(t--)
{
delayus(245);
delayus(245);
}
}
shumaguan.rar_报时数码管
版权申诉
97 浏览量
2022-09-24
06:24:46
上传
评论
收藏 939B RAR 举报
周楷雯
- 粉丝: 80
- 资源: 1万+
最新资源
- 基于宏晶STC单片机开发ISP程序Demo-使用Y-Modem协议软件源码+文档说明资料.zip
- 基于Vue+Echarts开发的风力发电机中传感器的数据展示监控
- 新普_软包电池_三是调试工程05301.zip
- 基于python遥感毕业设计TOA深度学习反演PM2.5源码+文档说明(高分项目)
- 基于stc8A系列单片机和ov7670模块制作的人脸识别系统
- 基于python的系统设计与实现博客系统.zip
- SSH客户机Xshell资源包
- 未命名1.cpp
- AD7177-2 AD7175-2, AD7172-2 AD717X-系列芯片多路复用模数转换器驱动程序C源码.zip
- 后端框架入门掌握SpringBoot和Django等后端框架电子资源pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈