当前位置:首页 » 课程大全 » eda课程设计速度表

eda课程设计速度表

发布时间: 2021-02-24 17:53:39

Ⅰ EDA速度表的课程设计报告

Ⅱ 能给出一个EDA课程设计速度表的方案呀谢谢!

傻蛋,自己写啊!

Ⅲ eda课程设计 16路彩灯6种花式 快慢两只节奏 自动循环

6种花色可以通过直接给LED送电平,快慢2种节奏,可通过一个分频模块然后输出2中不同的频率
程序如下
分频模块(得到1HZ和2HZ频率)
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;

ENTITY fenpin IS
PORT(CLK : IN STD_LOGIC;
CLK1 : OUT STD_LOGIC;
CLK2 : OUT STD_LOGIC);
END fenpin ;
ARCHITECTURE a OF fenpin IS
SIGNAL cou : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS(clk)
BEGIN
IF (clk'event and clk='1') THEN
cou <= cou+1;
END IF;
END PROCESS;
CLK1 <= cou(8);
CLK2 <= cou(7);
END a;
频率选择模块(选择不同的模块实现快慢不同节奏)(相当于一个2选一)
library ieee;
use ieee.std_logic_1164.all;
entity fenpin1 is
port(clk1,clk2,s: in std_logic;
q : out std_logic);
end fenpin1;
architecture a of fenpin1 is
--signal sel: std_logic;
begin
process(clk1,clk2,s)
begin
if (s='0') then
q<=clk1;
else
q<=clk2;
end if;
--sel<=s;
end process;
end a;
记数模块(当选择的频率上升沿来的时候记数器加1)
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY led IS
PORT(q : IN STD_LOGIC;
h : out std_logic;
di : out integer range 0 to 21) ;
END led;

ARCHITECTURE a OF led IS
signal jp : std_logic;
signal temp :INTEGER RANGE 0 TO 21;
BEGIN
PROCESS (q)
BEGIN
IF (q'event AND q='1') THEN
if(temp<21) then
temp<= temp+1;
else
temp<=0;
jp<=not jp;
end if;
end if;
END PROCESS ;
h<=jp;
di<=temp;

END a;

直接给LED送电平模块(下面所用的LED为低电平点亮)

LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY led1 IS
PORT( led: in integer range 0 to 18;
di:out std_logic_vector( 15 downto 0));
END led1;

ARCHITECTURE a OF led1 IS

begin
process (led)
begin

case led is
when 0=>di<="1111111100000000";----第一种花色
when 1=>di<="0000000011111111";
when 2=>di<="0111111101111111";----第二种
when 3=>di<="1101111111011111";
when 4=>di<="1111011111110111";
when 5=>di<="1111110111111101";
when 6=>di<="0111111001111110";----第三种
when 7=>di<="1011110110111101";
when 8=>di<="1101101111011011";
when 9=>di<="1110011111100111";-----第四种
when 10=>di<="1101101111011011";
when 11=>di<="1011110110111101";
when 12=>di<="0111111001111110";
when 13=>di<="0000111100001111";----第五种
when 14=>di<="1111000000001111";
when 15=>di<="0011111111111100";---第6种
when 16=>di<="1100111111110011";
when 17=>di<="1111001111001111";
when 18=>di<="1111110000111111";
when others =>di<="1111111111111111";
end case;
end process;

end a;

Ⅳ EDA课程设计——数字电子钟

1、基本要求:能利用现有的硬件系统设计一个至少能显示分、秒的控制电路。分和秒均用两位数码管指示,并具有调时、复位功能;
2、扩展要求:能同时显示小时(两位数码管)并能调节小时功能;具有闹钟定时功能。
3、设计方法:采用模块化描述方法,可分为分频模块、调时控制模块、数码显示模块、复位等模块,每个模块既可以编辑成独立的HDL文件或GDF文件,也可以作为HDL程序中的一个进程模块,最后进行系统仿真加以验证,在此基础上下载到硬件上进行现场测试。
4、输入、输出端口描述:输入信号——时钟信号clk、复位信号clr、时间设置键set、时间上调键tup、时间下调键tdown;输出信号——扫描式七段数码管段选输出端led[7..0]、位选输出端ctrlbit[3..0]。
我来帮他解答

2011-6-1 17:06
满意回答
设计原理
计数时钟由模为60的秒计数器模块、模为60的分计数模块、模为24的小时计数器模块、指示灯与报警器的模块、分/小时设定模块及输出显示模块等组成。秒计数器模块的进位输出为分计数器模块的进位输入,分计数器模块的进位输出为小时计数器模块的进位输入。其中秒计数器模块中应有分钟的设定,分计数器模块中应有小时的设定。
内容
设计一个计数时钟,使其具有24小时计数功能。通过“多功能复用按键F1-F12”信号接线组“F1_12(T)”的F9~F12的任意引线插孔可设置小时和分钟的值,并具有整点报时的功能。
电路原理图
模块说明:计数时钟由60秒计数器模块XSECOND、60分计数器模块XMINUTE、24小时计数器模块XHOUR等六个模块构成。秒计数器模块的进位输出为分计数器模块的进位输入,分计数器模块中有小时的设定。通过SW1、SW2、SW3、SW4可设定小时和分钟的值,并具有整点报时的功能。
输入信号:SETMIN为分钟设置信号;SETHOUR为小时设置信号;RESET为全局复位信号;CLK为全局时钟信号;CKDSP为数码管动态扫描信号。
输出信号:SPEAK为蜂鸣器报时信号;LAMP[2..0]为指示灯信号;A~G为数码管七个段位信号;SS[2..0]为数码管段位译码控制信号。
说明与电路连线
指示灯信号LAMP2~LAMP0为独立扩展下载板上CPLD器件的第11、10、9脚,内部已连接并已锁定,无需外接连线。
蜂鸣器报时信号SPEAK为独立扩展下载板CPLD器件的第31脚,内部已连接并已锁定,无需外接连线。
拨码开关SW1~SW7内部已连接并已锁定,无需外接连线。
数码管七个段位信号A~G为独立扩展下载板上CPLD器件的第86、87、88、89、90、92、93脚,应接数码管段位引线接线组KPL_AH,从左到右依次对应的A、B、C、D、E、F、G引线插孔。
数码管段位译码控制信号SS0、SS1、SS2为独立扩展下载板上CPLD器件的第68、69、70脚,为数码管的位选扫描信号,分别接信号接线组DS1-8A(T)的SS0、SS1、SS2引线插孔(即在电源引线插孔组GND孔处)。
复位信号RESET为独立扩展下载板上CPLD器件的第71脚,应接“多功能复用按键F1-F12”信号接线组“F1_12(T)”的F9~F12的任意一个插孔。
小时设置信号SETHOUR为独立扩展下载板CPLD器件的第73脚,应接“多功能复用按键F1-F12”信号接线组“F1_12(T)”的F9~F12的任意一个插孔。
分钟设置信号SETMIN为独立扩展下载板上CPLD器件的第74脚,应接“多功能复用按键F1-F12”信号接线组“F1_12(T)”的F9~F12的任意一个插孔。
时钟信号CLK为独立扩展下载板上CPLD器件的183脚(即GCLK2),应接时钟信号接线组“CLOCK(T)”的“FRQ(21)”引线插孔。
数码管动态扫描信号CKDSP为独立扩展下载板上CPLD器件的79脚(即GCLK1),应接时钟信号接线组“CLOCK(T)”的“FRQ(11)”引线插孔。
参考源程序
library IEEE;
use IEEE.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity xsecond is
port (
clk: in STD_LOGIC;
clkset: in STD_LOGIC;
setmin: in STD_LOGIC;
reset: in STD_LOGIC;
secout: out STD_LOGIC_VECTOR (6 downto 0);
enmin: out STD_LOGIC
);
end xsecond;
architecture xsecond_arch of xsecond is
signal sec : std_logic_vector(6 downto 0);
signal emin : std_logic;
signal sec1 : std_logic;
begin
-- <<enter your statements here>>
process(reset,sec,emin,setmin,clkset)
begin
if reset='0' then
enmin<='0';
secout<="0000000";
sec1<='1';
else
sec1<='0';
secout<=sec;
if clkset='1' and clkset'event then
if setmin='0' then
enmin<='1';
else
enmin<=emin;
end if;
end if;
end if;
end process;
process(clk,sec1)
alias lcount : std_logic_vector(3 downto 0) is sec(3 downto 0);
alias hcount : std_logic_vector(2 downto 0) is sec(6 downto 4);
begin
if sec1='1' then
sec<="0000000";
else
if (clk='1' and clk'event) then
if lcount=9 then
lcount<="0000";
if hcount/=5 then
hcount<=hcount+1;
emin<='0';
else
hcount<="000";
emin<='1';
end if;
else
lcount<=lcount+1;
emin<='0';
end if;
end if;
end if;
end process;
end xsecond_arch;

library IEEE;
use IEEE.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity xminute is
port (
clkmin: in STD_LOGIC;
reset: in STD_LOGIC;
sethour: in STD_LOGIC;
clk: in STD_LOGIC;
minout: out STD_LOGIC_VECTOR (6 downto 0);
enhour: out STD_LOGIC
);
end xminute;
architecture xminute_arch of xminute is
signal min : std_logic_vector(6 downto 0);
signal ehour : std_logic;
signal min1 : std_logic;
begin
-- <<enter your statements here>>
process(reset,clk,sethour,min,ehour)
begin
if reset='0' then
enhour<='0';
minout<="0000000";
min1<='0';
else
min1<='1';
minout<=min;
if clk='1' and clk'event then
if sethour='0' then
enhour<='1';
else
enhour<=ehour;
end if;
end if;
end if;
end process;
process(clkmin,min1)
alias lcountm : std_logic_vector(3 downto 0) is min(3 downto 0);
alias hcountm : std_logic_vector(2 downto 0) is min(6 downto 4);
begin
if min1='0' then
min<="0000000";
else
if (clkmin='1' and clkmin'event) then
if lcountm=9 then
lcountm<="0000";
if hcountm/=5 then
hcountm<=hcountm+1;
ehour<='0';
else
hcountm<="000";
ehour<='1';
end if;
else
lcountm<=lcountm+1;
ehour<='0';
end if;
end if;
end if;
end process;
end xminute_arch;

library IEEE;
use IEEE.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity xhour is
port (
clkhour: in STD_LOGIC;
reset: in STD_LOGIC;
hourout: out STD_LOGIC_VECTOR (5 downto 0)
);
end xhour;
architecture xhour_arch of xhour is
signal hour : std_logic_vector(5 downto 0);
begin
-- <<enter your statements here>>
process(reset,clkhour,hour)
alias lcount : std_logic_vector(3 downto 0) is hour(3 downto 0);
alias hcount : std_logic_vector(1 downto 0) is hour(5 downto 4);
begin
if reset='0' then
hourout<="000000";
hour<="000000";
else
if (clkhour='1' and clkhour'event) then
if lcount=9 then
lcount<="0000";
hcount<=hcount+1;
else
if hour="100011" then
hour<="000000";
else
lcount<=lcount+1;
end if;
end if;
end if;
hourout<=hour;
end if;
end process;
end xhour_arch;

library IEEE;
use IEEE.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity xalert is
port (
clk: in STD_LOGIC;
d_in: in STD_LOGIC_VECTOR (6 downto 0);
speak: out STD_LOGIC;
d_out: out STD_LOGIC_VECTOR (2 downto 0)
);
end xalert;
architecture xalert_arch of xalert is
type state is (s1,s2,s3,s4);
signal next_state,current_state : state;
begin
-- <<enter your statements here>>
process(clk,current_state,d_in)
begin
if d_in/="0000000" then
speak<='0';
next_state<=s1;
current_state<=s1;
d_out<="000";
else
if clk='1' and clk'event then
speak<='1';
current_state<=next_state;
end if;
case current_state is
when s1 =>
d_out<="000";
next_state<=s2;
when s2 =>
d_out<="001";
next_state<=s3;
when s3 =>
d_out<="010";
next_state<=s4;
when s4 =>
d_out<="100";
next_state<=s1;
when others =>
d_out<="000";
null;
end case;
end if;
end process;
end xalert_arch;

library IEEE;
use IEEE.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity xsettime is
port (
hour: in STD_LOGIC_VECTOR (5 downto 0);
min: in STD_LOGIC_VECTOR (6 downto 0);
sec: in STD_LOGIC_VECTOR (6 downto 0);
reset: in STD_LOGIC;
clk: in STD_LOGIC;
sel: out STD_LOGIC_VECTOR (2 downto 0);
d_out: out STD_LOGIC_VECTOR (3 downto 0)
);
end xsettime;
architecture xsettime_arch of xsettime is
signal sel1 : std_logic_vector(2 downto 0);
begin
-- <<enter your statements here>>
process(clk,reset,sel1,hour,min,sec)
begin
if reset='0' then
sel<="000";
d_out<="0000";
sel1<="000";
else
if (clk='1' and clk'event) then
if sel1<5 then
sel1<=sel1+1;
else
sel1<="000";
end if;
end if;
sel<=sel1;
case sel1 is
when "000" =>
d_out(3)<='0';
d_out(2)<='0';
d_out(1)<=hour(5);
d_out(0)<=hour(4);
when "001" =>
d_out<=hour(3 downto 0);
when "010" =>
d_out(3)<='0';
d_out(2)<=min(6);
d_out(1)<=min(5);
d_out(0)<=min(4);
when "011" =>
d_out<=min(3 downto 0);
when "100" =>
d_out(3)<='0';
d_out(2)<=sec(6);
d_out(1)<=sec(5);
d_out(0)<=sec(4);
when "101" =>
d_out<=sec(3 downto 0);
when others =>
null;
end case;
end if;
end process;
end xsettime_arch;

library IEEE;
use IEEE.std_logic_1164.all;
entity xdeled is
port (
d_in: in STD_LOGIC_VECTOR (3 downto 0);
a: out STD_LOGIC;
b: out STD_LOGIC;
c: out STD_LOGIC;
d: out STD_LOGIC;
e: out STD_LOGIC;
f: out STD_LOGIC;
g: out STD_LOGIC
);
end xdeled;
才五分啊,太少了吧
哥刚的

Ⅳ 求高手修改一下EDA的课程设计 题目:数字秒表;控制模块出了问题

s0已经被用过了 给它起个别的名字 ss0

Ⅵ EDA课程设计——数字电子钟 设计一个电子时钟,要求可以显示时、分、秒,用户可以设置时间。 扩展功能:秒

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity code is
port( clk: in std_logic;--电路工作时的时钟信号
clk1: in std_logic;--闹铃产生需要的时钟信号
k: in std_logic;--高电平表示输入1
led: out std_logic;--输入正确时亮
led1: out std_logic;--输入错误时亮
reset: in std_logic;-- 按下时复位
want: in std_logic;--是否修改密码
alarm: out std_logic;--输出闹铃声
show: out std_logic_vector(3 downto 0));--提示作用
end;

architecture a of code is
signal temp: std_logic_vector(3 downto 0);--输入一位加1
signal code: std_logic_vector(7 downto 0);--储存密码
signal getcode: std_logic_vector(7 downto 0);--储存修改后的密码
signal counter: std_logic_vector(3 downto 0);--计数
signal allow: std_logic;--是否允许修改密码
signal ring:std_logic;--是否接通闹铃
begin
process(clk)
begin
if ring='1' then
alarm<=clk1;--闹铃接通
else
alarm<='0';--闹铃截至
end if;
if reset='1' then--按下reset后,密码归为初始密码
getcode<="00000000";--初始密码
counter<="0000";--内部计数
code<="11001000";--密码
led<='0';
led1<='0';
allow<='0';
elsif clk'event and clk='1' then--输入clk脉冲,则接收1位密码
getcode<=getcode(6 downto 0)&k;--将这1位密码并入getcode中的最后一位
if counter="1000" then--输入为8位数码时比较
if code=getcode then
led<='1';--正确灯亮
led1<='0';
ring<='0';
allow<='1';--允许修改密码
elsif allow='1' and want='1' then--如果允许输入且想输入
code<=getcode;--输入新密码
led<='0';
led1<='0';
else
allow<='0';
led<='0';
led1<='1';--错误灯亮
ring<='1';--闹铃响
end if;
counter<="0000";--重新计数
else
counter<=counter+1; --累加
temp<=temp+1;--为防止泄露密码,特别设置
end if;
end if;
show <= temp;
end process;
end;

Ⅶ 哥,有木有EDA设计的速度表课程设计啊

EDA的 速度表。。。
来取。

Ⅷ 用EDA设计一个速度表。1.PWM调速模块的设计。2.速度测量模块的设计。3.显

前言 1
1.总体设计方案抄 2
(一)方案一:PWM波调速 2
(二)方案二:晶闸管调速 2
2.单元模块设计 3
(一) H桥驱动电路设计方案 3
(二) 调速设计方案 5
(三)系统硬件电路设计 6
1.电源电路 6
2.H桥驱动电路 6
3.基于霍尔传感器的测速模块 7
4.LCD显示模块 8
(四) 调速设计模块 9
1.PWM波软件软件设计 9
2.测速软件设计 12
3.系统功能调试 13
(一)调试软件介绍 13
(二)直流电机的调速功能仿真 14
1.调速前的波形图 14
2.调速后的波形图 14
(三)电机速度的测量并显示功能仿真 15
(四)系统的电路原理图 15
(五)系统的PCB图 16
4.设计总结 17
5.参考文献 17
附录 17

Ⅸ EDA课程设计

用单片机或者存储器.
如果不允许用,可以这样,整个过程分成24步,每步0.5秒。用几回个个4017计数器,完成计答数,然后用二极管矩阵完成译码,而且单片机的I/O就有锁存功能一般不用加,你可以用164来扩展I/O口,他也可以锁存的,宏晶的网站上有参考的电路图,你可以去看看.

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919