上图就是扩展板上的电路原理图,扩展板上一共有三个数码管,他们都属于共阴极数码管。数码管的输入端为a、b、c、d、e、f、g和DP,其中DP为小数点的控制端。所谓共阴极就是指输入高电平时相应的位置亮,共阳极与之相反。下图为数码管输入端对应位置:
由此可以推出数码管不同的输入对应显示的形状:
数字0应该是A、B、C、D、E、F亮,对应输入00111111,十六进制为0x3f
数字1应该是B、C亮,对应输入00000110,十六进制为0x06
同理:
数字2对应十六进制0x5b
数字3对应十六进制0x4f
数字4对应十六进制0x66
数字5对应十六进制0x6d
数字6对应十六进制0x7d
数字7对应十六进制0x07
数字8对应十六进制0x7f
数字9对应十六进制0x6f
有些题目要求我们显示十六进制,所以还要显示A、b、C、d、E、F来表示某些十六进制数
A对应十六进制0x77
b对应十六进制0x7c
C对应十六进制0x39
d对应十六进制0x5e
E对应十六进制0x79
F对应十六进制0x71
数码管全灭对应十六进制为0x00
PS.以上全是不带小数点对应的十六进制数,若要显示小数点只需把DP对应的那一位置1即可。
管脚说明:
1.SCK:上升沿时数据寄存器的数据移位,下降沿移位寄存器数据不变。即只有在SCK上升沿的时候把移位寄存器中的数据移动一位,此时SER的电平被移进移位寄存器的最低位。
2.RCK:上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。
3.SER:每输入一位数据,串行输入时钟 SCK 上升沿有效一次,直到八位数据输入完毕。
因此我们要想显示一个数字,首先需要把该数字对应的二进制一位一位的移进移位寄存器,也就是SER输出一次然后再让SCK产生一次上升沿,最后在所有位移动完成后让RCK产生一次上升沿,使移位寄存器中的数据进入数据寄存器,然后SN74LS595N就能输出我们先要的电平,使数码管显示想要显示的数字。