EDA课程设计八路彩灯控制器样本

合集下载

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

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

EDA课程设计:八路彩灯控制器第一篇:EDA课程设计:八路彩灯控制器EDA课程设计设计题目:基于VHDL的8路彩灯控制器设计一、课程设计的目的1.熟悉QuartusⅡ软件的使用方法,使用VHDL 文本输入设计法进行任务设计。

2.增强自己实际动手能力,独立解决问题的能力。

3.通过课程设计对所学的知识进行更新及巩固.二、课程设计的基本要求本次课程设计是设计一个8路彩灯控制器,能够控制8路彩灯按照两种节拍,三种花型循环变化。

设计完成后,通过仿真验证与设计要求进行对比,检验设计是否正确。

三、课程设计的内容编写硬件描述语言VHDL程序,设计一个两种节拍、三种花型循环变化的8路彩灯控制器,两种节拍分别为0.25s和0.5s。

三种花型分别是:(1)8路彩灯分成两半,从左至右顺次渐渐点亮,全亮后则全灭。

(2)从中间到两边对称地渐渐点亮,全亮后仍由中间向两边逐次熄灭。

(3)8路彩灯从左至右按次序依次点亮,全亮后逆次序依次熄灭。

四、实验环境PC机一台;软件Quartu sⅡ6.0五、课程设计具体步骤及仿真结果1、系统总体设计框架结构分频模块:把时钟脉冲二分频,得到另一个时钟脉冲,让这两种时钟脉冲来交替控制花型的速度。

二选一模块:选择两种频率中的一个控制彩灯的花型。

8路彩灯的三种花型控制模块:整个系统的枢纽,显示彩灯亮的情况。

2、系统硬件单元电路设计1.分频模块设计实验程序:library ieee;use ieee.std_logic_1164.all;entity fenpin2 isport(clk:in std_logic;clkk:out std_logic);end fenpin2;architecture behav of fenpin2 is beginprocess(clk)variable clkk1:std_logic:='0';beginif clk'event and clk='1' thenclkk1:= 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 clk'event and clk= '1' then if s=“11111” thens<=“00000”;else s<=s+1;end if;case s is when “00000”=>q<=“00000000”;when“00001”=>q<=“10001000”;when“00010”=>q<=“11001100”;when“00011”=>q<=“11101110”;when “00100”=>q<=“11111111”;when “00101”=>q<=“00000000”;when“00110”=>q<=“00011000”;when“00111”=>q<=“00111100”;when“01000”=>q<=“01111110”;when“01001”=>q<=“11111111”;when“01010”=>q<=“11100111”;when“01011”=>q<=“11000011”;when“01100”=>q<=“10000001”;when“01101”=>q<=“00000000”;when“01110”=>q<=“10000000”;when“01111”=>q<=“11000000”;when“10000”=>q<=“11100000”;when“10001”=>q<=“11110000”;when“10010”=>q<=“11111000”;when“10011”=>q<=“11111100”;when“10100”=>q<=“11111110”;when“10101”=>q<=“11111111”;when“10110”=>q<=“11111110”;when“10111”=>q<=“11111100”;w hen“11000”=>q<=“11111000”;when“11001”=>q<=“11110000”;when“11010”=>q<=“11100000”;when“11011”=>q<=“11000000”;when“11100”=>q<=“10000000”;when“11101”=>q<=“00000000”;when others=>null;end case;end if;end process;end;RTL电路图:波形图:4.综合程序library ieee;use ieee.std_logic_1164.all;entity fenpin2 isport(clk:in std_logic;clkk:out std_logic);end fenpin2;architecture behav of fenpin2 is beginprocess(clk)variable clkk1:std_logic:='0';beginif clk'event and clk='1' thenend if;clkk<=clkk1;end process;end behav;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;library ieee;clkk1:= not clkk1;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 clk'event and clk= '1' then if s=“11111” thens<=“00000”;else s<=s+1;end if;case s is when “00000”=>q<=“00000000”;when“00001”=>q<=“10001000”;when“00010”=>q<=“11001100”;when“00011”=>q<=“11101110”;when“00100”=>q<=“11111111”;when“00101”=>q<=“00000000”;when“00110”=>q<=“00011000”;when“00111”=>q<=“00111100”;when“01000”=>q<=“01111110”;when“01001”=>q<=“11111111”;when“01010”=>q<=“11100111”;when“01011”=>q<=“11000011”;when “01100”=>q<=“10000001”;when “01101”=>q<=“00000000”;when“01110”=>q<=“10000000”;when“01111”=>q<=“11000000”;when“10000”=>q<=“11100000”;when“10001”=>q<=“11110000”;when“10010”=>q<=“11111000”;when“10011”=>q<=“11111100”;when“10100”=>q<=“11111110”;when“10101”=>q<=“11111111”;when“10110”=>q<=“11111110”;when“10111”=>q<=“11111100”;when“11000”=>q<=“11111000”;when“11001”=>q<=“11110000”;when“11010”=>q<=“11100000”;when“11011”=>q<=“11000000”;when“11100”=>q<=“10000000”;when“11101”=>q<=“00000000”;when others=>null;end case;end if;end process;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity balucaideng is port(clk,s,rst:in std_logic;q:out std_logic_vector(7 downto 0));end;architecture one of balucaideng issignal h0,h1:std_logic;component fenpin2port(clk:in std_logic;clkk:out std_logic);end component;component mux21 port(a,b,s:in std_logic;y:out std_logic);end component;component color8 port(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0));end component;begin u1: fenpin2 port map(clk=>clk,clkk=>h0);u2: mux21 port map(a=>h0,b=>clk,s=>s;y=>h1);u3: color8 port map(clk=>h1,rst=>rst,q=>q);end;波形图:六、实验总结第二篇:eda课程设计-彩灯控制器1.设计目的学习EDA开发软件和MAX+plus Ⅱ的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。

