用VHDL设计循环彩灯控制器

作者&投稿:致缪 (若有异议请与网页底部的电邮联系)
循环彩灯控制器设计~

系统设计要求

1、要有多种花型变化(至少设计4种)。

2、多种花型可以自动变换,循环往复。

3、彩灯变换的快慢节拍可以选择。

4、具有清零开关。

系统设计方案

根据系统设计要求,现设计一个具有六种花型循环变化的彩灯控制器。系统设计采用自顶向下的设计方法,系统的整体组转设计原理图如下图所示,它由时序控制模块和显示控制模块两部分组成。整个系统有3个输入信号:系统时钟信号CLK,系统清零信号CLR和控制彩灯节奏快慢的选择开关SPRRD。9个输出信号LED[8..0],分别用于模拟彩灯。



VHDL源程序

时序控制模块的VHDL源程序(SX.VHD)

LIBRARY IEEE;

USE IEEE.std_logic_1164.ALL;

USE IEEE.std_logic_unsigned.ALL;

ENTITY SX IS

PORT(

SPEED:IN STD_LOGIC;

CLK:IN STD_LOGIC;

CLR:IN STD_LOGIC;

CLK1:OUT STD_LOGIC);

END SX;

ARCHITECTURE ART OF SX IS

SIGNAL CK:STD_LOGIC;

BEGIN

PROCESS(CLK,CLR,SPEED)IS

VARIABLE TEMP:STD_LOGIC_VECTOR(2 DOWNTO 0);

BEGIN

IF CLR='1' THEN

CK<='0';

TEMP:="000";

ELSIF(CLK'EVENT AND CLK='1')THEN

IF(SPEED='1')THEN

IF TEMP="001" THEN

TEMP:="000";

CK<=NOT CK;

ELSE TEMP:=TEMP+'1';

END IF;

ELSE

IF TEMP="111" THEN

TEMP:="000";

CK<=NOT CK;

ELSE

TEMP:=TEMP+'1';

END IF;

END IF;

END IF;

END PROCESS;

CLK1<=CK;

END ART;

显示控制模块的VHDL源程序(XS.VHD)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY XS IS

PORT(CLK1:IN STD_LOGIC;

CLR:IN STD_LOGIC;

LED:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));

END ENTITY XS;

ARCHITECTURE ART OF XS IS

TYPE STATE IS(S0,S1,S2,S3,S4,S5,S6);

SIGNAL CURRENT_STATE:STATE;

SIGNAL LIGHT:STD_LOGIC_VECTOR(8 DOWNTO 0);

BEGIN

PROCESS(CLR,CLK1)IS

CONSTANT L1:STD_LOGIC_VECTOR(8 DOWNTO 0):="001001001";

CONSTANT L2:STD_LOGIC_VECTOR(8 DOWNTO 0):="010010010";

CONSTANT L3:STD_LOGIC_VECTOR(8 DOWNTO 0):="011011011";

CONSTANT L4:STD_LOGIC_VECTOR(8 DOWNTO 0):="100100100";

CONSTANT L5:STD_LOGIC_VECTOR(8 DOWNTO 0):="101101101";

CONSTANT L6:STD_LOGIC_VECTOR(8 DOWNTO 0):="110110110";

BEGIN

IF CLR='1' THEN

CURRENT_STATE<=S0;

ELSIF(CLK1'EVENT AND CLK1='1')THEN

CASE CURRENT_STATE IS

WHEN S0=> LIGHT<="ZZZZZZZZZ"; CURRENT_STATE<=S1;

WHEN S1=> LIGHT<=L1; CURRENT_STATE<=S2;

WHEN S2=> LIGHT<=L2; CURRENT_STATE<=S3;

WHEN S3=> LIGHT<=L3; CURRENT_STATE<=S4;

WHEN S4=> LIGHT<=L4; CURRENT_STATE<=S5;

WHEN S5=> LIGHT<=L5; CURRENT_STATE<=S6;

WHEN S6=> LIGHT<=L6; CURRENT_STATE<=S1;

END CASE;

END IF;

END PROCESS;

LED<=LIGHT;

END ART;

彩灯控制器顶层设计的VJDL源程序(CAIDENG.VHD)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY CAIDENG IS

PORT(CLK:IN STD_LOGIC;

CLR:IN STD_LOGIC;

SPEED:IN STD_LOGIC;

LED:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));

END ENTITY;

ARCHITECTURE ART OF CAIDENG IS

COMPONENT SX IS

