EDA课程设计——数字电子钟
经过两个星期对实践的制作,从中学到了很多。首先是对EDA的vhd语言的更深层次认识,本来觉得EDA编程语言比较麻烦,可是接触了以后也就觉得它还是有它方便的地方,尤其是和图形编程结合的特点。其次,这个实践其实到目前为止应该还不是一个成功的作品,还是有很多的仿真没有完成,原因可能也是自己的技术不到位。但是整个制作的过程中,它促进了同学之间的相互沟通,也让我在自己的专业知识的学习过程中,更多的,更好的学习一门知识,用于以后的实践应用中,做这个数字钟的设计中包含了很多不同功能的程序,让我在其中学到了一些程序的中的思路,特别一步一步去把错误的程序改正确是一种很有成就感的事!这样让我学到了更多的知识!特别是在做24进制的时候,我在网上查了好多程序,证实了好多错误的程序并从中更改出正确的程序!相信,现在只是一个起步,以后,我会更好的努力,学习,对EDA孰能生巧
论文撰写参考格式:
1. 数字电子钟设计的背景、意义,及目前市场的一些现有设计。
2. 数字电子钟:(1)描述所实现的功能;(2)设计的思路;(3)功能的实现程序;(4)功能的调试;(5)功能的仿真。
3. 数字电子钟的功能
(1) 基本的要求:实现时、分、秒的显示
(2) 具有秒表功能(选做)
(3) 具有整点报时功能
(4) 具有闹铃功能(选做)
4. 结合所在实践的公司生产的产品或本地电子产品市场写出进一步的分析、体会。
5. 主要参考文献。
6. 论文总字数5000字以上
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;
才五分啊,太少了吧
哥刚copy的
不好意思,这个我也帮不上忙
我不是学这个的,帮不上你。
数据结构 课程设计C语言版 本人现..跪求一道课程设计答案 有哪..位的...
t10=(int)(t\/10); \/*计算10元张数*\/ a[3]=a[3]+t10; \/*累加保存*\/ t=t-t10*10; \/*剩余工资*\/ t5=(int)(t\/5); \/*计算5元张数*\/ a[4]=a[4]+t5; \/*累加保存*\/ t=t-t5*5; \/*剩余工资*\/ t2=(int)(t\/2); \/*计算2元张数*\/ a[5]=a[5]+t2; \/*累加保存*\/ t=t-...
电子技术课程设计题目 数控滤波器 高分悬赏
3. 幅频特性电路的设计 幅频特性是指幅度随频率的变化的关系;主要原理是控制扫描信号的频率变化,检测出幅度的变化;对于幅度的检测,传统方案是使用AD,将检测的数据传入控制器,由控制器对数据进行处理,然后DA输出。
设计一用于带式运输机上的单级直齿圆柱齿轮减速器的设计任务书 带图的...
工作机所需功率: =0.96 (见课设P9) 传动装置总效率: (见课设式2-4) (见课设表12-8) 电动机的输出功率: (见课设式2-1) 取选择电动机为Y132M1-6 m型 (见课设表19-1) 技术数据:额定功率( ) 4 满载转矩( ) 960 额定转矩( ) 2.0 最大转矩( ) 2.0 Y132M1-6电动机的外型尺寸(mm): (见...
课程设计仓库管理系统的数据库制作
一、课程设计的目的《数据库原理及应用》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。本课程设计主要在于加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计开发的基本方法,达到进一步使学生综合运用所学知识和增强实际动手能力的目的。...
员工薪资管理的数据库课程设计的做法
数据库设计的基本步骤是:需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护。我不知道你说的课程设计具体指什么意思。我就写个大体做法吧。首先,做一个需求分析——调查清楚用户的实际要求,分析与表达这些要求。也就是,你要去了解该公司的成员希望你所做的数据库提供...
幼儿园大班教案
学具:两人一套数卡(3 4 7)、每人一套数卡(1 3 4 7)、笔和白纸。 活动过程设计意图: 一、在观察的基础上了解车,引出课题 1、车上有什么?汽车由几部分组成? (车轮、车灯、车门、方向盘、座位……) 小结:汽车由车头、车身、车尾三部分组成。 2、我这里还有很多汽车的图片,请你们来看看图片上的车有什...
网络工程课程设计总结
这些是从08北邮大一学生课程表上摘抄的 你可以去北邮教务处下载 下半学期多一门专业课 线性代数换成离散数学 其他一样 下载地址:\/\/jwc.bupt.cn\/new\/课表查询.asp?subdir=2008-2009%D1%A7%C4%EA%B5%DA%D2%BB%D1%A7%C6%DA 『贰』 计算机系网络工程专业课程设计 1.路由器2.办公软件 『叁』 ...
急求 机械设计课程设计说明书
查表,选择电动机,型号Y160L-8,额定功率7.5kw,额定转速720r\/min 传动比i=720\/90=8 减速器设计为单级圆柱直齿轮传动。图纸还是你自己出吧,这是一个机械专业的学生应该掌握的基本知识。我也是学机械出身的,当时做课程设计,最初也是无从下手,不过最后面还是自己做出来了。我们当时资料只能从图书...
急求机械课程设计 带式传送 2级同轴式圆柱齿轮 设计
1.2 机械设计课程的内容 选择作为机械设计课程的题目,通常是一般机械的传动装置或简单机械。 课程设计的内容通常包括:确定传动装置的总体设计方案;选择电动机;计算传动装置的运动和动力参数;传动零件、轴的设计计算;轴承、联轴器、润滑、密封和联接件的选择及校核计算;箱体结构及其附件的设计;绘制装配工作图及零件工作图;...
数字媒体艺术专业学什么?
数字媒体艺术专业学的方向是平面、摄影、动画、游戏、剪辑、特效、三维、投影技术、UI、交互技术,因为是交叉学科,所以大学课程设置多且杂。一些高校的培养方向是:游戏设计、游戏设计艺术、 影视编导、3D影视技术、网络多媒体、新媒体艺术、环境艺术设计、数字城市规划、数字传播设计、数字影视特效、广告设计...
揣逄昊方:[答案] 我不是学姐,答案我就不帮你做了,给你一些提示,希望你能独立完成. 1:先选对计数器,根据需要选择4位,8位,32位(如果没有32位的计数器可以用2个16位的计数器级联起来,第一级的计数器的高位输出驱动第二级的计数器始终) 2:10进制...
汾阳市19796907262: (EDA)电子钟的设计 - ?
揣逄昊方: 为期两周的课设已经接近尾声了,在这2周中,我学到了很多,对EDA的认识也进一步加深了.从一个刚入门的学习者,渐渐的爱上了这门技术,虽然说对于EDA的知识还有很多要学习和提高,但是在这2周中我还是感受到这门课程的魅力所在...
汾阳市19796907262: EDA设计数字时钟设计一个含有时/分/秒的时钟设计要求:1.具有'秒','分','时'时钟显示功能,在6个LED上显示小时按24小时制计时.2.具有校准功能下面程... - ?
揣逄昊方:[答案] 2.微秒模块采用VHDL语言输入方式,以时钟clk,清零信号clr以及暂停信号STOP为进程敏感变量,程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity MINSECONDb isport(clk,clrm,...
汾阳市19796907262: 求eda数字钟设计程序请根据要求在EDA实验箱上设计实用数字钟系统,要求:⑴使用EDA实验箱上的6个LED数码管从左到右依次显示有时、分、秒计数;... - ?
揣逄昊方:[答案] 1.Topclock(元件例化 顶层文件) Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_arith.all; Use ieee.std_logic_unsigned.all; Entity topclock is Port(clk,clr,en,m1,h1:in std_logic; alarm:out std_logic; secs,secg,mins,ming,hours,hourg:buffer ...
汾阳市19796907262: EDA 数字电子时钟的设计 - ?
揣逄昊方: 你应该先设计一个使用门电路实现的数字电子钟.然后再用FPGA实现它. 或者,你只是使用仿真设计软件,做一个使用门电路实现的数字电子钟.并仿真运行它.
汾阳市19796907262: 求eda数字钟设计程序 - ?
揣逄昊方: 1.Topclock(元件例化 顶层文件) Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_arith.all; Use ieee.std_logic_unsigned.all; Entity topclock is Port(clk,clr,en,m1,h1:in...
汾阳市19796907262: 利用EDA工具,用文本法或图形法设计一个能显示时、分、秒的数字电子钟?
揣逄昊方: 一、系统功能概述 数字密码锁实现:1、了不需要带钥匙,只要记住开锁密码即可3、在输入密码的过程中,不显示密码,只显示无规律的提示某位密码是否输入
汾阳市19796907262: EDA数字钟课程设计 - ?
揣逄昊方: 用数字钟专用芯片lm8560,lm8361,tms3450或者用中规模集成电路390,290,248等来实现.
汾阳市19796907262: 求 数字钟的EDA毕业设计?
揣逄昊方: 基于VHDL的多功能数字钟的设计 EDA课程设计 资料类别 课程(专业) EDA 适用年级 大学 文件格式word+DLS 文件大小 1725K 上传时间 2008-10-10 20:57:00 预览文件 无(只能预览文件中的部分内容) 下载次数 0内容简介: EDA课程设...
汾阳市19796907262: 急求EDA设计的数字钟!!可用四个七段数码管分屏显示时、分、秒,先显示时、分,按一按键后显示分、秒?
揣逄昊方: EDA的数字钟设计 . 数字钟功能介绍. 基本功能要求. 扩展功能要求. 总体方案介绍. 计时方案. 键盘/显示方案. . YOU的 设计方案 程序都有的