EDA课程设计--多路彩灯控制设计

EDA课程设计--多路彩灯控制设计

EDA课程设计--多路彩灯控制设计
项目简介:
本项目基于EDA工具(例如Altium Designer),设计实现了一种多路彩灯控制器。

该控制器可以控制多个LED灯的颜色和亮度,并可以通过外部输入信号进行控制。

项目要求:
- 实现8路彩灯控制,并且可以通过外部控制进行选择控制的灯数量。

- 支持控制彩灯的颜色和亮度。

- 支持外部输入信号,例如红外、蓝牙等。

- 设计具有过压、过流保护电路。

项目实现:
1. 硬件设计
- 选用STM32F030C8T6为控制器,实现外部输入信号检测、灯控制等功能
- 使用MAX7219为LED驱动芯片,支持SPI通信
- 具有功率PWM控制电路,用于调节彩灯的亮度
- 设有保护电路(包括过压、过流保护等)。

2. PCB设计
- 完成原理图设计,并将原理图转化为PCB设计
- 完成DSP设计、电源电路设计、外部输入检测电路设计、LED灯的连接及布局设计
- 设计阻止过压、过流电路,并进行分析和仿真,确保电路设计的可靠性和稳定性。

3. 程序设计
- 根据硬件设计,编写STM32程序,实现控制LED灯的亮度和颜色、接收和处理外部输入信号等功能
- 设计简单友好的用户界面,使得用户可以方便地选择和改变亮度和颜色控制方式。

4. 调试测试
- 在完成硬件设计、PCB设计、程序设计后,进行完整的测试来验证控制器的功能。

- 对控制器进行验证测试,确保它能稳定地运行,并且能够处理外部输入信号、选择和控制指定的彩灯。

EDA8路彩灯课程设计

EDA8路彩灯课程设计

