目录

起因和写在前面的一些废话

datasheet的分析

1.引脚图

2.推荐工作电压

3.字符集(各个图形对应的二进制数据)

4.真值表

代码的编写

显示效果


  • 起因和写在前面的一些废话

这个比我还老的四段式ASCii字符显示器不知道啥时候在咸鱼上火起来了,我发现后立即对其产生了兴趣,看起来超有复古情怀的有木有?手痒难耐,思考再三还是剁手了,连datasheet都没查……十分内疚……以后还是先查datasheet再剁手好了……

就是这个玩意,看看面包板的洞洞就知道它有多小

到手后发现……这玩意……也太小了吧……不过反正这个古董也就5块钱一片,我买的时候亏了一点,想买黑色版本的,结果卖家说没货了,就发了5.5软妹币的版本,多发了一块……555……

本人是个不爱学习的菜鸡,所以所有单片机中玩的比较熟的就只有Arduino了,在金钱的驱动力下不得不找办法把这货点亮了(只有剁手才有可能刺激我学习),还好,这玩意其实不难点亮。

  • datasheet的分析

抱着试一试的态度,我找了一下datasheet,竟然意外的好找2333,下面的图片节选自datasheet,如有版权问题,请联系我删除,谢谢。

这个datasheet是HPDL 1414和HPDL 2416的,所以很多内容是关于HPDL 2416的,我们并不用去了解它

1.引脚图

1号引脚是D5,12号引脚是D6,印刷的不太清楚了

这张图说明了各个引脚的功能以及怎样确定1号引脚,后面的引脚其实按照常用的逆时针顺序就可以确定了,表中1号引脚是D5,12号引脚是D6,印刷的不太清楚了,具体各个引脚的作用后面再告诉你。

2.推荐工作电压

爽啦,就是常用的USB的5V供电,Arduino正好带这个引脚可以给它供电。

3.字符集(各个图形对应的二进制数据)

一共能显示64种字符哦

想必你刚看到这张表的时候有些头大,不过对ASCii熟悉的大佬们大概已经看出来了,这就是ASCii的后7个bits啊!这么说,你肯定不会觉得它难了吧?

我们也能通过这张图知道D0~D6管脚是用来确定每一段的米字显示的字符的。

4.真值表

这张表就很清楚地说明了D0~D6对应的就是ASCii表(我当时还没发现,还准备一位位地摆弄Arduino的引脚的……)

另外可以看出A0、A1是用来确定控制哪一段数码管的,例如{A0,A1}=0时就是将D0~D6对应的字符显示到右边开始第一段,这样我们就能通过改变A0、A1的值选择四个段了。

这个显示器是自带锁存器的(看这个真值表也可能是触发器?)WR信号可以看作触发器的时钟信号,只有WR为低电位时被A0、A1选中的段才会改变,否则显示之前的字符,这样就可以同时控制多个HPDL 1414了,A0、A1、D0~D6都可以复用只要单独控制WR即可。

  • 代码的编写

说明了各个引脚的作用,我们就可以使用Arduino控制HPDL 1414各个引脚的电平来显示字符啦。

void dispchar(int add,char data){    //add即是A0,A1,用来控制字符显示的位置,data即是D0~D6,用来控制对应位显示的字符switch (add) {                   //字符显示的位置case 0:digitalWrite(10, 0);digitalWrite(11, 0);break;case 1:digitalWrite(10, 1);digitalWrite(11, 0);break;case 2:digitalWrite(10, 0);digitalWrite(11, 1);break;case 3:digitalWrite(10, 1);digitalWrite(11, 1);break;default:digitalWrite(10, 0);digitalWrite(11, 0);break;}digitalWrite(2, (data>>0) & 1);    //获取char的各个bit,即ASCii的后7个bits,将其分配至各自的引脚digitalWrite(3, (data>>1) & 1);digitalWrite(4, (data>>2) & 1);digitalWrite(5, (data>>3) & 1);digitalWrite(6, (data>>4) & 1);digitalWrite(7, (data>>5) & 1);digitalWrite(8, (data>>6) & 1);digitalWrite(9,0);                  //拉低WR引脚,改变状态delay(1);                           //holdtime,使得触发器能够正确的采样各个引脚的电平(并不用这么久,实际只用200ns)digitalWrite(9,1);                  //拉高WR引脚,防止已经成功保存的状态再次改变
}void setup() {pinMode(2,OUTPUT);   //D0 8 HPDL_1414的管脚功能 HPDL_1414的管脚编号pinMode(3,OUTPUT);  //D1 9pinMode(4,OUTPUT);    //D2 10pinMode(5,OUTPUT);   //D3 11pinMode(6,OUTPUT);   //D4 2pinMode(7,OUTPUT);    //D5 1pinMode(8,OUTPUT);    //D6 12pinMode(9,OUTPUT);   //WR 3pinMode(10,OUTPUT);   //A0 5pinMode(11,OUTPUT);   //A1 4
}void loop() {dispchar(3,'H');    //写入你需要让它显示的字符和位置即可,这里显示的是“HPDL”,大约一秒后显示“1414”dispchar(2,'P');dispchar(1,'D');dispchar(0,'L');delay(1000);dispchar(3,'1');dispchar(2,'4');dispchar(1,'1');dispchar(0,'4');delay(1000);
}
  • 显示效果

把它和你的Arduino按setup()部分的注释连接起来,接上电源就能显示内容啦。

