切换到宽版
  • 2193阅读
  • 10回复

[STM]STM8 驱动VFD显示屏 附代码 [复制链接]

上一主题 下一主题
离线z2091981
 

发帖
1555
M币
3508
专家
13
粉丝
63




   一直对VFD很感兴趣,也收集了不少VFD屏,如下图,这是我收集的一部分VFD





    相对于液晶和LED数码管,玩VFD有两大麻烦,一是电源,VFD不仅需要灯丝电源,还需要一个高压电源,20-40V左右,而且除非体积很短的VFD,一般的VFD还要求灯丝采用交流供电,不然会造成一头亮一头暗的问题,另一个麻烦的问题是驱动,VFD无法直接用单片机管脚驱动,需要外加驱动电路,要么是专用芯片,要么是一大堆三极管,这也是相当麻烦的事情,所以VFD玩的人相对较少。
   我手上的VFD除了几个点阵屏是自带升压和驱动芯片以外,其他的屏都需要外加驱动和电源,因此放了有几年时间了,前段时间无意中在网上发现一张VFD的电源图片,又来了兴趣,做了一块电源板试验,如图,淘来的变压器骨架和打样的PCB


    电源板焊接试验,变压器绕了N次,总算是能用了,驱动管我只有13003,焊上发现效率低下,后来又换成P55N06MOS管,但没有贴片的MOS管,只有先立着了。


    这是电源驱动管的波形

    电源搞好之后,在库存货里翻找一阵,终于找到了一块自带驱动芯片的屏板,屏驱动为NUJ3421 百度了一下,竟然找不到现成的驱动程序,只好研究资料自己干了


    看了一下资料,驱动很简单,先发设定字,再发地址,然后发一串显示数据就成了。
   找来一块单片机小板,飞线,开干,单片机是STM8,之所以选这个是因为它可以在线调试,而STC不能,这是主要原因,次要原因就是STC的片子我只有2052AD,空间只有2K,肯定不够用,直接PASS




    期间经历了各种问题,就不一一细说了。焊接电源板调试,加上驱动程序,一共花了两个晚上时间。
经历无数磨难,在第二天晚上终于亮了,心里那个激动!!!



    整理好了驱动程序之后,就是找段码关系了,看了一下VFD屏,发现是9个阳极,15段的屏,先不管这么多,直接设定20个全局显示变量 u16  ds3421-buf[20]; 每一个显示变量对应一个阳极


    下面肉戏来了,在主程序开始时,定义好所有显示变量,然后在主程序里不停刷新显示,在显示子程序前打断点。变量跟踪,如下图,


    点击运行按钮,运行到断点处,显示所有显示变量的数据。IAR就是这点不好,不能在运行时打断点,也不能在运行时检查变量值,必须运行中断以后,才能打新的断点和查看变量值。


    不过这些细节不重要,现在的代码,显示屏显示内容如下。前面几个显示变量全部写成0XFFFF,对应几个阳极字符全亮。






    然后当程序运行到断点时,点击显示变量区,手动修改变量值,将0-8全部写成0XFFFF


   按下F5,显示屏就变成了这样,全亮。
说明正好是9阳极,没毛病


   把所有变量全部改为0,不亮了。
  






   慢慢来,把第二个变量改为一,应该只会亮一个段位,按F5,果然如此





   OK,如法炮制,找出全部段位,这花了我一个上午时间
建立码表,能正常显示数字了






    IAR毛病不少,我发现当人工修改变量值之后,就无法复位单片机了,点复位后没反应,只能继续运行,但断点和其他功能正常。
   另外修改变量值之后,要按ENTER键确认,或者将光标移到别处点击确认,否则看似修改了变量,其实没有输入进去,这个细节折磨了我好半天时间。

   到了这一步,显示屏基本上完成了,剩下的就是内容了,是做时钟,还是温度计什么的,就看心情了,手上有一个气压计模块,一个NTC电阻,全焊上,即能显示气压,也能显示温度了。
找块木板固定住,也练习一下搭棚。







   显示三个数据,一是NTC的温度,二是气压计的温度,三是气压,海拨高度没有显示,因为计算海拨需要用到POW运算,如此一来代码会超过8K,而且海拨受气压影响,并不准确,只有在同一地点同一时刻的高度差会比较准确,所以就取消了。










   发现BMP180气压计自带的温度计不准,室内气温9度,但气压计显示17度,外面正下大雪,找了点雪盖在气压计上,能显示0度,想了想,应该是气压计芯片带电运行,核心温度就是17度左右,看来想把气压计当温度计使用是不行了。
过几天有时间,就把GPS模块焊上,我的想法是GPS模块只要上电,就会一秒钟输出一组数据,以数据流做为秒基准计时,然后GPS信号正常时自动对时,就可以省掉时钟模块了,至于停电会掉时间的问题,有GPS模块,这个问题直接忽略。
最后附上VFD电源电路




程序如下


-----全文完-------




[ 此帖被z2091981在2018-01-05 11:22重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共8条打赏M币+124专家+1
只要有心,无处不是风景
离线cushion

发帖
7768
M币
27670
专家
97
粉丝
1360
只看该作者 1楼 发表于: 01-05
佩服!真正的高手!
连vfd变压器也自己绕的!
有病,要治
离线2545889167

发帖
13123
M币
20564
专家
301
粉丝
4705
只看该作者 2楼 发表于: 01-05
相当厉害啊,高手
离线xueyunmichen

发帖
144
M币
106
专家
1
粉丝
7
只看该作者 3楼 发表于: 01-05
我的四位vfd  wifi时钟 还在画pcb阶段 抓紧
离线snowman007

发帖
23033
M币
623
专家
38
粉丝
122
只看该作者 4楼 发表于: 01-05
高手,佩服佩服
离线adud2

发帖
375
M币
2389
专家
2
粉丝
18
只看该作者 5楼 发表于: 01-05
高手,太羡慕了
有折腾就有创意
在线ztrdiy

发帖
3581
M币
447
专家
3
粉丝
60
只看该作者 6楼 发表于: 01-05
技术好,理论也好!
细致、耐心、创新
https://shop122341725.taobao.com/?spm=a1z10.1-c.0.0.Y66A0Y
离线杨雪飞

发帖
5872
M币
1360
专家
25
粉丝
211
只看该作者 7楼 发表于: 01-05
大神收徒不?在下想拜师学艺
离线mzhboy

发帖
354
M币
786
专家
1
粉丝
15
只看该作者 8楼 发表于: 01-05
哎,就是那个高压不好搞,楼主能否细说一下升压部分
离线qc3172

发帖
126
M币
1046
专家
4
粉丝
12
只看该作者 9楼 发表于: 02-02
感谢分享,现在正在学习stm8