欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于VHDL的八路彩灯控制器.doc

    • 资源ID:856933       资源大小:211.48KB        全文页数:15页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于VHDL的八路彩灯控制器.doc

    1、沈阳理工大学课程设计专用纸NO.15 目录1.任务需求22. 总体设计22.1 各个花样的状态图22.2总体框图43. 模块设计43.1分频器模块43.2花样一模块53.3花样二模块63.4花样三模块83.5顶层设计104. 仿真图114.1分频器仿真波形114.2花样一仿真波形114.3花样二仿真波形124.4花样三仿真波形134.5总体仿真波形135.心得体会146.参考文献151.任务需求现今生活中,市场上未能吸取顾客的注意,高出各式各样的方法,其中彩灯的装饰便是其中非常普遍的一种。使用彩灯即可起装饰宣传作用,又可以现场气氛,城市也因为众多的彩灯而变得灿烂辉煌。VHDL语言作为可编程逻辑

    2、器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。在这个阶段,人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。整个过程通过EDA工具自动完成,大大减轻了设计人员的工作强度,提高了设计质量,减少了出错的机会。要求设计一个8路彩灯控制器,要求彩灯可以演示以下花型:(1) 从两边向中间亮,再从中间向两边亮;(2) 实现淡入淡出效果(3) 从左至右逐个亮,在从右到左逐个亮;2. 总体设计2.1 各个花样的状态图当选择花样一时状态图如下:S0=”ZZZZZZZZ” S1=100

    3、00001S2=01000010S3=00100100 S4=00011000 S5=00100100S6=01000010S0S1CLRS2S6S3S5S4当选择花样二时状态图如下: S0=”ZZZZZZZZ” S1=00000000S2=10000000S3=11000000S4=11100000 S5=11110000S6=11111000S7=”11111100”S8=”11111110” S9=11111111S10=01111111S11=00111111S12=00011111 S13=00001111S14=00000111S15=”00000011”S16=”00000001

    4、”S0s1 CLRS16S2 S4S15S5s14s6s13S7s12S8s11S9s10 当选择花样三时状态图如下:S0=”ZZZZZZZZ” S1=10000000S2=01000000S3=00100000S4=00010000 S5=00001000S6=00000100S7=”00000010”S8=”00000001” S9=00000010S10=00000100S11=00001000S12=0001000 S13=00100000S14=01000000S0s1 CLRS2s14 S3s13S4s12s11S5s10s6S7S9S82.2总体框图分频器 CLK状态机LED显示

    5、选择器 XUAN 3. 模块设计3.1分频器模块 -由于机器时钟周期太短,不能满足要求 -此模块实现分频,得到需要的时钟LIBRARY IEEE; USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY fenpinqi ISPORT( CLK:IN STD_LOGIC; -原机器时钟 CLR:IN STD_LOGIC; CLK1:OUT STD_LOGIC); -分频后的时钟END fenpinqi;ARCHITECTURE ART OF fenpinqi ISSIGNAL CK:STD_LOGIC; BEGIN

    6、PROCESS(CLK,CLR)IS VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN IF CLR=1 THEN CK=0; TEMP:=000; ELSIF(CLKEVENT AND CLK=1)THEN IF TEMP=111 THEN TEMP:=000; CK=NOT CK; ELSE TEMP:=TEMP+1; END IF; END IF; END PROCESS; CLK1=CK;END ART;3.2花样一模块 -用分频器分频后的时钟来显示花样实现 -从两边向中间亮,再从中间向两边亮;LIBRARY IEEE;USE IEEE

    7、.STD_LOGIC_1164.ALL;ENTITY hy1 IS PORT(CLK1:IN STD_LOGIC; CLR:IN STD_LOGIC; XUAN:IN STD_LOGIC_VECTOR(1 DOWNTO 0); LED1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY hy1;ARCHITECTURE ART OF hy1 IS TYPE STATE IS(S0,S1,S2,S3,S4,S5,S6); -设计状态机,实现花样转换 SIGNAL CURRENT_STATE:STATE; SIGNAL LIGHT:STD_LOGIC_VECT

    8、OR(7 DOWNTO 0); BEGIN PROCESS(CLR,CLK1,XUAN)IS -定义花样(1为灯亮,0为灯灭) CONSTANT L1:STD_LOGIC_VECTOR(7 DOWNTO 0):=10000001; CONSTANT L2:STD_LOGIC_VECTOR(7 DOWNTO 0):=01000010; CONSTANT L3:STD_LOGIC_VECTOR(7 DOWNTO 0):=00100100; CONSTANT L4:STD_LOGIC_VECTOR(7 DOWNTO 0):=00011000; CONSTANT L5:STD_LOGIC_VECTOR

    9、(7 DOWNTO 0):=00100100;CONSTANT L6:STD_LOGIC_VECTOR(7 DOWNTO 0):=01000010; BEGINIF XUAN=01 THENIF CLR=1 THENCURRENT_STATE LIGHT=ZZZZZZZZ; CURRENT_STATE LIGHT=L1; CURRENT_STATE LIGHT=L2; CURRENT_STATE LIGHT=L3; CURRENT_STATE LIGHT=L4; CURRENT_STATE LIGHT=L5; CURRENT_STATE LIGHT=L6; CURRENT_STATE=S1;E

    10、ND CASE;END IF;END IF; END PROCESS; LED1=LIGHT;END ART;3.3花样二模块 -用分频器分频后的时钟来显示花样实现 -实现淡入淡出效果LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY hy2 IS PORT(CLK1:IN STD_LOGIC; CLR:IN STD_LOGIC; XUAN:IN STD_LOGIC_VECTOR(1 DOWNTO 0); LED2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY hy2;ARCHITECTURE ART OF

    11、hy2 IS -设计状态机,实现花样转换 TYPE STATE IS(S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16); SIGNAL CURRENT_STATE:STATE; SIGNAL LIGHT:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS(CLR,CLK1,XUAN)IS -定义花样(1为灯亮,0为灯灭) CONSTANT L1:STD_LOGIC_VECTOR(7 DOWNTO 0):=00000000; CONSTANT L2:STD_LOGIC_VECTOR(7 DOW

    12、NTO 0):=10000000; CONSTANT L3:STD_LOGIC_VECTOR(7 DOWNTO 0):=11000000; CONSTANT L4:STD_LOGIC_VECTOR(7 DOWNTO 0):=11100000; CONSTANT L5:STD_LOGIC_VECTOR(7 DOWNTO 0):=11110000; CONSTANT L6:STD_LOGIC_VECTOR(7 DOWNTO 0):=11111000; CONSTANT L7:STD_LOGIC_VECTOR(7 DOWNTO 0):=11111100; CONSTANT L8:STD_LOGIC_

    13、VECTOR(7 DOWNTO 0):=11111110; CONSTANT L9:STD_LOGIC_VECTOR(7 DOWNTO 0):=11111111; CONSTANT L10:STD_LOGIC_VECTOR(7 DOWNTO 0):=01111111; CONSTANT L11:STD_LOGIC_VECTOR(7 DOWNTO 0):=00111111; CONSTANT L12:STD_LOGIC_VECTOR(7 DOWNTO 0):=00011111; CONSTANT L13:STD_LOGIC_VECTOR(7 DOWNTO 0):=00001111; CONSTA

    14、NT L14:STD_LOGIC_VECTOR(7 DOWNTO 0):=00000111; CONSTANT L15:STD_LOGIC_VECTOR(7 DOWNTO 0):=00000011; CONSTANT L16:STD_LOGIC_VECTOR(7 DOWNTO 0):=00000001; BEGINIF XUAN=10 THENIF CLR=1 THENCURRENT_STATE LIGHT=ZZZZZZZZ; CURRENT_STATE LIGHT=L1; CURRENT_STATE LIGHT=L2; CURRENT_STATE LIGHT=L3; CURRENT_STAT

    15、E LIGHT=L4; CURRENT_STATE LIGHT=L5; CURRENT_STATE LIGHT=L6; CURRENT_STATE LIGHT=L7; CURRENT_STATE LIGHT=L8; CURRENT_STATE LIGHT=L9; CURRENT_STATE LIGHT=L10; CURRENT_STATE LIGHT=L11; CURRENT_STATE LIGHT=L12; CURRENT_STATE LIGHT=L13; CURRENT_STATE LIGHT=L14; CURRENT_STATE LIGHT=L15; CURRENT_STATE LIGH

    16、T=L16; CURRENT_STATE=S1;END CASE;END IF;END IF; END PROCESS; LED2=LIGHT;END ART;3.4花样三模块 -用分频器分频后的时钟来显示花样实现 -从左至右逐个亮,在从右到左逐个亮LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY hy3 IS PORT(CLK1:IN STD_LOGIC; CLR:IN STD_LOGIC; XUAN:IN STD_LOGIC_VECTOR(1 DOWNTO 0); LED3:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);EN

    17、D ENTITY hy3;ARCHITECTURE ART OF hy3 IS -设计状态机,实现花样转换 TYPE STATE IS(S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14); SIGNAL CURRENT_STATE:STATE; SIGNAL LIGHT:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS(CLR,CLK1,XUAN)IS -定义花样(1为灯亮,0为灯灭) CONSTANT L1:STD_LOGIC_VECTOR(7 DOWNTO 0):=10000000; CONSTANT

    18、L2:STD_LOGIC_VECTOR(7 DOWNTO 0):=01000000; CONSTANT L3:STD_LOGIC_VECTOR(7 DOWNTO 0):=00100000; CONSTANT L4:STD_LOGIC_VECTOR(7 DOWNTO 0):=00010000; CONSTANT L5:STD_LOGIC_VECTOR(7 DOWNTO 0):=00001000; CONSTANT L6:STD_LOGIC_VECTOR(7 DOWNTO 0):=00000100; CONSTANT L7:STD_LOGIC_VECTOR(7 DOWNTO 0):=0000001

    19、0; CONSTANT L8:STD_LOGIC_VECTOR(7 DOWNTO 0):=00000001; CONSTANT L9:STD_LOGIC_VECTOR(7 DOWNTO 0):=00000010; CONSTANT L10:STD_LOGIC_VECTOR(7 DOWNTO 0):=00000100; CONSTANT L11:STD_LOGIC_VECTOR(7 DOWNTO 0):=00001000; CONSTANT L12:STD_LOGIC_VECTOR(7 DOWNTO 0):=00010000; CONSTANT L13:STD_LOGIC_VECTOR(7 DO

    20、WNTO 0):=00100000; CONSTANT L14:STD_LOGIC_VECTOR(7 DOWNTO 0):=01000000; BEGINIF XUAN=11 THENIF CLR=1 THENCURRENT_STATE LIGHT=ZZZZZZZZ; CURRENT_STATE LIGHT=L1; CURRENT_STATE LIGHT=L2; CURRENT_STATE LIGHT=L3; CURRENT_STATE LIGHT=L4; CURRENT_STATE LIGHT=L5; CURRENT_STATE LIGHT=L6; CURRENT_STATE LIGHT=L

    21、7; CURRENT_STATE LIGHT=L8; CURRENT_STATE LIGHT=L9; CURRENT_STATE LIGHT=L10; CURRENT_STATE LIGHT=L11; CURRENT_STATE LIGHT=L12; CURRENT_STATE LIGHT=L13; CURRENT_STATE LIGHT=L14; CURRENT_STATE=S1;END CASE;END IF;END IF; END PROCESS; LED3=LIGHT;END ART;3.5顶层设计 -将以上几个模块整合起来,实现八路彩灯的花样控制LIBRARY IEEE;USE IE

    22、EE.STD_LOGIC_1164.ALL;ENTITY caideng IS PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; XUAN:IN STD_LOGIC_VECTOR(1 DOWNTO 0); LED:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY caideng;ARCHITECTURE ART OF caideng IS COMPONENT fenpinqi -对分频器模块进行定义 PORT( CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; CLK1:OUT STD_LOGIC);

    23、END COMPONENT fenpinqi; COMPONENT hy1 -对花样一模块进行定义 PORT(CLK1:IN STD_LOGIC; CLR:IN STD_LOGIC; XUAN:IN STD_LOGIC_VECTOR(1 DOWNTO 0); LED1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END COMPONENT hy1; COMPONENT hy2 -对花样二模块进行定义 PORT(CLK1:IN STD_LOGIC; CLR:IN STD_LOGIC; XUAN:IN STD_LOGIC_VECTOR(1 DOWNTO 0); LED2:O

    24、UT STD_LOGIC_VECTOR(7 DOWNTO 0); END COMPONENT hy2; COMPONENT hy3 -对花样三模块进行定义 PORT(CLK1:IN STD_LOGIC; CLR:IN STD_LOGIC; XUAN:IN STD_LOGIC_VECTOR(1 DOWNTO 0); LED3:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END COMPONENT hy3;SIGNAL S:STD_LOGIC; -定义中间变量SIGNAL L1:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL L2:STD_LOGI

    25、C_VECTOR(7 DOWNTO 0); SIGNAL L3:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN U1:fenpinqi PORT MAP(CLK,CLR,S); -对分频器模块进行例化U2:hy1 PORT MAP(S,CLR,XUAN,L1); -对花样一模块进行定义U3:hy2 PORT MAP(S,CLR,XUAN,L2); -对花样二模块进行例化U4:hy3 PORT MAP(S,CLR,XUAN,L3); -对花样三模块进行例化LED=L1 WHEN XUAN=01 ELSE -让LED显示选定的花样 L2 WHEN XUAN=10 ELSE

    26、L3;END ART;4. 仿真图4.1分频器仿真波形CLK为输入,是机器时钟。上升沿有效CLR为输入,是异步复位端,当为高电平时有效,CLK1保持状态CLK1为输出,是分频后得到的我们需要的时钟,周期是原时钟的十六倍4.2花样一仿真波形CLK1为输入,是分频后得到的时钟CLR为输入,是异步复位端,当为高电平时有效XUAN是输入,进行选择花样.此时选择的是花样一LED1是输出,用来显示花样实现从两边向中间亮,再从中间向两边亮,运行结果正确4.3花样二仿真波形CLK1为输入,是分频后得到的时钟CLR为输入,是异步复位端,当为高电平时有效XUAN是输入,进行选择花样.此时选择的是花样二LED1是输

    27、出,用来显示花样实现淡入淡出效果,运行结果正确4.4花样三仿真波形CLK1为输入,是分频后得到的时钟CLR为输入,是异步复位端,当为高电平时有效XUAN是输入,进行选择花样.此时选择的是花样二LED1是输出,用来显示花样从左至右逐个亮,在从右到左逐个亮,运行结果正确4.5总体仿真波形CLK为输入,是原机器时钟CLR为输入,是异步复位端,当为高电平时有效XUAN是输入,进行选择花样,依次选择花样一,花样二,花样三LED1是输出,用来显示花样,运行结果正确5.心得体会 本次设计的课题是彩灯控制器的设计,当拿到这个课题的时候经过分析就知道关键是状态机和分频器的使用,分频的方法有很多种,对于同一种功能

    28、的实现,用VHDL可以采用多种方式进行描述,每种方式之间各有优劣,本次设计只采用了其中较简单的一种,应尽量用最简洁的语言写出所需功能的程序。 通过这次课程设计对技术有了更进一步的熟悉,VHDL 语言和语言等其他语言还是有很大的区别。VHDL是EDA技术的重要组成部分,其具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用潜力。其主要的也是最大的优点就在于设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。在实际操作中发现设计和课本上的知识有很大联系,但

    29、又高于课本,一个简单的原理要把它应用以及和其他功能综合起来就有些困难。通过设计也巩固了我们的书本知识以及通过借阅书籍和上网查找资料,也丰富了自己对的了解。不过本次设计也存在一些不足,暴露了自己对的掌握还有所欠缺。在设计过程中,分频分的太大,频率太小的话,频率太大的话,数码管显示速度太快,尝试分频时使用不同的脉冲信号,但没有成功。在反复调试中,最后还是成功了,但原理还不是很清楚。同时,在课程设计过程中通过与老师、同学的交流,也了解了他们对于这门技术的看法和今后这门技术的发展方向,也感谢老师对我设计的指导和同学对我的帮助。总的来说,这次设计还是有所收获的。6.参考文献1 王金明 周顺 数字系统设计与VHDL 北京 电子工业出版社 20102 潘松 王国栋 VHDL实用教程 西安 电子科技大学出版社 19993 屈民军 唐奕 数字系统设计实验教程 北京 科学出版社 2011 .15


    注意事项

    本文(基于VHDL的八路彩灯控制器.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922