(全部原理图+PCB+源代码):红外遥控温度时钟,带上位机、视频演示,应该算本坛强大电子钟之
今天整了下硬盘,翻出了大一升大二后的一个小制作,那时刚进实验室不久,什么都还没做过,就一个劲地学,后来以网上看到伟纳杯这个比赛,就报了名,当时想着练练手,也顺便当是这四个多月来的学习总结,没想到最后竟意外地得了一等奖,虽然现在知道这个奖的含金量不高,呵呵,不过当时很高兴。现把这个作品的全部资料上传,包括全部原理图、PCB,以及上位机和下位机的源程序,高手请不要拍砖,这个给新手练练手还是挺好的,毕竟做个电子时钟是新手学习路上的一个很好的练手题材。
=============================================================
本时钟配置清单如下:
-------------------------------------------------------------
主控:51单片机,可用AT89S52,也可用STC89C52
显示:12864(ST7920,带字库版本的)
时钟:DS1302,配有一电池,掉电时间不停
温度:DS18B20
红外接收:HS1838
闹铃:有源蜂鸣器
遥控器:32位编码类型的
通信接口:MAX232
客户端软件:VC6.0开发的
=============================================================
当时没有相机,是用问同学借的摄像头拍的,不过还算清楚。
先来两张工作界面图片:
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606625X611K1.jpg
上位机一工作界面 (原文件名:上位机一工作界面.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606626V84EPT.jpg
下位机一工作界面 (原文件名:图片 002.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606627G4QOWX.jpg
主原理图 (原文件名:原理图A.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606628R2T4O0.jpg
副原理图 (原文件名:原理图B.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606629Q2UBWQ.jpg
主PCB图 (原文件名:PCB图A.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606630EEHVZS.jpg
副PCB图 (原文件名:PCB图B.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606632GNHBR6.jpg
做好的热转印板-主PCB (原文件名:图片 009.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606633OMABWC.jpg
做好的热转印板-副PCB (原文件名:图片 015.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606634UDYUE8.jpg
做好的串口模块 (原文件名:图片 062.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606635ZBLEDR.jpg
做好的主模块1 (原文件名:图片 082.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606636I64EY6.jpg
做好的主模块2 (原文件名:图片 088.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606637DUABSW.jpg
当时用的遥控器 (原文件名:图片 106.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606639M6O01G.jpg
菜单:调整时间 (原文件名:图片 008.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606640L0L1W8.jpg
调整时间界面 (原文件名:图片 010.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606641MT60N1.jpg
菜单:报警温度 (原文件名:图片 013.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606642V8CJZQ.jpg
报警温度界面 (原文件名:图片 014.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606643B10QB0.jpg
菜单:设置闹铃 (原文件名:图片 036.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606644V1KIY8.jpg
设置闹铃界面 (原文件名:图片 038.jpg)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606650E25RBW.jpg
串口接线引出口 (原文件名:图片 050.jpg)
上面发了这么多图片,占了阿寞不少硬盘./emotion/em005.gif
现在把原理图和PCB上传上来,有99SE的工程,也有我打印出来的PDF版的:
PDF格式原理图和PCBourdev_606645PNM2Y1.rar(文件大小:176K) (原文件名:PDF格式.rar)
protel99se格式原理图和PCBourdev_606646S977S0.rar(文件大小:208K) (原文件名:protel99se格式.rar)
PCB上传完就该到工程源码上场了,有两个,一个是51的KEIL工程源码,一个是VC6.0的工程源码:
KEIL C51工程源码ourdev_606647DZ13Q0.rar(文件大小:105K) (原文件名:伟纳杯12864(下位机).rar)
VC6.0上位机工程源码ourdev_606648P2WC1A.rar(文件大小:1.90M) (原文件名:wellarVC(上位机).rar)
演示视频不懂怎么弄上来,就有网址而已:
下位机功能演示视频:
http://www.56.com/u23/v_NDQ5MjI0Mjg.html
上位机与下位机通信、工作演示视频A:
http://www.56.com/u28/v_NDQ5MjMzMTM.html
上位机与下位机通信、工作演示视频B:
http://www.56.com/u89/v_NDQ5MjMzNzQ.html
上位机视频播放功能演示:
http://www.56.com/u79/v_NDQ5NDQ4MzY.html
终于发完了:),所有资料都有,应该算是本坛功能最强大的电子时钟之一了吧,还有遥控和上位机,不知道可不可以得个cool。 沙发 大一,不错 回楼上,是大二 大一还在泡MM呢./emotion/em025.gif 赞!! 回复【4楼】r051463438 笨小孩
大一还在泡mm呢./emotion/em025.gif
-----------------------------------------------------------------------
你的头像是在盘旋还是尾旋? 我大一的时候还不晓得在干嘛,lz不错。 没有MM供我泡,唉~ 回复【楼主位】r051463438 笨小孩
----------------------------------------------------------------------- 数码式测量设备DigitalDevice封装类
是lz自己写的?
很给力啊 好东东,mark 收藏学习! 大一就可以做上位机和下位机相关不错的了 XINA那时相当的不错 mark mark 路过,顶。 coooool 牛啊,大一 大家不要这样啦,搞得我都有点不好意思了,是大二,大二……,不是大一,
大一还什么都不会,在泡妞./emotion/em083.gif呢。 回复【10楼】xl7y
-----------------------------------------------------------------------
数码式测量设备DigitalDevice封装类不是我写的,我只是会用而已 mark 牛啊!! mark mark mark 不错了 我是进来膜拜的 试一下再评论 羡慕楼主有妞可泡 mark 大二就到了这程度很不错。 mark 回复【31楼】huwenhui
羡慕楼主有妞可泡
-----------------------------------------------------------------------
你多做点电子小制作送她估计也可以有妞泡啦。./emotion/em164.gif
实在不行,你就下我这个的PCB,直接拿去做板,完了把程序烧进去,也可以送人的。 mark 大二,太厉害了~~怎么我上学时,感觉这些东西都还没开始学呢,,,,
不过我想知道你的原理画的很漂亮呀,还是彩色的,什么画的 回复【37楼】zhuyi25762
大二,太厉害了~~怎么我上学时,感觉这些东西都还没开始学呢,,,,
不过我想知道你的原理画的很漂亮呀,还是彩色的,什么画的
-----------------------------------------------------------------------
是用protel 99se画的,和平时画元件库差不多,只是要多花点心思和时间。 如果想用的话,下载这个PCB,有protel 99se格式的,导出加到你的元件库中 mark 楼主能联系下我么? 我的 QQ: 1106693754 久闻安哥大名,已加QQ 大二能这样不得了啊!上位机界面是设置还是同步显示?还有中间wmplayer只是播放闹铃声音用的吧? 真有你的,给MM送“钟” mark 回复【44楼】ds444
真有你的,给mm送“钟”
-----------------------------------------------------------------------
./emotion/em020.gif
./emotion/em020.gif 回复【44楼】ds444
真有你的,给mm送“钟”
-----------------------------------------------------------------------
回复【46楼】chmh8981
回复【44楼】ds444
真有你的,给mm送“钟”
-----------------------------------------------------------------------
./emotion/em020.gif
./emotion/em020.gif
-----------------------------------------------------------------------
./emotion/em119.gif./emotion/em119.gif./emotion/em119.gif这玩笑开大了!!呵呵。
不过,送什么都不是最重要的,重要的是看送的人怎么说了,人的心理是很奇妙的,爱讲的也就是一种心里感觉,
你没见现在送棺材的还一大堆呢,“升官发财”嘛./emotion/em025.gif 太给力了,学了四个月就能这样了,哎,惭愧呀!! mark 想当年大一的时候,连单片机是什么都不知道呢 MARK 伟纳表示压力很大 好强大!! 你进实验室前是什么基础?不可能这么快就掌握了这么多东西,真不可思议。介绍点学习方法啊? 感觉不错!很适合新手学习! 上位机程序做得不错。 大二,不错 不错,mark mark 请问楼主,摇控器用其他的型号可以吗?如何解码? 测试了.屏不显示... 回复【62楼】b60885262
测试了.屏不显示...
-----------------------------------------------------------------------
呵呵,你再好好看看,这个已经有一些网友仿制成功的了,请看看主办方那里我的作品贴子,绝对是可以显示的。
主办方那我这作品的网址:http://www.willar.com/forum/forum_view.asp?forum_id=27&view_id=26323
很晚了,实验室要关门了,各位拜拜 mark 回复【35楼】r051463438 笨小孩
回复【31楼】huwenhui
羡慕楼主有妞可泡
-----------------------------------------------------------------------
你多做点电子小制作送她估计也可以有妞泡啦。./emotion/em164.gif
实在不行,你就下我这个的pcb,直接拿去做板,完了把程序烧进去,也可以送人的。
-----------------------------------------------------------------------
没听过能送钟的!!弄个鲜花什么的哄mm还差不多呢。 太给力!不错! 回复【53楼】cpumaker
伟纳表示压力很大
-----------------------------------------------------------------------
哥们认识伟纳公司??
回复【55楼】freestylehll
你进实验室前是什么基础?不可能这么快就掌握了这么多东西,真不可思议。介绍点学习方法啊?
-----------------------------------------------------------------------
进实验室前,已经上过C语言课程,模拟电路,编程方面最主要是大一完后,参加了学校的一个为期两个月的暑假电子培训班(免费./emotion/em020.gif),那时已经会用protel99了,同时基本的51编程已学会。进实验室时就有这些基础,所以应该算是一般般的学习水平,不能算是好方法学的,就不介绍了。
回复【65楼】sunnyhook
没听过能送钟的!!弄个鲜花什么的哄mm还差不多呢。
-----------------------------------------------------------------------
别的专业的我不知道,本专业的,送这个会觉得有才,不信,问我那位./emotion/em053.gif
这里是技术论坛嘛,大家以后不要讨论这个送MM什么的了,换点别的,不然都有点搞坏阿寞这里的交流气氛了。 很不错的东西,看看学学 楼主很强大哦!!!我现在也大二。也学了点东东。。。但是我想往硬件发展,就不像楼主这样全面拉。神马上位机这些,都是我另外个同学搞搞,我还是搞我的硬件。。
确实很佩服楼主诶~~~ http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607094EFWFYI.jpg
(原文件名:未命名.jpg)
回复【63楼】r051463438 笨小孩
回复【62楼】b60885262
测试了.屏不显示...
-----------------------------------------------------------------------
呵呵,你再好好看看,这个已经有一些网友仿制成功的了,请看看主办方那里我的作品贴子,绝对是可以显示的。
主办方那我这作品的网址:http://www.willar.com/forum/forum_view.asp?forum_id=27&view_id=26323
很晚了,实验室要关门了,各位拜拜
-----------------------------------------------------------------------
查了几遍硬件,没错啊.就是不显示,没辙了.还是弄个不带遥控的好了. mark 果然很强大 回复【39楼】r051463438 笨小孩
-----------------------------------------------------------------------
可否共享一下你的自己的库呀,很喜欢 mark 回复【70楼】b60885262
回复【63楼】r051463438 笨小孩
回复【62楼】b60885262
测试了.屏不显示...
-----------------------------------------------------------------------
呵呵,你再好好看看,这个已经有一些网友仿制成功的了,请看看主办方那里我的作品贴子,绝对是可以显示的。
主办方那我这作品的网址:http:/......
-----------------------------------------------------------------------
测试了一下,字体改动了,可以显示。就是遥控功能不能使用,换了N个遥控器都没有反应。
<center>http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607141W6VCQL.JPG
(原文件名:DSC09197.JPG) 回复【70楼】b60885262
查了几遍硬件,没错啊.就是不显示,没辙了.还是弄个不带遥控的好了.
-----------------------------------------------------------------------
不错,你做出来这个也很好,还带农历显示呢,真不错。
如果你再讲究一些检查方法的话,可能你会学到更多,因为排错也是以后工作的一种技能嘛,相信从中,你也会学到更多。
首先,你别就光查硬件,要由现象去分析,从你发的图可看到你11月30号做出过一个了,那说明你的屏是可以正常工作的,你应该有能力确定硬件没问题,在查了几遍硬件后,还是不行,我觉得你应该去查一下程序了;
然后,你把程序烧进去后,你的屏都没有显示,这应该很明显,屏初始化肯定没成功!!你看看屏的控制管脚对没,数据口对没,这些都对了之后,再看看12864屏的初始化函数。实在不行,你不想看我的那个12864的初始化函数对不对,你可以加入一个你的12864屏模块,然后,首先调用你的12864屏初始化函数,然后就用一个死循环停住,不执行后面的程序,只查12864屏初始化函数,这样就能看到是不是我的屏初始化函数有问题了,你说是吧;
最后还是不行的话,你加我QQ:1292136790,我帮你搞定。 回复【75楼】hzxin
测试了一下,字体改动了,可以显示。就是遥控功能不能使用,换了n个遥控器都没有反应。
-----------------------------------------------------------------------
呵呵,恭喜75楼坛友仿制成功,你换的字体比我原来的好看多了!!
至于你说的遥控器没反应,请问没反应到什么程序??请具体说说。你打开上位机连接上下位机,再按下遥控器看看,如果是能正常解码的遥控器的话,你按下的那个按键的红外编码值会发送到上位机上,并在上位机上显示出来的,这样,你就连编码值都知道了。 回复【76楼】r051463438 笨小孩
-----------------------------------------------------------------------
请问楼主,测试了你提供的程序,可以显示,效果图在【75楼】,使用了多个遥控器,就是遥控功能没有反应,如何处理,望指教。谢谢! 回复【78楼】hzxin
-----------------------------------------------------------------------
你没看到我给你回的贴吧,在上面 回复【77楼】r051463438 笨小孩
-----------------------------------------------------------------------
打开上位机连接上下位机,按下遥控器,上位机没有显示,连续按遥控器后,上位机弹出报错信息,然后退出程序。 那估计你这个遥控器不是32位那种编码格式的,我原来那里面的红外解码程序解不出来,不过这种编码格式的遥控器挺多的啊,你换个再试试。 回复【79楼】r051463438 笨小孩
-----------------------------------------------------------------------
抱歉,回复后才看到。
上个上位机的出错图。
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607151K2WM1V.jpg
(原文件名:Snap1.jpg) 你这个有点奇怪,怎么你连上了上位机后,上位机上的时间日期温度都没有更新啊??
正常的现象应该是:
连上上位机后,后有时间温度的更新,而红外编码应该是还没有的,因为,还没有按下遥控器嘛,然后,按下遥控器上某个键,如果能正确解码的话,那么,相应的编码值会更新在右下角这个红外码值区。 为了测试,我也打开了上位机,下面是我连接通信后的显示图:
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607154S4THZE.jpg
(原文件名:未命名1.jpg)
而接下来这一张则是我按下了遥控器上的一个按键后的更新图:
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607155BU06MH.jpg
(原文件名:未命名2.jpg) 刚打开的时候是没有显示的,时间那一栏显示的好象是电脑时间。
那些信息应该是之前操作过后,可能是存在电脑里的,重新打开上位机就出现这种情况。 回复【84楼】r051463438 笨小孩
-----------------------------------------------------------------------
我也详细看过你的视频,但是我仿制以后,遥控功能就是不能使用,不知何故。 哦,你晶振用的是多少的??我看到你的图上收到的红外编码是不对的,竟然的汉字出来了!!!
千万别和我的原理图上那个一样,我原先是没打算做有上位机的,所以,一开始时我用的是12M的晶振,后来,做加上了上位机,然后晶振就换成了11.0592M的了,因为这样波特率才准,但是原理图上忘了改回来了。
你连接上后没有更新时间等一些常规信息,应该你的波特率不对,再加上你的红外编码收到的竟然是汉字,更加确定波特率不对了。
在这也给各位坛友说一声不好意思,因为太久了,晶振这个事我都忘了。 hzxin不在了?
那我回去了,后天就要开始期末考试了,明天要复习,你自己先弄弄,还不行的话到时有空了再帮你看。 我用的是12M的晶振的,也可能是这个原因吧,待换个晶振后再测试。有什么不明的再向楼主请教,再此再次谢谢楼主。 回复【88楼】r051463438 笨小孩
hzxin不在了?
那我回去了,后天就要开始期末考试了,明天要复习,你自己先弄弄,还不行的话到时有空了再帮你看。
-----------------------------------------------------------------------
预祝楼主考出好成绩。 mark 很不错。mark mark... mark 大二就那么酷 mark 厉害。 mark 回复【89楼】hzxin
我用的是12m的晶振的,也可能是这个原因吧,待换个晶振后再测试。有什么不明的再向楼主请教,再此再次谢谢楼主。
-----------------------------------------------------------------------
考完了,就一门嵌入式:)
hzxin换晶振测试了吗?结果怎么样,可以了没有?还有问题请发到论坛上,可以给大家参考参考。测试好了也请发到论坛上给大家看一下效果哦。 这也该置酷了吧!!! 回复【99楼】r051463438 笨小孩
-----------------------------------------------------------------------
换了晶振以后可以连接,但遥控还是不能用,按下遥控的电源键后时间显示会停止,按其他键后可恢复显示。
另外,原来按下遥控会出错的原因是将红外接收头输出接在P3^1口,现改为P3^2口就不会出错。
上图:
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607542F1E1J0.jpg
(原文件名:Snap2.jpg)