IV-18(ИВ-18)荧光电子数码管,上世纪80-90年代前苏联的产物,冷战时期曾大量制造并用于军事设备;冷战结束后,同其他海量的战争遗留物一起,被埋于地下,或被封存于冰冷的仓库角落。

第一次见到她是在英国的辉光钟爱好者Konstantin的网站上,国内见到应用这个管子的第一人是荆州老段(YeYuDo),第一次见到实物是在2011年年夏天。

同国产YS-13/18以及前苏联的IV-11等不同的是,她一根管内嵌入了8个7段数字,并且每个数字右下角都有小数点,在管子的左侧,还有一个表示负数的短横线,在短横线上面还有一个较大的圆点符号。

原版俄文说明书:



主要参数如下:

下面来两张正面和背面的裸照:


在背面清晰可见灰黑色的消气剂,以及管子型号和生产年月。

IV-18荧光管共有22根管脚,其中有3根管脚无任何连接,实际使用的有19根管脚,管脚定义见下图:

其中三根未使用的管脚进入管子内部以后,没有任何的电气连接,用肉眼即可分辨出来,见下图:

与一般的电子管一样,IV-18荧光管内部是真空,所以也有一个抽气口,但是她的抽气口做过处理,没有锋利的尖尖,而是平头,这样不容易被碰碎导致漏气,请见下图:

IV-18荧光管内部有两条灯丝,两条灯丝并联,贯穿于头尾之间。

灯丝很细,每根灯丝由顶部的一个很细的拉力弹簧来牵引,平行穿越每一个数字面前。

IV-18荧光管最独特的地方在于她的基板,与IV-11/22不同,IV-18的基板是一片透明的玻璃板,用于显示数字比划的每一段,以及连接每一个段的线路,均紧贴在玻璃板上;而每一个数字的栅网非常细腻,嵌在玻璃基板板两侧,浮于数字前端,通过玻璃基板被面的连接线连接到每一个管脚。

我们由此可以看出,整个荧光管的电气特性有点类似于我们当今所使用的LED数码管模块,必须采用动态扫描方式来驱动,因为她的每一个段都是连接在一起的,通过依次给每一个数字位的栅极通电来选择当前显示的位,然后给7段数字线条通电,来显示一个数字,依次快速动态刷新,来完成8个数字的显示。

具体的细节图请见照片:







电路设计方面并不复杂,几乎没有什么技术含量,都是非常简单的典型应用。且本人没有催毛求疵的心态,只求整个电路运行稳定可靠,PCB布局合理,器件尽量的少;整个电路由升压电路、MCU主控、RTC模块、VFD驱动、外围及接口器件这几部分组成。

升压电路部分使用的还是廉价并经典的MC34063做高压升压,外扩了MOS管IRLR024,升压效率大幅提高,而且MC34063、电感、MOS管一点也感觉不到温度;IV-18的推荐工作电压为45v-70v,经过测试发现工作在49v的时候效果最佳。

下面是升压部分的电路原理图:

RTC模块依旧采用了内置温补晶振的DS3231SN高精度时钟芯片,配置CR1220锂电池,能确保断电3年内开机不用重新对时;

DS3231SN就不多介绍了,400k高速IIC接口,在0℃至40℃的工作温度范围内能提供±2ppm的输出精度;

有些朋友总是抨击DS3231SN,说它贵的不值,自己用DS1302都可以做到一年误差几秒钟云云,个人在这里不做评论,只是想说:

同样的RTC芯片,不同的外围电路,工作的状态截然不同;

同样的RTC芯片,同样的外围电路,不同的PCB布线,工作状态截然不同;

同样的RTC芯片,同样的外围电路,同样的PCB布线,不同的工作环境,工作状态截然不同;

本次选用的荧光管驱动芯片选用的是美信的VFD专用驱动芯片MAX6921,它有20个输出端口,恰好满足IV-18荧光管的需求,段和位选输出电压能够高达76V,外围只需几颗电容,无任何其他器件,并且仅需4根通讯线连接MCU进行串口通讯控制。

应用电路见下图:

主控选用的依旧是STC12C5628AD,LQFP32封装,体积比较小,而且内置EEPROM,可以用于存储所有的菜单设置。

DS3231SN的读写程序实在是太经典不过了,把它封装成程序模块,每次在其他项目中直接定义扩展函数就可以了,在这里贴出来源码,使用STC芯片的朋友改一下I/O定义即可。

下面是DS3231.c文件的源码:

