[Zero]TC8_Zero 精简桌面大表的初号机

Photobucket
元件清单:

材料清单 数量 备注
洞洞板有效孔数(30*9) 1片 电路基板
STC12C5616AD-DIP28 1片 主芯片,可用STC12C系列其它带推挽输出以及内部振荡器的28脚单片机代替,文中所需的功能合计使用驱动数码管12+时钟芯片通讯3+串口2,合计17个IO口)
0.56寸88:88共阳数码管 1个 显示模块
DS1302-DIP8 1片 时钟IC
32.768K晶振 1只 时钟IC的时钟源, 6pF为宜
A型USB公头 1只 供电及通讯接口
CR3032及电池座 1副 时钟芯片备用电源


像正式版的TC8,其实并不是脑袋一拍就冒出来的,做板子之前,总是需要用洞洞板进行验证。于是,就有了“初號機”这样的概念,其实来源于《EVA》。高达里面其实也有很多初号机的概念,看似最原始,却拥有最强大的力量以及无线的潜能。来介绍一下TC8_Zero吧。

其实,初号机验证的内容,第一个就是单片机直驱数码管的问题。

传统中的单片机教学中,由于传统Atmel 8051芯片的IO驱动能力有限,都需要在阴极采用74系列的锁存器,并在阳极连接三极管来提供驱动电流。而我采用STC12C系列单片机IO口的推挽功能,以及其在准IO模式可接受20mA灌电流的特性,就能取代锁存器以及三极管。由于芯片的优势,附属的插件已经可以省去很多。

Photobucket

连上去以后,用推挽确实可以点亮,但是如果软件编程的方法和传统一样(诸位扫描)的话,就会出现上述效果。点亮是不错。但是毕竟输出电流的能力有限,当要同时驱动单个“位”内多段数码管显示,就会出现亮度不一致的情况。点亮“1”只需要点亮2段,而点亮“8”就需要7段全部点亮了。总电流倒是差不多,但是因为直流数量的不同,所以支路电流也有所不同,于是就出现亮度不一致的情况。甚至还能发现,左边的“1”,比右边的“1”还亮,这就是因为冒号中上面那个点,同样是从第3位取电流来。第3位要比第1位多驱动一个点,所以亮度就更弱一些。而冒号下面那个点,是通过第4位的阳极驱动的,因为已经是点亮“8”了,所以多一点少一点差异倒也没有那么明显,理论上确实是有差别的。

这样的显示是很诡异的,算法上就进行改进。把“诸位扫描”改为“逐段扫描”,一段一段地去点亮、熄灭,完成全屏显示,保持每段点亮的时长相同,亮度自然就能实现均匀的亮度显示了。

Photobucket

感觉好很多吧~
如果曝光时间更长一点的话,就可以出现“2102”这张图的效果,感觉和《24》的片头的感觉很像~
Photobucket
TC8_Zero要验证的第二项内容,就是无外部晶振的串口通讯。

传统概念中,串口通讯一定要有外部时钟,因为内部R/C振荡器,温飘、精度都很差。试了一下,就发现还好。一方面,传输的数据,只有年月日时分秒,数据量很少。另一方面,不要要求那么高的波特率的话,还是可以吃得消的。再者说,串口通讯本身就允许一定的偏差。所以,TC8_Zero最早实现了“无键化”。

虽然没有使用贴片元件,借助强大的布线,其实TC8_Zero虽然没有实现无边框,但至少元件也都藏起来了。有兴趣的朋友,可以根据布线图,自己施工看看。

编程方面的技巧,除了数码管的逐段扫描,还要求实现一个IO口的因地制宜地使用,不要去强求一定要一个完整的P0或P1口才能布线。至于和DS1302的使用,应该已经玩得很熟练了,这是最便宜而且最常见的时钟之一了。

至于TC8的改进之处,多亏Xuping的帮助,一方面全部改用了贴片元件,占地更小,另一方面,升级成更加高级的DS3231,走时精度高了不是一点两点,而且还集成了串口通讯的芯片,不需要另外的串口模块就能实现通讯。而且连现在硕大的CR2032电池也被更加精致的电池取代。至于水银开关,其实就是感觉时钟芯片光显示时间的话,有点浪费,还是整一个日期会好一些。:)

Photobucket

Photobucket

点击看大图:
Photobucket

想制作的朋友,有问题欢迎留言哦~

关于aGuegu

向着更高的逼格
此条目发表在初號機 | Zero分类目录,贴了, , , , , , , , , 标签。将固定链接加入收藏夹。
  • sdl301

    能发份程序给我吗 我是单片机初学者 一直想做个电子钟 但自己不会设计程序 看到你的电子钟很有现代感和时尚感 让人耳目一新

  • 谢亚华

    小伙子,肯定很聪明,很想多学学

  • sdl301

    能发份hex给我吗 我是单片机初学者 一直想做个电子钟 但自己不会设计程序 看到你的电子钟很有现代感和时尚感 让人耳目一新 sdl301@yeah.net

    • 很遗憾的是,源代码现在不会公开;而光给你hex的话,由于电路接线的不一致,八成也不适用吧。

  • Pingback: [Arduino|Zero]让Arduino亮起来,作个调试助手吧~ | Agu's Mill 阿古作坊()

  • 叫我澄子

    这个真好看,能不能提供一份资料,不喜欢买成品PCB套件,想用洞洞板焊一个送人

    • 单片机+时钟芯片+数码管,这个还需要什么资料,很简单么…… 如何串口校时,可以参考:http://aguegu.net/?p=1618

      • 叫我澄子

        我是金融系的哪会呀,一直喜欢工科专业,平时只会用用烙铁仿着人家的成品焊啦,提供一份hex把,我照着焊,能用起来就行

        • 发到您邮箱咯,Good luck~

  • 傅祥文

    那个,,怎么吧这洞洞板切这么整齐呢?
    我一直都是用钢锯,但是总和狗啃过似的。。。