动态扫描显示电路设计

2019-01-26 14:09

动态扫描显示电路设计

摘要:所谓动态扫描显示,就是让各位LED按照一定的顺序轮流地发光显示。只要每秒扫描次数大于24次以上,就观察不到闪烁现象,人眼看起来很稳定。静态扫描显示与动态显示相比,有显著降低LED功耗,大大减少LED的外部引线等优点。目前动态扫描显示技术已经被广泛应用于新型数字仪表、智能仪器和智能显示屏中。

本次课程实践中运用QuartusII软件,采用VHDL文本设计和原理图相结合的层次化方式实现数码动态扫描显示电路设计。首先,分别用VHDL语言编写8位数码扫描显示电路程序和分频器程序,作为底层文件;顶层文件用原理图的设计方法,调用底层文件生成的符号,从而实现动态扫描显示。用VHDL设计一个8位数码扫描显示电路,利用QuartusII9.0进行编辑输入、编译及时序仿真。其中,由于分频器的分频系数过大时,在仿真波形上很难看出波形的变化,如本设计是从100MHz分频到1KHz,分频系数为一万,所以可以通过改变减小分频系数,如改为10分频,就得到变化的波形,来验证数码动态扫描显示电路设计的正误。

关键字:LED 动态扫描显示电路 Quartus II 分频器 层次化设计

一、工作原理:

1、动态扫描显示的工作原理:

8位数码扫描显示的电路符号如下图(1)所示。输入信号:时钟信号CLK。输出控制信号:段控制信号SG[6..0];位控制控制信号BT[7..0]。如图(2)所示是8位数码扫描显示电路,其中每个数码管的8个段h、g、f、e、d、c、b、a(h是小数点)都分别连接在一起,8个数码管分别由8个选通信号k1~k8来选择。被选通的数码管显示数据,其余关闭。如在某一时刻,k3为高电平,其余选通信号为低电平,这时仅为k3对应的数码管显示来自段信号端的数据,而其他7个数码管呈现关闭状态。根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1~k8分别被选通,与此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。

实验参考扫描显示程序中CLK是扫描时钟;SG为7段控制信号,由高到低为分别接g、f、e、d、c、b、a7个段;BT是位选控制信号,接图(2)中的8个位选通信号:k1、k2、?k8。程序中CNT8是一个3位技术器,作扫描计数信号,有进程P2生成;进程P3是7断译码查表输出程序,进程P1是对8个数码管选通的扫描程序,例如当CNT8等于“001”时,K2对应的数码管被选通,同时,H被赋值3,再有进程P3译码输出“1001111”,显示在数码管上即为“3”;当CNT8扫变时将能在8个数码管上显示数据:23689ABC。

图(1)8位数码扫描电路的符号

CLK SG[6..0] BT[7..0]

图(2)8位数码扫描电路

2、七段数码显示译码器的原理:

7段数码是纯组合电路。通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的。为了满足十六进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA/CPLD中来实现。注意,这里没有考虑表示小数点的发光管,如果要考虑需要增加h段,并且段输出SG[6..0]改为SG[7..0]。本实验采用共阳数码管,其电路图见下图(1)。译码真值表见表(1)。

图(3)共阳数码管及其电路

表(1)译码器的真值表

代表数据 0 1 2 3 4 5 6 7

3、分频器的工作原理:

分频器的原理也就是计数器,对时钟进行偶数分频,使占空比为50%。只要使用一个计数器,在计数器的前一半时间使输出为高电平,在计数器的后一半时间使输出为低电平,即可得到偶分频时钟。

输入码 0000 0001 0010 0011 0100 0101 0110 0111 输出码g~a 1000000 1111001 0100100 0110000 0011001 0010010 0000010 1111000 代表数据 8 9 A B C D E F 输入码 1000 1001 1010 1011 1100 1101 1110 1111 输出码g~a 0000000 0010000 0001000 0000011 1000110 0100001 0000110 0001110 4、LED显示模块原理:

LED有段码和位码之分,所谓段码就是让LED显示“8.”的八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阳极的LED而言,高电平使能。 要让8个LED同时工作,显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应8位段码。虽然8个LED是依次显示,但是受视觉分辨率的影响,看到的现象是8个LED同时工作。 多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50HZ,将看不到闪烁现象。

本次试验不显示小数点,可把SG段控制信号向量变为8位(最高位代表小数点),并在最高位设置成恒0低电平。

二、源文件

1、8位数码扫描显示电路VHDL设计程序: LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY smsmdl IS PORT ( CLK : IN STD_LOGIC;

SG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); BT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END;

ARCHITECTURE sone OF smsmdl IS

SIGNAL CN :STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL H: INTEGER RANGE 0 TO 15;

BEGIN

P1: PROCESS(CN) BEGIN CASE CN IS

WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN OTHERS => NULL; END CASE; END PROCESS P1; P2: PROCESS(CLK) BEGIN

IF CLK'EVENT AND CLK ='1' THEN CN <= CN+1; END IF;

END PROCESS P2; P3: PROCESS(H) BEGIN


动态扫描显示电路设计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:生物与电磁学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: