数码管驱动电路
- 格式:ppt
- 大小:398.01 KB
- 文档页数:13
实验一、组合电路——7段数码管显示驱动电路设计一、实验目的了解EDA实验箱7位八段数码管显示模块的工作原理,设计标准扫描驱动电路模块,以备后面实验用。
二、硬件要求主芯片为Cyclone V E,型号为EP4CE22F17C8,7位八段数码管显示器,四位拨码开关。
三、实验内容用四位拨码开关产生8421BCD码,用CPLD分别产生7段数码管扫描驱动电路,然后进行仿真,观察波形,正确后编程下载实验测试。
四、实验原理1、72、动信号a,b,c,d,e,f,g。
通过调节四位拨码开关的状态,数码管应显示与之对应的字符。
五、实验连线输入:将芯片管角a0~a3分别接4个拨码开关;输出:将芯片管角led7s0~7分别接到数码管7段驱动信号a、b、c、d、e、f、g上。
六、实验源程序:decl7s.vhdlibrary ieee;use ieee.std_logic_1164.all;entity decl7s isport(a:in std_logic_vector(3 downto 0);led7s:out std_logic_vector(6 downto 0));end;architecture one of decl7s isbeginprocess(a)begincase a iswhen "0000" => led7s<="0111111"; when "0001" => led7s<="0000110"; when "0010" => led7s<="1011011"; when "0011" => led7s<="1001111"; when "0100" => led7s<="1100110"; when "0101" => led7s<="1101101"; when "0110" => led7s<="1111101"; when "0111" => led7s<="0000111"; when "1000" => led7s<="1111111"; when "1001" => led7s<="1101111"; when "1010" => led7s<="1110111"; when "1011" => led7s<="1111100"; when "1100" => led7s<="0111001"; when "1101" => led7s<="1011110"; when "1110" => led7s<="1111001"; when "1111" => led7s<="1110001"; when others => null;end case;end process;end;七、波形仿真结果。
能驱动七段共阴极LED数码管的译码电路一、设计要求:(1)要求:输入变量A、B、C来自计数器,按顺序000~111计数。
当ABC=000时,数码管全灭;以后要求依次显示H、O、P、E、F、U、L七个字母。
(2)要求:输入变量A、B、C来自计数器,按顺序000~111计数。
当ABC=000时,数码管全灭;以后要求依次显示1、0、0、8、1、0、1(或1008102、103、104、105、111)七个数字(根据自己的班级号)。
二、设计方案:1.设计原理及设计方案选择(宋体五号字)(1)设计原理①用一片74LS161芯片结合逻辑关系构成一个8进制计数器,其中最高位QD用非门输入到CLR端口,反馈复位构成8进制计数器。
②通过逻辑关系,设计出电路图,其真值表如下:脉冲次数QC QB QA U7 U4 U61 0 0 0 0 不显示不显示2 0 0 1 1 1 H3 0 1 0 2 0 O4 0 1 1 3 0 P5 1 0 0 4 8 E6 1 0 1 5 1 F7 1 1 0 6 0 U8 1 1 1 7 5 L③3-8译码器74LS138将输入信号QA、QB、QC译成输出信号Y0~Y7。
④由逻辑关系对3-8译码器的输出信号进行逻辑计算,对数码管U4和U6进行控制。
⑥外加一个数码管,起计数作用,可对QA、QB、QC输出的信号进行直接观测。
(2)设计方案3-8译码器真值表:C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y70 0 0 0 1 1 1 1 1 1 10 0 1 1 0 1 1 1 1 1 10 1 0 1 1 0 1 1 1 1 10 1 1 1 1 1 0 1 1 1 11 0 0 1 1 1 1 0 1 1 11 0 1 1 1 1 1 1 0 1 11 1 0 1 1 1 1 1 1 0 11 1 1 1 1 1 1 1 1 1 0要显示出“1008105”和“HOPEFUL ”,驱动数码管的引脚如下: 显示“1008105”:显示内容 A B C D E F G 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 8 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1 0 51 0 1 1 0 1 1则可得: A=D=E=Y 0Y 1Y 5,B=Y 0Y 7,C=Y 0,F=Y 0Y 1Y 5Y 7 ,G=74Y Y显示“HOPEFUL ”:显示内容A B C D E F G H 0 1 1 0 1 1 1 O 1 1 1 1 1 1 0 P 1 1 0 0 1 1 1 E 1 0 0 1 1 1 1 F 1 0 0 0 1 1 1 U 0 1 1 1 1 1 0 L0 0 0 1 1 1 0则可得:A=Y 0Y 1Y 6Y 7,B=Y 0Y 4Y 5Y 7,C=621Y Y Y ,D=Y 0Y 1Y 3Y 5,E=F=Y 0,G=Y 0Y 2Y 6Y 7(3)各部分电路①时钟信号电路时钟信号可由555集成电路组成,但在仿真时可直接由时 钟电压源提供所需信号电压源。
静态显示驱动静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个笔划都由一个I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高。
静态驱动的缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O 端口来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
动态显示驱动动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,在轮流显示过程中,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,这就是动态驱动。
动态驱动的优点是占用I/O线少,只需要X+Y个,X为数码管的笔划数,Y为数码管的个数。
动态驱动的缺点是占用CPU时间长,编程复杂,驱动功率较大。
在动态显示方式中,各数码管轮流工作,为了减轻闪烁现象,每个数码管刷新频率必须大于25 Hz,即相邻两次点亮的时间间隔要小于40 ms。
数码管越多,每个数码管的显示时间越短,同时还要考虑为CPU留出空闲时间。
在驱动电流一定的情况下,亮度越低,正因如此,要适当增大驱动电流。
对比:静态显示驱动:各显示器在显示过程中持续得到送显信号,与各显示器接口的I/O口线是专用的。
动态显示驱动:各显示器在显示过程中轮流得到送显信号,与各显示器接口的I/O口线是共用的。
静态显示驱动特点:无闪烁,无须扫描,节省CPU时间,编程简单,用元器件多,占I/O线多。
单片机驱动LED数码管电路及编程单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路,我们从常用的LED显示原理开始,详尽讲解利用单片机驱动LED数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解I/O口的编程原理,意在起举一反三,抛砖引玉的作用。
左图为实验电路图,我们使用80C51单片机,电容C1、C2和CRY1组成时钟振荡电路,这部分基本无需调试,只要元件可靠即会正常起振。
C3和R1为单片机的复位电路,80C51的并行口P1.0-P1.7直接与LED数码管的a-f引脚相连,中间接上限流电阻R3-R10。
值得一提的是,80C51并行口的输出驱动电流并非很大,为使LED有足够的亮度,LED数码管应选用高亮度的器件。
此外,图中的80C51还可选用C51系列的其它单片机,只要它们的指令系统兼容C51即可正常运行,程序可直接移植,例如选用低价Flash型的AT89C1051或2051(详细技术手册)等,它们的ROM可反复擦写,非常适合作实验用途。
程序清单:01 START: ORG 0100H ;程序起始地址02 MAIN: MOV R0,#00H ;从“0”开始显示03 MOV DPTR,#TABLE ;表格地址送数据指针04 DISP: MOV A,R0 ;送显示05 MOVC A,@A+ADPTR ;指向表格地址06 MOV P1,A ;数据送LED07 ACALL DELAY ;延时08 INC R0 ;指向下一个字符09 CJNE R0,#0AH,DISP ;未显示完,继续10 AJMP MAIN ;下一个循环11 DELAY: MOV R1,#0FFH ;延时子程序,延时时间赋值12 LOOP0: MOV R2,#0FFH13 LOOP1: DJNZ R2,LOOP114 DJNZ R1,LOOP015 RET ;子程序返回16 TABLE: DB 0C0H ;字型码表17 DB 0F9H18 DB 0A4H19 DB 0B0H20 DB 99H21 DB 92H22 DB 82H23 DB 0F8H24 DB 80H25 DB 90H26 END ;程序结束。
CD4511应用电路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Ω的限流电阻。
用CD4511实现LED与单片机的并行接口方法如下图:CD4511 引脚图其功能介绍如下:BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。
LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,七段均发亮,显示“8”。
它主要用来检测数码管是否损坏。
LE:锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
595驱动数码管共阳极电路1. 引言在现代电子技术中,使用数码管来显示数字、字母和符号已经成为常见的做法。
595驱动数码管共阳极电路是一种常用的电路设计,可以有效地控制数码管的亮灭和显示内容。
本文将介绍595驱动数码管共阳极电路的原理、工作方式和应用场景,并探讨其优缺点以及对电子技术的影响。
2. 595驱动数码管共阳极电路的原理我们需要了解数码管的共阳极和共阴极两种类型。
在共阳极数码管中,所有的阳极都连接在一起,而阴极则分别控制每一位数码管的亮灭。
而595驱动芯片则是一种能够控制多个输出端口的移位寄存器,通过串行输入的方式将控制信号逐位传送到数码管中。
在595驱动数码管共阳极电路中,使用了一个或多个595芯片来控制每一位数码管的亮灭。
通过对595芯片的控制信号进行编程,可以实现数字、字母和符号的显示。
通过将控制信号传输给595芯片的串行数据输入端,再通过时钟信号进行移位操作,最后通过并行输出端口将数据传输到数码管中,实现对每一位数码管的控制。
3. 595驱动数码管共阳极电路的工作方式在595驱动数码管共阳极电路中,一个595芯片可以控制8位数码管的亮灭,因此多个595芯片可以实现更多位数码管的控制。
控制信号通过串行输入端口进入第一个595芯片,并通过时钟信号逐位移位,最终通过并行输出端口将数据传输到数码管中。
每一位数码管的亮灭由595芯片的输出端口控制,通过选择性地给输出端口提供电压,可以控制数码管的亮度和显示内容。
4. 595驱动数码管共阳极电路的应用场景595驱动数码管共阳极电路广泛应用于计数器、钟表、温度显示器等设备中。
通过合理设计控制信号和编程逻辑,可以实现静态和动态的数字显示效果。
由于595芯片具有高速移位和输出能力,还可以通过串联多个595芯片来控制更多位数码管的显示。
5. 595驱动数码管共阳极电路的优缺点595驱动数码管共阳极电路具有以下优点:- 控制电路简单,使用595芯片可以减少对控制信号的数量。