74hc573能够驱动几位共阴数码管取决于你使用几片74hc573,如果用两片,一片锁存段码,一片锁存位码,就可以驱动8位数码管。在讲解74hc573驱动数码管问题之前我们要清楚,什么是74hc573及什么是数码管?
数码管
数码管是一种半导体发光器件,其基本单元是发光二极管,文章用到的是2位连体共阴数码管。这种数码管有8根段码引脚和2根位码引脚,段码决定了显示的是什么字符,位码决定了哪位数码管被点亮。对于共阴数码管来讲,位码引脚为低电平时,相应的数码管被点亮。
74hc573锁存器
74hc573是拥有八路输出的透明锁存器,输出为三态门,是一种高性能硅栅cmos器件。具有8个数据输入端、8个数据输出端和3个控制端。1脚(oe)为输出使能端,11脚(le)为锁存使能端。锁存器的工作原理:当oe为高时,输出为高阻态,即锁存器不能正常工作。当oe为低且le为高时,输出q将随输入d而变,此时锁存器工作在直通模式下。当oe为低且le为低时,输出q将不随输入d而变,此时锁存器工作在锁存模式下,输出q保持上一时刻数值不变。
74hc573可以驱动几位共阴数码管?
理论上说只要你74hc573使用得够多,就能驱动更多的数码管,下面来分享74hc573驱动数码管的应用电路及程序分享
74hc573驱动2位数码管
在程序开头部分先定义1个数组,数组元素为数码管的段码:uchar+code+table[]={0x3f,0x06,0x5b,0x4f,0x66%,0x6d,0x7d,0x07,0x7f,0x6f}关键代码及注释如下。
数据拆分和显示函数
该函数在具体实现时,不停地先送显个位数,然后送显十位数,即采用了数码管动态扫描法。扫描间隔不宜太长,文章为1毫秒,用delay(1)实现这个间隔,若扫描间隔太长,会导致扫描刷新不及时,出现个位和十位交替闪烁的现象。
定时计数器的初始化及其中断函数
结论
本电路采用单片机作为主控制器,设计了0-99循环计数并显示的电路,采用了锁存器实现2位数码管动态扫描显示。通过测试,电路工作正常
74hc573驱动4位数码管
用74hc573驱动4位数码管的段选,
用74hc573驱动4位数码管的段选,如果数码管选用共阴的, 这个电路可行。
补充: 74hc573输出那里串接个小电阻, 再接到数码管的段码端。
我的数码管是共阴的,位选就是接地,那直接接单片机就可以了。
位选接单片机p2.7, p2.6, p2.5, p2.4 。
段选接74hc573 输出端q0 ~ q7 (中间最好是串个300欧左右电阻)。
74hc573 输入端d0 ~ d7接单片机p0口。
74hc573驱动4位数码管程序代码
在proteus中用74hc573,做数码管显示的仿真。
#include《reg52.h》
#include《intrins.h》
#define uint unsigned int
#define uchar unsigned char
void delay(uint z);
uchar temp,aa,numdu,numwe,bai,shi,ge;
uint shu;
void init();
sbit dula=p2^6;
sbit wela=p2^7;
uchar code table[]={
0x3f , 0x06 , 0x5b , 0x4f ,
0x66 , 0x6d , 0x7d ,
0x07, 0x7f , 0x6f ,
0x77, 0x7c , 0x39 ,0x5e ,0x79 ,
0x71 ,0x00
};
void display(uchar bai,uchar shi,uchar ge);
void main()
{
shu=219;
init();
while(1)
{
display(bai,shi,ge);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x》0;x--)
for(y=110;y》0;y--);
}
void display(uchar bai,uchar shi,uchar ge)
{
wela=1;
p0=0xfe;
wela=0;
dula=1;
p0=table[bai];
dula=0;
delay(1);
wela=1;
p0=0xfd;
wela=0;
dula=1;
p0=table[shi];
dula=0;
delay(1);
wela=1;
p0=0xfb;
wela=0;
dula=1;
p0=table[ge];
dula=0;
delay(1);
}
void init()
{
tmod=0x01;
th0=(65536-50000)/256;
tl0=(65536-50000)%256;
ea=1;
et0=1;
tr0=1;
}
voidtimer0() interrupt 1
{
th0=(65536-50000)/256;
tl0=(65536-50000)%256;
aa++;
if(aa==2)
{
aa=0;
shu--;
if(shu==10)
{
tr0=0;
et0=0;
}
bai=shu/100;
shi=shu%100/10;
ge=shu%10;
}
}
结论:经电路测试,电路工作正常
74hc573驱动6位数码管
1.共阴数码管的每一位(wei1,wei2,wei3......)都是公共的阴极,只有输入低电平的时候才有可能被点亮,所以位选的时候被选中的位必须是低电平。
2,选段的时候只有输入高电平才能点亮数码管
3,74hc573-1是控制段选的,74hc573-2是控制位选的,p2.6和p2.7端口是锁存使能位,置高电平时锁存器透明(即输入和输出相同),置低电平时锁存
4,控制第一个数码管显示数字1,代码如下:
结论:经测试,电路正常工作,无数据异常
74hc573驱动8位数码管
程序分享
结论:电路正常工作
总结
74hc573是锁存器,用于数码管显示时通常是采用段选、片选共用同一组并口的驱动方式。
驱动数码管需要两个信号,一个是段选信号,一个是片选信号。段选信号是固定的8个(对于普通7段数码管),而片选信号数量是与数码管位数相同的。对于8位数码管的动态扫描来说,片选信号要8根线,这样仅仅驱动数码管就占用了2组共16个io口,非常浪费
使用573锁存器后,只占用8+2=10个io口,其中2个用于控制锁存器使能,另外8个输出信号。先关闭控制片选信号的573芯片的锁存功能,然后单片机输出片选信号,随后开启锁存,此时无论573的输入端如何变化,输出端都是不变的,也就是原来输入的信号被锁住了。然后,再关闭控制段选的573的锁存功能,输出段选信号,再锁存,这样就巧妙的实现了数据线的复用,让一组io口既输出段选又输出片选。
逆势增长,华为2022年国内智能手表市场份额保持第一
山东聊城联通5G创新工作室推出5G远程驾驶应用荣获大奖
浪潮网络携手镇江市第一人民医院打造以新网络助力智慧医疗
人工智能四大概念(分类方法、类别、机器学习和协同过滤)
三星笔记本电脑专用OLED被UL认定为“无光晕”显示屏
74hc573可以驱动几位共阴数码管?74hc573驱动数码管应用解析
富采旗下晶元光电布局感测技术的最新突破
晨控智能闪耀深圳工业展,14号馆P36展台,恭候新老客户莅临!
碳化硅SIC器件在工业应用中的重要作用!
全球机器视觉市场有什么新的成就
pdh光端机指示灯含义_pdh光端机的功能
华为P10配置没有很逆天 你会弃iPhone7买它吗?
关于太阳能供电的分析和介绍
一文知道EMC设计的费效比
五个用于构建连接设备的提示
OLED微显示器领先厂商MICROOLED完成2100万欧元融资
基于STC89C52RC单片机和SJA1000总线控制器实现采集与控制模块的设计
2011CCEF:神舟承运F300T笔记本
湖南省人大常委会党组副书记一行到访国科微调研
基于PID控制算法的智能小车设计方案