单片机的数码管的倥制

xiaoxiao2024-05-06  27

今天总算是看到了一点单片机实在的东西了,经过今天的学习,我知道了单片机数码管的简单控制,总体说来,还是挺简单的,只是不知道的时候觉得难,真正的去学习的时候,又变得简单起来。 单片机数码管的原理大概是这样的,分别对一个字节进行编码,暂且将其叫a,b,c,d,e,f,g,h,当她们取不同的值时,将会得到不同的显示,那为什么是八位呢,因为在计算机里8位刚好是一个字节,这样就使其变的合理起来,可以把一个字节的数据送到某个寄存器里面,然后再送给数码管,得到相应的显示。编码如下: ---------------------------------------------------- 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d , 0 1 2 3 4 5 0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c , 6 7 8 9 A B 0x39 , 0x5e , 0x79 , 0x71 , 0x00 C D E F 无显示 ------------------------------------------------------ 为了节约资源,又引入了2个锁存器(74HC573),这样就可以使用少的单片机引脚达到完全控制数码管的目的。为什么会选择锁存器呢,,其实,我模电学的太菜了,里面的原理还不明白,以后有空的话,会去看看补充一下。 再说说锁存器的功能,就是锁存器有一个控制位,当她的高位电位不同,会有不同的效果,当是高电平的时候,导通,当是低电平的时候,就断开了,并且保持右边的电位状态。所以利用这一功能,就可以达到控制数码管的目的。 因此,可以如下示例程序:效果是点亮2个数码管,显示0 #include<reg52.h>sbit wela=P2^7;sbit dula=P2^6;void main(){ wela=0; P0=0xc0; wela=1; dula=0; P0=0x06; dula=1;}
转载请注明原文地址: https://www.6miu.com/read-5015191.html

最新回复(0)