标题:
51单片机的一个电子日历c程序如何才能切换到年月日?
[打印本页]
作者:
819513722
时间:
2019-12-20 11:36
标题:
51单片机的一个电子日历c程序如何才能切换到年月日?
单片机上有八位共阴数码管和一位共阳数码管
1、可以显示时分秒:xx-xx-xx 按键可调
2、按键后可切换至年月日 例如20191220 按键可调
3、单一以为的共阳数码管显示对应的星期数,比如星期一星期二
已经能够写出单一显示时分秒的程序了。但是不知道该怎么写才能切换到年月日 还要显示星期数求大佬指点
感激不尽
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit we = P2^3;
sbit du = P2^2;
sbit S2 = P3^0;
sbit S3 = P3^1;
uchar counter,second,min,hour;
uchar code leddata[17]={0x3f , 0x06 , 0x5b ,0x4f , 0x66 , 0x6d ,0x7d ,
0x07 , 0x7f , 0x6f ,0x77 , 0x7c , 0x39 ,
0x5e , 0x79 , 0x71 , 0x00};
void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for (y = 120;y > 0 ;y--);
}
void main()
{
TMOD = 0x10;// 定时器1工作模式1 16模式位定时器
TH1 = 0x4b;
TL1 = 0xfe;//定时50ms
TR1 = 1;//启动定时器
while(1)
{
if(TF1 ==1)
{
TF1 = 0;
TH1 = 0x4b;
TL1 = 0xfe;
counter++;
}
if(counter == 19)
{
counter = 0;
second++;
if(second == 60)//记满一分钟
{
second = 0;
min++;
if(min == 60)//记满一小时
{
min = 0;
hour++;
if(hour == 24)
{
hour = 0;
}
}
}
}
P1 = 0xff;
we = 1;
P1 = 0x7f;
we = 0;
du = 1;
P1 = leddata[second%10];
du = 0;
delay(1);
we = 1;
P1 = 0xbf;
we = 0;
du = 1;
P1 = leddata[second/10];
du = 0;
delay(1);
we = 1;
P1 = 0xef;
we = 0;
du = 1;
P1 = leddata[min%10];
du = 0;
delay(1);
we = 1;
P1 = 0xf7;
we = 0;
du = 1;
P1 = leddata[min/10];
du = 0;
delay(1);
we = 1;
P1 = 0xfd;
we = 0;
du = 1;
P1 = leddata[hour%10];
du = 0;
delay(1);
we = 1;
P1 = 0xfe;
we = 0;
du = 1;
P1 = leddata[hour/10];
du = 0;
delay(1);
we = 1;
P1 = 0xdf;
we = 0;
du = 1;
P1 = 0x40;
du = 0;
delay(1);
we = 1;
P1 = 0xfb;
we = 0;
du = 1;
P1 = 0x40;
du = 0;
delay(1);
if(S2 == 0)
{
delay(1);
if(S2 == 0)
{
delay(1);
if(S2 == 0)
{
min++;
if(min == 60)
{min = 0; hour++;}
while(!S2);
}
}
}
if(S3 == 0)
{
delay(1);
if(S3 == 0)
{
delay(1);
if(S3 == 0)
{
hour++;
if(hour == 24)
{hour = 0;}
while(!S3);
}
}
}
}
}
51黑论坛_LY-51S V2.3 电路原理图.pdf
2019-12-20 11:35 上传
点击文件名下载附件
108.24 KB, 下载次数: 12
作者:
csmyldl
时间:
2019-12-20 15:00
把要显示的数建立一个与显示位数相同的数组,数组中的内容一段时间放时间数据,一段时间放日历数据,单片机只要不断循环去数组中取数据进行显示,这些就实现了切换
作者:
imxuheng
时间:
2019-12-20 15:18
这个程序没有包含年月日计算功能
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1