本文主要是介绍spyder设置显示编码_Excel 数码管编码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景描述
有过学习电子信息技术的朋友,都经历过8位数码管显示电路的学习,经典的C代码数组里储存了0~9 或者0~F的显示编码值,并且这些值随数码管共阴/共阳的不同而有所不同。但我们在实际设计和开发时,硬件用的是开发板,编码数组用的是产家或者网上的现成内容,很少自己来解释为什么是这个值!
我在学习单片机时,也没避免过数码管的学习,当时用的是面包板,但接线并没有按照a~DP顺序去规范,所以网络上给出的示例编码数组对我不起作用,我得自己给显示值编码。后来接线规范了,我又想实现0~F显示之外的内容,此时还是需要自己解释编码的。
显示原理是知道的,问题是怎样让得到结果的过程更简单容易!
纯粹Excel模拟
通过以上的模拟,一旦确认好要要显示的字符样式,我们很容易得到该样式所对应的编码值。很方便很快速,完全自主可控!
成果已经展示了,如果想直接“拿来”,可以到我的QQ群里自取。
但我相信,有更多的朋友可能更好奇这一切的实现过程!
数码管构形
数码管的外形构造其实并不复杂,参考好现实中的数码管,将单元格进行合理的合并操作,并设置好浅灰色的底色就好。
灯光的亮灭控制
数码管构形完成后,我们就需要确定灯管的亮灭形态控制了。虽然在日常话语中,我们可以用“亮/灭”或者“开/关”,甚至是其它一些来输入表示。但是,为了后期简洁归纳和电子设计中的通常做法,我强烈建议用“1”表示灯亮,“0”表示灯灭。
有了默认的浅灰底色,我们再配以单元格条件格式,使其值为“1”时,单元格显示为红色,直观地感受到Led被点亮的那种即视感。
在我们确定好“1”&“0”亮灭表示逻辑后,最好再对单元格设定“数据有效性”,使其只能输入“1”或“0”。同时“数据有效性”功能,还能为我们的单元格提供下拉选项框(其操作体验还可以)。
IO口对应
数码管的电子设计,先不论共阴共阳的区别,我们首先要做的是,要确定好数码管IO口与单片机芯片IO口的接线关系。这对于买开发板和自己搭建面包板电路的朋友来说,都不用过分关心,只要按照默认规则来就行。因为前者用的是现成的标准电路,很少出问题。后者是自由搭建,很容易更正接线!
但对于洞洞板焊接电路的,则有些不友好了。除非是根本性的接线错误(比如正负接反),我们都希望能通过软件的方式去将就一下,而避免仅仅是I/O对应错误去拆线重焊。这就需要自己解释显示编码了,那对于学习者,我现在所做的这一切将更加有意义!
此时我们确定一个I/O分配表,在表中,我们应明确对应好数码管的I/O口,与芯片I/O口的对应关系。
知道共阳共阴的区别后,我们可以知道,共阴数码的亮灭和MCU I/O通断是对应的,而共阳的则相反。通过这样的关系,我们就很容易用公式来实现这样的MCU I.O输出值表。
这样,即使是洞洞板上I/O分配错误了,只要确认好实际对应关系即可。
进制值显示
对于编码的值,首先可以确定的是二进制数,因为它直接反映的是I/O口的高低电平值。我们只要将表值按单片机IO口高低位串接好就行。
进制的转换,在Excel2010版本之后都自带函数,实现起来十分简单。
- BIN2DEC 将二进制数转换为十进制数
- BIN2HEX 将二进制数转换为十六进制数
- BIN2OCT 将二进制数转换为八进制数
- DEC2BIN 将十进制数转换为二进制数
- DEC2HEX 将十进制数转换为十六进制数
- DEC2OCT 将十进制数转换为八进制数
- HEX2BIN 将十六进制数转换为二进制数
- HEX2DEC 将十六进制数转换为十进制数
- HEX2OCT 将十六进制数转换为八进制数
不做过多的解释了,直接参考图示
总结
Excel的确是一个强大的工具,灵活运用它,可以给我们的工作带来很大的便捷性。
同时Excel也是一个很好的玩具,用好它,同样可以做出有趣的东西来。
以上实例分享我的QQ群里,按需共享!
QQ交流群: 625157714 (交流&文件共享)
微 博 :Sina Visitor System
(后期QQ群有变动时,会在微博中告知)
THANKS
这篇关于spyder设置显示编码_Excel 数码管编码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!