一乐电子

一乐电子百科

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

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 4256|回复: 14
收起左侧

[时钟DIY] 红外遥控DS1302大尺寸时钟带温度显示

[复制链接]
发表于 2014-2-26 14:08 | 显示全部楼层 |阅读模式
本帖最后由 qrk123 于 2014-2-26 14:12 编辑

    春节期间,虽然要上班,但事情不多。至从上次搞成功大尺寸数码管加DS12C887时钟后,没事做时,看看别人的程序,发现自己可以读懂小尺寸887原作者的程序。原作者的程序是以最简单来实现时钟功能。我是反其倒而行,在他的基础上,一点点加自己想要的功能,就当是一个学习的过程。

    一直以来都是仿别人的作品,对C语言还是比较恐惧,所以一开始搞起来还是比较吃力。与其说是改别人的程序,不如说是拼别人的程序。集各家之长,把想要的功能加进去,每实现一个小小的功能,都是让人挺高兴的。程序里的好多资料都是来自网络,在此感谢各位前辈们的资料。887的功能搞得差不多了,就转搞1302了。毕竟1302比较便宜,占用的端口少,资料也比较多。

5.jpg

这是1302的驱动板,PCB是用以前在飞雪兄哪儿买的。
3.jpg

4.jpg
这是明亮时的数码管时钟
1.jpg

2.jpg
这是设置晚上十点至早上六点数码管亮度为灰暗。
功能:
1、 增加了红外功能,可以用电视的万能遥控器来设置时间。
2、 增加了亮度功能,晚上十点至早上六点为灰暗。
3、 增加了调整时间时,调整部分闪动,十秒无按键操作,自动回到走时界面。
4、 增加了简单的校时功能,减少调整时间的麻烦。
5、 增加了温度功能,使时钟更加实用。

注意事项:
1、 唯一的缺点是秒点部分,亮度灰暗时,秒点不能变暗,不知要怎么搞。显示温度时,秒点原意是要它不亮,但它总是会微微闪亮,后来干脆就让它直接亮了。
2、 温度驱动是直接借用杜洋先生以前程序里的,好像说只能0—60度,北方的朋友要注意这个问题了。
3、 亮度灰暗时,如果用地短接P1.0,数码管会变明亮。准备以后买人体感应模块,来实现有人在时,就变明亮的功能。
4、 没有大尺寸数码管的朋友也别担心,附件里,有一个“小数码管main.c”的文件,直接重命名为main.c替换原来的main.c,打开KEIL,重新编译下载,就可以用在小数码管上了。
5、 校时功能比较简单,前提是先屏蔽校时功能,验证你的时钟每天误差是多少,然后在打开校时功能,把误差写入程序里。水平实在有限,只能做到这样。
6、 PCB板和电路图都是用飞雪兄以前画的,硬件基本都一样(除了增加温度和红外接收部分),电路图也放在附件里了。附件里还有大尺寸DS12C887的程序,功能和这个差不多一样,就是没实现人体感应哪一部分,不知怎的,实现不起来。喜欢的朋友也可以玩玩。

遥控部分:
无意中,发现自己买的学习板的资料里,有一个是红外1602解码程序(附件里有),解出来的码可以用在高手们写的红外程序里。据说是用TC9012的码。
7.jpg

红外解出有四组码,前两组是用户码(86-6B)不用理它。主要看后两组是不是组成正反码的关系。如:01的反码是FE。附件里的1302程序要的就是第三组数码。在程序里填上相应的第三组的代码就可以实现遥控了。
6.jpg

图上的遥控器都能正常解码。小MP3遥控器虽然表面按键的功能不一样,但发出的代码是一样的。没有这种小MP3的遥控器也不要紧,用周街都可以买到的电视万能遥控器也可以,里面也有很多这样的红外代码,很容易找到。至于怎么在万能遥控器切换不同品牌的电视遥控代码,在遥控器的背面有讲,我就不多说了。
反正两个关键:
1、 第三和第四组代码是正反码关系。
2、 按多几次同样的按键,解出来的代码都是一样,就说明这遥控代码可以用。例如:按万能遥控器上的“1”键,多按几次,1602上显示都是同样的代码,就OK了。如果多按几次同样的按键,每次显示都是不同的代码或不显代码,就说明不能用。
   本人也是菜鸟一个,如有什么不对的地方,请大家谅解。有什么错误的地方,请高手指正一下,谢谢!!
aaa.rar (209.01 KB, 下载次数: 452)




评分

参与人数 2一乐金币 +25 收起 理由
devil143 + 5 很给力!
xiaomage + 20 已经成为高手了哦

查看全部评分

发表于 2014-2-26 14:38 | 显示全部楼层
做的好,我也这样一点点的学习的。
发表于 2014-2-26 15:14 | 显示全部楼层
有PCF8563和LM75的子函数要不要啊lm75比18b20便宜多了,而且i2c的可以复用时钟
发表于 2014-2-26 16:52 | 显示全部楼层
很V5啊。。这么大个的。。1602的我也自己山过。
发表于 2014-2-26 18:18 | 显示全部楼层
是不是可以认为你的最后一位常亮,且亮度不可调?是不是扫描显示完最后一位后没有清屏(关闭所有断码或所有位码)?
 楼主| 发表于 2014-2-26 19:10 | 显示全部楼层
384065902 发表于 2014-2-26 15:14
有PCF8563和LM75的子函数要不要啊lm75比18b20便宜多了,而且i2c的可以复用时钟

这两种芯片暂时还没去折腾过。
 楼主| 发表于 2014-2-26 19:15 | 显示全部楼层
ttysheep 发表于 2014-2-26 18:18
是不是可以认为你的最后一位常亮,且亮度不可调?是不是扫描显示完最后一位后没有清屏(关闭所有断码或所有 ...

我的秒点是放在定时器中断里来闪动的,ABCDEFGDP,按理说DP也可以变亮度,但我不知怎么用
发表于 2014-2-27 12:14 | 显示全部楼层
qrk123 发表于 2014-2-26 19:15
我的秒点是放在定时器中断里来闪动的,ABCDEFGDP,按理说DP也可以变亮度,但我不知怎么用

推荐你用rtx51tiny系统,大部分程序一个T0搞定,系统在keil的C51/rtxtiny/exampes/Ex1或Ex2文件夹下。用STC15F芯片12Mhz做250HZ四数码管扫描可以把CPU使用率控制在0.7%以下。。。调节定时乱七八糟的都可以用一个T0解决,适合做大程序,适合做按键扫描。从此告别delay1ms()这种硬延时。
 楼主| 发表于 2014-2-27 19:43 | 显示全部楼层
384065902 发表于 2014-2-27 12:14
推荐你用rtx51tiny系统,大部分程序一个T0搞定,系统在keil的C51/rtxtiny/exampes/Ex1或Ex2文件夹下。用S ...

谢谢你的推荐,我的水平还差得远呢。这个系统在书上看到过,原来躲在KEIL里。暂时还没能力折腾这个,以后会关注的。
发表于 2014-2-27 22:02 | 显示全部楼层
qrk123 发表于 2014-2-27 19:43
谢谢你的推荐,我的水平还差得远呢。这个系统在书上看到过,原来躲在KEIL里。暂时还没能力折腾这个,以后 ...

用系统吧,现在我才用一年。转系统时连1602都不太会,89c52编个硬计时时钟都费劲。结果老师一教发现数码管驱驱起来算数组只要6句(6个分号).........只要不让程序长时间卡在一个无等待的死循环里就行

本版积分规则

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

GMT+8, 2024-5-16 10:51 , Processed in 0.074746 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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