EDA课程设计:八路彩灯控制器.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA课程设计:八路彩灯控制器 EDA课程设计 设计题目:基于VHDL的8路彩灯控制器设计 一、 课程设计的目的 1(熟悉Quartus?软件的使用方法,使用VHDL 文本输入设计法进行任务设计。 2(增强自己实际动手能力,独立解决问题的能力。 3(通过课程设计对所学的知识进行更新及巩固. 二、 课程设计的基本要求 本次课程设计是设计一个8路彩灯控制器,能够控制8路彩灯按照两种节拍,三种花型循环变化。设计完成后,通过仿真验证与设计要求进行对比,检验设计是否正确。 三、 课程设计的内容 编写硬件描述语言VHDL程序,设计一个两种节拍、三种花型循环变化的8路彩灯控制器,两种节拍分别为0.25s和0.5s。三种花型分别是: (1)8路彩灯分成两半,从左至右顺次渐渐点亮,全亮后则全灭。 (2)从中间到两边对称地渐渐点亮,全亮后仍由中间向两边逐次熄灭。 (3)8路彩灯从左至右按次序依次点亮,全亮后逆次序依次熄灭。 四、 实验环境 PC机一台;软件Quartus?6.0 五、课程设计具体步骤及仿真结果 1、系统总体设计框架结构 分频模块:把时钟脉冲二分频,得到另一个时钟脉冲,让这两种时钟脉冲来交替控制花型的速度。 二选一模块:选择两种频率中的一个控制彩灯的花型。 8路彩灯的三种花型控制模块:整个系统的枢纽,显示彩灯亮的情况。 2、系统硬件单元电路设计 1.分频模块设计 实验程序:library ieee; use ieee.std_logic_1164.all; entity fenpin2 is port( clk:in std_logic; clkk:out std_logic); end fenpin2; architecture behav of fenpin2 is begin process(clk) variable clkk1:std_logic:=0; begin if clkevent and clk=1 then clkk1:= not clkk1; end if; clkk=clkk1; end process; end behav; RTL电路图: 波形图: 2.二选一模块设计 实验程序:library ieee; use ieee.std_logic_1164.all; entity mux21 is port(a,b,s:in std_logic; y:out std_logic); end mux21; architecture behave of mux21 is begin process(a,b,s) begin if s=0 then y=a; else y=b; end if; end process; end behave; RTL电路图: 波形图: 3.8路彩灯的三种花型控制模块设计 程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity color8 is port(clk,rst :in std_logic; q:out std_logic_vector(7 downto 0)); end; architecture a of color8 is signal s:std_logic_vector(4 downto 0); begin process(s,clk) begin if rst=1 then s=00000; elsif clkevent and clk= 1 then if s=11111 then s=00000; else s=s+1; end if; case s is when 00000=q when 00001=q when 00010=q when 00011=q when 00100=q when 00101=q when 00110=q when 00111=q when 01000=q when 01001=q when 01010=q when 01011=q when 01100=q when 01101=q when 01110=q when 01111=q when 10000=q=11100

文档评论(0)

liushuhua007 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7054124121000035

1亿VIP精品文档

相关文档