用AT89C52单片机控制数码管从0显示到9,在编程序的时候,段选输入了0X3f.0x06.0x5b.0x4f.0x66.0x6b.0x7b.0x07.0x7f.0x6f,请问这些十六进制是怎么得出来的?讲得尽可能详细一点!
7段数码管其实是八段,有时小数点没有使用,所以常说7段,
显示原理是这样的
数码管首先从上到右,到下到左,到中间,最后到小数点分别标记为a b c d e f g dp八段其中小数点位DP为最高位,a段为最低位,要想显示什么字符只需要使对应的段发光即可,一般的习惯是单片机的端口的最低位接a段,次低位接b段,...最高位(如p0.7)接dp,显示码从高往低表示为为 dp g f e d c b a
如要显示“1”,只需要将b、c段点亮即可,若是共阴极,片选是低电平选中,某一段输出高电平点亮,即显示码为00000110 即0x06,其他的依照该方法类推
你给的码表为共阴极的。
共阳极的恰巧相反!
数码管的示意图如下图所示