gif压缩了,实际上虽然小,但是显示的还是很清楚的

你会在酷安看到这篇文章

https://www.coolapk.com/feed/19960250?shareKey=YjcyYWZlNmZhY2EwNWVmZmNmZmM~&shareUid=2554518&shareFrom=com.coolapk.market_10.3.1

,也是我上传的,除此以外没有上传其它平台了。

手把手教你用Arduino点亮HPDL-1414相关推荐

  1. 开源!手把手教你搭建Arduino+英伟达Jetson的ROS小车(上)

    1 引言 今年6月,我们应小伙伴儿的需求,写了两篇如何通过购买零件从零搭建一台ROS实体车的推文<开源!手把手教你搭建Arduino+树莓派的ROS小车(上)>.<开源!手把手教你搭 ...

  2. 手把手教你用Arduino接入阿里云物联网平台,ESP8266连接阿里云物联网平台必看教程...

    使用Ardui no 的方式快速连接阿里云物联网平台. 文中提到的 AliyunIoTSDK 这个 Arduino 库,可以在 Arduino 库商店里搜索到(搜索 AliyunIoTSDK) Ali ...

  3. 手把手教你用Arduino MEGA 2560+AS608指纹模块+舵机实现指纹锁,超详细,不要错过哦!

    相信很多小伙伴都想制作一个属于自己的指纹锁吧,看完这一篇博文就够了 (一)材料准备 主要材料: 其它材料: (二)库文件.软件下载 (三)指纹的录入 指纹与TTL转接口接线: 用软件录入指纹 (四)模 ...

  4. 年终将至,手把手教你做一份亮眼的年终总结报告

    不知不觉,2020年就剩下不到一个月的时间,这最后一个月里,你即将查收支付宝年度账单,网易云年度歌单,淘宝年度购物总结......当然,随之而来的还有你的年终总结deadline 在疫情的笼罩下,今年 ...

  5. 手把手教你看懂并理解Arduino PID控制库——调参改变

    2019独角兽企业重金招聘Python工程师标准>>> 引子 本文将分析<手把手教你看懂并理解Arduino PID控制库>中第三个问题:PID控制参数突变对系统的影响. ...

  6. 手把手教你DIY最便宜的 arduino 温湿度计,详细图文视频教程

    冬天人们经常关注家里的温湿度,南方没有暖气更关注温度,北方因为天气干燥,有暖气,所以更关注湿度.下边介绍一个非常简单,并且便宜的电子温湿度计制作方法. 材料 DHT11温湿度传感器(约3元) 数码管模 ...

  7. arduino温湿度计库文件_手把手教你DIY最便宜的 arduino 温湿度计,详细图文视频教程...

    原标题:手把手教你DIY最便宜的 arduino 温湿度计,详细图文视频教程 冬天人们经常关注家里的温湿度,南方没有暖气更关注温度,北方因为天气干燥,有暖气,所以更关注湿度.下边介绍一个非常简单,并且 ...

  8. 手把手教你智能硬件开发(四) 蓝牙传输

    第4节 蓝牙传输 智能硬件基本上都需要和手机相连,然后让手机控制这些硬件的工作.相连的方式不外乎以下三种, 数据线有线连接,通过一根数据线把智能硬件和手机连接起来.采用这种方式,需要一个特殊的带USB ...

  9. python在财务中的应用-【手把手教你】Python金融财务分析

    微信公众号: 1. 货币时间价值 实际上numpy和scipy很强大,包含了计算各种财务指标的函数,可以直接调用,终值(fv).现值(pv).净现值(npv).每期支付金额(pmt).内部收益率(ir ...

最新文章

  1. 物联网安全Wi-Fi漫游
  2. 专题 10 时钟与信号
  3. JSP动作标签useBean--jsp:useBean 创建一个对象
  4. Topcoder SRM 630div 2
  5. STM32之SPI原理
  6. JQuery基本获取值的方式
  7. JS_console对象中的一些常用方法
  8. 【Java Saves!】Session 2:我的意图
  9. 微信飞机小游戏java_Shoot Plane 仿微信打飞机游戏的java实现
  10. 搭建Mybatis源码环境
  11. Android启动过程中背景图片显示
  12. The Open Group正式发布《The Open Group IT4IT参考架构版本 2.1》
  13. JavaWeb之AjaxJSON
  14. Android APP 增量更新demo
  15. [技术干货] zabbix docker安装详细教程
  16. c语言游泳是怎么钓鱼的,不会游泳的钓友进来看 自制饵料钓鲤鱼
  17. 页面从后台接口获取数据流显示照片
  18. 专访架构师周爱民:谈企业软件架构设计[转]
  19. C/C++内存申请和释放(一)
  20. OCR:OCR识别如何处理字体大小不一致的问题

热门文章

  1. IntelliJ IDEA如何直接打开运行Java文件(idea如何直接运行Java程序)
  2. html渐变设置颜色比例,css3 渐变两个颜色 各占百分之五十怎么设置
  3. js解析复杂json对象
  4. 这三个是头发杀手,遇到了该怎么办?
  5. 普通人开抖音小店挣钱吗?2023最受欢迎副业,有需求的小白看过来
  6. mcrypt加密解密
  7. 网站打开速度慢?影响网站打开速度的因素有哪些?
  8. javascript URL实现简易书签
  9. MyBatis的特点
  10. MySQL列举常见的关系型数据库和非关系型都有那些?