eda彩灯设计.doc

上传人:hs****ma 文档编号:521812038 上传时间:2023-04-24 格式:DOC 页数:11 大小:1.19MB
返回 下载 相关 举报
eda彩灯设计.doc_第1页
第1页 / 共11页
eda彩灯设计.doc_第2页
第2页 / 共11页
eda彩灯设计.doc_第3页
第3页 / 共11页
eda彩灯设计.doc_第4页
第4页 / 共11页
eda彩灯设计.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《eda彩灯设计.doc》由会员分享,可在线阅读,更多相关《eda彩灯设计.doc(11页珍藏版)》请在金锄头文库上搜索。

1、一设计目标 设计能让一排灯(8只)自动改变显示花样的控制系统。可将实验板上的一排发光二极管作为彩灯用。控制器应有两种控制方式: 规则变化。变化节拍有0.5秒和0.25秒两种,交替出现,每种节拍可有8种花样,各执行一或二个周期后轮换。 彩灯变化方向有单向移动,双向移动,跳跃移动等。如图所示。随机变化。变化花样相同,但节拍及花样的转换都随机出现。 二实现方案(包括原理框图和HDL设计流程图)原理框图: 总控制部分(通过开关k来控制灯的规则变化和随机变化)节拍控制部分(通过高低电平控制两种节拍)包含2个分频器花样控制部分(通过输出3位二进制数控制花样)是一个模8计数器Led控制部分(通过输出8个引脚

2、控制led灯的变化)VHDL设计流程图:分频器形成4096分频形成16777216分频(通过两次4096分频)模8计数器彩灯控制器8个输出产生信号控制三设计过程1.分频器a 功能:实现4096分频且占空比为50%b功能:当clkd为1时实现512分频,clkd为0时输出为0。c功能:当clkd为0时实现256分频,clkd为1时输出为0。2.前端控制功能:当k为0时总输出clk,k为1时总输出为序列码11010110。仿真波形:结果分析:仿真波形完全实现了用k来控制前端低频clk。、3.模8计数器功能:当clr为0时输出为“000”,当clr为1时为模8计数器输出三位二进制数。4.彩灯控制功能

3、:当clr为0时输出“0000000”,当clr为1时根据choose输出led。VHDL代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity deng isport( clk: in std_logic; clr: in std_logic; choose: in std_logic_vector(2 downto 0); led: out std_logic_vector(7 downto 0) );end deng;architecture control of deng is

4、signal cnt1:std_logic_vector(1 downto 0);signal cnt2:std_logic_vector(1 downto 0);signal cnt3:std_logic_vector(1 downto 0);signal cnt4:std_logic_vector(1 downto 0);signal cnt5:std_logic_vector(1 downto 0);signal cnt6:std_logic_vector(1 downto 0);signal cnt7:std_logic_vector(1 downto 0);signal cnt8:s

5、td_logic_vector(1 downto 0);begin process(clk,clr) begin if clr=0then led=00000000; else if choose=000 then if clkevent and clk=0 then cnt1ledledledled=00010000; end case; elsif choose=001 then if clkevent and clk=1 then cnt2ledledledled=00001000; end case; elsif choose=010 then if clkevent and clk=

6、1 then cnt3ledledledled=00000010; end case; elsif choose=011 then if clkevent and clk=1 then cnt4ledledledled=01000000; end case; elsif choose=100 then if clkevent and clk=0 then cnt5ledledledled=11111111; end case; elsif choose=101 then if clkevent and clk=1 then cnt6ledledledled=00000000; end case

7、; elsif choose=110 then if clkevent and clk=1 then cnt7ledledledled=00000011; end case; elsif choose=111 then if clkevent and clk=1 then cnt8ledledledled=00011000; end case; end if; end if; end process;end architecture control;输入choose为“000”时的仿真波形:结果分析:设置choose为“000”,当clr=1时led7led4每过一个时钟变为高电平其余时间为低电平,led3led0为低电平,当clr=0时输出全部为0。此结果与代码if clr=0then led=00000000;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 法律文献 > 专利法

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号