案例:在最后一位静态输出一个0,其他不显示。
电路分析:
首先,在控制芯片74hc138这里,位选信号这里要控制led1的输出为0,其他的led2-led8为1,这样表示选择了8位数码管中的最低位接受芯片74hc573控制。
要实现上面的控制,就要让P22P23P24这3个信号输入全部为0。
关于段选信号,rp16是p0口的上拉电阻,因为它是漏极开路的,否则u2无法进行高低电平的输入。
P00-P07会发送段选数据,8个信号,分别控制一个数码管的8个段(不是8个数码管),这8个段的明暗关系构成了数码管的显示数据。
在这个例子里,要显示0,意味着除了g和dp两根led不能点亮,其他都要点亮,那么相应的信号输入如上图:a-f为1,g和dp为0,而这8个信号与输入的P00-P07直接对应。
p0的输入数据应该是(00111111)转换成16进制数就是0x3f
编程代码如下: