如何计算数码管段码
我们在使用数码管的时候,不可避免地要用到数码管的段码,没有段码那么我们就不能正确的显示数字。
所以我们要计算数码管的段码,数码管分为共阴数码管和共阳数码管,它们的段码都是不一样的。
不过计算方法都是差不多的,而且共阴数码管和共阳数码管的段码可以相互转换。
将其中的一个段码按位求反就可以得到另一个段码了。
操作方法
- 01
首先我们要明白数码管的显示原理 我们常用的是8段数码管,我们可以看到数码管有8条线,外加一个点 其实每条线和那个点都是一个led灯 显示原理就是点亮相应的led 一般我们的数码管排序如下图,当然不排除一些特殊情况,不一样的排法,所以我们得知道方法
- 02
比如我们要显示数字3,如下图的红色部分 共阳数码管,红色部分就为0,黑色部分为1 共阴数码管则正好相反,红色部分为1,黑色部分为0
- 03
依据上面的规则,我们先把a b c d e f g dp写在草稿纸上,不过我们得倒着写 也就是 dp g f e d c b a,一般高位在dp,低位在a,比如单片机的P2口 P2.7对应的是dp,P2.0对应的是a 然后在跟据我们上面画的图,在相应位置写1或0就行了
- 04
上面的是二进制的数,在汇编中我们可以直接输入二进制数 但是在c语言中我们可能需要将其转换为16进制 我们把8位二进制化为两部分,低位和高位 我们均使用分别在上面写上8 4 2 1码,将为1的部分的权值相加就可以了 比如这里高位的权值为4其余为0,那高位就是4 低位劝慰1,也就是8+4+2+1=15,对应16进制f
- 05
实在不会的,我们也可以使用windows自带的计算器进行转换 这里点击程序员
- 06
我们点击BIN,发现BIN已经变粗,代表已经处在二进制输入状态 我们输入1011 0000,发现自动转换为16进制了