这款电子钟,不仅仅是一个普通电子钟,因为它包含了一种特殊的感情,更准确的说是基情,四射啊!本人就读于一个普通的一本大学,学的是电气工程及其自动化专业,临近毕业了,想给我的好伙伴们做点什么东西,留作纪念。四年时光匆匆而过,正好也可以用它来见证我们终将逝去的青春以及前行在曲折人生路上的不屈背影。
功能说明:显示时间日期,温度,公历节日(可自己添加,非节日的时候显示时段,比如:白天、中午之类的)、农历、闹钟、分项设置,配合上位机实现一键时间日期设置,在线显示电脑运行状况(CPU使用率和内存使用情况),在上位机显示环境温度等。
本设计主要分为三个部分:
时钟的硬件部分、时钟的软件部分、上位机的设计。
一、硬件部分设计
1、主要是这么几个芯片:stc12c560s2+18b20+ds1302+12864G-086-PC(COG工艺 超薄啊,带GB2312字库,串口,可调对比度,显示起来挺清晰的)。从这看上去,这绝对是一个简单+经济的设计。
stc12c560s2:STC号称51宇宙第一啊,还有什么世界超级独一无二的加密技术,我就暂且相信了吧。看这价钱,4快多的,功能够,也就支持一下国产吧。
18b20:用烂了一个片子,始终感觉计算出的温度要比实际高2~3度,没事,我又不是做温度计的
ds1302:饱受其害啊,由于32768晶振没有买到高质量的,误差有点大(绝对是国产中的山寨品啊)。下回用内置晶振的芯片。
2、原理图:
QQ图片20140218140819.jpg (77.3 KB, 下载次数: 0)
下载附件
2014-2-18 15:04 上传
开发环境是VC++6.0+MFC,先上一下效果图,然后讲一下开发
第一页是显示CPU情况的,由于CDC画图的操作我还没弄明白,所以这个是从别人那COPY的,CPU使用率由于计算方法的原因,会和任务管理器有出入。
第二页比较简单,下面的进度条用了一个类,大家打开源码就会看见叫SwingProgressCtrl,很亮丽有木有,而且随着使用情况的变化,进度条的背景颜 {MOD}会变化。
第三页串口通信部分计划使用的是CSerialPort类,但是最后发现只能发送一次数据然后不没反应了,多次百度+调试无果,于是放弃了而去采用调用Moxa的pcomm.dll完成设计,Moxa主要生产工业串口通信设备,所以他们的串口通信组件还是值得信赖的,功能也很丰富。其中有个回调函数,在我的应用中始终有问题,于是在1S定时器中sio_iqueue()查询缓冲区的数据量(实时性不高的应用),如果是8的话就sio_read()出来(我的报文固定是8个字节),注意sio_read()后从缓冲区读出的数据,在缓冲区内不再存在。网上说还可以开一个线程不断sio_iqueue(),我倒是没试过。温度显示原先准备用一个数码管显示的空间显示出来,但是数据不知道怎么回事没法更新(估计和消息没处理好有关系),暂时放弃了。
最后本上位机还有托盘,可能是由于开发环境的原因,托盘的气泡没有弄出来,只弄出来了基本功能和标题。本人没有系统学过VC,基本都是东拼西凑+模仿,唉
上位机图片上有我的QQ,有需要交流的伙伴们可以来找我,欢迎大家回帖讨论
下面是各种附件
Smartie_Pcb&原理图.rar
(618.09 KB, 下载次数: 59)
2014-2-18 15:04 上传
点击文件名下载附件
下位机程序.rar
(188.57 KB, 下载次数: 69)
2014-2-18 15:04 上传
点击文件名下载附件
上位机程序-Smartie.rar
(202.6 KB, 下载次数: 67)
2014-2-18 15:05 上传
点击文件名下载附件
Pcomm串口通信库.rar
(383.66 KB, 下载次数: 63)
2014-2-18 15:06 上传
点击文件名下载附件
液晶资料.rar
(1.83 MB, 下载次数: 99)
2014-2-18 15:06 上传
点击文件名下载附件
最新12864LCD菜单程序.rar
(7.9 KB, 下载次数: 77)
2014-2-18 15:06 上传
点击文件名下载附件
一周热门 更多>