书签 分享 收藏 举报 版权申诉 / 3

类型基于VHDL语言的数码管闪烁控制的实现.pdf

  • 上传人:13906947528
  • 文档编号:47282440
  • 上传时间:2019-05-05
  • 格式:PDF
  • 页数:3
  • 大小:494KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 VHDL 语言 数码管 闪烁 控制 实现
    资源描述:
    电子质量(2012第07期)
    基于VHDL语言的数码管闪烁控制的实现
    基于 VEIDL语言的数码管闪烁控制的实现
    Design of LED Digital Display Flicker Circuit Based on VHDL
    王芸(安徽师范大学,安徽芜湖241000
    Wang Yun(Anhui normal university, Anhui Wuhu 241000)
    摘要:介绍了在MAX+PLUS开发环境下,用VHDL语言设计一种用于控制8路数码管闪烁的电
    路。该电路具有4种花型,且可以变换速度。通过MAX+ PLUS I软件进行波形仿真后,利用实验板提
    供的资源,下载到芯片中实现预定功能。
    关键词:VHDL;数码管;MAX+PLUS
    中图分类号:TN949.16
    文献标识码;A
    文章编号:1003-0107(201207-0012-03
    Abstract: A design of the eighty LED digital display flicker circuit based on VHDL is introduced with the
    MAX+PLUS Il. The system can demonstrate four kinds of flowers cyclically with different speeds. After the
    simulation is correct with the MAX+PLUS software, the resources provided by experimental board is
    download to chip for achieving the function
    Key words: VHDL: LED digital display: MAX+PLUS II
    CLC number: TN949 16
    Document code: A
    Article ID:1003-0107(2012)07-0012-03
    0引言
    芯片,利用VHDL语言进行设计,实现了8个数码管以
    随着 FPGA/CPLD的迅速发展以及集成电路制作工艺4种花型和2种速度进行变化显示。采用这种设计可以
    的不断进步,使得 FPGA/CPLD成为当今硬件设计的重要
    在不修改硬件电路的基础上,仅通过更改软件就能实
    途径。在各种用于 FPGA/CPLD开发的设计语言中,硬件描现任意花型,而且设计非常方便,电路保密性强。
    述语言VHDL是电子设计主流的描述语言之一,它具有很
    强的电路描述能力和建模能力,极好地反映了EDA设计1数码管闪烁控制电路设计要求及方案
    的”自顶向下"的原则
    本次设计的顶层模块原理图如图1所示。整个系
    在现代建筑、舞台、广告等一些地方,通常会看到通过统由以下几个模块构成:时钟分频模块、数码管闪烁控
    一些数字的闪烁来增添气氛或者是增强显示的效果。数字制模块、数码管扫描模块、数码管显示模块。
    闪烁的实现可以有很多种方法,本文介绍了其中一种实现
    时钟分频模块主要用于对基准频率32Hz进行分
    数字闪烁的方法。该系统基于 ALTERA公司提供的FPGA频,产生两种时钟频率8Hz和4Hz,然后由这个时钟作
    FENPIN
    SHANSHUO
    CHOOSE KEY
    CHOOSE KEY CL
    CLK SHUMRGUAN【7,,0
    CLKN
    CLK-IN
    闪烁控制
    分频
    DELED
    1+4
    SELSHUMAGUAN
    LK
    SEu2.?
    CKDSP
    sEL【2。
    SHUMAGUAN【7。1
    OROU
    数管扫描………
    管里示
    图1顶层模块原理图
    作者简介:王芸(1982-),女,讲师,硕士研究生,主要研究方向为电子设计技术。
    万方数据
    基于VHDL语言的数码管闪烁控制的实现
    电子质量(2012第07期)
    为数码管闪烁的基准时钟,用于控制数字闪烁的快慢,从
    WHEN S3=>FLOWFR2<=FF3 CURRENT STATE<=
    而达到调速的目的
    数码管闪烁模块:根据花型要求按节拍输出8位状
    WHEN S4=>FL0WER2<=FF4 CURRENT STATE<=
    态编码信号,用来控制8位数码管是显示数字还是不S1;
    显示。
    数码管4种花型之间的转换关系
    数码管扫描模块和显示模块用来实现数码管上数字
    END CASE
    的显示。
    END IF
    2各模块设计
    2.3数码管扫描棋块
    该模块接受由数码管闪烁控制模块产生的一个8位
    2.1分频横块
    状态编码,由此编码来决定该数码管是亮还是暗。其中
    该模块主要用VHDI语言实现四分频和八分频。设如果该位是0,则数码管不显示;反之,如果该位为1
    计时主要用到计数器。主要代码如下:
    则显示。
    IF RISING-EDGE(CLK_IN THEN
    由于8位数码管是由一个3~8译码器来控制,每次
    IF CHOOSE KEY=ITHEN
    只选中一个数码管。要实现8位数码管同时显示,其原理
    IF TEMIP="011"THEN一四分频
    是让其显示的频率非常高,由于人样的视觉暂离特性,使
    TEMP:="000";
    得看上去是8位数码管在同时显示。因此,在此模块,输
    CLLK<=NOT CLLK:
    入时钟的频率可以选择32768Hz。
    ELSE
    主要代码如下
    TEMP =TEMP+1
    process(ckds一该进程实现8个数码管依次被扫
    END IF
    描到,但由于时钟频率高,因此人眼看上去是8个数码管
    若要实现八分频,只需要将 IP TEMP="011"改为IF同时显示的
    TEMP="111"。
    if(ckdsp'event and ckdsp=1 )then
    2,2数码管闪烁挫制模块
    if(sec="111 )then sec<="000
    此模块的设计主要是产生一个8位状态编码信号用
    else sec<=sec+I
    来控制数码管的闪烁。在设计时主要用到状态机,关健代
    end if end if; end process;
    码如下
    process(sec, shung)-该进程用来实现数码管闪烁
    PROCESS(CLK)IS
    gn
    CONSTANT FFI: STD_LOGIC_VECTOR(7 DOWNTO
    case sec Is
    0:="00010001"
    when"000"=>daut<=shung(0)
    CONSTANT FF2: STD_LOGIC_VECTOR (7 DOWNTO
    when"001"=>daut<=shung(1)
    O:="10101010”;
    when"010"=>daout<=shung(2)
    CONSTANT FF3 STDLOGIC_VECTOR(7 DOWNTO
    when"011"=>daut<=shung(3)
    0:="00110011";
    when"=>daut<-shumg(4);
    CONSTANT FF4: STD_LOGIC_VECTOR (7 DOWNTO<
    展开阅读全文
    提示  文档分享网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于VHDL语言的数码管闪烁控制的实现.pdf
    链接地址:https://www.wdfxw.net/doc47282440.htm
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    版权所有:www.WDFXW.net 

    鲁ICP备09066343号-25 

    联系QQ: 200681278 或 335718200

    收起
    展开