#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
uchar seconde=0;
uchar minite=0;
uchar hour=12;
uchar num=0;
sbit P3_0=P3^0;
sbit P1_0=P1^0; // second 调整定义
sbit P1_1=P1^1; //minite调整定义
sbit P1_2=P1^2; //hour调整定义
void delay(uchar k ); //延时子程序
void time_pro( ); //时间处理子程序
void display( ); //显示子程序
void keyscan( ); //键盘扫描子程序
void delay (uchar z)
{
uchar j,i;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void time_pro( )
{
if(seconde==60) //秒钟设为60进制
{ seconde=0;
minite++;
if( minite==60) //分钟设为60进制
{ minite=0;
hour++;
if(hour==24) //时钟设为24进制
{hour=0; }
}
}
}
void display()
{
P2=0xfe;
P0=table[hour/10]; //显示小时的十位
delay(4);
P2=0xfd;
P0=(table[(hour%10)]); //显示小时的个位
delay(4);
P2=0xfb;
P0=0x40; //显示分的'-'位
delay(4);
P2=0xf7;
P0=table[minite/10]; //显示分的十位
delay(4);
P2=0xef;
P0=(table[minite%10]); //显示分的个位
delay(4);
P2=0xdf;
P0=0x40; //显示分的'-'位
delay(4);
P2=0xbf;
P0=table[seconde/10]; //显示秒的十位
delay(4);
P2=0x7f;
P0=table[seconde%10]; //显示秒的个位
delay(4);
}
void keyscan ()
{
if(P1_0==0)
{
delay(30);
if(P1_0==0)
{
seconde++;
if(seconde==60)
{seconde=0; }
}
delay(10);
while(!P1_0);
}
if(P1_1==0)
{
delay(30);
if(P1_1==0)
{
minite++;
if(minite==60)
{minite=0;}
}
delay(10);
while(!P1_1);
}
if(P1_2==0)
{
delay(30);
if(P1_2==0)
{
hour++;
if(hour==24)
{hour=0; }
}
delay(10);
while(!P1_2);
}
}
void timer0() interrupt 1 //定时器0方式1,50ms中断一次
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num==20)
{
seconde++;
num=0;
}
}
void main()
{
P1=0xff; //初始化p1口,全设为1
TMOD=0x01; //time0为定时器,方式1
TH0=(65536-50000)/256; //预置计数初值
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while (1)
{
keyscan(); //按键扫描
time_pro(); //时间处理
display(); //显示时间
}
}
基于AT89C51 的数字时钟的设计
5星 · 超过95%的资源 需积分: 10 141 浏览量
2011-11-20
14:59:35
上传
评论 7
收藏 76KB RAR 举报
babaluoshahao
- 粉丝: 2
- 资源: 29
最新资源
- 常用工具集参考用于图像等数据处理
- 音乐展示网页、基于Stenography的图像数字水印添加与提取,以及基于颜色矩和Tamura算法的图像相似度评估算法py源码
- 基于EmguCV(OpenCV .net封装),图像数字水印加解密算法的实现,其中包含最低有效位算法,离散傅里叶变换算法+文档书
- 基于matlab+DWT的图像水印项目,数字水印+源代码+文档说明+图片+报告pdf
- (优秀毕业设计)基于python实现的数字图像可视化水印系统的设计与实现,多种数字算法实现+源代码+文档说明+理论演示pdf
- 基于DWT-DCT-SVD和deflate压缩的数字水印方法python源码+Gui界面+演示视频(高分毕业设计)
- 基于matlab实现DWT、DCT、SVD算法数字图像水印可视化系统+GUI界面+文档说明+详细注释(高分毕业设计)
- NCIAE-Data-Structure大一大二笔记
- 学习wireshark笔记
- digital-image-数据可视化笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页