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 Ⅱ的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。
8彩灯控制器课程设计

8彩灯控制器课程设计一、课程目标知识与理解:1. 学生能理解8彩灯控制器的基本原理,掌握其电路组成及功能。
2. 学生能描述8彩灯控制器的编程方法,了解与掌握相关编程语言的运用。
3. 学生了解8彩灯控制器在现实生活中的应用,认识到其在科技领域的重要性。
技能与运用:1. 学生能够独立完成8彩灯控制器的组装,并运用所学知识进行调试。
2. 学生能够运用编程语言对8彩灯控制器进行编程,实现不同的灯光效果。
3. 学生能够运用8彩灯控制器解决实际问题,培养创新意识和动手能力。
情感态度与价值观:1. 学生在课程学习中培养对电子科技的兴趣,激发学习热情。
2. 学生通过团队合作,培养沟通、协作能力和集体荣誉感。
3. 学生在创作过程中,体验科技与艺术的结合,提高审美情趣。
课程性质:本课程为电子技术与编程实践课程,注重理论知识与实际操作相结合,培养学生的动手能力、创新意识和实际问题解决能力。
学生特点:学生处于中学阶段,具备一定的电子基础和编程知识,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:教师需引导学生通过理论学习和实践操作,掌握8彩灯控制器相关知识,注重培养学生的实际操作能力和创新精神。
同时,关注学生的情感态度价值观的培养,使学生在课程学习中获得全面发展。
二、教学内容1. 8彩灯控制器基础知识:- 电路原理与组成:介绍8彩灯控制器的电路结构、元件功能及其相互关系。
- 控制器编程语言:学习控制器编程的基础语法,掌握编程方法。
2. 实践操作:- 8彩灯控制器组装:按照电路图完成控制器组装,学习使用相关工具和仪器。
- 灯光编程与调试:运用编程语言,设计不同的灯光效果,并进行调试。
3. 应用与创新:- 实际案例分享:分析8彩灯控制器在现实生活中的应用案例,激发学生创新意识。
- 创意设计实践:指导学生运用所学知识,完成创意8彩灯控制器设计。
教材章节关联:1. 电路原理与组成:对应教材第3章“电子电路基础”。
2. 控制器编程语言:对应教材第5章“编程基础与技巧”。
八路彩灯控制器 课程设计

目录第一章总体设计 (5)1.1设计目的 (5)1.2设计任务与要求 (5)1.3基本工作原理 (5)1.4设计方案 (5)第二章单片机简介 (6)2.1单片机结构 (6)2.2单片机的封装形式、引脚定义及功能 (7)2.3单片机的工作原理 (8)2.4 CPU的工作原理 (8)2.5存储器结构 (9)2.6 CPU时序及时钟电路 (10)2.7复位操作 (12)第三章硬件设计 (14)3.1整体硬件接结构 (14)3.2功能模块电路 (14)3.3系统硬件原理电路图 (16)第四章软件设计 (17)4.1软件总体结构设计 (17)4.2各功能模块设计 (18)总结与心得 (25)参考文献: (26)第一章总体设计1.1设计目的1)了解单片机的基本原理及相关的简单应用。
2)掌握用单片机设计系统的一般步骤。
3)了解LED数码管的基本知识和驱动方法。
4)掌握单片机系统各个组成部分的作用以及分布位置。
5)学会运用单片机的硬件资源。
1.2设计任务与要求8个彩灯的控制电路的任务为:用AT89S51单片机设计设计一个8个彩灯控制电路。
要求:完成以下花形变化:1) 从左到右依次点亮,8个灯全亮;从右到左依次熄灭,8个灯全灭。
时间节拍为1秒。
2)从两边向中间依次点亮,8个灯全亮;从中间向两边依次熄灭,8个灯全灭。
时间节拍为1秒。
3)循环往复,用LED管模拟彩灯。
4)用汇编语言编程,用proteus仿真。
1.3基本工作原理此次使设计一个能控制八路彩灯的控制器,其中彩灯用发光二极管模拟。
由P1.6和P1.7口控制电路启动与停止,根据彩灯的亮灭要求,利用数据指针查表,将查到的内容送给P2口进行显示,然后调用1s延时程。
若查到的内容为跳出代码就重新开始循环。
1.4设计方案软件方面:通过汇编语言编程实现不同要求的状态,由延时程序实现1秒的延时时间。
硬件方面:彩灯启动与停止由P1.6和P1.7口进行控制,彩灯的显示状态由AT89C51的P2口输出显示。
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彩灯控制器课程设计一、课程目标知识目标:1. 学生能理解并掌握8彩灯控制器的基本原理,包括电路组成、工作流程及功能特点。
2. 学生能描述8彩灯控制器的编程方法,运用相关指令实现不同灯光效果的切换。
技能目标:1. 学生能够独立完成8彩灯控制器的组装和调试,具备实际操作能力。
2. 学生能够运用已学知识,设计出具有创意的8彩灯控制程序,实现个性化灯光效果。
情感态度价值观目标:1. 学生通过学习8彩灯控制器,培养对电子技术和编程的兴趣,激发创新意识和探索精神。
2. 学生在团队合作中,学会相互沟通、协作,培养集体荣誉感和责任感。
课程性质:本课程为电子技术实践课程,注重理论与实践相结合,强调学生的动手能力和创新能力。
学生特点:六年级学生具备一定的电子技术基础,对新事物充满好奇心,喜欢动手实践,但需引导培养团队合作意识。
教学要求:教师应关注学生的个体差异,提供个性化指导,鼓励学生积极参与,充分发挥学生的主观能动性。
同时,注重培养学生的安全意识,确保实践活动顺利进行。
通过本课程的学习,使学生将理论知识与实际操作相结合,提高综合素养。
二、教学内容本课程教学内容主要包括以下几部分:1. 8彩灯控制器原理介绍:讲解控制器的基本组成、工作原理及功能特点,对应教材第3章“智能控制器原理与应用”。
2. 电路组成与连接:学习如何识别并连接8彩灯控制器所需元器件,掌握电路搭建方法,对应教材第4章“电子电路的搭建与调试”。
3. 编程方法与指令:学习8彩灯控制器的编程方法,掌握相关指令,实现灯光效果的切换,对应教材第5章“控制器编程与应用”。
4. 实践操作:分组进行8彩灯控制器的组装、调试与编程,培养实际操作能力,对应教材第6章“实践项目:智能控制器应用”。
5. 创意设计与展示:鼓励学生运用所学知识,设计具有创意的8彩灯控制程序,进行作品展示,对应教材第7章“创新设计与实践”。
教学进度安排如下:1. 第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路炫光彩灯控制器

