一直在折腾3264万年历和频谱,在坛子中下了很多种万年历来研究,各有特色。本人比较喜欢两行显示
方式,第一行为时分秒固定显示,第二行公历、农历、星期温度轮显。以前三行的显得太花了,不易看
清楚。后来看到坛友benli的三行万年历,布局很不错。还有GPS校时,便宜的NTC探头测温。便宜光敏电
阻自动调节亮度,功能较全。原帖:
http://bbs.mydigit.cn/read.php?tid=1119097 布局是我做过三行显示中我认为最好的了。第一行公历。第二行为大大的时分秒。第三行是农历温度
。在这里感谢benli坛友开源,让我们得以仿制。
于是立即下来源程序学习下,拆自于成品温度计中的NTC探头(因为这个温度计有两外两个探头,拆了
一个外的做万年历,这个成品还可以用),再在坏的光控声控楼道灯座中拆了一个光敏电阻,就可以接
上,刷上这个程序,就正常工作了。但是因为NTC参数不同,要在程序中调下参数才能准确显温度,这点不如18b20方便。
但是因为我没有GPS模块,没有办法自动调校时间,于是改了下,加上三个按键,分别调时分秒年月
日,总算可以工作了。想下显示方式,加上自己一直用的两行显示方式,再加一个按键切换两种方式,
这样,萝卜白菜就各得所爱了!只需要按一下就能切换显示风格了。
程序来原为benli,本人只是修改下,用按键调时,另外加上一种显示方式。原程序版权为benli所有,本人改过的程序为坛友所有。另外引脚我改成合适我的硬件,光敏电阻和温敏电阻NTC连接不能改,其它连接如下:
//DS1302与单片机接法
sbit SCLK = P2^7; //DS1302时钟口P2.7
sbit IO = P2^6; //DS1302数据口P2.6
sbit RST = P2^5; //DS1302片选口P2.5
sbit KEYS=P0^7; //调整键,按一次设置状态位加1,轮流切换到设置年,月,日,时,分,秒,星期,正常状态.
sbit KEYA=P0^6; //加一键,在设置状态时按一次相应设置位加1
sbit KEYD=P0^1; //减一键,在设置状态时按一次相应设置位减1
sbit KEYM=P0^0; //显示模式键,在设置三行或二行显示
bit MODE=0; //显示模式指示,0为二行显示,1为三行显示
#include <set.h> //键控设时间头文件
sbit G1=P3^4;
sbit G2=P3^5;
sbit R1=P1^6;
sbit R2=P1^7;
sbit LS=P3^6; //锁存
sbit CK=P3^7; //时钟
sbit OE=P3^3; //使能,低电平有效
#define ABCD P2 //ABCD接到P2.0-P2.3
源程序如下,己改正二行状态下星期显示错误
[ 此帖被桃源客在2015-01-20 00:23重新编辑 ]