PORT(SPEED:IN STD_LOGIC;

CLK:IN STD_LOGIC;

CLR:IN STD_LOGIC;

CLK1:OUT STD_LOGIC);

END COMPONENT SX;

COMPONENT XS IS

PORT(CLK1:IN STD_LOGIC;

CLR:IN STD_LOGIC;

LED:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));

END COMPONENT XS;

SIGNAL S:STD_LOGIC;

BEGIN

U1:SX PORT MAP(SPEED,CLK,CLR,S);

U2:XS PORT MAP(S,CLR,LED);

END ART;

用CMOS电路解决。

设定一个端口,out型的,八位分别对应八个小灯,根据你的电路设计,用0或1对应小灯亮。然后对总时钟进行分频,得到间隔时间,在时钟的上升沿进行控制即可。需要注意的是,由于是规律性的逻辑电路,采用循环移位的方法更加方便~!


用VHDL语言做基于CPLD的数据采集控制系统
在ASIC设计中,比较常用的方法是利用FPGA对系统的设计进行功能检测,通过后再将其VHDL设计以ASIC形式实现;而硬件测试则是针对FPGA或CPLD直接用于电路系统的检测而言的。 2.2.3用FPGA\/CPLD进行开发的优缺点 我们认为,基于EDA技术的FPGA\/CPLD器件的开发应用可以从根本上解决MCU所遇到的问题。与MCU相比,FPGA\/CPLD的优势是...

数字系统设计与VHDL的目录
4.2BUFFER模式的使用2.5顺序语句和进程语句2.6用进程语句模拟触发器2.7含有WAIT语句的进程2.8两种VHDL延迟:传输延迟和惯性延迟2.9VHDL代码的编译、仿真与综合2.9.1多进程仿真2.10VHDL数据类型和运算符2.10.1数据类型2.10.2VHDL语言的运算符2.11简单综合示例2.12多路选择器的VHDL设计2....

VHDL数字时钟完整程序代码(要求要有元件例化,并且有按键消抖),谢谢啦啦...
通过这次设计,既复习了以前所学的知识,也进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在画顶层原理图时,遇到了不少问题,最大的问题就是根本没有把各个模块的VHD文件以及生成的器件都全部放在顶层文件的文件夹内,还有就是程序...

想要一个电动机变速控制器的原理方框图和VHDL语言描述,要能够在DDS...
6 软件的设计思想的比较:方案一:阻塞式的编程思想,需要延时的时候都是使用的for循环,需要等待状态的时候都是while循环,这样会造成cpu时间的大量浪费,甚至系统无发响应。方案二:采用非阻塞式的编程思想。即跳过一些需要判断的位置,实现系统的实时响应。我们采用了方案二,这样就可以减少响应时间,提高代码的效率。7 数字...

用VHDL设计D触发器
用VHDL设计D触发器 10 基于Quartus设计平台,用VHDL设计D触发器构成按循环码(000>001->011->111->101->100->000)规律工作的六进制同步计数器(止于时序仿真) 当然是 D触发器构成 的 六进制同步计数器 啦(000->001->011->111->101->100->000)

