标题: 8位数码管加一位5x7点阵车用GPS时钟,仍然MCU反并联直驱 [打印本页]

作者: digger63    时间: 2015-8-25 00:49
标题: 8位数码管加一位5x7点阵车用GPS时钟,仍然MCU反并联直驱
本帖最后由 digger63 于 2015-8-26 22:14 编辑

接上个帖子:5x7小点阵时钟,使用了反并联技术 - 单片机DIY制作 单片机论坛http://www.51hei.com/bbs/dpj-33940-1.html
由于感觉5x7点阵做数字显示的辨识度不高(因为每位数字只使用3x5像素),果断将前3位5x7点阵换成8位数码管,保留最后一位5x7点阵做中文星期显示之用。

其中1--4位固定显示时分,5--8位循环显示秒、月日、温度、电压,最后的5x7点阵固定显示星期。
视频:http://player.youku.com/player.php/sid/XMTMxOTUyNzgwMA==/v.swf
背面仍然用漆包线焊接,并回避了上下排的连接(即漆包线仅需左右连接相应管脚):

重点的MCU反并联直驱技术:
MCU直驱一位5x7点阵最少需使用12个IO管脚,5行+7列。再加上8位数码管和几只LED的驱动由于使用了反并联技术只需再增加1个IO管脚,呵呵一共13个IO管脚搞定。
为便于理解先不考虑漆包线上下排的连接问题,看一下连接逻辑图:

先看右边橙色5x7点阵部分,1、2、3、4、5号线是5根行线,6、7、8、9、10、11、12是7根列线。再看红色数码管部分:6、7、8、9、10、11、12、13号线作为8根位线,其中6--12号线与5x7点阵的7根列线复用。
1、2、3、4、5号线固定作为数码管的前5个段线,也与5x7点阵的5根行线复用。另外3个段线从本位不用的6--13位线选取。
最右边3个是作为符号使用的LED灯,接成共阴。
验证一下,假设要让 第一位数码管显示字符“8”,需6号线高电平,1、2、3、4、5、8、9号线低电平。此时其它数码管或x7点阵都不具备点亮的条件。所以没有冲突。其它情况大家可自行验证。
实际连线图,用漆包线将相同数字的管脚连接到一起。可以看到有很多线需穿过上下排。如果做板的话无所谓,漆包线连接就比较紊乱,需要优化一下。

优化后的连接逻辑图

优化后的实际连线图,可以看到漆包线无需穿过上下排了。
MCU选用SOP28的STC-15F2K60S2,直接趴在5x7点阵的管脚上。

MCU管脚与5x7点阵管脚的对应关系图。接下来就是程序了,好在刚搞过GPS的U盾时钟(U盾GPS万年历兼谈STC EEPROM的使用 - 51单片机 单片机论坛
http://www.51hei.com/bbs/dpj-36379-1.html),数码管驱动部分还是用杜洋的逐段(点)驱动,温度测量部分真正实现了18b20的寄生电源模式。
云盘地址:http://pan.baidu.com/s/1sjqoIoX

作者: wxgzf    时间: 2015-8-25 13:24
实用,好-----------------------
作者: digger63    时间: 2015-9-1 10:32
本帖最后由 digger63 于 2015-9-1 23:15 编辑

加个视频:http://player.youku.com/player.php/sid/XMTMxODEyODU2MA==/v.swf

串口助手发码测试各部位显示的。





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1