高级会员
主题
帖子
积分3296
阅读权限30
注册时间2010-10-19
最后登录1970-1-1
在线时间 小时
|
本帖最后由 桃源客 于 2015-1-23 22:57 编辑
该贴同时发表于数码之家,贴在这里只是为了方便坛友!
这几天一直在折腾3264万年历程序,原来是看到benli大侠的GPS校时三行固定显示方式很好,难得无私开源,于是下来研究,原贴:http://bbs.mydigit.cn/read.php?tid=1119097 ,
加上自己喜欢的二行大大字体,结合成两种显示方式的万年历,于是就有这个帖:http://bbs.mydigit.cn/read.php?tid=1133547,两种方式随意切换。
后来,在一乐网上看到suny20大侠出的另一种固定显示风格万年历,把主要是时,分,日大字显示,其它的温度,农历,星期小字显示,也很不错,原帖:https://www.yleee.com.cn/thread-37268-1-1.html ,
可惜suny20大侠没有开源,只好在我原来的帖子上,加上一个这种显示方式的函数,经过几个晚上,终于成功了。布局与suny20差不多一样,不过我美化了一个,把某些内容间隔开点好看。另我,秒,温度,日用黄色显示。
三种方式,各有优缺点,以后看个人爱好,随意通过一个显示模式按键切换了。满足“萝卜白菜,各有所爱”了。就不用各种显示之争了!
其实,万年历都大同小异,只是显示布局不同而尔,要是有现成的显示布局,仿制很易的,加个显款方式函数就可以了!但suny20大侠的布局,我也搞了好几天才搞好!DIY真是太费时间了。
利用3264双色点阵屏,集成了三种不同风格的显示方式,通过按键切换,可以根据个人爱好,显示自己喜欢的三行或两行模式,满足不同人的要求。发表于数码之家,开源请仿制!
程序完全开源,未放入开机版权LOGO,根据自己需要,加上自己的版权,主要程序版权属benli所有,第三种三行显示方式布局归suny20所有,本人改篇源程序为本坛所有坛友所有。随便仿制使用。当然,如果你要作为商业用,请通知一声。
仿制时,最好先照原程序电路连接,下载程序后不改动应可以显示,也可以自行改动源程序第13行至24行以下部分,以适应你的硬件连接:
//DS1302与单片机接法
sbit SCLK = P2^7; //DS1302时钟口P1.0
sbit IO = P2^6; //DS1302数据口P1.1
sbit RST = P2^5; //DS1302片选口P1.2
sbit KEYS=P0^7; //调整键,按一次设置状态位加1,轮流切换到设置年,月,日,时,分,秒,星期,正常状态.
sbit KEYA=P0^6; //加一键,在设置状态时按一次相应设置位加1
sbit KEYD=P0^1; //减一键,在设置状态时按一次相应设置位减1
sbit KEYM=P0^0; //显示模式键,在设置三行或二行显示
uchar MODE=0; //显示模式指示,0为二行显示,1为三行显示
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
不过,仿更要注意的是以下几点:
1、DS1302三个IO口一定要5K左右的上拉电阻,32768晶振一定要2个12P电容,不然国产IC很易失频。
2、很多3264屏规格多种多样,有OE高或低使能,有数据高或低有效的,更有变态的LED屏IO口有很小的下拉或上拉电阻!我有个单色屏,下拉电阻居然是1K的,用LED控制板驱动没事,而在别的板上用是好好的万年历驱动板,死活驱动不了,无法点亮!!!!后来想了几天,才发觉是下拉电阻的问题,单片机默认为准双向口,有5ma吸入电流,0.2ma上拉电流,根本没法驱动5K以下的下拉电阻!
因此我以后所写的程序,都把驱动LED08接口的CPU的IO口设为推挽方式,20ma的电流1K的下拉电阻一点问题都没有了!因此坛友改引脚连接时,除了要改上面部分,也要改下相应IO脚的输出方式,程序的787行,内容如下:
P1M1=0x00; //以下为接LED点阵屏设为强推,适应有下拉或上拉电阻输入的屏
P1M0=0xc0;
P2M1=0x00;
P2M0=0x0f;
P3M1=0x00;
P3M0=0xf8;
P1M1=0x18; //P13,P14高阻模式 ,0001100
P1ASF=0x18; //P13,P14做ADC输入
这样大部分屏都可以驱动了!
所附电路图为DXP所画,刚开始学,画得太差了,不知坛友能所清没有?其实单片机的电路图都很简单,看源程序就能看出,一般都不用电路图了,画出来,方便不会看源程序的坛友仿制。
|
评分
-
查看全部评分
|