炫光彩灯控制器(做一份课设不容易,我就收点文库币,小小慰问一下自己)学院:信息工程学院班级:测控0901班姓名:严海俊学号:200901420同组人:王滨指导老师:2012年11月30日炫光彩灯控制器课程设计一、设计目的1.熟悉常用芯片的性能及用途。
2.进一步掌握数字电路课程所学的理论知识,对所学理论的巩固及验,进一步的学习。
3.了解数字电路设计的基本思想和方法,学会科学分析和解决问题。
4.熟悉几种常用集成数字芯片,并掌握其工作原理,进一步学会使用其进行电路设计。
5.培养认真严谨的工作作风和实事求是的工作态度,检验自己实践的能力,解决问题的能力及现有知识基础上的创新, 为日后走上工作摸索经验。
二、设计原理设计一个电路控制彩灯的循环显示,要求八个二极管排成一行,二极管依次亮。
8路炫光彩灯控制电路功能描述:首先点亮第一盏灯,在第一盏灯熄灭之后,点亮第二盏灯,在第二盏灯熄灭之后,再去点亮第三盏灯,依次类推,直到点亮第八盏灯,看上去的效果就像亮点从第一盏。
即依次流向第八盏灯,然后全部熄灭,反复循环这一过程。
三、方案论证:方案一:原理框图如图1所示。
其中8进制计数电路是利用74LS161N十进制计数器改变而成,通过产生1000的输出信号的状态进行异步置零,完成8进制循环,由一片74LS138芯片进行译码,来输出信号控制彩灯。
其中8进制计数电路是利用74LS161N十进制计数器改变而成,通过产生1000的输出信号的状态进行异步置零,完成8进制循环,由一片74LS138芯片进行译码,来输出信号控制彩灯。
方案二:基本实际思路不变,采用74LS160芯片,但是其输出信号由两片74LS138芯片进行控制,其中一片进行3-8进制译码,另一片控制循环。
本设计采用方案一,只用两片主要芯片74LS161和74LS138,节省资源。
四、电路设计1.多谐振荡器电路采用555定时器,输出一个周期的脉冲。
由多谐振荡器的周期公式T=(R1+2*R2)*Ln2*C可知。
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 接八个数码管的使能端,控制数码管的循环显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA课程设计设计题目:基于VHDL的8路彩灯控制器设计一、课程设计的目的1.熟悉QuartusⅡ软件的使用方法,使用VHDL 文本输入设计法进行任务设计。
2.增强自己实际动手能力,独立解决问题的能力。
3.通过课程设计对所学的知识进行更新及巩固.二、课程设计的基本要求本次课程设计是设计一个8路彩灯控制器,能够控制8路彩灯按照两种节拍,三种花型循环变化。
设计完成后,通过仿真验证与设计要求进行对比,检验设计是否正确。
三、课程设计的内容编写硬件描述语言VHDL程序,设计一个两种节拍、三种花型循环变化的8路彩灯控制器,两种节拍分别为和。
三种花型分别是:(1)8路彩灯分成两半,从左至右顺次渐渐点亮,全亮后则全灭。
(2)从中间到两边对称地渐渐点亮,全亮后仍由中间向两边逐次熄灭。
(3)8路彩灯从左至右按次序依次点亮,全亮后逆次序依次熄灭。
四、实验环境PC机一台;软件QuartusⅡ五、课程设计具体步骤及仿真结果1、系统总体设计框架结构分频模块:把时钟脉冲二分频,得到另一个时钟脉冲,让这两种时钟脉冲来交替控制花型的速度。
二选一模块:选择两种频率中的一个控制彩灯的花型。
8路彩灯的三种花型控制模块:整个系统的枢纽,显示彩灯亮的情况。
2、系统硬件单元电路设计1.分频模块设计实验程序:library ieee;use fenpin2 isport( clk:in std_logic;clkk:out std_logic);end fenpin2;architecture behav of fenpin2 isbeginprocess(clk)variable clkk1:std_logic:='0';beginif clk'event and clk='1' then clkk1:= not clkk1; end if;clkk<=clkk1;end process;end behav;RTL电路图:波形图:2.二选一模块设计实验程序:library ieee;use mux21 isport(a,b,s:in std_logic;y:out std_logic);end mux21;architecture behave of mux21 is beginprocess(a,b,s)beginif s='0' then y<=a;else y<=b;end if;end process;end behave;RTL电路图:波形图:路彩灯的三种花型控制模块设计程序: l ibrary ieee;use color8 isport(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0)); end;architecture a of color8 issignal s:std_logic_vector(4 downto 0); beginprocess(s,clk)beginif rst='1' then s<="00000";elsif clk'event and clk= '1' thenif s="11111" thens<="00000";else s<=s+1;end if;case s iswhen "00000"=>q<="00000000";when "00001"=>q<="";when "00010"=>q<="";when "00011"=>q<="";when "00100"=>q<="";when "00101"=>q<="00000000";when "00110"=>q<="00011000";when "00111"=>q<="00111100";when "01000"=>q<="01111110";when "01001"=>q<="";when "01010"=>q<="";when "01011"=>q<="";when "01100"=>q<="";when "01101"=>q<="00000000";when "01110"=>q<="";when "01111"=>q<="";when "10000"=>q<="";when "10001"=>q<="";when "10010"=>q<="";when "10011"=>q<="";when "10100"=>q<="";when "10101"=>q<="";when "10110"=>q<="";when "10111"=>q<="";when "11000"=>q<="";when "11001"=>q<="";when "11010"=>q<="";when "11011"=>q<="";when "11100"=>q<="";when "11101"=>q<="00000000"; when others=>null;end case;end if;end process; end;RTL电路图:波形图:4.综合程序library ieee;use fenpin2 isport( clk:in std_logic; clkk:out std_logic); end fenpin2;architecture behav of fenpin2 isbeginprocess(clk)variable clkk1:std_logic:='0';beginif clk'event and clk='1' then clkk1:= not clkk1; end if;clkk<=clkk1;end process;end behav;library ieee;use mux21 isport(a,b,s:in std_logic;y:out std_logic);end mux21;architecture behave of mux21 isbeginprocess(a,b,s)beginif s='0' then y<=a;else y<=b;end if;end process;end behave;library ieee;use color8 isport(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0));end;architecture a of color8 issignal s:std_logic_vector(4 downto 0);beginprocess(s,clk)beginif 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 iswhen "00000"=>q<="00000000"; when "00001"=>q<="";when "00010"=>q<="";when "00011"=>q<="";when "00100"=>q<="";when "00101"=>q<="00000000"; when "00110"=>q<="00011000"; when "00111"=>q<="00111100"; when "01000"=>q<="01111110"; when "01001"=>q<="";when "01010"=>q<="";when "01011"=>q<="";when "01100"=>q<="";when "01101"=>q<="00000000"; when "01110"=>q<="";when "01111"=>q<="";when "10000"=>q<="";when "10001"=>q<="";when "10010"=>q<="";when "10011"=>q<="";when "10100"=>q<="";when "10101"=>q<="";when "10110"=>q<="";when "10111"=>q<="";when "11000"=>q<="";when "11001"=>q<="";when "11010"=>q<="";when "11011"=>q<="";when "11100"=>q<="";when "11101"=>q<="00000000";when others=>null;end case;end if;end process; end;library ieee;use balucaideng isport (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 mux21port(a,b,s:in std_logic;y:out std_logic);end component;component color8port(clk,rst :in std_logic;q:out std_logic_vector(7 downto 0));end component;beginu1: 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;波形图:六、实验总结。