EDA8路彩灯课程设计一、课程目标知识目标:1. 学生能理解EDA8路彩灯的基本原理,掌握电路设计与搭建的基本知识。

2. 学生能描述并解释彩灯控制电路中各个元件的功能及相互关系。

3. 学生掌握基本的编程知识,能够通过编程控制EDA8路彩灯的显示效果。

技能目标:1. 学生能够运用所学知识,设计并搭建简单的EDA8路彩灯控制电路。

2. 学生能够编写简单的程序代码,实现彩灯的不同显示效果。

3. 学生能够通过实践操作,培养动手能力和团队协作能力。

情感态度价值观目标:1. 学生对电子设计与编程产生兴趣,提高学习的积极性和主动性。

2. 学生在实践过程中,培养解决问题的耐心和毅力,增强自信心。

3. 学生通过团队合作,培养沟通与协作能力,提高集体荣誉感。

本课程旨在让学生结合课本知识,通过实践操作,掌握EDA8路彩灯的设计与搭建方法。

课程注重培养学生的动手能力、编程思维和团队协作能力,激发学生对电子技术的兴趣,提高学生的综合素质。

在教学过程中,教师需关注学生的个体差异,因材施教,确保课程目标的实现。

通过本课程的学习,学生将能够达到以上所述的知识、技能和情感态度价值观目标。

二、教学内容本章节教学内容主要包括以下三个方面:1. EDA8路彩灯基础知识:- 介绍EDA8路彩灯的基本原理及电路组成,关联教材中有关电子元件、电路原理的内容。

- 分析彩灯控制电路中各个元件的功能及相互关系,对应教材中相关章节。

2. 编程与控制:- 指导学生掌握基本的编程知识,如循环结构、条件语句等,关联教材中编程语言的基础知识。

- 引导学生编写简单的程序代码,实现EDA8路彩灯的不同显示效果,对应教材中编程实践内容。

3. 实践操作与团队协作:- 安排学生进行EDA8路彩灯的设计与搭建,结合教材中实践操作环节,培养学生动手能力。

- 组织学生进行团队协作,共同完成彩灯控制项目,提高学生的沟通与协作能力。

教学大纲安排如下:1. 基础知识学习(1课时)2. 编程知识讲解与实践(2课时)3. EDA8路彩灯设计与搭建(2课时)4. 团队协作与展示(1课时)教学内容注重科学性和系统性,结合教材章节,确保学生在掌握理论知识的基础上,能够顺利进行实践操作,达到课程目标。

8路彩灯控制器设计详细讲解(附图)

8路彩灯控制器设计详细讲解(附图)

8路彩灯控制器设计详细讲解(附图)学校:北华大学班级:信息 11-2姓名:王杰学号:28号指导教师:曲萍萍实验日期:2013.5.20—5.24一、软件内容二、实习目的和任务三、设计原理过程四、最终设计方案五、实习心得六、参考文献一、软件内容MAX-Plus?开发软件是美国Altera公司自行设计的第三代课编程逻辑器件的EDA开发工具。

它是一种与器件结构无关的集成设计环境,提供了灵活和高效的界面,允许设计人员选择各种设计输入方法和工具,能够支持Altera公司的MAX、Classic、FLEX以及ACEX系列的PLD器件。

MAX-Plus?开发软件丰富的图形界面和完整的、可即时访问的在线帮助文档,使设计人员能够轻松愉快地学习和掌握MAX-Plus?开发软件,方便地实现设计目的。

MAX-Plus?的特点:1、支持多种操作平台;2、提公开发性的界面;3、提供与PLD 器件结构无关的设计环境;4、提供丰富设计库;5、支持多种输入方式;6、具有高度集成化的开发环境;7、具有模块化的设计工具;8、提供Megacore功能;9、具有Opencore特性MAX-Plus?的主要功能:1、支持PLD器件;2、支持的设计输入方式;3、提供设计编译;4、提供设计验证;5、提供器件的编程和配置MAX-Plus?的设计流程:1、设计输入;2、设计检查;3、设计便衣;4、设计仿真;5、器件编程;6、测试验证;7、修改设计。

