一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 13596|回复: 80
收起左侧

[51单片机] 有三种显示方式的3264双色万年历,一键切换显示方式。

  [复制链接]
发表于 2015-1-23 22:05 | 显示全部楼层 |阅读模式
本帖最后由 桃源客 于 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所画,刚开始学,画得太差了,不知坛友能所清没有?其实单片机的电路图都很简单,看源程序就能看出,一般都不用电路图了,画出来,方便不会看源程序的坛友仿制。

1.jpg
2.jpg
VID_20150123_203515-2015-01-23 20-43-46.jpg
VID_20150123_203515-2015-01-23 20-43-49.jpg
VID_20150123_203515-2015-01-23 20-45-19.jpg
VID_20150123_203515-2015-01-23 20-45-29.jpg
VID_20150123_203515-2015-01-23 20-45-32.jpg
VID_20150123_203515-2015-01-23 20-45-34.jpg
VID_20150123_203515-2015-01-23 20-46-09.jpg
VID_20150123_203515-2015-01-23 20-46-11.jpg
VID_20150123_203515-2015-01-23 20-46-13.jpg
VID_20150123_203515-2015-01-23 20-46-16.jpg
VID_20150123_203515-2015-01-23 21-35-54.jpg
电路图.jpg

3264GPS时钟三种显示.rar

215.79 KB, 下载次数: 809, 下载积分: 一乐金币 -1

评分

参与人数 3一乐金币 +124 收起 理由
lijn + 12 乐于助人!
AMD + 12 很给力!
无锡风 + 100 谢谢! 我更喜欢两行显示的:上行"静止"实.

查看全部评分

 楼主| 发表于 2015-1-23 22:09 | 显示全部楼层
本帖最后由 桃源客 于 2015-1-23 22:11 编辑

视频如下,点击可看。
http://player.youku.com/player.php/sid/XODc4MTQ5NTA0/v.swf

http://v.youku.com/v_show/id_XODc4MTQ5NTA0.html

点评

谢谢分享  发表于 2015-1-23 22:52
发表于 2015-1-23 22:46 | 显示全部楼层
还是感觉原来的两种显示好看,最后加的这个显示感觉有点乱,看着费劲
请问我原来仿两种显示的可以直接刷这个程序吗?

点评

直接刷上就可以了。这个源程序含有原来的两种显示方式。喜欢那种就切换到那种。  发表于 2015-1-23 22:59
发表于 2015-1-23 22:53 | 显示全部楼层
谢谢分享!有空仿制一个,关于之前有个帖子是EN高电平和低电平怎么弄。
发表于 2015-1-23 22:56 | 显示全部楼层
能加上流水边框就更完美了
像个成品的东西,又比较豪华

点评

要是加上流水边,眼都花了。还有,三行方式没有办法加上,显示不够,二行的可以,但是本身都在跳,加上更看不清了。  发表于 2015-1-23 23:00
发表于 2015-1-23 22:57 | 显示全部楼层
感觉第一种有点凌乱,“萝卜白菜,各有所爱”,说的没错啊!!个人比较喜欢这种布局,这种字摸, QQ截图20150123225539.jpg

 楼主| 发表于 2015-1-23 23:03 | 显示全部楼层
tansx29 发表于 2015-1-23 22:57
感觉第一种有点凌乱,“萝卜白菜,各有所爱”,说的没错啊!!个人比较喜欢这种布局,这种字摸,

确实您这种字模很清新,很漂亮!是全手工制的,还是网上下的字体?我没有这种字体,不想那么辛苦手工画!!!
发表于 2015-1-23 23:07 | 显示全部楼层
不管怎么说,萝卜青菜都可以自己挑了,顶一个!
发表于 2015-1-23 23:13 | 显示全部楼层
桃源客 发表于 2015-1-23 23:03
确实您这种字模很清新,很漂亮!是全手工制的,还是网上下的字体?我没有这种字体,不想那么辛苦手工画! ...

全部字摸都是自己一个一个点的,的确挺辛苦的,,
上传中间时间的字bmp图片,用取模软件PCtoLCD2002打开后,可以随便修改,
712.rar (1.2 KB, 下载次数: 438)

点评

多谢,马上导入看看。  发表于 2015-1-23 23:40
发表于 2015-1-23 23:32 | 显示全部楼层
LZ辛苦了,取模好麻烦的说,算法也一定很蛋疼吧,显示方法是先把要显示的数据放在BUF中,然后在取BUF中的数据显示?

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-3-28 18:33 , Processed in 0.075170 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表