楼主是一名业余的单片机爱好者,从开始玩单片机到现在,做过不少的时钟。从最初的纯软件计时,到ds1302时钟芯片再到后来的gps授时都做过。纯软件计时一断电就全归零了,完全没有实用价值;ds1302的好一些,有断电走时,但也存在走时不准的问题;gps授时倒是准了,可是在室内使用信号不好,还要拖一根线到窗台或室外,显得不够简洁。于是把目光转向了美信的高精度时钟芯片ds3231(±2ppm ,年误差1分钟左右)。最近正好有空,就用它做了个实用的时钟。从器件手册上摘抄的ds3231介绍:ds3231 是低成本、高精度 i2c实时时钟 (rtc),具有集成的温补晶体振荡器 (tcxo) 和晶体。该器件包含电池输入端,断开主电源时仍可保持精确的计时。集成晶体振荡器提高了器件的长期精确度。 ds3231采用 16引脚、300mil的 so封装。rtc 保持秒、分、时、星期、日期、月和年信息。少于31 天的月份,将自动调整月末日期,包括闰年补偿。时钟的工作格式可以是 24 小时或带 am/pm 指示的 12 小时格式。提供两个可编程日历闹钟和一路可编程方波输出。地址与数据通过 i2c双向总线串行传输。精密的、经过温度补偿的电压基准和比较器用来监视 vcc状态,检测电源故障、提供复位输出,并在必要时自动切换到备用电源。另外, rst监视引脚可以作为手动按钮输入以产生外部复位信号。特性
0°c 至 +40°c 范围内精度为 ±2ppm
-40°c 至 +85°c 范围内精度为 ±3.5ppm
为连续计时提供备用电池输入
低功耗
实时时钟提供秒、分、时、星期、日期、月、年信息,并提供有效期到 2100
年的闰年补偿
两个日历闹钟
可编程方波输出
快速 (400khz) i2c 接口
3.3v工作电压
数字温度传感器输出:精度为 ±3°c
显示部分使用tm1650驱动4位0.56寸的共阴极数码管。tm1650是天微生产的一款数码管驱动,2线串行驱动,8级亮度调整,并且支持28个按键扫描。只要把要显示的数据写入其中就能正确的显示了,不用再去写动态扫描的函数,硬件连接也更简单。用起来很方便。
mcu的选用:先算了下i/o的占用,i2c 接口2个,tm1650 2个,ds3231的sqw1个(1hz方波用于刷新显示)。这样仅仅用了5个i/o口,配合ds3231的3.3v供电,就选用了手头现成的stc 15l104w单片机。
ic选好后,发现如果用贴片元件的话,和数码管差不多大小的pcb就能放得下。
原理图:
画好的pcb:
热转印制板:
焊接完成:
完成后的样子:
大小控制的不错吧
最终的成品
后记:程序很简单,互联网上有现成的ds3231和tm1650的函数,稍微改一下就能用了。ds3231的sqw口输出1hz方波,单片机在方波的每个下降沿产生中断然后读取ds3231的时间,再发送到tm1650的显示寄存器去刷新数码管的显示就行了。放置了2个按键用来调节时间。所用的单片机没有ad,不好实现自动亮度,只好靠时间去判断,白天亮度高晚上亮度低,用起来也很不错。
ds3231的后备电源原来打算用手机上拆的备份电池,但实际证明不好用,试过断电时间超过2个小时就不能保存时间了。后来焊接了一片1.5v的纽扣电池,断电后可以正常的走时了。由于是自己制板,受单面pcb的限制,布线颇费了一番周折。不过每天看到自己的“作品”正常的工作,还是很有成就感的。
推动AI向终端迈进 骁龙AI芯片延展前沿应用场景
TC-08温度数据记录仪的特性及应用优势
信号调制的工作原理
Docker和容器技术为什么会这么火爆
我们该如何有效预防电气火灾的产生
DS3231+TM1650制作4位0.56寸数码管迷你时钟
英创信息技术WinCE主板与STM32多功能模块通讯介绍
美国国税局是如何对虚拟货币进行定义的
苹果将在今年上半年推出第二代AirPods Pro
Weex如何支撑200w+同时在线的优酷猫晚直播?
领先的智能控车技术提供商——智信通,教你如何远程热车!
基于移动物联网和433Mhz电力行业无线测温解决方案
英飞凌推出全新LED驱动器ICL8201 助力中国照明能效升级
ADI单导联心率监护仪模拟前端,助中卫莱康“心搏士”再上新台阶
如何在区块链上进行安全的数据运行计算
看Qorvo如何“料理”射频上的汽车?
三星将提前推出打压iPhone 12的势头的新一代Galaxy S旗舰手机
魅族16T搭载骁龙855移动平台和LPDDR4X内存,购买享3期免息
电动汽车需求增加,特斯拉的V3超充站技术能否普及
Allegro推出ATS19580节能解决方案简化客户速度传感器的集成