用两个74HC595搭接8位数码管驱动电路的问题
程序有点问题,编译时会有警告的。另外,变量不能用ACC。修改后程序如下,并做了简化。
#include《reg51.h》
//#include 《intrins.h》
#define uchar unsigned char
#define uint unsigned int
uchar code DAT1={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f};
uchar code DAT2={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit MOSIO =P1^0; //串行数据输入DS
sbit SCLK =P1^1; //移位时钟脉冲SHCP
sbit RCLK =P1^2; //输出锁存器控制脉冲STCP
//毫秒延时子程序
void delayms()
{
uint j;
for(j=400;j》0;j--);
}
//在数码管上显示数据子函数
void smgxs(uchar date,uchar dres)
{
uchar i,ac; //送显示数据,不能用ACC
ac=DAT1;
for (i=1;i《9;i++)
{
SCLK=0;
MOSIO=ac&0x80;//这样取最高位
SCLK=1; //移位端给上升沿
ac《《=1;
}
//送显示地址(第几位数码管)
ac=DAT2;
for (i=1;i《9;i++)
{
SCLK=0;
MOSIO=ac&0x80;//这样取最高位
SCLK=1; //移位端给上升沿
ac《《=1;
}
//锁存数据,并在数码管上显示
RCLK=0;
RCLK=1; //锁存端给上升沿
}
//主程序
main()
{
uchar i=0;
while(1)
{
smgxs(7,7);
delayms();
smgxs(6,6);
delayms();
smgxs(5,5);
delayms();
smgxs(4,4);
delayms();
smgxs(3,3);
delayms();
smgxs(2,2);
delayms();
smgxs(1,1);
delayms();
smgxs(0,0);
delayms();
}
}
仿真图结果如下
关于数码管驱动电路的问题
不用单片机,用数字电路实现很容易呀。用一片10线-4线编码器,接10个按键,输出为BCD码,再用一片74LS247,七段译码器/驱动器,输出接一个共阳数码管即可,按几号键,数码管就显示几了。
下表就是74LS147的真值表。
mc74hc573数码管驱动电路设计意义
微控制器的IO口均不能流过过大的电流,LED点亮时有约10ms的电流,因此数码管的段码输出不要直接接单片机IO口,应先经过一个缓冲器74HC573。单片机IO口只需很小的电流控制74HC573即可间接的控制数码管段的显示,而74HC573输出也能负载约10ms的电流。设置数码管段的驱动电流为ID=15ma,这个电流点亮度好,并且有一定的裕度,即使电源输出电压偏高也不会烧毁LED,限流电阻值R=(VCC-VCE–VOL–VLE。
multisim8位数码管怎么驱动
亲,很高兴为您解答:使用锁存器驱动方式设计八位共阳极数码管的驱动电路答:亲亲你好 锁存器驱动方式 通过锁存器74HC573的方式,来做数码管的电路搭建。 该方式,8位数码管,需要10个IO口来驱动,由于锁存器拥有数据锁存的功能,故可以分时复用IO口在数码管的段与位处理上。通过数码管驱动芯片CH451的方式,来做数码管的电路搭建。 该方式,8位数码管,需要6个IO口来驱动。数码管的控制逻辑全部集成在驱动芯片CH451上了,只需要将所需显示的数值,根据CH451芯片手册对应的驱动时序,传输给到CH451芯片,就能实现数码管的显示。共阳数码有8个发光二极管,其余的8个负板引出后称为a,b,c,d,e,f,g,Dp,应该接驱动电路或译码器。 而两个公共端接+5V的接法,是静态显示电路,那8个负极怎么接要看是用什么译吗啦,如果用74LS247七段显示译码来译码的话,则74LS247的7个输出端Ya,Yb,Yc,Yd,Ye,Yf,Yg就接数码管a,b,c,d,e,f,g,不能显示小数点,就不接Dp了。 如果是用单片机设计的电路,就可以用锁存器或8位驱动器的8位输出端接数码管,需要由单片机编程输出显示的段码才能显示出相应的字符来。感谢您的耐心等待。 希望您对我的回答满意,再次祝您事事顺心!平安喜乐!
数码管驱动原理是什么
数码管驱动原理是通过控制电路来控制数码管的显示内容,其中控制电路可以是由多种元件组成的,如晶体管、电子管、可控硅等,它们可以控制数码管的显示内容,从而实现数码管的驱动。
求4寸数码管驱动电路
单片机是5V供电的,数码管是12V供电的,共阴极一位数码管。
三极管控制数码亮、灭供电。
P0口控制显示的数码值。
首先要了解4吋数码的工作参数,根据参数设计电路。如果数码管的段电流大于单片机的输出或输入电流,那么数码管的段驱动也要用三极管驱动,不能直接连接单片机。位驱动的三极管Ic要大于数码管七段全亮的总电流的2倍以上,方可保安全。
4位数码管显示驱动电路怎么加
方法:
就是相同标号的引脚连接在一起,但是位选引脚必须增大功率,才能点亮数码管,只是需要在位选(S0-S3)分别加上拉电阻和射极输出器,或者加三极管反相输出。
驱动电路为什么要采取隔离措施
安规问题,驱动电路副边与主电路有耦合关系,而驱动原边是与控制电路连在一起, 主电路是一次电路,控制电路是ELV电路, 一次电路和ELV电路之间要做加强绝缘,实现绝缘要求一般就采取变压器光耦等隔离措施。
数码管驱动电路原理是什么
数码管驱动电路原理数码管驱动电路是指使数码管显示数字或字符的电路。数码管是一种可以显示数字或字符的显示器,它由一些灯泡和若干个数码段组成。数码管驱动电路的原理是使用一个叫做段选的信号,选择要显示的数码段,并为该数码段提供电流,从而使它亮起。然后,使用一个叫做位选的信号,选择显示的数字,并为所选数字的数码段提供电流,从而使它们亮起。数码管驱动电路通常由两个部分组成:段选电路和位选电路。段选电路负责选择要显示的数码段,并为其提供电流;位选电路负责选择要显示的数字,并为所选数字的数码段提供电流。通常,数码管驱动电路还需要一些控制电路,如数据解码器、时钟电路等,来控制显示内容和显示频率。总的来说,数码管驱动电路是一个非常重要的电路,它被广泛应用于电子设备、控制系统、仪器仪表等领域。
数码管译码显示驱动电路有哪些
可以用cd4511和74ls48等ic来驱动共阴数码管。cd4511是一个用于驱动共阴极 led (数码管)显示器的 bcd 码—七段码译码器,特点如下:具有bcd转换、消隐和锁存控制、七段译码及驱动功能的cmos电路能提供较大的拉电流。可直接驱动led显示器。cd4511 是一片 cmos bcd—锁存/7 段译码/驱动器,引脚排列如图 2 所示。其中a b c d 为 bcd 码输入,a为最低位。lt为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。bi为消隐功能端,低电平时使所有笔段均消隐,正常显示时, b1端应加高电平。另外 cd4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。le是锁存控制端,高电平时锁存,低电平时传输数据。a~g是 7 段输出,可驱动共阴led数码管。另外,cd4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观 图3是 cd4511和cd4518配合而成一位计数显示电路,若要多位计数,只需将计数器级联,每级输出接一只 cd4511 和 led 数码管即可。所谓共阴 led 数码管是指 7 段 led 的阴极是连在一起的,在应用中应接地。限流电阻要根据电源电压来选取,电源电压5v时可使用300ω的限流电阻。各引脚功能介绍如下: bi:4脚是消隐输入控制端,当bi=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。 lt:3脚是测试输入端,当bi=1,lt=0 时,译码输出全为1,不管输入 dcba 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否损坏。 le:5脚锁定控制端,当le=0时,允许译码输出。 le=1时译码器是锁定保持状态,译码器输出被保持在le=0时的数值。 a1(1脚)、a2(2)、a3(6)、a4(7)、为8421bcd码输入端。 a(13)、b(12)、c(11)、d(10)、e(9)、f(15)、g(14):为译码输出端,输出为高电平1有效。 16脚是电源,8脚是gnd。cd4511的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作。
如何使用单片机at89c51驱动4位8段数码管,如果用到芯片来驱动的,电路图如何连接
看你将四位数码管接在单片机的哪一组输出口 例如51单片机一般都是四组八位输i/o口P0,P1,P2,P3口 一般P0口是三态i/o是要接上拉电阻的。其他接口是不用接上拉电阻的。上拉电阻一般选用1k~4k7都可以保证各管脚输出的电流小于500mA就可以了。
图我传的这个图 六位数码管虽然是共阴极的 (但是不影响原理)因为他接在51单片机的三态接口上 只需接上拉电阻 (排阻)即可 。这种电路图用两个锁存器U1,U2分别控制数码管的位选和片选信号 (在读中标的WEI1-WEI6是位选信号,a-g等是段选信号)。锁存器U2,U1是同型号的 用图中的wela 和dula的(高电平和低电平)分别控制位选和段选的直通和所存。这样一组i/o口就能驱动数码管了。节省了硬件的开销。希望能帮到你!祝你好运