数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 24629|回复: 90

[C51] 用DS3231做一个四位2.3寸数码管时钟(开源)

    [复制链接]
发表于 2019-3-21 18:05:33 | 显示全部楼层 |阅读模式
事情的起因是这样的:过年时走亲戚,亲戚家客厅里挂了个4位的白光LED时钟,尺寸大约是3寸左右。老婆说还挺好看的,亲戚说是从TB上400多块钱买的。

回家的路上又说起来,我说这个我也能做啊,老婆说你别吹牛,我看你整天弄的那些都难看死了,稍好看点的又那么小,看都看不清。
被鄙视的感觉真不爽,说决定开工自己做一个。

正好以前有个网友送了片做失败的PCB给我,上面有4片2.3寸的数码管。因为这种数码管的每一段是3串的LED,网友直接用5V来驱动所以点不亮,只有把电压提高到5.4V左右才能勉强看清,电压再高了MCU会挂掉,看起来直驱是不可能的了
找来2片ULN2003,搭了片试验板。位驱动加了4只PNP的三极管,使用12V的电压



简单调试了下,就能点亮了,看着效果还不错


因为做的这是个是准备正常使用的,要充分考虑实用性。4位的数码管就不要温度、日期、农历啥的了,只是显示个准确的时间就行。
时钟芯片就用号称一年误差2分钟的DS3231,精度家用足够,就不用什么GPS、SNTP对时了。最关键的是要实现自动亮度,不然大晚上成了小夜灯就尴尬了
再次用51开发板搭建实验电路,使用A/D转换把光敏电阻感应到的亮度信号来控制数码管的明暗,单片机支持10位的AD,但在这里只用到8位就足够,正好一个字节操作起来也方便。把亮度信号分成10级,对应LED的十级亮度

最左边的1是亮度级别,后面三位是AD的当前值,理论最暗值是255,最亮值是0;





搞定后抄起AD来做图



自己做着玩还是用热转印吧,速度快还能省点钱。
发挥还是一如既往的稳定


愉快的焊接完成后,PP都没来及拍一张,准备联机调试。怎么也不行,悲剧的发现把单片机的原理图弄错了,本来是VCC的脚现在成了I/O,GND啥的完全都TM错掉了
尝试飞线吧,换了DIP的芯片,用了2个多小时才弄完,终于能成功的下载程序了。
可是怎么也点不亮数码管,又浪费了一个多小时才找到问题所在,是因为图省事把ULN2003的上拉电阻省掉惹出来的,强推模式终于点亮。
又发现DS3231的读写也不正常,还是发现是上拉电阻的问题。时钟终于能正常的走动了。又TM发现问题,显示1和8时的亮度明显的不一样,不管了,点根烟准备睡觉,此时已经凌晨2点多了,。


第二天单位值班,事不多重新画吧。把省掉的上拉电阻统统加上,单片机的原理图改好,再次转印、腐蚀、打孔




点亮后发现亮度不均匀的问题再次出现,怎么也找不到问题所在,每段都有限流电阻,电流也不太,硬件应该没有问题吧。
试着祭出前些日子入手的逻辑分板仪来抓下波形

头一次用也看不太懂,但是看起来位驱动的波形也没有问题啊。


躺在床上睡不着,百思不得骑姐啊。
突然福至心灵,想到是三极管的封装问题,把E和C弄错了。连忙爬起来,果然是这样子,亮度不均是CE颠倒后电流不足造成的。再次飞线后终于搞定了。
顺便试了下强推模式可以完全省掉上拉电阻,就把那难看的排阻拆了下来。把程序调试好,终于实现了所有预计的功能。


可是生活就是一个悲剧接另一个悲剧,按键又不管用了,反复测试是IO挂了,可能是12V的鳄鱼夹误碰了也说不定,只好又一次飞线。完全OK


手头没有这么大的茶色亚克力板,只好用一片透明的贴了一层车膜用来滤光增加可读性,双面胶固定




一些细节



三极管的飞线用胶带遮挡一下。PCB涂上一层松香酒精防腐败


投入使用


DIY了这么多东东,这么些年,唯一一次得到了老婆大人的肯定。



本帖子中包含更多资源

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

x

打赏

参与人数 15家元 +246 收起 理由
不长叶子的树 + 15
家睦 + 80
dongxueqi520 + 10
温力口 + 14 谢谢分享。。。。大婶厉害,在下佩服。。。.
yanxue11 + 10 和我一样,pcb喜欢用直角,不喜欢用45°的.
zhkrid + 10 以資鼓勵
qrut + 20 優秀文章
hfsp + 16 優秀文章
cjft + 3 優秀文章
stdzlqz + 20 優秀文章

查看全部打赏

本帖被以下淘专辑推荐:

 楼主| 发表于 2019-3-21 18:12:11 | 显示全部楼层
PCB和源程序有需要可以发站短或QQ给我,都是烂大街坛友们玩剩的,就不上传了
3/25 上传了PCB和C程序
链接: https://pan.baidu.com/s/1cQmOG3L9d5SSj3X4yef7KQ 提取码: et6p

PS:
BUG没有修改,SW1要改到P4.4,4只三极管要反转CE,上拉电阻可以省掉




坛友升级:https://www.mydigit.cn/forum.php?mod=viewthread&tid=77684

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-3-22 11:20:38 | 显示全部楼层
ds3231的精度官方说是+-2ppm,也就是365天*24小时*3600秒*+-2/1000000=+-63秒
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 09:30:07 | 显示全部楼层
blywq 发表于 2019-3-24 19:52
本人小白,希望能得到您的图纸和源代码,照着您这个试一个,谢谢!

不胜感激! ...

已开源,请自行下载
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 15:15:51 | 显示全部楼层
慕名而来 发表于 2019-3-25 14:12
我调时间的时候都是调快一分钟,而后等待到差一两秒时确认进入走时状态。确实挺麻烦的,但大不了一分钟内 ...

本程序设计为切换到秒状态,等到标准时间为00秒的时侯按一下按键秒数归零
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 15:19:02 | 显示全部楼层
kindzhon 发表于 2019-3-22 17:08
用tm1638是不是更简单?调光既然有时间了,晚上自动变暗就好了,st15f104就行了吧。换成esp8266更好。 ...

业余DIY就是手里有什么就用什么,至于调光,上次做过根据时间调整,有兄弟说还是用光敏电阻适应性更强就用上了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-4 10:27:16 | 显示全部楼层
aqxgm 发表于 2019-3-21 18:12
PCB和源程序有需要可以发站短或QQ给我,都是烂大街坛友们玩剩的,就不上传了
3/25 上传了PCB和C程序
链接:  ...

链接: https://pan.baidu.com/s/1n25vPfvHLvq78hcoQzCvkA 提取码: scgr
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-4 10:27:44 | 显示全部楼层

已在楼下更新
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-9 16:50:42 | 显示全部楼层
554032808 发表于 2019-5-9 11:52
请问楼主,用的是共阴数码管吗?

共阳的数码管
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-6-25 19:19 , Processed in 0.249601 second(s), 15 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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