数码之家

 找回密码
 立即注册
搜索
查看: 7015|回复: 15

[STM] 基于STM32与3264点阵屏的多功能万年历程序

[复制链接]
发表于 2019-2-20 23:11:13 | 显示全部楼层 |阅读模式
本帖最后由 ss302810694 于 2019-2-21 18:59 编辑

学了那么久的单片机了,一直想做一个综合的应用,正好家里缺个看时间的东东,我寻思就做个万年历吧。
设计的功能有:时间显示,日期显示,温度与湿度显示,整点报时,亮度控制,来电提醒
硬件上采用了ds3231+tl5615+am2320+3264点阵屏+w25qxx,主控是stm32f103c8t6
大体思路是am2320与ds3231分别提供温湿度与时间数据,w25qxx储存报时与提醒的音频数据(采用wav的格式),tl5615作为da输出驱动扬声器,3264点阵屏就负责显示。
新人第一次发帖,请各位大佬前辈们轻喷,部分程序来自网络,感谢大家共享的资料,放几张效果图大家看看,温湿度是两秒钟交替显示一次。帖子最后放上程序。还有声音数据是通过另一个板子写到w25qxx的,如果有需要我再放出来


欢迎大家提出自己的建议与想法,也欢迎大家与我一同交流学习,留个邮箱吧:302810694@qq.com
楼下更新制作过程


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 4 +1 家元 +144 收起 理由
dulme + 8 優秀文章
cxw0102 + 20 優秀文章
cushion + 16 謝謝分享
家睦 + 1 + 100

查看全部打赏

发表于 2019-2-20 23:40:31 | 显示全部楼层
制作过程分享一下呗
回复 支持 反对

使用道具 举报

发表于 2019-2-21 01:56:35 | 显示全部楼层
文件没有上传完成,楼主再更新一下。:sad:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-21 13:07:37 | 显示全部楼层
98xpj 发表于 2019-2-21 01:56
文件没有上传完成,楼主再更新一下。

是文件打不开吗,我这边看到的没问题呀,或者你试试这个https://pan.baidu.com/s/1w2OmoEcsa_Z3vPM_JVZHSA
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-21 13:11:30 | 显示全部楼层
cushion 发表于 2019-2-20 23:40
制作过程分享一下呗

等我有空可以更新一波吧:lol:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-21 18:12:01 | 显示全部楼层
硬件部分:
屏幕是在淘宝上30元买的二手的双色32x64的点阵屏,08接口,行选由两片74hc138组成,每行有16个hc595.


电路用洞洞板制作,在洞洞板中部偏右的地方焊上2x8的拍座,右边剩余的地方正好可以放下4个按键,装上后可以从点阵屏的右侧露出,方便使用。


主控采用stm32f103的一个最小系统板
洞洞板的正面有f1,w25qxx(用了个转接板,实验室只有贴片的了),tl5615,功放模块(直接da的声音有点小,所以还是选择加一个功放模块)一个usb母座(供电使用),然后背面放了ds3231,am2320,扬声器。


这里要注意一点,扬声器最好要用大一点的,我原本用了右边的那种,结果声音辣耳朵。。。一度让我怀疑da芯片有问题,换成左侧的就好很多了,另又在输出的地方加了个低通滤波器,效果也会好一点。
整个板子右侧通过拍座,左侧用铁丝固定,使整个班子贴在点阵屏的背后,再用铁丝折一个支架,就可以把整个立起来了。
效果图




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2019-2-21 21:51:13 | 显示全部楼层
安利个字库ic GT20L16S1Y或许对你有用
回复 支持 反对

使用道具 举报

发表于 2019-2-22 17:31:14 | 显示全部楼层


这是我做的,mini3216:lol:
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-2-24 06:38:49 来自手机浏览器 | 显示全部楼层
whjwnavy 发表于 2019-2-22 17:31
这是我做的,mini3216

哇,那你也很棒棒哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-24 10:46:03 | 显示全部楼层
更一下软件部分吧
软件部分个人感觉难点应该有两点:1、点阵屏的驱动。2、报时音乐的实现。
首先是点阵屏的驱动,这个在网上本人找到的资料并不多,所以如果想做到“为所欲为”还是自己写一个比较好。
因为是双色的点阵屏所以我这里划出了两个显存空间一个是绿色,一个是红色,如果两个显存里同一点都是1的话就是橙色。然后我们在定时器里定时刷新全屏数据就可以实现每一帧的显示。操作显存的函数为参数的意思分别是显示位置的x、y坐标,图像的长和宽,图像数据和颜色。
其次是报时音乐的实现,报时我采用了wav格式的威斯敏斯特报时曲,通过读取w25q128中的音乐数据并用da芯片转换为声音信号,这一部分和wav音乐的播放几乎一致,大家可以参照相关资料。而且大家还可以往flash中写入不同数据实现更多功能,flash数据是通过f103zgt6的板子写进去的,因为原来的芯片flash太小了。。。这里附上给flash写数据的程序供大家参考
在时钟主程序的hardware文件夹下还有几个我舍弃的功能,有红外遥控,wifi授时,wifi天气,亮度检测等硬件的驱动,大家也可以尝试使用这些功能,做出更强大的时钟:lol:


就算没人看我也把帖子更完了:biggrin:真开森

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2019-2-27 13:59:53 | 显示全部楼层
ss302810694 发表于 2019-2-24 10:46
更一下软件部分吧
软件部分个人感觉难点应该有两点:1、点阵屏的驱动。2、报时音乐的实现。
首先是点阵屏的 ...

楼主7Z的压缩文件有问题  打不开  正在学习32 谢谢楼主奉献
回复 支持 反对

使用道具 举报

发表于 2019-3-25 15:46:21 | 显示全部楼层
支持楼主,支持原创
回复 支持 反对

使用道具 举报

发表于 2019-3-31 01:20:58 | 显示全部楼层
我最近买的的双色60  3块包邮:smile:
stc 网流行的程序改的 8266校时  8266的程序是从买的led时钟复制的  
回复 支持 反对

使用道具 举报

发表于 2019-7-21 09:32:58 | 显示全部楼层
支持楼主,向你学习
回复 支持 反对

使用道具 举报

发表于 2019-8-5 22:42:35 来自手机浏览器 | 显示全部楼层
喇叭后面一定要隔离成密闭音腔,不然跟前面音短路,声音小的不像话还难听
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-14 04:37 , Processed in 0.280801 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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