EDA课程设计

发布 2022-09-30 19:58:28 阅读 7044

eda课程设计彩灯控制。

学院机电工程学院。

专业电子信息。

班级电信071班。

学号200733285134

姓名林树标。

指导教师朱耀东。

2010 年 9 月 7 日。

一、彩灯控制器的设计原理。

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

图1 彩灯控制器的设计流程图。

彩灯控制器的设计核心主要是分频器的使用,显示部分的设计较简易。分频的方法有很多种,本次设计之采用了其中较简易的一种,通过计数器的分频,将控制器外接的频率分为几个我们预先设定的值。当计数器达到预先设定的值,即产生一个上升沿,从而实现分频。

扬声器通过不同的频率控制发出不同的声音。同样发光二极管和数码管的显示速度也由其中分出来的一种频率控制(控制显示频率在1~4之间为宜)。通过使能端的控制可以控制不同的数码管显示预先设定的图案,数码管依次显示的图案为aa、bb、cc,并随着发光二极管同步动态显示。

aa为自左向右显示,bb为自右向左显示,cc从二边向中间再由中间向二边发散显示。与此同时,显示不同的花型时扬声器发出不同的声音,代表不同的花型。本次设计还带有复位功能,通过复位可以使彩灯控制器恢复到最初的状态。

二、程序设计和分析。

library ieee;

use use

entity pan is

port(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;

architecture one of pan is

signal s: std_logic_vector(4 downto 0);

signal clk1:std_logic;

signal clk2:std_logic;

signal clk3:std_logic;

定义4个信号,cq,cllk1,clk2,clk3.

process(clk)

variable a:std_logic_vector(5 downto 0);

beginif clr='1' then

clk1<='0复位信号控制部分。

elseif clk'event and clk='1'then

if a="110010"then

a:="000000";

clk1<='1';

elsea:=a+1;

clk1<='0';

end if;

end if;

end if;

end process;

process(clk)

variable b:std_logic_vector(4 downto 0);

beginif clr='1' then

clk2<='0复位信号。

elseif clk'event and clk='1'then

if b="11001"then

b:="00000";

clk2<='1';

elseb:=b+1;

clk2<='0';

end if;

end if;

end if;

end process;

process(clk)

variable c:std_logic_vector(2 downto 0);

beginif clr='1' then

clk3<='0复位信号。

elseif clk'event and clk='1'then

if c="111"then

c:="000";

clk3<='1

elsec:=c+1;

clk3<='0';

end if;

end if;

end if;

end process;数码管及二极管循环显示时序控制程序:

process(clk2)

variable z:integer range 0 to 20;

beginif clr='1' then

s<="00000复位信号。

elseif clk'event and clk='1'then

z:=z+1;

if z=20then s<=s+1;s:=0;

if s="10111" then s<="00000";

else s<=s+1;

end if;

end if;

end if;

end if;

end process;

process(s)

begincase s is

when "00000"=>led7s1<="0001000";led7s2<="01111111";speak<=clk1;led_selout<="11000000";

when "00001"=>led7s1<="0001000";led7s2<="10111111";speak<=clk1;led_selout<="01100000";

when "00010"=>led7s1<="0001000";led7s2<="11011111";speak<=clk1;led_selout<="00110000";

when "00011"=>led7s1<="0001000";led7s2<="11101111";speak<=clk1;led_selout<="00011000";

when "00100"=>led7s1<="0001000";led7s2<="11110111";speak<=clk1;led_selout<="00001100";

when "00101"=>led7s1<="0001000";led7s2<="11111011";speak<=clk1;led_selout<="00000110";

when "00110"=>led7s1<="0001000";led7s2<="11111101";speak<=clk1;led_selout<="00000011";

when "00111"=>led7s1<="0001000";led7s2<="11111110";speak<=clk1;led_selout<="10000001";

when "01000"=>led7s1<="0000011";led7s2<="11111110";speak<=clk2;led_selout<="00000011";

when "01001"=>led7s1<="0000011";led7s2<="11111101";speak<=clk2;led_selout<="00000110";

when "01010"=>led7s1<="0000011";led7s2<="11111011";speak<=clk2;led_selout<="00001100";

when "01011"=>led7s1<="0000011";led7s2<="11110111";speak<=clk2;led_selout<="00011000";

when "01100"=>led7s1<="0000011";led7s2<="11101111";speak<=clk2;led_selout<="00110000";

when "01101"=>led7s1<="0000011";led7s2<="11011111";speak<=clk2;led_selout<="01100000";

when "01110"=>led7s1<="0000011";led7s2<="10111111";speak<=clk2;led_selout<="11000000";

when "01111"=>led7s1<="0000011";led7s2<="01111111";speak<=clk2;led_selout<="10000001";

when "10000"=>led7s1<="1000110";led7s2<="01111110";speak<=clk3;led_selout<="10000001";

when"10001"=>led7s1<="1000110";led7s2<="10111101";speak<=clk3;led_selout<="01000010";

when"10010"=>led7s1<="1000110";led7s2<="11011011";speak<=clk3;led_selout<="00100100";

when "10011"=>led7s1<="1000110";led7s2<="11100111";speak<=clk3;led_selout<="00011000";

when"10100"=>led7s1<="1000110";led7s2<="11100111";speak<=clk3;led_selout<="00011000";when"10101"=>led7s1<="1000110";led7s2<="11011011";speak<=clk3;led_selout<="00100100";

EDA课程设计

题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...

eda课程设计

哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...

eda课程设计

目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...