二、实习目的和任务实习目的:1、进一步掌握数字电路课程所学的理论知识。

2、熟悉几种常用集成数字芯片的功能和应用,并掌握其工作原理,进一步学会使用其进行电路设计。

3、了解数字系统设计的基本思想和方法,学会科学分析和解决问题。

4、培养认真严谨的工作作风和实事求是的工作态度。

5、数点课程实验是大学中为我们提供的唯一一次动手实践的机会,增强动手实践的能力。

实习任务:设计一个能实现8路彩灯循环显示的彩灯控制器。

具体要求如下:1、8路彩灯的循环花型如下表所示;2、节拍变化的时间为0.5s和0.25s,两种节拍交替运行;3、三种花型要求自动循环显示移存器输出状态编码表节拍序号花型1 花型2 花型3 1 00000000 00000000 00000000 2 10000000 00011000 10001000 3 11000000 00111100 11001100 4 11100000 01111110 11101110 5 11110000 11111111 11111111 6 11111000 11100111 01110111 7 11111100 11000011 00110011 8 11111110 10000001 00010001 9 11111111 10 11111110 11 11111100 12 1111100013 1111000014 1110000015 1100000016 10000000三、设计原理过程(1)总体方案的设计; 在方案一的基础上将整体电路分为四块。

数字电路课程设计--八路彩灯控制实验

数字电路课程设计--八路彩灯控制实验

《数字电子技术》课程设计报告八路彩灯控制实验要求:一、功能要求设计一个8路移存型彩灯控制器,基本要求:1. 8路彩灯能演示三种花型(花型自拟);2. 彩灯用发光二极管LED模拟;二、设计要求1、根据设计要求选择合适的元器件,并掌握其使用方法;2、画出电路原理图(或仿真电路图);3、先进行电路的仿真与调试,通过后才能答辩;4、画出PCB图。

三、制作要求自行装配和调试,具有一定的分析和解决问题的能力。

四、设计报告的编写要求编写设计报告,附上有关资料和图纸,并谈谈自己心得和体会。

姓名:张双学号:1886100128 专业:电子科学与技术班级:电子101班成绩:评阅人:安徽科技学院理学院物电系八路彩灯控制实验彩灯电路实验将传统的4个分离的电路移位寄存器,计数器(分频器),555和组合电路实验综合为一个完整的设计型的时序、组合电路综合实验。

电路中包含8组发光管(每组发光二极管的数量可以根据需要,通过串并联和加电阻等控制调节),74LS161(四位二进制同步计数器)、74LS194(移位寄存器)、74LS151(八选一数据选择器)、74LS74(双D 触发器)、74LS00(四二输入与非门)、74LS04(六非门)、555 等其他元件组合而成。

由二片移位寄存器194实现。

其八个输出信号端连接八个发光二极管,用其输出信号控制发光二级管的亮灭实现花型演示。

而花型之间的变化通过花型控制电路的输出即161级联的计数器输出控制(它们由同一个CP脉冲控制)。

一、设计要求设计一个8路移存型彩灯控制器,基本要求:1. 8路彩灯能演示三种花型(花型自拟);2. 彩灯用发光二极管LED模拟;二、原理框图(1)总体方案的设计总体电路分为四块。

第一块实现花型的演示;第二块实现花型的控制;第三块实现节拍控制;第四块实现时钟信号的产生。

并在部分电路的设计上与方案一采用了完全不同的方法,如花型的控制。

主体框图如下:花型控制电路:由1614位二进制同步计数器完成;花型演示电路:由195 双向移位寄存器完成(可左移右移完成花型变化);节拍控制电路:节拍变化由151八选一数据选择器完成,节拍的快慢变化可有74双上升沿D触发器完成,它可实现二分频。