/****************************************Copyright (c)**************************************************
**
**  项目名称:           IV-18 VFD Clock
**  文件名称:           DS3231.c
**  模块功能:           实现DS3231SN的全功能控制
**
**------------------------------------------------------------------------------------------------------
**
**  创 建 者:          严泽远
**  E-mail  :           yanzeyuan@163.com
**  QQ      :           6626209
**  Mobile  :           18602007878
**  创建时间:           2011-02-02
**  版    本:         v1.0.0
**  描    述:         基础程序
**
********************************************************************************************************/#include               //加载STC12C5620AD.H头文件
#include                        //加载Define.H头文件
#include//加载DS3231Variable.H头文件/********************************************************************************************************
**  全局常数定义
********************************************************************************************************/
bit ack;                            //应答标志位/********************************************************************************************************
**  函数名称:           BCD2HEX(uchar val)
**  功能描述:           BCD转HEX
**  入口参数:           val:BCD码
**  创 建 者:          严泽远
**  创建时间:           2011-01-25 20:33
**  版    本:         v1.0.0
********************************************************************************************************/
uchar   BCD2HEX(uchar val)
{return ((val>>4)*10)+(val&0x0f);
}/********************************************************************************************************
**  函数名称:           HEX2BCD(uchar val)
**  功能描述:           HEX转BCD
**  入口参数:           val:HAX码
**  创 建 者:          严泽远
**  创建时间:           2011-01-25 20:34
**  版    本:         v1.0.0
********************************************************************************************************/
uchar   HEX2BCD(uchar val)
{return (((val%100)/10)&lt

下面是DS3231Variable.h文件的源码:

/****************************************Copyright (c)**************************************************
**
**  项目名称:           YS18-3 Clock
**  文件名称:           DS3231Variable.h
**  模块功能:           全局变量定义
**
**------------------------------------------------------------------------------------------------------**  创 建 者:          严泽远
**  E-mail  :           yanzeyuan@163.com
**  QQ      :           6626209
**  Mobile  :           18602007878
**  创建时间:           2011-02-02
**  版    本:         v1.0.0
**  描    述:         基础程序
**
********************************************************************************************************//********************************************************************************************************
**  I/O接口定义
********************************************************************************************************/
sbit    SCL         =  P2^7;       //DS3231数据接口
sbit    SDA         =  P2^6;       //DS3231数据接口/********************************************************************************************************
**  DS3231常数定义
********************************************************************************************************/
#define DS3231_WriteAddress 0xD0    //器件写地址
#define DS3231_ReadAddress  0xD1    //器件读地址#define DS3231_SECOND       0x00    //秒
#define DS3231_MINUTE       0x01    //分
#define DS3231_HOUR         0x02    //时
#define DS3231_WEEK         0x03    //星期
#define DS3231_DAY          0x04    //日
#define DS3231_MONTH        0x05    //月
#define DS3231_YEAR         0x06    //年
//闹铃1
#define DS3231_ALARM1SECOND 0x07    //秒
#define DS3231_ALARM1MINUTE 0x08    //分
#define DS3231_ALARM1HOUR   0x09    //时
#define DS3231_ALARM1WEEK   0x0A    //星期/日
//闹铃2
#define DS3231_ALARM2MINUTE 0x0b    //分
#define DS3231_ALARM2HOUR   0x0c    //时
#define DS3231_ALARM2WEEK   0x0d    //星期/日#define DS3231_CONTROL      0x0e    //控制寄存器
#define DS3231_STATUS       0x0f    //状态寄存器
#define BSY                 2       //忙
#define OSF                 7       //振荡器停止标志
#define DS3231_XTAL         0x10    //晶体老化寄存器
#define DS3231_TEMPERATUREH 0x11    //温度寄存器高字节(8位)
#define DS3231_TEMPERATUREL 0x12    //温度寄存器低字节(高2位)

MAX6921的通讯过程与大多数串行数据通讯时序一致,仅需DIN, CLK LOAD三个通讯接口,下面是时序图:

MAX6921一共有20个输出端口,所以串行数据共20bit,即D0-D19,不过在这次的应用中,只需要控制IV-18荧光管的9个栅极和8个阳极,所以一共只需要17个bit数据即可。

根据原理图可以看出,17个bit对应的D9-D16共8bit为动态扫描某一时刻的8个阳极状态,D0-D8共9bit为动态扫描某一时刻的栅极状态,所以仅需要在一个定时器中断里不停的与MAX6921通讯,进行动态扫描即可。

在这里选用了STC12C5628AD的定时器0中断,并将定时器溢出时间配置为10us,共使用8个栅极(未使用IV-18荧光管最左边的符号位),8次扫描为一个周期,每次将相应的栅极和阳极数据传送至MAX6921即可,代码很简单:

i=17;
for(;i>0;i--)
{DIN = Tmp&0x0001; _nop_();CLK = 1;           _nop_();CLK = 0;           _nop_();Tmp>>=1;
}
LOAD    =  1;  _nop_();
LOAD    =  0;  _nop_();

转载至严泽远的博客

IV-18(前苏联ИВ-18)荧光管电子钟【Energy Pillar.能量柱】相关推荐

  1. OD使用教程18 - 调试篇18

    OD使用教程18 - 调试篇18 让编程改变世界 Change the world by program   十八,是一个神奇的数字. 每每提起,总让人心旷神怡. 例如十八精神,例如十八岁的天空,例如 ...

  2. 阅读一定时间后获得实现逻辑_大家都在好奇,18天读18本书的60分钟高效阅读,怎么这么火...

    昨晚激动人心的开营仪式,围绕18天训练营要学什么,做什么才能完成人生目标,走出改变人生的重要一步,镜姐为我们解决了三个问题: 一.作业完不成怎么办? 我们的作业有3个部分: 1.18天18本书建立18 ...

  3. ChemOffice Suite 2018 18.1.2.18

    文章目录 1. 介绍 1.1. 主要功能 1.2. 应用领域 1.3. 优势特征 1.4. 官网 2. 安装步骤 3. 激活说明 4. 使用说明 5. 下载地址 1. 介绍 ChemDraw作为一款强 ...

  4. 《树莓派实战秘籍》——1.18 技巧18在移动中给Pi供电

    本节书摘来异步社区<树莓派实战秘籍>一书中的第1章,第1.18节,作者:[美]Ruth Suehle ,Tom Callaway,更多章节内容可以访问云栖社区"异步社区" ...

  5. HTML 18 HTML5 特性 18.10 HTML5 无障碍

    HTML 文章目录 HTML 18 HTML5 特性 18.10 HTML5 无障碍 18.10.1 什么是无障碍 What is accessibility? 18.10.2 HTML: 为无障碍提 ...

  6. HTML 18 HTML5 特性 18.2 HTML5 浏览器支持

    HTML 文章目录 HTML 18 HTML5 特性 18.2 HTML5 浏览器支持 18.2.1 HTML5 浏览器支持 18.2.2 把 HTML5 元素定义为块级元素 18.2.3 向 HTM ...

  7. 前苏联IV-18荧光数码管时钟开发(ИВ-18)

    开发历程 1. 前言 2. 电路设计 2.1 主控部分 2.2 电源部分 2.3 外设部分 2.4 显示部分 2.5 PCB设计 2.5.1 封装制作 2.5.2 电路绘制 2.5.3 投板+采购 2 ...

  8. 18级计算机应用基础期中考试题,早安正能量 励志新开始---法学与社会学学院18级新生开展早自习活动...

    为响应学校"三度"建设精神,法学与社会学学院从第十周起开设早自习课程.2018级学生大学军事理论课程.专业入门指导课程.计算机应用基础课程.大学写作课程,于第八周正式结束.整体上, ...

  9. React-18(组件化开发) -- 插槽 Context的应用场景 setState(18之前与18的对比)

    React React中的插槽(slot) React对于需要插槽的情况非常灵活,有两种方案可以实现: 组件的children子元素: props属性传递React元素 children实现插槽 每个 ...

  10. 我的创作纪念日(2021.7.18 - 2022.7.18)

    机缘 2022 年 7 月 18 日是我的创作一周年纪念日.一年前的今天,大三年级的我还是一名 IT 小白,也并没有考研的想法,谨防自己在毕业后没有一门拿得出手的专业技术,我开始了前端的学习,偶尔一次 ...

最新文章

  1. 2016年9月c语言真题,2016年9月计算机二级C语言基础试题及答案
  2. 我作为一个程序员,除了写程序还会干什么?什么都不会了!
  3. AVIO内存输入模式
  4. Java并发编程实战_阿里P9整理分享的亿级流量Java高并发与网络编程实战PDF
  5. MFC鼠标OnMouseHover使用
  6. CentOs6.5 更新python2.7,以及tab自动补全
  7. Spring Boot + JPA + Oracle 自增长字段实现示例
  8. ITU-T Technical Paper: 测量QoS的基本网络模型
  9. CCF CSP 201604-1 折点计数
  10. EMOS批量创建用户邮箱
  11. 企业数据采集的10个经典方法
  12. 怎样解决“在禁用UAC时,无法激活此应用”问题
  13. Wireguard 全互联模式(full mesh)权威指南
  14. linux 前台和后台,Linux前台进程与后台进程的区别
  15. Latex去掉proof后面显示的小白框 (\qed)
  16. 根据string查询是否是当月_发票勾选、查询、认证等25问!简直太全了!打印出来贴在桌子上学习!...
  17. 原生js预览ofd文件,JavaScript
  18. com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException UNAVAILABLE io exception
  19. python七段数码管绘制实验报告_Python绘制七段数码管实例代码
  20. 面试:Jetpack相关

热门文章

  1. UltraISO制作U盘系统盘安装CentOS经验分享
  2. HDU 4791 Alice's Print Service
  3. linux安装键盘鼠标失灵,在archlinux安装界面这卡住了,鼠标键盘失灵
  4. 提高DevExpress winform 控件加载速度
  5. 【安全攻防知识-4】CTF之MISC
  6. 《电子元器件的可靠性》——第3章可靠性试验
  7. verilog 四舍五入_IEEE 754 round-to-nearest-even Verilog代码
  8. css 取偶数节点_CSS选择器:奇偶匹配nth-child(even)
  9. 英特尔 back,全新架构 coming
  10. ThreeJs DRACO压缩并加载gltf模型