怎样用四位二进制计数器74LS93设计十进制加法计数器.(跪求)
2012-01-25 VHDL设计的四位二进制加法计数器和减法计数器的代码? 1 2015-05-06 试利用四位二进制加法计数器74LS161附加门电路,设计一个... 5 更多类似问题 > 二进制计数器的相关知识2011-05-25 请用D触发器构成一个三位二进制减法计数器,写出实验原理。(... 38 2010-12-16 四位二进制计数器的状态...

用二进制计数器74LS161设计一个11进制计数器
2012-03-06 急求数电同步异步二进制到6进制加减计数器电路图(24张) 求... 2009-10-11 VHDL 关于4位二进制计数器 15 2011-06-24 以十进制方式显示一个16位二进制循环计数器,为什么会有一处警... 更多关于二进制计数器的知识 > 网友都在找: 74ls161 五进制计数器 24进制计数器 电子计数器的设计 正在...

基于VHDL语言的自动打铃数字钟设计
3、单元电路设计、原理及器件选择 说明电子钟的设计原理以及器件的选择,主要从石英晶体振荡器、分频器、计数器、显示器和校时电路五个方面进行说明。 4、绘制整机原理图 该系统的设计、安装、调试工作全部完成。 二、设计内容及设计方案 (一)设计内容要求 1、设计一个有“时”、“分”、“秒”(23小时59分59秒...

佛坪县13740606689: 用VHDL设计循环彩灯控制器 -
种蓝沐舒: 设定一个端口,out型的,八位分别对应八个小灯,根据你的电路设计,用0或1对应小灯亮.然后对总时钟进行分频,得到间隔时间,在时钟的上升沿进行控制即可.需要注意的是,由于是规律性的逻辑电路,采用循环移位的方法更加方便~!

佛坪县13740606689: 跪求VHDL语言编程 题目:8个彩灯依次循环点亮,每次亮一个. -
种蓝沐舒: library ieee; use ieee.std_logic_1164.all; entity caideng is port(clk,reset:in std_logic; output:out std_logic_vector(7 downto 0)); end entity; architecture art of caideng is signal data:std_logic_vector(7 downto 0); begin process(clk,reset,data) begin if ...

佛坪县13740606689: 利用8个LED灯设计一组循环彩灯,要有多种花型自动变换(至少6种),并且自定义控制开关, -
种蓝沐舒: module ledwater(clk,led,s)input clk;input[1:0]s;output[7:0]led; reg [7:0] led=0;reg [1:0] olds=0; always@(posedge clk) olds<=s;always@(posedge clk)if (olds^s)case (s)2'b00: led<=1; //*a2'b01: led<=1;2'b10: led<=8'b1010_1010;2'b11: ...

佛坪县13740606689: 循环彩灯控制器设计 -
种蓝沐舒: 系统设计要求 1、要有多种花型变化(至少设计4种). 2、多种花型可以自动变换,循环往复. 3、彩灯变换的快慢节拍可以选择. 4、具有清零开关.系统设计方案 根据系统设计要求,现设计一个具有六种花型循环变化的彩灯控制器.系统设...

佛坪县13740606689: 彩灯循环控制器设计 -
种蓝沐舒: 电路由555定时器、同步4位二进制计数器74HCl63和4线-16线译码器/分配器74HCl54组成复杂一点的可以用单片机做.

佛坪县13740606689: 高分,急求!MAX+PLUS2环境下VHDL彩灯控制器编程 -
种蓝沐舒: 假设输入时钟为6M,下面是我重新编译过的,改动了点,仿真之后,状态是正确的 由于现在是十的六次方分频,普通的仿真工具如果要作真实的仿真,要很长的时间,当时我仿了一个多钟头,后来,我把分频器改成几分频,(只修改下面的参...

佛坪县13740606689: 如何编程使彩灯移动时间间隔可调(VHDL语言) -
种蓝沐舒: 可以通过按键实现啊 比如可以使用两个按键,那样就会检测到四种状态,对应四种不同的间隔时间;也可以通过一个按键实现:在程序启动后,初始化一个内部变量,当检测到按键电平变换时,将变量加1,这样就可以对应出多种状态,再分别对应不同间隔时间即可.

佛坪县13740606689: 大虾们帮忙啊,用VHDL设计一个简单的彩灯控制器电路!急~~100分! -
种蓝沐舒: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity control is port (CP1:in std_logic;CP: in std_logic; LAMP : out std_logic_vector(3 downto 0) ); end control; architecture behave of control is signal state:std_logic_vector...

佛坪县13740606689: 利用VHDL设计一个8位指示灯走马灯电路 -
种蓝沐舒: LIBRARY IEEE; USE IEEE.Std_logic_1164.ALL; ENTITY rotator IS PORT(clk:IN Std_logic; led:OUT Std_logic_vector(7 DOWNTO 0)); END rotator; ARCHITECTURE behavl OF rotator IS SIGNAL state:Std_logic_vector(3 DOWNTO 0); SIGNAL dir:...

佛坪县13740606689: 彩灯循环显示控制电路怎样设计 -
种蓝沐舒: 要满足以下要求: (1)16路彩灯输出显示. (2)彩灯的闪烁按一定规则变化(至少三种以上),可通过输入开关设置彩灯闪烁的规律. (3)电路有复位控制,复位按钮闭合时彩灯循环输出,复位按钮断开时彩灯熄灭. (4)可设定彩灯的闪烁时间,彩灯闪烁的时间可通过实验箱上的开关输入. 设计提示: (1)设计要求显示16路彩灯,需要16个发光二极管模拟.实验开发系统上的二极管已连接好限流电阻,若自行连接线路需要连接限流电阻. (2)实在看不懂可看由东南大学出版的《数字电子技术实验与课程设计指导》此书是由许小军主导,在154页

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网