动态扫描数码显示电路
- 格式:doc
- 大小:689.50 KB
- 文档页数:9
一、实训目的本次实训旨在通过实际操作,让学生掌握数码管动态显示的原理,了解数码管动态扫描显示电路的设计方法,提高学生使用Verilog HDL进行层次化设计电路的能力。
通过实训,学生能够理解并应用动态扫描显示数码管、数据选择器及其信号分配方法,同时熟悉使用可编程芯片(如FPGA/CPLD)控制多位动态扫描数码管的显示。
二、实训环境1. 实训设备:FPGA开发板、数码管、信号源、示波器等。
2. 软件工具:Quartus II、ModelSim等。
3. 实训教材:相关电子设计教材、Verilog HDL编程指南。
三、实训原理数码管动态显示技术是利用人眼的视觉暂留效应,通过快速切换显示不同的数码管,使观察者感觉多个数码管同时显示。
具体原理如下:1. 数码管结构:数码管由若干个LED段组成,通过点亮不同的段来显示数字或字符。
2. 共阳/共阴数码管:数码管分为共阳和共阴两种类型。
共阳数码管的阳极连接在一起,共阴数码管的阴极连接在一起。
3. 动态扫描:通过控制每个数码管的点亮和熄灭,实现多位数码管的动态显示。
4. 数据选择器:用于选择要显示的数字或字符对应的段编码。
四、实训过程1. 设计3位数码管动态扫描显示电路:- 使用Verilog HDL设计数码管显示模块,包括段编码生成、位选控制、时钟分频等。
- 设计数据选择器,用于选择要显示的数字或字符对应的段编码。
- 设计主控制器,用于控制动态扫描的时序。
2. 实现显示功能:- 将学号的后3位数字输入到数码管显示电路中。
- 使用可编程芯片(如FPGA/CPLD)实现电路的编译和下载。
3. 提高性实验:- 增加一个功能切换控制开关,实现数码管显示数字的自动循环移位。
- 设计其他显示功能,如显示不同的字符或图案。
4. 实验测试:- 使用示波器观察数码管显示电路的时序信号,确保电路正常工作。
- 使用Quartus II进行仿真测试,验证电路的功能。
五、实验结果与分析1. 3位数码管动态扫描显示电路:- 成功实现了学号后3位数字的动态显示。
简述七段数码管动态扫描显示原理
七段数码管动态扫描显示原理是指通过对七段数码管的各段进行逐个刷新,以实现数字、字母和符号等信息的显示。
七段数码管由7个LED灯组成,分别代表数字0~9和字母A~F等,可以通过控制各个LED的亮灭状态来显示不同的字符。
动态扫描显示原理是通过快速地在各个数码管之间切换显示内容,使得人眼无法察觉到切换的过程,从而产生连续的显示效果。
具体实现过程如下:
1. 将需要显示的数字或字符转换为相应的LED点亮状态,通过控制各个数码管的引脚来实现。
2. 通过控制锁存器的输入使得数据在锁存器中存储。
3. 通过控制锁存器的输出使得数据从锁存器输出到数码管的控制引脚上。
4. 通过控制位选锁存器的输出,选择显示的数码管。
5. 通过控制位选锁存器的使能引脚,控制数码管的亮灭状态。
6. 循环执行上述步骤,不断刷新各个数码管的显示内容,使得整个显示效果连续而流畅。
7. 根据需要的显示速度和亮度,可以调整刷新频率和亮灭时间的设置。
通过这种动态扫描的方式,只需要控制一部分引脚,就能够实现多
个七段数码管的显示,从而减少了所需的引脚数量和控制复杂度,提高了显示的效率和可靠性。
《多位LED 显示器动态扫描驱动电路》报告(一)目的:1、了解多位LED 显示器动态扫描驱动电路的基本工作原理;2、完成多位LED 显示器动态扫描驱动电路设计并分析计算单元电路;3、绘制多位LED 显示器动态扫描驱动电路图,针对工作原理进行参数估算;4、电路功能的检测和调试;5、设计答辩,完成设计报告。
(二)结构图(三)电路总体功能概述该电路的功能是通过控制数据选择器输入端的高低电平来使四个LED显示器可以显示0-9任意一个数字,实现动态扫描功能。
由振荡电路,控制电路,四位四选一数据选择器,一位LED译码驱动电路和四位LED显示电路组成。
首先用555定时器构成频率为1000赫兹多谐振荡器产生脉冲信号,再将信号传输到74构成的二位二进制触发器,使该触发器输出00,01,10,11。
将触发器的两输出端分别接到数据选择器153的S1,S0,将四个输入D0或D1D2D3信号传输到LED显示电路,使LED显示不同数字,将触发器的两输出端接到138的A1,A0(A2接0),再将138的输出Y0,Y1,Y2,Y3接到四个LED的共阴极,控制LED的显示状态,把74ls153的输出端与cc4511的四个输入端相连,把LED显示器的a,b,c,d,e,f,g与cc4511的输出端相连,这样便可以通过555定时器产生的脉冲控制四个LED的显示顺序,同时调整153的输入端的高低电位,这样便实现了对四个LED的显示控制,可随意现实0至9的数字。
振荡电路由555定时器构成的多谐振荡电路组成,有振荡电路提供脉冲,振荡周期T=Tpl+Tph=R1*C*ln2+(R1+R2)*C*ln2=0.001s,则其振荡频率为1000Hz,多谐振荡器在接通电源后无需外接触发信号就可以产生矩形脉冲或方波。
控制电路是一片74LS74构成的两位二进制触发器,它接收到控制电路的振荡脉冲,产生00,01,10,11的输出信号。
数据选择器由两片74LS153构成,其功能为四选一数据选择器,接收控制电路的输出信号,分别选择四个输入D0或D1或D2或D3信号传输到LED显示电路,使LED显示不同数字译码驱动电路由一片八选一的数据选择器74LS138组成,它接受控制电路输出的信号同时将自身的输出信号分别连接到4片LED的共阴极控制LED显示器的工作状态.显示电路由一片4511构成,其接收74LS153输出的信号分别使四个LED显示器显示8421BCD码所代表的十进制数。
输出第8位的位码,紧接着输出该位要显示的段码,然后使LATCH由0跳变到1使74HC595锁存并输出数据,此时第8位将显示,其它位全部都不显示。
延时一段时间。
如此循环往复,实现8位数码管显示的效果。
四、操作步骤:(1)按照IAR MSP430 项目建立与JTAG仿真设置所讲方法建立名称为M13x LED 595的项目。
(2)将如下程序拷贝粘贴到main.c文件中。
//*******************************************************************************//// 描述; 在TY-DIS1(8位数码管显示模块)上动态扫描显示 4321// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k//// 硬件连接:如下图// MSP430F13x// -----------------// /|\| XIN|-// | | |// --|RST XOUT|-// | |// | P5.0|-->LED_DOUT// | P5.2|-->LED_CLK// | P5.4|-->LED_LATCH//// 时间:2007年10月// //// 硬件电路:MSP430F135核心实验板-I型+ TY-DIS1(8位数码管显示模块)// 硬件连接://// 调试器:MSP430FET全系列JTAG仿真器// 调试软件: IAR Embedded Workbench Version: 3.41A 编译//******************************************************************************#include <msp430x13x.h>//4位LED数码管显示子程序void LED_595(char SMG1,char SMG2,char SMG3,char SMG4);//74HC595串行输出子程序void Led_out(unsigned char X);//LED数码管段码转换表const unsigned char LED_0_F[];void main(void){WDTCTL = WDTPW + WDTHOLD; // Stop watchdogP5DIR =0; //P5口全部设为输入口P5SEL =0; //将P5口所有的管脚设置为一般I/O口//将P5.0 P5.2 P5.4设置为输出方向P5DIR |= BIT0;P5DIR |= BIT2;P5DIR |= BIT4;for (;;){LED_595(4,3,2,1);//调用显示子程序(改变参数表,改变显示内容)}}//------------------------------------------------------// 4位LED数码管显示子程序//// 人口参数:SMG1,SMG2,SMG3,SMG4——待显示的数据//void LED_595(char SMG1,char SMG2,char SMG3,char SMG4){char z;//最高位(最左侧)LED数码管显示---------------------z = LED_0_F[SMG1];Led_out(z); //段码输出z = 0xFE; //位码Led_out(z); //位码输出P5OUT &=~(BIT4); //显示输出P5OUT |=BIT4;//--------------------------------------------------_NOP(); // 断点设置(观察watch)//次高位(左数第2个)LED数码管显示---------------------z = LED_0_F[SMG2];Led_out(z); //段码输出z = 0xFD; //位码Led_out(z); //位码输出P5OUT &=~(BIT4); //显示输出P5OUT |=BIT4;//--------------------------------------------------_NOP(); // 断点设置(观察watch)//次低位(左数第3位)LED数码管显示---------------------z = LED_0_F[SMG3];Led_out(z); //段码输出z = 0xFB; //位码Led_out(z); //位码输出P5OUT &=~(BIT4); //显示输出P5OUT |=BIT4;//--------------------------------------------------_NOP(); // 断点设置(观察watch)//最低位(左数第4位)LED数码管显示---------------------z = LED_0_F[SMG4];Led_out(z); //段码输出z = 0xF7; //位码Led_out(z); //位码输出P5OUT &=~(BIT4); //显示输出P5OUT |=BIT4;//--------------------------------------------------_NOP(); // 断点设置(观察watch)}//------------------------------------------------------// 用于74HC595的LED串行移位子程序//// 人口参数:X——待输出的数据//void Led_out(unsigned char X){unsigned char i;。
PLC实现LED数码管动态扫描数据显示PLC的数据显示功能一直是困扰PLC使用的难题。
在PLC的应用中,经常要监测一些重要数据,但PLC的数据显示通常是使用外部显示设备,如显示屏或触摸屏,而这些显示设备的价格一般比较昂贵,对一些小型系统来说更浪费。
因此,如何显示PLC的数据,并尽可能做到高效率、高稳定性、抗干扰能力强、硬件投资少,是许多设计中需要考虑的问题。
笔者使用的西门子S7-200PLC中有专门的指令控制LED数码管显示,SEGIN,OUT指令就是将IN端输入字节的低4位确定的16进制数自动转换为相对应的7段LED数码管各段的代码,并送到输出字节OUT端显示。
若采用静态LED数码显示,PLC显示一位十进制数据需要7个输出点予以控制,如果要显示n位数据,则需要7n个输出点。
所以,使用这种方式对于显示数据的位数较多时,需要大量的输出点,而PLC的价格是以输入输出点数来计算的,这直接导致硬件成本的上升,鉴于此种原因,寻找一种廉价的显示技术就显得尤为必要。
提出借鉴单片机的LED数码管动态扫捕显示原理,结合PLC周期性扫捕的特点,采用PLC直接输出数字量驱动数码管,将PLC开关量输出分为两部分,一部分用作数据输出,另一部分用作控制数码管公共端信号的输出。
利用人眼的余辉效应,循环点亮每个数码管,本方法操作简单、成本低廉。
1设计实现所谓动态扫描就是利用PLC周期性扫描的特点,在编程时要做到每个周期只有一个数码管能够形成通电回路,从而得电点亮,因为一个扫描周期的时间过短,只有几十ms,所以人眼感觉每个数码管都是均匀通电亮着的,同时没有拖尾现象。
1.1硬件设计设计方法的硬件电路实现是一个起动按钮SB1和一个停止按钮SB2,两个数码管的a、b、c、d、e、f、g段分别连在一起,再与PLC的输出端Q0.0~Q0.7通过限流电阻连接,两个数码管的公共端com1和com2分别通过三极管由PLC的输出端Q1.0和Q1.1控制,其接线原理如图1所示。
数码管动态扫描实验报告数码管动态扫描实验报告引言:数码管是一种常见的显示器件,广泛应用于电子设备中。
动态扫描技术是一种常见的驱动数码管的方法。
本实验旨在通过动态扫描技术实现数码管的显示,并对其原理进行深入研究。
一、实验目的本实验的主要目的是掌握数码管的动态扫描原理,并通过实践验证其可行性。
具体目标如下:1. 理解数码管的基本工作原理;2. 熟悉动态扫描技术的实现方法;3. 掌握使用单片机驱动数码管的方法;4. 通过实验验证动态扫描技术的可行性。
二、实验器材与原理1. 实验器材:- 单片机开发板;- 4位共阳数码管;- 连接线。
2. 实验原理:数码管是由多个发光二极管组成的,每个发光二极管对应一个数字或符号。
共阳数码管的阳极连接在一起,而阴极分别与单片机的IO口相连。
动态扫描技术是通过快速切换数码管的显示,从而形成连续的显示效果。
具体原理如下:- 单片机通过IO口输出高电平或低电平控制数码管的显示;- 通过快速切换数码管的显示,使得人眼感觉到数码管同时显示多个数字。
三、实验步骤1. 连接电路:将4位共阳数码管的阳极分别连接到单片机的IO口,阴极连接到GND。
确保连接正确,避免短路或接反。
2. 编写程序:使用单片机开发板的编程软件,编写程序控制数码管的显示。
通过循环控制IO 口输出高低电平,实现动态扫描的效果。
3. 上传程序:将编写好的程序上传到单片机开发板中,确保程序能够正确运行。
4. 运行实验:将单片机开发板连接到电源,观察数码管的显示效果。
通过动态扫描技术,数码管会以一定的频率显示不同的数字。
四、实验结果与分析通过实验,我们成功实现了数码管的动态扫描显示。
数码管以一定的频率切换显示不同的数字,形成了连续的显示效果。
通过改变程序中的循环次数和延时时间,我们可以调整数码管显示的速度和亮度。
动态扫描技术的优点是可以通过少量IO口驱动多个数码管,节省了硬件资源。
同时,由于数码管的刷新速度较快,人眼无法察觉到闪烁的现象,使得显示效果更加平滑和稳定。
实验二动态扫描显示电路设计一、设计要求1、设计要求设计一个四位LED数码显示动态扫描控制电路,显示4位十进制数或4字母的单词,要求显示内容可以通过按键切换。
2、硬件环境LP-2900开发装置的LED数码管为共阴显示器,六个显示器的七个段控制a~g及小数点dp分别对应相连,各显示器的共阴极分别由一个3线-8线译码器74138的输出Y0~Y5控制。
译码器的3位输入码分别由FPGA的I/O端口DE3、DE2、DE1控制,如图1所示。
图1 LP-2900开发装置FPGA与LED数码显示器的电路连接3线-8线译码器的3位输入码DE3、DE2、DE1为“000”~“101”时,输出Y0~Y5中有一个为0,FPGA的a~g端口将控制共阴极为0的数码管显示。
比如,当DE3、DE2、DE1为“011”时,Y3=0,数码管C4显示。
二、设计原理分析多位七段显示器的控制分为静态和动态扫描两种方法。
静态驱动方法是将所有显示器的公共端都接有效电平,各位显示器的段控制信号互不相干,分别控制。
这样,n位显示器需要7×n个控制信号(不包括小数点),即需要FPGA的56个I/O口对其进行控制。
动态扫描方法是将所有显示器的各个段控制端(a、b…、g、dp)一一对应连接,而各显示器的公共端COM由位扫描信号分别控制。
这样,n位显示器只需要8+n个控制信号(包括小数点)。
比如,LP-2900开发装置上B区的6个共阴显示器采用了动态扫描驱动方式,6个共阴端C1~C6由通过一个3线-8线译码器分时控制,电路原理如图1所示。
这样FPGA 只需要11个I/O口,其中8个控制段信号、3个输出二进制码(“000”~“101”)控制C1~C6。
1.动态显示扫描控制动态扫描驱动电路中所有的显示器由相同的段信号控制,公共端有效的显示器将显示相同的字符。
所以,要使各显示器显示不同的内容,必须控制它们的公共端分时轮流有效。
每个显示器只在其公共端为有效电平时根据段码信号显示相应的字符,公共端无效时灭显。
1.课程设计目的
1.1 巩固所学理论,提高动手能力、创新能力和综合设计能力。
1.2 熟悉常用芯片的引脚功能。
1.3 了解动态扫描数码显示电路的组成及工作原理。
2.课程设计要求
2.1 任务要求:动态扫描数码现实电路设计,通过单路显示译码器驱动多路显示输出,同时动态扫描现实时达到无闪烁效果。
2.2 性能指标要求:
(1)设计制作一个进行四位十进制数码显示电路。
(2)分时显示各位十进制数码。
(3)设计用于动态显示控制的脉冲发生电路。
(4)设计分时动态扫描显示控制的逻辑电路。
(5)输入的显示数据为8421BCD码,且并行输入。
3.电路图组成框图
图1
4.元器件清单
元器件:4位拨码开关4只,74LS161十六进制计数器—1片,74LS138译码器—1片,74LS240带三态输出反相器—4片,显示译码器7448, LED显示管 5 个 ,小灯4个,555定时器,28.86kΩ电阻一个,57.72kΩ电阻一个,10nF电容两个,电源,非门,与非门,导线若干。
仿真环境:软件Multisim。
5.各功能块电路图
5.1 脉冲发生电路
图2
该脉冲发生电路为由555定时器接成的多谐振荡器。
其中R
为28.86kΩ,
1
为57.72kΩ,C为10nF,则其产生脉冲的
R
2
频率为:
占空比为:
5.2 计数器
图3
该计数器主要由一个74LS161构成,CLK端接收来自脉冲发生电路中555定
时器的输出脉冲信号,74LS161对其脉冲进行计数,在其输出端Q
D Q
C
Q
B
Q
A
产生从
0000到1111的十六进制循环的高低电平信号,其Q
B Q
A
产生的高低电平信号为00、
01、10、11四进制的循环计数,若需要对六个数码管进行动态扫描显示,则需要将其改接成六进制计数器。
5.3 译码器
图4
该译码器使用的是74LS138,输入端AB接收来自计数器Q
A Q
B
的高低电平信
号,并对其进行译码,因为计数器产生的信号是四进制的,所以只需要用到AB
两位,C端接低电平,输出端Y
0-Y
4
根据输入信号的状态,对应位为低电平。
5.4 显示控制及显示译码
图5
该部分由显示译码、显示控制以及拨码开关组成,是本电路的关键部分。
显
示译码器选用的是7448,用于驱动共阴极数码管,其输入端接四个三态输出反相器的输出端,输出端接四个共阴极数码管的A-G端,其余控制端均接高电平。
显示控制部分由四个带三态输出反相器74LS240组成,其输出控制端分别接74LS138译码器的四个输出端,由四个四位拨码器提供输入。
5.5 数码管
图6
显示部分由四个共阴极数码管以及四组电阻组成,电阻的作用是限流,防止烧坏二极管。
数码管的共阴极分别接74LS138译码器的四个输出端,并与之前的反相器74LS240相对应。
图5中的数码管是用来显示当前时刻,显示控制部分选择显示的数码,即显示译码器的输入所对应的数码。
图5中的LED小灯用于指示当前时刻,显示控制部分进行正常反相输出的反相器,因为反相器低电平时输出有效,所以灯灭所对应的反相器的当前显示的数码。
图5中的拨码开关,向下拨对应BCD码的1,向上对应0。
图6中的LED小灯用于指示当前时刻,处于显示状态的数码管,因为数码管为共阴极,所以其CK端为低电平时可以显示,即小灯灭所对应的数码管显示。
6.仿真电路总图
图7
7.结果分析
7.1 启动仿真后,用示波器观察脉冲发生电路产生波形,如图8
图8
其产生信号频率为1KHz左右,与理论计算值基本一致。
7.2 用逻辑分析仪观察计数器产生的输出信号,如图9
图9
由图9可知,计数器的低两位输出按照00、01、10、11四进制循环计数。
7.3 用逻辑分析仪观察译码器74LS138产生的输出信号,如图10
图10
由图10可知,译码器74LS138产生的输出信号为由Y
0到Y
3
依次为低电平的
信号,分别接在反相器74LS240的输出控制端和数码管共阴极上,实现数码管的分时显示。
7.4 用逻辑分析仪观察四个反相器并联的输出信号,如图11
图11
由图11可知,四个反相器的并联输出根据输出控制端的状态选择对应的拨
码开关进行输出,当前状态下四个拨码开关的状态(从右向左)分别为0110、0011、0101和0100,反相器的并联输出电平为0110、0011、0101和0100循环,其周期与译码器74LS138输出的低电平循环周期相同,即与数码管共阴极的低电平循环周期相同,因此可以使与反相器对应的数码管显示相应的拨码开关所对应的数码。
7.5 观察数码管的分时输出,如图12(a)(b)(c)(d)
(a) (b)
(c) (d)
图12
8.总结
通过这次设计,我进一步了解该如何设计一个数字电路,通过亲自动手选择器件,连接电路,让我对该如何设计一个数字电路的基本方法和基本步骤有进一步的了解和掌握,在设计过程中遇到了一些问题,经过自己反复思考和向别人请教,有效解决了设计中出现的问题。
此次电子设计的成功让我对书本知识更熟悉了,还锻炼了我独立思考的能力。
参考书目:
[1] 阎石,《数字电子技术基础》,高等教育,, 2004.。