
VFD多功能小时钟(C52)
简介
基于89c52的VFD时钟,8-MD-06INKM VFD屏模模块,使用DS3231作为时钟,以及加入编码器以便交互,以实现配合AIDA64的电脑信息显示、时钟日期竖向滚动显示、编码器调整亮度等。
简介:基于89c52的VFD时钟,8-MD-06INKM VFD屏模模块,使用DS3231作为时钟,以及加入编码器以便交互,以实现配合AIDA64的电脑信息显示、时钟日期竖向滚动显示、编码器调整亮度等。开源协议
:GPL 3.0
描述
简述:
软件编写基于keil5完成,VFD也是淘宝购买的某家的模块,省去了电源部分的设计,确实52性能有点捉急了,不过对这玩意儿还是差不多够用吧,代码刚好把基本的搞完了,因为带了编码器,互动功能应该非常丰富,但是时间原因代码先写到这里,之后有时间再写吧,毕竟调时间现在还只能通过串口调整,有点麻烦。源代码为附件中压缩包 .7z
硬件:
这部分应该没有什么可说的,就c51的最小系统加上对应功能的部件,编码器需要0.1uf的滤波电容,但是现在还是没能完全解决它的抖动问题,比较麻。其他主要就是VFD要求高电平3.3V信号控制,所以有个电平转换的过程,因为我这块板子画的c52是5V下工作的,所以加了3.3V的LDO和mos管组成的电平转换,但是也许多此一举了,c52 p0口就是开漏输出的,直接用3.3v上拉就可以了,不需要MOS管,多此一举了:

PCB板图:


软件:
动画的实现使用了类似于framebuffer帧缓冲的方式,在RAM中开辟一块区域,让MCU算完之后再显示出来,但是碍于性能有限和写代码能力也有限,动画速度也就只能这样了。
程序烧录:
整个程序是基于11.0592MHz晶振于6T模式下写的,所以说在SCP-ISP中烧写时请勾选“使能6T模式”:

串口使用了CH340N芯片,烧写的时候打开电源就行了,这个应该不用多说。
功能描述:
整个操作逻辑是基于编码器旋转的,所以说可以旋转编码器来滚动不同的功能页:(现在共三个页面)
Page1:默认情况下,即开机默认时间界面。该界面下,时间和日期会自动滚动显示的;
Page2:AIDA64信息页面,配合AIDA64可以显示电脑的CPU温度、CPU占用、内存占用情况;
Page3:亮度调节页面,该页面下按下编码器进入调整模式,左右滚动即增减,再次按下退出。
AIDA64使用设置:
首先在设置中如下图中所示完成设置:

然后以下图所示的格式,设置不同的显示内容:
每一页中只添加一个显示信息,程序中现在只引入了CPU占用、温度、内存占用的显示,MCU对其结束字符进行判断来识别是何种信息。所以请按照以下格式添加:
Label中S为开头,A、B、C为结尾,代表三种信息,就像下图中所示的“S 7A”这种玩意儿。强调以下每一页只添加一个,用三页!!之后设置没5秒翻页就可以了!!!


时间设置方式:
在串口软件中以如此格式发送信息即可,如:SETH23。
其中必须保持发送的数据都是6Byte长度,如果我想设置3点,则需要写SETH03,在前面补零就可以了,以此类推!
其中第4字节字母代表的意思如下:


一些图片展示:


以下上传了一个视频可以参考一下。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论