spyder设置显示编码_Excel 数码管编码

4c58ccf2c471c133e6603db82e10bd60.png

背景描述

有过学习电子信息技术的朋友,都经历过8位数码管显示电路的学习,经典的C代码数组里储存了0~9 或者0~F的显示编码值,并且这些值随数码管共阴/共阳的不同而有所不同。但我们在实际设计和开发时,硬件用的是开发板,编码数组用的是产家或者网上的现成内容,很少自己来解释为什么是这个值!

我在学习单片机时,也没避免过数码管的学习,当时用的是面包板,但接线并没有按照a~DP顺序去规范,所以网络上给出的示例编码数组对我不起作用,我得自己给显示值编码。后来接线规范了,我又想实现0~F显示之外的内容,此时还是需要自己解释编码的。

显示原理是知道的,问题是怎样让得到结果的过程更简单容易!

纯粹Excel模拟

3d9fdd25d0eefff58ba48622984a80d2.gif
8数码管显示编码

通过以上的模拟,一旦确认好要要显示的字符样式,我们很容易得到该样式所对应的编码值。很方便很快速,完全自主可控!


成果已经展示了,如果想直接“拿来”,可以到我的QQ群里自取。

但我相信,有更多的朋友可能更好奇这一切的实现过程!

数码管构形

数码管的外形构造其实并不复杂,参考好现实中的数码管,将单元格进行合理的合并操作,并设置好浅灰色的底色就好。

7acec21e9c65fe5bfc84c4d95d16ed27.png
参考实际数码管,用Excel单元格构形

灯光的亮灭控制

数码管构形完成后,我们就需要确定灯管的亮灭形态控制了。虽然在日常话语中,我们可以用“亮/灭”或者“开/关”,甚至是其它一些来输入表示。但是,为了后期简洁归纳和电子设计中的通常做法,我强烈建议用“1”表示灯亮,“0”表示灯灭。

有了默认的浅灰底色,我们再配以单元格条件格式,使其值为“1”时,单元格显示为红色,直观地感受到Led被点亮的那种即视感。

4928693806a74cc62e611130f3b29b9b.png
单元格条件格式设置步骤

在我们确定好“1”&“0”亮灭表示逻辑后,最好再对单元格设定“数据有效性”,使其只能输入“1”或“0”。同时“数据有效性”功能,还能为我们的单元格提供下拉选项框(其操作体验还可以)。

d447d0e81f3bb3f6aac8d8ce0e97f7c0.png
“数据有效性”设置步骤

d1fb822a0679aa8e361af9e235b4305e.gif
“1/0 ”逻辑下的“条件格式”加“数据有效性”效果

IO口对应

数码管的电子设计,先不论共阴共阳的区别,我们首先要做的是,要确定好数码管IO口与单片机芯片IO口的接线关系。这对于买开发板和自己搭建面包板电路的朋友来说,都不用过分关心,只要按照默认规则来就行。因为前者用的是现成的标准电路,很少出问题。后者是自由搭建,很容易更正接线!

但对于洞洞板焊接电路的,则有些不友好了。除非是根本性的接线错误(比如正负接反),我们都希望能通过软件的方式去将就一下,而避免仅仅是I/O对应错误去拆线重焊。这就需要自己解释显示编码了,那对于学习者,我现在所做的这一切将更加有意义!

此时我们确定一个I/O分配表,在表中,我们应明确对应好数码管的I/O口,与芯片I/O口的对应关系。

caf693cab9a5451dc79bd23890d61db8.png
I/O 对应

知道共阳共阴的区别后,我们可以知道,共阴数码的亮灭和MCU I/O通断是对应的,而共阳的则相反。通过这样的关系,我们就很容易用公式来实现这样的MCU I.O输出值表。

402fbde8eed0e5b4e16609dfcd798f0f.png
用公式对应数码管I/O

这样,即使是洞洞板上I/O分配错误了,只要确认好实际对应关系即可。

3f7c10cf4be856698482c59a60fe89f9.png
标准IO对应关系下的值表

6476c9c31a2f958fecef84e505db031e.png
a~d错乱分配后的值表

进制值显示

对于编码的值,首先可以确定的是二进制数,因为它直接反映的是I/O口的高低电平值。我们只要将表值按单片机IO口高低位串接好就行。

进制的转换,在Excel2010版本之后都自带函数,实现起来十分简单。

  • BIN2DEC 将二进制数转换为十进制数
  • BIN2HEX 将二进制数转换为十六进制数
  • BIN2OCT 将二进制数转换为八进制数
  • DEC2BIN 将十进制数转换为二进制数
  • DEC2HEX 将十进制数转换为十六进制数
  • DEC2OCT 将十进制数转换为八进制数
  • HEX2BIN 将十六进制数转换为二进制数
  • HEX2DEC 将十六进制数转换为十进制数
  • HEX2OCT 将十六进制数转换为八进制数

不做过多的解释了,直接参考图示

7acf2623b378cfe5c81a89241cbe9398.png

总结

0e92b61270b69eadfef1b0c4423805bd.png
Excel数码管编码工具

Excel的确是一个强大的工具,灵活运用它,可以给我们的工作带来很大的便捷性。

同时Excel也是一个很好的玩具,用好它,同样可以做出有趣的东西来。


以上实例分享我的QQ群里,按需共享!

QQ交流群: 625157714 (交流&文件共享)

微 博 :Sina Visitor System

(后期QQ群有变动时,会在微博中告知)


THANKS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值