EDA课程设计 彩灯控制器.

EDA课程设计 彩灯控制器.

电子设计自动化大作业题目彩灯控制器的设计学院**学院班级电气**学号**********姓名********二O一二年十月三十一日彩灯控制器的设计一、彩灯控制器的设计要求设计能让一排彩灯(8只)自动改变显示花样的控制系统,发光二极管可作为彩灯用。

控制器应有两种控制方式:(1)规则变化。

变化节拍有0.5秒和0.x秒两种,交替出现,每种节拍可有4种花样,各执行一或二个周期后轮换。

(2)随机变化。

无规律任意变化。

二、彩灯控制器的设计原理本次彩灯控制器的设计包含几个主要模块,一是彩灯显示和扬声器的时序控制部分,二是发光二极管的动态显示和数码管的动态显示,本次设计中,二者的显示同步变化;三是扬声器的控制部分。

流程图如下所示:图 1 彩灯控制器的设计流程图彩灯控制器的设计核心主要是分频器的使用,显示部分的设计较简易。

分频的方法有很多种,本次设计之采用了其中较简易的一种,通过计数器的分频,将控制器外接的频率分为几个我们预先设定的值。

当计数器达到预先设定的值,即产生一个上升沿,从而实现分频。

扬声器通过不同的频率控制发出不同的声音。

同样发光二极管和数码管的显示速度也由其中分出来的一种频率控制(控制显示频率在1~4 之间为宜)。

通过使能端的控制可以控制不同的数码管显示预先设定的图案,数码管依次显示的图案为 AA、BB、CC,并随着发光二极管同步动态显示。

AA 为自左向右显示,BB 为自右向左显示,CC 从二边向中间再由中间向二边发散显示。

与此同时,显示不同的花型时扬声器发出不同的声音,代表不同的花型。

本次设计还带有复位功能,通过复位可以使彩灯控制器恢复到最初的状态。

