手把手教你用Arduino点亮HPDL-1414
目录
起因和写在前面的一些废话
datasheet的分析
1.引脚图
2.推荐工作电压
3.字符集(各个图形对应的二进制数据)
4.真值表
代码的编写
显示效果
起因和写在前面的一些废话
这个比我还老的四段式ASCii字符显示器不知道啥时候在咸鱼上火起来了,我发现后立即对其产生了兴趣,看起来超有复古情怀的有木有?手痒难耐,思考再三还是剁手了,连datasheet都没查……十分内疚……以后还是先查datasheet再剁手好了……
![](/assets/blank.gif)
到手后发现……这玩意……也太小了吧……不过反正这个古董也就5块钱一片,我买的时候亏了一点,想买黑色版本的,结果卖家说没货了,就发了5.5软妹币的版本,多发了一块……555……
本人是个不爱学习的菜鸡,所以所有单片机中玩的比较熟的就只有Arduino了,在金钱的驱动力下不得不找办法把这货点亮了(只有剁手才有可能刺激我学习),还好,这玩意其实不难点亮。
datasheet的分析
抱着试一试的态度,我找了一下datasheet,竟然意外的好找2333,下面的图片节选自datasheet,如有版权问题,请联系我删除,谢谢。
这个datasheet是HPDL 1414和HPDL 2416的,所以很多内容是关于HPDL 2416的,我们并不用去了解它
1.引脚图
![](/assets/blank.gif)
这张图说明了各个引脚的功能以及怎样确定1号引脚,后面的引脚其实按照常用的逆时针顺序就可以确定了,表中1号引脚是D5,12号引脚是D6,印刷的不太清楚了,具体各个引脚的作用后面再告诉你。
2.推荐工作电压
爽啦,就是常用的USB的5V供电,Arduino正好带这个引脚可以给它供电。
3.字符集(各个图形对应的二进制数据)
![](/assets/blank.gif)
想必你刚看到这张表的时候有些头大,不过对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()部分的注释连接起来,接上电源就能显示内容啦。
![](/assets/blank.gif)
你会在酷安看到这篇文章
https://www.coolapk.com/feed/19960250?shareKey=YjcyYWZlNmZhY2EwNWVmZmNmZmM~&shareUid=2554518&shareFrom=com.coolapk.market_10.3.1
,也是我上传的,除此以外没有上传其它平台了。
手把手教你用Arduino点亮HPDL-1414相关推荐
- 开源!手把手教你搭建Arduino+英伟达Jetson的ROS小车(上)
1 引言 今年6月,我们应小伙伴儿的需求,写了两篇如何通过购买零件从零搭建一台ROS实体车的推文<开源!手把手教你搭建Arduino+树莓派的ROS小车(上)>.<开源!手把手教你搭 ...
- 手把手教你用Arduino接入阿里云物联网平台,ESP8266连接阿里云物联网平台必看教程...
使用Ardui no 的方式快速连接阿里云物联网平台. 文中提到的 AliyunIoTSDK 这个 Arduino 库,可以在 Arduino 库商店里搜索到(搜索 AliyunIoTSDK) Ali ...
- 手把手教你用Arduino MEGA 2560+AS608指纹模块+舵机实现指纹锁,超详细,不要错过哦!
相信很多小伙伴都想制作一个属于自己的指纹锁吧,看完这一篇博文就够了 (一)材料准备 主要材料: 其它材料: (二)库文件.软件下载 (三)指纹的录入 指纹与TTL转接口接线: 用软件录入指纹 (四)模 ...
- 年终将至,手把手教你做一份亮眼的年终总结报告
不知不觉,2020年就剩下不到一个月的时间,这最后一个月里,你即将查收支付宝年度账单,网易云年度歌单,淘宝年度购物总结......当然,随之而来的还有你的年终总结deadline 在疫情的笼罩下,今年 ...
- 手把手教你看懂并理解Arduino PID控制库——调参改变
2019独角兽企业重金招聘Python工程师标准>>> 引子 本文将分析<手把手教你看懂并理解Arduino PID控制库>中第三个问题:PID控制参数突变对系统的影响. ...
- 手把手教你DIY最便宜的 arduino 温湿度计,详细图文视频教程
冬天人们经常关注家里的温湿度,南方没有暖气更关注温度,北方因为天气干燥,有暖气,所以更关注湿度.下边介绍一个非常简单,并且便宜的电子温湿度计制作方法. 材料 DHT11温湿度传感器(约3元) 数码管模 ...
- arduino温湿度计库文件_手把手教你DIY最便宜的 arduino 温湿度计,详细图文视频教程...
原标题:手把手教你DIY最便宜的 arduino 温湿度计,详细图文视频教程 冬天人们经常关注家里的温湿度,南方没有暖气更关注温度,北方因为天气干燥,有暖气,所以更关注湿度.下边介绍一个非常简单,并且 ...
- 手把手教你智能硬件开发(四) 蓝牙传输
第4节 蓝牙传输 智能硬件基本上都需要和手机相连,然后让手机控制这些硬件的工作.相连的方式不外乎以下三种, 数据线有线连接,通过一根数据线把智能硬件和手机连接起来.采用这种方式,需要一个特殊的带USB ...
- python在财务中的应用-【手把手教你】Python金融财务分析
微信公众号: 1. 货币时间价值 实际上numpy和scipy很强大,包含了计算各种财务指标的函数,可以直接调用,终值(fv).现值(pv).净现值(npv).每期支付金额(pmt).内部收益率(ir ...
最新文章
- 物联网安全Wi-Fi漫游
- 专题 10 时钟与信号
- JSP动作标签useBean--jsp:useBean 创建一个对象
- Topcoder SRM 630div 2
- STM32之SPI原理
- JQuery基本获取值的方式
- JS_console对象中的一些常用方法
- 【Java Saves!】Session 2:我的意图
- 微信飞机小游戏java_Shoot Plane 仿微信打飞机游戏的java实现
- 搭建Mybatis源码环境
- Android启动过程中背景图片显示
- The Open Group正式发布《The Open Group IT4IT参考架构版本 2.1》
- JavaWeb之AjaxJSON
- Android APP 增量更新demo
- [技术干货] zabbix docker安装详细教程
- c语言游泳是怎么钓鱼的,不会游泳的钓友进来看 自制饵料钓鲤鱼
- 页面从后台接口获取数据流显示照片
- 专访架构师周爱民:谈企业软件架构设计[转]
- C/C++内存申请和释放(一)
- OCR:OCR识别如何处理字体大小不一致的问题