三、程序设计和分析library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;建立设计库和标准程序包实体部分: entity pan isport(clk:in std_logic;clr:in std_logic;speak:out std_logic;led7s1:out std_logic_vector(6 downto 0);led7s2:out std_logic_vector(7 downto 0);led_selout:out std_logic_vector(7 downto 0);end entity;实体名为 pan,定义端口,输入端口为 clk 和 clr ,其中 clk 接脉冲信号,clr 接复位端;输出端口 speak 接扬声器,led7s1 接数码管的七段显示部分,led7s 接八个发光二极管,led_selout 接八个数码管的使能端,控制数码管的循环显示。

八路彩灯课程设计--八路彩灯控制器的设计

八路彩灯课程设计--八路彩灯控制器的设计
总逻辑电路原理图移位计数器74ls19420进制循环控制器多谐振荡器彩灯显示输出16进制分频计数器u174163nu34qaqbqcqd14131211rco15abcd3456enpent710loadclr91clk2u274163nqaqbqcqd14131211rco15abcd3456enpent710loadclr91clk2u474194nabcd3456slsr72qaqbqcqd15141312clrclk111s0s1910u574ls04n1a1y2a2y3a3ygnd4y4a5y5a6y6avccu674ls09n1a1b1y2a2b2ygnd3y3a3b4y4a4bvccu774ls32ngnd1a1b1y2a2b2ygnd3y3a3b4y4a4bvccvcc5vvccx105vgndgnd2x125vx225vx325vx425v12131416175gndu1074194nabcd3456slsr72qaqbqcqd15141312clrclk111s0s1910x525vx625vx725vx825vgnd11102324x925v25v202174163nqaqbqcqd14131211rco15abcd3456enpent710loadclr91clk23vcc15gnd25229u8a74s10d19678vccu9lm555cmgndgnd1dis7out3rst4vcc8thr6con5tri2c110ufc210nfr11k?r2174k?vcc5vgnd2627vcc181图2四各单元电路设计1时钟脉冲产生电路用555定时器构成多谐振荡器电路输出便得到一个周期性的矩形脉冲其周期为
课程设计报告
课程:数字电路
题目:八路彩灯控制器的设计
院系:物理与电子信息学院
专业: 2011级电子信息科学与技术

8路彩灯控制器Word版

8路彩灯控制器Word版

河南工业大学EDA技术实验报告专业 ***** 班级***** 姓名 *** 学号 ************实验地点 6316+ 6515 实验日期 2014-11-25 成绩评定一、实验项目8路彩灯控制器二、实验目的1.利用2分频的时钟脉冲来实现两种节拍的交替,控制花形的循环。

2.学会设计花形,并能使其正确的循环。

3.学会二选一多路选择器的设计。

三、实验原理8路彩灯控制器由分频器、二选一多路选择器、花形控制器3个模块组成,分频器的原理是在编写VHDL语言时,加一个中间变量,时钟上沿(或下沿)每到来一次,此变量反转,这样时钟走两个周期,此变量刚好一个周期,再把此变量赋值给输出即得到二分频模块。

分频器VHDL源程序如下图分频器仿真波形花形控制器。

本8路彩灯控制器的设计需要8路彩灯按照两种节拍、三种花形变化。

两种节拍分别为0.25s和0.5s。

三种花形分别是:(1)8路彩灯从左至右按次序渐亮,全亮后逆次序渐灭。

(2)从中间到两边对称地渐亮,全亮后仍由中间向两边逐次渐灭。

(3)8路彩灯分成两半,从左至右顺次渐亮,然后顺次渐灭,然后全亮,最后再全灭。

每一种花形的变化都用状态标识来表示,当一种花形变化完成后,通过状态标志来进入下一种花形的变化,如此来实现可循环操作。

当所以花形都循环完成后,进行节拍的变换,然后进入另一种频率的变化。

花形控制器的VHDL源程序如右图。

二选一多路选择器。

通过花形控制器中JP的信号变化来控制使用原始时钟A,还是使用分频后的时钟信号B,从而实现花形在不同节拍下的循环变化。

二选一多路选择器的VHDL源程序如左图。

设计好以上三个模块后,就是顶层原理图的连接了,连接图如下,输入端接时钟,输出端接LED灯组。

四、仿真结果及分析对已连接完成的原理图进行仿真,仿真结果如下图:从仿真结果图可以看出,各花形变化的功能都已实现,并且节拍的改变也能体现出来。

仿真时,由于花形很多,所以需要把时钟调的很小,要不到10ns才能显示出节拍二的仿真图形,但如果太小,如选择1ns时就会出现一些错误提示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 clk'event 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 clk'event and clk= '1' then
if s="11111" then
s<="00000";
else s<=s+1;
end if;
case s is
when "00000"=>q<="00000000";
when "00001"=>q<="10001000";
when "00010"=>q<="11001100";
when "00011"=>q<="11101110";
when "00100"=>q<="11111111";
when "00101"=>q<="00000000";
when "00110"=>q<="00011000";
when "00111"=>q<="00111100"; when "01000"=>q<="01111110"; when "01001"=>q<="11111111"; when "01010"=>q<="11100111"; when "01011"=>q<="11000011"; when "01100"=>q<="10000001"; when "01101"=>q<="00000000"; when "01110"=>q<="10000000"; when "01111"=>q<="11000000"; when "10000"=>q<="11100000"; when "10001"=>q<="11110000"; when "10010"=>q<="11111000"; when "10011"=>q<="11111100"; when "10100"=>q<="11111110"; when "10101"=>q<="11111111"; when "10110"=>q<="11111110"; when "10111"=>q<="11111100"; when "11000"=>q<="11111000"; when "11001"=>q<="11110000"; when "11010"=>q<="11100000"; when "11011"=>q<="11000000"; when "11100"=>q<="10000000";。

相关文档
最新文档