当前位置:文档之家› EDA课程设计——多功能数字钟

EDA课程设计——多功能数字钟

EDA课程设计——多功能数字钟
EDA课程设计——多功能数字钟

哈尔滨工业大学(威海)

电子学课程设计报告带有整点报时的数字钟设计与制作

姓名: 蒋栋栋

班级: 0802503

学号: 080250331

指导教师: 井岩

目录

一、课程设计的性质、目的和任务 (3)

二、课程设计基本要求 (3)

三、设计课题要求 (3)

四、课程设计所需要仪器 (4)

五、设计步骤 (4)

1、整体设计框图 (4)

2、各个模块的设计与仿真 (4)

2.1分频模块 (4)

2.2计数器模块 (6)

2.3控制模块 (10)

2.4数码管分配 (13)

2.5显示模块 (14)

2.6报时模块 (16)

六、调试中遇到的问题及解决的方法 (18)

七、心得体会 (18)

一、课程设计的性质、目的和任务

创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。

通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。

二、课程设计基本要求

掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。

三、设计课题要求

(1)构造一个24小时制的数字钟。要求能显示时、分、秒。

(2)要求时、分、秒能各自独立的进行调整。

(3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报时声的频率应与其它的报时声频有明显区别。

#设计提示(仅供参考):

(1)对频率输入的考虑

数字钟内所需的时钟频率有:基准时钟应为周期一秒的标准信号。报时频率可选用1KHz和2KHz左右(两种频率相差八度音,即频率相差一倍)。另外,为防止按键反跳、抖动,微动开关输入应采用寄存器输入形式,其时钟应为几十赫兹。

(2)计时部分计数器设计的考虑

分、秒计数器均为模60计数器。

小时计数为模24计数器,同理可建一个24进制计数器的模块。

(3)校时设计的考虑

数字钟校准有3个控制键:时校准、分校准和秒校准。

微动开关不工作,计数器正常工作。按下微动开关后,计数器以8Hz频率连续计数(若只按一下,则计数器增加一位),可调用元件库中的逻辑门建一个控制按键的模块,即建立开关去抖动电路(见书70页)。

(4)报时设计的考虑

可以将高频时钟分频得到约2KHz和1KHz的音频,作为数字钟的报时频率。当电子钟显示XX:59:50时,数字钟开始报时“DO",持续一秒,而且每隔一秒报一下,直至显示XX:00:00时报“DI",持续一秒后停止。最后输出至喇叭。应调用元件库中的逻辑门建一个控制报时的模块。

(5)建一个七段译码的模块

因在系统可编程器件实验箱上的数码管没有经过译码,故要用AHDL语言写一个七段译码的模块,且应考虑数码管为共阳极。数码管上的点(D2、D4、D6)应置Vcc。

四、课程设计所需要仪器

1、计算机一台

2、quartusⅡ软件

3、FPGA开发板

五、设计步骤

1、模块介绍

(1)分频模块:产生1Hz、1KHz、2KHz频率

(2)计数器模块:生成60进制、24进制计数器

(3)控制模块:按键控制、按键消抖

(4)显示模块:7段数码管显示器,分别显示小时、分钟、秒

(5)报时模块:进行整点报时

2、各个模块的设计与仿真

2.1分频模块

CLK晶振频率50MHZ,分成2KHZ,1KHZ,1HZ的信号。基准1HZ信号作为时钟计时的秒计数时钟信号;分频的1KHZ,2KHZ信号用于报时电路的不同声讯。

程序代码:

library ieee;

use ieee.std_logic_1164.all;

entity fre is

port(

clk ,sel: in std_logic;

clk1hz,clk1khz,clk2khz:out std_logic);

end fre;

architecture beh of fre is

signal data1khz,data2khz,data1hz : std_logic := '0';

begin

clk1hz <= data1hz;

clk1khz <= data1khz;

clk2khz <= data2khz;

clk1khz_pro : process(clk) --产生1khz信号 variable cnt : integer range 0 to 24999;

begin

if clk'event and clk='1' then

if cnt = 24999 then

cnt := 0 ; data1khz <= not data1khz;

else

cnt := cnt + 1;

end if;

end if;

end process clk1khz_pro;

clk2khz_pro : process(clk) --产生2khz信号 variable cnt : integer range 0 to 12499;

begin

if clk'event and clk='1' then

if cnt = 12499 then

cnt := 0 ; data2khz <= not data2khz;

else

cnt := cnt + 1;

end if;

end if;

end process clk2khz_pro;

clk1hz_pro : process(data1khz) --产生1hz 信号 variable cnt : integer range 0 to 499;

begin

if data1khz'event and data1khz='1' then

if sel='0' then cnt:=0;

else if cnt = 499 then

cnt := 0 ;data1hz <= not data1hz ;

else

cnt := cnt + 1;

end if;

end if;

end if;

end process clk1hz_pro;

end beh;

输入模块电路图:

f re

inst

clk

sel clk1hz clk1khz

clk2khz

2.2计数器模块

由秒计数器,分计数器,时计数器组成了最基本的数字钟计时电路,两个六十进制计数器与二十四进制计数器组合构成。

程序代码:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; use IEEE.STD_LOGIC_ARITH.ALL;

entity shuzizhong is port(

clk_change : in std_logic; s_en,m_en,h_en:in std_logic; sel:in std_logic;

secout,minout,hourout :out std_logic;

sl,sh,ml,mh,hl,hh:out std_logic_vector(3 downto 0); a:out std_logic_vector(15downto 0) );

end shuzizhong;

architecture behav of shuzizhong is

signal

low_rega,high_rega,low_regb,high_regb,low_regc,high_regc :std_log ic_vector(3 downto 0):="0000";

signal sout,mout,hout :std_logic :='0'; begin

--秒的60进制进制 counter_sec_l : process(clk_change,s_en) begin

sl<=low_rega;sh<=high_rega;ml<=low_regb;mh<=high_regb;hl<=low_reg c;hh<=high_regc;

if clk_change'event and clk_change='1' then

if s_en='1' then

if low_rega="1001" then

low_rega <= "0000";

else

low_rega <= low_rega+'1';

end if;

end if;

end if;

end process counter_sec_l;

counter_sec_h : process(clk_change,s_en,low_rega)

begin

if clk_change'event and clk_change='1' then

if s_en='1' then

if low_rega="1001" then

if high_rega ="0101"then

high_rega <= "0000";

else

high_rega <= high_rega+'1'; end if;

end if;

end if;

end if;

end process counter_sec_h;

sout <= '1' when low_rega="1001" and high_rega="0101" else '0';

----分钟的60进制设置

counter_min_l : process(clk_change,m_en)

begin

if clk_change'event and clk_change='1' then

if m_en='1' then

if sout='1'or sel='0' then

if low_regb="1001" then

low_regb <= "0000";

else

low_regb <= low_regb+'1';

end if;

end if;

end if;

end if;

end process counter_min_l;

counter_min_h : process(clk_change,m_en,low_regb)

begin

if clk_change'event and clk_change='1' then

if sout='1'or sel='0' then

if m_en='1' then

if low_regb="1001" then

if high_regb ="0101"then

high_regb <= "0000";

else

high_regb <= high_regb+'1'; end if;

end if;

end if;

end if;

end if;

end process counter_min_h;

mout <= '1' when low_regb="1001" and high_regb="0101"and sout='1' else '0';

--小时的24进制设置

counter_hour_l : process(clk_change,h_en)

begin

if clk_change'event and clk_change='1' then

if h_en='1' then

if mout='1'or sel='0' then

if low_regc="1001"or hout='1' then

low_regc <= "0000";

else

low_regc <= low_regc+'1';

end if;

end if;

end if;

end if;

end process counter_hour_l;

counter_hour_h : process(clk_change,h_en,hout)

begin

if clk_change'event and clk_change='1' then if mout='1'or sel='0' then

if h_en='1' then

if hout='1' then

high_regc<="0000";

else if low_regc="1001" then

high_regc <= high_regc+'1'; end if;

end if;

end if;

end if; end if; end process counter_hour_h; hout <= '1' when low_regc="0011" and high_regc="0010" else '0'; secout<=sout;minout<=mout;hourout<=hout; a<=high_regb&low_regb&high_rega&low_rega ; end behav;

输入模块电路图:

shuzizhong

inst

clk_change s_en m_en h_en sel

secout minout hourout sl[3..0]sh[3..0]ml[3..0]mh[3..0]hl[3..0]hh[3..0]a[15..0]

2.3控制模块

分五个状态0状态正常计时,按下按键进入下一状态开始调时模式1,按下按键进入调秒模式2,按下按键进入调分模式3,按下按键进入调小时模式4.按下按键恢复正常计时模式。

程序代码:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; entity key_press is

port( set ,mode: in std_logic;

clk1khz,clk1hz: in std_logic; secout,minout: in std_logic;

clk_change,clk2hz_en:out std_logic ; sel,s_ce,m_ce,h_ce:out std_logic; s_en,m_en,h_en:out std_logic ); end key_press;

architecture beh of key_press is

signal key1,key2:std_logic;

signal sce_reg, mce_reg ,hce_reg:std_logic ;

signal ssl,ssen,mmen,hhen:std_logic;

signal con : integer range 0 to 4 :=0;

--按键按下(延时)

begin

key_press2 : process(set,clk1khz)

variable cnt :integer range 0 to 999;

begin

if set='0' then

if clk1khz'event and clk1khz='1'then if cnt=50 and set='0' then

cnt :=cnt+1; key2 <= '1'; else cnt:=cnt+1;key2 <= '0';

end if;

end if;

else

cnt:=0; key2<='0';

end if;

end process key_press2;

key_press1 : process(mode,clk1khz)

variable cnt :integer range 0 to 999;

begin

if mode='0' then

if clk1khz'event and clk1khz='1'then if cnt=50 and mode='0' then

cnt :=cnt+1; key1 <= '1'; else cnt:=cnt+1;key1 <= '0';

end if;

end if;

else

cnt:=0; key1<='0';

end if;

end process key_press1;

count : process(key1,key2)

begin

if key1'event and key1='1' then

if con=4 then

con<=0;

else

con<=con+1;

end if;

end if;

end process count;

con_pro : process(con)

begin

case con is

when 0 => ssl<='1';

sce_reg <= '0';ssen <='1'; mce_reg <= '0';mmen <='1'; hce_reg <= '0';hhen <='1'; clk2hz_en <='0';

when 1 => ssl<='0';

sce_reg <= '0';ssen <='1'; mce_reg <= '0';mmen <='1'; hce_reg <= '0';hhen <='1'; clk2hz_en <='1';

when 2 => ssl<='0';

sce_reg <= '1';ssen <='1'; mce_reg <= '0';mmen <='0'; hce_reg <= '0';hhen <='0'; clk2hz_en <='1';

when 3 => ssl<='0';

sce_reg <= '0';ssen <='0'; mce_reg <= '1';mmen <='1'; hce_reg <= '0';hhen <='0'; clk2hz_en <='1';

when 4 => ssl<='0';

sce_reg <= '0';ssen <='0'; mce_reg <= '0';mmen <='0'; hce_reg <= '1';hhen <='1'; clk2hz_en <='1';

when others => ssl<='0';

sce_reg <= '0';ssen <='1'; mce_reg <= '0';mmen <='1'; hce_reg <= '0';hhen <='1'; clk2hz_en <='0';

end case;

end process con_pro;

sel_pro : process(ssl)

begin

case ssl is

when '0'=> s_ce<=sce_reg;

m_ce<=mce_reg;

h_ce<=hce_reg;

clk_change<=key2;

when '1'=> s_ce<=ssen;

m_ce<=mmen; h_ce<=hhen;

clk_change<=clk1hz; when others=> s_ce<=ssen; m_ce<=secout; h_ce<=minout;

clk_change<=clk1hz; end case; end process sel_pro;

sel<=ssl;s_en<=ssen;m_en<=mmen;h_en<=hhen; end beh;

输入模块电路图: key _press

inst

set mode clk1khz clk1hz secout minout

clk_change clk2hz_en

sel s_ce m_ce h_ce s_en m_en h_en

2.4数码管分配

程序代码:

library ieee;

use ieee.std_logic_1164.all; entity display is port(

datain : in std_logic_vector(3 downto 0); dataout : out std_logic_vector(7 downto 0)); end display;

architecture duan of display is begin

process(datain) begin

case datain is

when "0000" => dataout <="11000000"; --dp,g,f,e,d,c,b,a when "0001" => dataout <="11111001";

when "0010" => dataout <="10100100";

when "0011" => dataout <="10110000";

when "0100" => dataout <="10011001";

when "0101" => dataout <="10010010";

when "0110" => dataout <="10000010";

when "0111" => dataout <="11111000";

when "1000" => dataout <="10000000";

when "1001" => dataout <="10010000";

when "1010" => dataout <="10111111";

when "1011" => dataout <="10000011";

when "1100" => dataout <="10100111";

when "1101" => dataout <="10100001";

when "1110" => dataout <="10000110";

when "1111" => dataout <="10001110";

when others => null;

end case;

end process;

end ;

输入模块电路图:

display

datain[3..0]dataout[7..0]

inst

2.5显示模块

使用七段数码管显示小时、分钟与秒

程序代码:

library ieee;

use ieee.std_logic_1164.all;

entity scan is

port(

clk1khz : in std_logic;

sl,sh,ml,mh,hl,hh : in std_logic_vector(3 downto 0);

clk2hz_en : in std_logic;

s_ce,m_ce,h_ce : in std_logic;

en_out : out std_logic_vector(7 downto 0);

dataout : out std_logic_vector(3 downto 0));

end scan;

architecture beh of scan is

signal cnt : integer range 0 to 7;

signal en : std_logic_vector(7 downto 0); signal clk2hz : std_logic;

signal h_ce_reg,m_ce_reg,s_ce_reg : std_logic;

begin

h_ce_reg <= not h_ce;

m_ce_reg <= not m_ce;

s_ce_reg <= not s_ce;

cnt_pro : process(clk1khz)

begin

if clk1khz'event and clk1khz='1' then

if cnt = 7 then

cnt <= 0;

else

cnt <= cnt + 1;

end if;

end if;

end process cnt_pro;

clk2hz_pro :process(clk1khz)

variable c : integer range 0 to 499 := 0;

begin

if clk1khz'event and clk1khz='1' then

if clk2hz_en ='1' then

if c =499 then

c := 0 ; clk2hz <= not clk2hz;

else

c := c + 1;

end if;

else

clk2hz <= '0';

end if;

end if;

end process clk2hz_pro;

scan_pro : process(cnt,sl,sh,ml,mh,hl,hh)

begin

case cnt is

when 0 => dataout <= sl;en <= "11111110";

when 1 => dataout <= sh;en <= "11111101";

when 2 => dataout <= ml;en <= "11110111";

when 3 => dataout <= mh;en <= "11101111";

when 4 => dataout <= hl;en <= "10111111";

when 5 => dataout <= hh;en <= "01111111";

when 6 => dataout <= "1010";en <= "11111011"; when 7 => dataout <= "1010";en <= "11011111"; when others => null; end case;

end process scan_pro;

en_out <= en or ((clk2hz & clk2hz) or (h_ce_reg & h_ce_reg)) & clk2hz & ((clk2hz & clk2hz) or (m_ce_reg & m_ce_reg)) & clk2hz & ((clk2hz & clk2hz) or (s_ce_reg & s_ce_reg)); end beh;

输入模块电路图:

scan

inst

clk1khz sl[3..0]sh[3..0]ml[3..0]mh[3..0]hl[3..0]hh[3..0]clk2hz_en s_ce m_ce h_ce en_out[7..0]dataout[3..0]

2.6报时模块

利用蜂鸣器进行整点报时

程序代码:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; use IEEE.STD_LOGIC_ARITH.ALL;

--整点报时 entity baoshi is port(

clk1khz,clk2khz : in std_logic;

a:in std_logic_vector(15 downto 0); sel:in std_logic; bell:out std_logic); end baoshi;

architecture zhong of baoshi is

signal c1,ring:std_logic; begin

ring_bell :process(clk1khz,clk2khz)

begin

case a is

when "0101100101010000" => c1<=clk1khz; when "0101100101010010" => c1<=clk1khz; when "0101100101010100" => c1<=clk1khz; when "0101100101010110" => c1<=clk1khz; when "0101100101011000" => c1<=clk1khz; when "0000000000000000" => c1<=clk2khz; when "0011000000000000" => c1<=clk2khz; when others => c1<='0'; end case;

end process ring_bell;

bs: process(c1) begin

if sel='1' then if c1='1' then ring<='0'; else ring<='1'; end if; end if;

end process bs; bell<=ring;

end zhong;

输入模块电路图:

baoshi

inst

clk1khz clk2khz a[15..0]sel

bell

整体模块电路图

六、调试中遇到的问题及解决的方法:

1、编程时,经常导致语法错误,如:“;”没有写上,变量类型没有预先标明,前后变量名字由于缺少一个或多一个字母而导致出错。

解决办法:对照错误,认真检查程序,看哪个地方的标点,变量没有写上或标明。

2、进行编译或波形仿真时,经常得到的不是预想中的结果。

解决办法:将需要编译或进行仿真的实体文件置顶,经检错无误后,进行波形仿真,在仿真之前需要合理设置仿真结束时间和信号周期。

3、在控制时间的显示的时候,由于变量太多多发现不能完全的控制住变量,导致显示的时候出现了乱码,数码管显示不正常

解决办法:减少变量,仔细推敲,合理命名。

七、心得体会

一个多星期的课程设计让我受益匪浅,也让我真正明白理论与实践相结合的重要性。通过具体实践才能让自己清楚哪些知识已经掌握,哪些知识仍需巩固加强。与此同时,我也对EDA以及VHDL语言有了进一步了解,对于其结构、语法、功能等认识不少。当然,我目前所做的还仅仅只是一些基本操作,要想真正将其融会贯通还需要今后更多的学习与实践。

虽然只是一个小设计,我却也从中学到了不少设计流程和一些相关问题。设计是一个十分严谨的过程,容不得随意和马虎。要想快速而高效地完成一项设计,必须先有一个清晰明了的设计思路,设想好一个整体框架,然后在此基础上,逐渐将各个部分功能进行完善。

在设计的过程中,也曾遇到不少困难,但正所谓坚持就是胜利,要想取得成功,必须要有努力付出,这样所取得的结果才更有意义。

eda课程设计报告多功能数字钟设计大学论文

湖北大学物电学院EDA课程设计报告(论文) 题目:多功能数字钟设计 专业班级: 14微电子科学与工程 姓名:黄山 时间:2016年12月20日 指导教师:万美琳卢仕 完成日期:2015年12月20日

多功能数字钟设计任务书 1.设计目的与要求 了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解 2.设计内容 1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开; 2,能用按键调时调分; 3,能整点报时,到达整点时,蜂鸣器响一秒; 4,拓展功能:秒表,闹钟,闹钟可调 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。

目录(四号仿宋_GB2312加粗居中) (空一行) 1 引言 (1) 2 总体设计方案 (1) 2.1 设计思路 (1) 2.2总体设计框图 (2) 3设计原理分析 (3) 3.1分频器 (4) 3.2计时器和时间调节 (4) 3.3秒表模块 (5) 3.4状态机模块 (6) 3.5数码管显示模块 (7) 3.6顶层模块 (8) 3.7管脚绑定和顶层原理图 (9) 4 总结与体会 (11)

多功能电子表 摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能 关键词:Verilog语言,多功能数字钟,数码管显示; 1 引言 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然 2 总体设计方案 2.1 设计思路 根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。这些模块在顶层原理图中相互连接作用 3 设计原理分析 3.1 分频器 分频模块:将20Mhz晶振分频为1hz,100hz,1000hz分别用于计数模块,秒表模块,状态机模块 module oclk(CLK,oclk,rst,clk_10,clk_100); input CLK,rst; output oclk,clk_10,clk_100;

EDA综合课程设计_数字时钟设计一、题_001

EDA综合课程设计-数字时钟设计 一、题目要求 1、功能 1)具有时、分、秒计数显示功能,以24小时循环计时。 2)时钟计数显示时有LED灯的花样显示。 3)具有调节小时、分钟、秒及清零的功能。 4)具有整点报时功能。 2、总体方框图 3、性能指标及功能设计 1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分——60进制计数,即从0到59循环计数,时钟——24进制计数,即从0到23循环计数,并且在数码管上显示数值。 2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。 3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己任意时间的复位。 4)蜂鸣器在整点时有报时信号产生,蜂鸣器报警。产生“滴答.滴答”的报警声音。 5)LED灯在时钟显示时有花样显示信号产生。即根据进位情况,LED不停的闪烁,从而产生“花样”信号。

根据总体方框图及各部分分配的功能可知,本系统可以由秒计数器、分钟计数器、小时计数器、整点报时、分的调整以及小时的调整和一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方法。显示:小时采用24进制,而分钟均是采用6进制和10进制的组合。 数字时钟系统顶层原理图

多功能数字时钟的课程设计报告 1、本设计可以实现的功能 1)具有时、分、秒计数显示功能,以24小时循环计时。 2)时钟计数显示时有LED灯的花样显示。 3)具有调节小时、分钟及清零的功能。 4)具有整点报时功能。 2、初步设计的总体方框图 3、性能指标及功能设计 1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分——60进制计数,即从0到59循环计数,时钟——24进制计数,即从0到23循环计数,并且在数码管上显示数值。 2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的K1-K7进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。 3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。

EDA多功能数字钟设计

EDA设计(二) ——多功能数字钟设计 姓名:周婷婷 学号:0904220116 院系:电光学院

指导老师:花汉兵蒋立平 完成时间:2011年12月15号 多功能数字钟设计 摘要 该实验时利用QuartusII软件设计一个数字钟,进行实验设计和仿真调试,实现了计时,校时,校分,清零,保持和整点报时等多种基本功能,并下载到SmartSOPC实验系统中进行调试和验证。此外还添加了星期功能,使得设计的数字钟功能更加完善。 Abstract :This experiment is to design a digital clock which is based on Quartus software and in which many basic functions like time-counting , hour-correcting , minute-correcting , reset , timing-holding and belling on the hour. And then validated the design on the experimental board . In addition, additional functions like reseting the week make this digital clock a perfect one.

目录 1.设计要求 (4) 2.工作原理 (4) 3.各模块说明 (5) 1)分频模块 (5) 2)计时模块 (9) 3)显示模块 (11) 4)校分与校时模块 (11) 5)清零模块 (12) 6)保持模块 (13) 7)报时模块 (13) 4.扩展模块 (13) 1)星期模块 (13) 5.调试、编程下载 (14) 6.实验中出现问题及解决办法 (14) 7.实验收获与感受 (14)

EDA课程设计——多功能数字钟

哈尔滨工业大学(威海) 电子学课程设计报告带有整点报时的数字钟设计与制作 姓名: 蒋栋栋 班级: 0802503 学号: 080250331 指导教师: 井岩

目录 一、课程设计的性质、目的和任务 (3) 二、课程设计基本要求 (3) 三、设计课题要求 (3) 四、课程设计所需要仪器 (4) 五、设计步骤 (4) 1、整体设计框图 (4) 2、各个模块的设计与仿真 (4) 2.1分频模块 (4) 2.2计数器模块 (6) 2.3控制模块 (10) 2.4数码管分配 (13) 2.5显示模块 (14) 2.6报时模块 (16) 六、调试中遇到的问题及解决的方法 (18) 七、心得体会 (18)

一、课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 二、课程设计基本要求 掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。 三、设计课题要求 (1)构造一个24小时制的数字钟。要求能显示时、分、秒。 (2)要求时、分、秒能各自独立的进行调整。 (3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报时声的频率应与其它的报时声频有明显区别。 #设计提示(仅供参考): (1)对频率输入的考虑 数字钟内所需的时钟频率有:基准时钟应为周期一秒的标准信号。报时频率可选用1KHz和2KHz左右(两种频率相差八度音,即频率相差一倍)。另外,为防止按键反跳、抖动,微动开关输入应采用寄存器输入形式,其时钟应为几十赫兹。 (2)计时部分计数器设计的考虑 分、秒计数器均为模60计数器。 小时计数为模24计数器,同理可建一个24进制计数器的模块。 (3)校时设计的考虑 数字钟校准有3个控制键:时校准、分校准和秒校准。 微动开关不工作,计数器正常工作。按下微动开关后,计数器以8Hz频率连续计数(若只按一下,则计数器增加一位),可调用元件库中的逻辑门建一个控制按键的模块,即建立开关去抖动电路(见书70页)。 (4)报时设计的考虑

EDA设计_多功能数字钟设计

EDA设计(二)课程设计报告 理工大学 2013 年09 月

目录 摘要及关键字 (3) 一.设计要求 (3) 二.总体方案设计 (3) 三.各子模块设计原理 (4) 1.分频部分 (4) 2.输入部分 (5) 1.防抖模块 (5) 2.输入模块 (6) 3.计时部分 (6) 1.模60的计数器 (6) 2.模24的计数器 (7) 3.校准模块 (7) 4.计时模块 (8) 4.显示部分 (9) 1.显示模块 (9) (1)6选1数据选择器 (10) (2)4-7译码器 (10) 5.闹钟部分 (10) 1.比较模块 (11) 2.选择器 (11) 6.报时部分 (13) 四. 硬件下载与测试 (15)

1.硬件下载 (15) 2.测试 (15) 3.功能扩展 (16) 五.结论 (16) 参考文献 (16) 数字电子钟的设计 摘要及关键字: 数字电子钟是生活中最常用的电子设备之一,其主要功能是能够显示时、分、秒实时信息,并能够方便地进行时、分、秒的初始值设置,以便时间校准。 实现数字电子钟有很多方法,本课程是采用VHDL硬件语言的强大描述能力和EDA工具的结合在电子设计领域来设计一个具有多功能的数字电子钟。 关键字:数字电子钟VHDL硬件语言EDA工具 一.设计要求: 1.设计一个电子钟能够显示时,分,秒;24小时循环显示。 2.电子钟有校时,校分,清零,保持,整点报时和闹钟的功能,具体如下: (1)数字钟最大计时显示23点59分59秒。 (2)在数字钟正常工作时可以对数字钟进行快速校时,校分,即拨动开关K7可以对时进行校正,拨动开关K6可以对分进行校正。 (3)在数字中正常工作情况下可以对其进行不断地复位,即拨动开关K5可以是时,分,秒显示回零。 (4)在数字钟正常工作时拨动开关K4可以使数字钟保持原有显示,停止计时。 (5)整点报时是要求数字钟在每小时整点到来前进行鸣叫,鸣叫频率是在59:53, 59:55, 59:57 为1kHz,59:59为2kHz。 (6)当开关K8等于0就可以看到正常计数时钟界面,有

fpga数字钟课程设计报告

f p g a数字钟课程设计报告 Prepared on 24 November 2020

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

基于eda的多功能数字钟设计

目录 一.设计说明 (1) I.功能说明 (1) II.功能简介 (1) 二.总体方案分析 (3) 三.各子模块设计原理 (3) I.脉冲分频模块 (3) II.时钟计时模块(包含校定和清零功能) (4) III.显示控制电路 (7) IV.显示模块和计时模块结合 (11) V.整点报时模块 (11) VI.闹钟模块 (13) 四.调试与仿真 (17) I.脉冲发生模块 (17) II.计时电路 (18) III.仿真 (18) 五.收获与体会 (19) 六.附录 (20)

一.设计说明 I.功能说明: 设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与闹钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校时间,每逢整点,产生报时音报时。系统框图如图1-1所示: 图1-1 多功能数字钟系统框图 II.功能简介 此设计问题可分为主控电路、计数器模块和扫描显示三大部,主控电路中各种特殊功能的实现设计问题的关键。 用两个电平信号A、B进行模式选择,AB=00为模式0,系统为计时状态;AB=01为模式1,系统为手动校时状态;AB=10为模式2,系统为闹钟设置状态。 设置一个cd信号,当cd=00时,表示在手动校对时,选择调整时部分;当cd=01时,表示在手动校对时,选择调整分钟部分;。当cd=10时,表示在手动校对时,选择调整秒部分 设置一个change信号,在手动校时或闹钟设置模式下,每按一次,计数器

加1。 设置一个reset信号,当reset=0时,整个系统复位;当reset=1时,系统进行计时或其他特殊功能操作。 设置一个闹钟设置信号reset1,当reset1=1时,对闹钟进行设置,当reset1=0时,关闭闹钟信号。 设置一个E信号,当E=0时,表示在手动校对时,选择调整时部分;当E=1时,表示在手动校对时,选择调整分钟部分 设置状态显示信号(连发光二极管):LD_alert指示是否设置了闹铃功能;LD_h指示当前调整的是小时信号;LD_m指示当前调整的是分钟信号。 当闹钟功能设置后(LD_alert=1),系统应启动一个比较电路,当计时与预设闹铃时间相等时,启动闹铃声,直到关闭闹铃信号有效。 整点报时部分由分和秒计时同时为0(或60)启动,与闹铃共用一个扬声器驱动信号out。 系统计时时钟为clk=1Hz,选择另一时钟clk_lk=1kHz作为产生闹铃声、报时音的时钟信号。 主控电路状态表如表1-1所示。硬件系统示意图如图1-2所示。 表 1-1 数字钟主控电路状态表

推荐-基于多功能数字钟的课程设计报告 精品

EDA技术课程设计 多功能数字钟 学院:城市学院 专业、班级: 姓名: 指导老师: 20XX年12月

目录 1、设计任务与要求 (2) 2、总体框图 (2) 3、选择器件 (2) 4、功能模块 (3) (1)时钟记数模块 (3) (2)整点报时驱动信号产生模块 (6) (3)八段共阴扫描数码管的片选驱动信号输出模块 (7) (4)驱动八段字形译码输出模块 (8) (5)高3位数和低4位数并置输出模块 (9) 5、总体设计电路图 (10) (1)仿真图 (10) (2)电路图 (10) 6、设计心得体会 (11)

一、设计任务与要求 1、具有时、分、秒记数显示功能,以24小时循环计时。 2、要求数字钟具有清零、调节小时、分钟功能。 3、具有整点报时,整点报时的同时输出喇叭有音乐响起。 二、总体框图 多功能数字钟总体框图如下图所示。它由时钟记数模块(包括hour、minute、second 三个小模块)、驱动8位八段共阴扫描数码管的片选驱动信号输出模块(seltime)、驱动八段字形译码输出模块(deled)、整点报时驱动信号产生模块(alart)。 系统总体框图 三、选择器件 网络线若干、共阴八段数码管4个、蜂鸣器、hour(24进制记数器)、minute(60进制记数器)、second(60进制记数器)、alert(整点报时驱动信号产生模块)、 seltime(驱动4位八段共阴扫描数码管的片选 驱动信号输出模块)、deled(驱动八段字形译 码输出模块)。

四、功能模块 多功能数字钟中的时钟记数模块、驱动8位八段共阴扫描数码管的片选驱动信号输出模块、驱动八段字形译码输出模块、整点报时驱动信号产生模块。 (1) 时钟记数模块: <1.1>该模块的功能是:在时钟信号(CLK)的作用下可以生成波形;在清零信号(RESET)作用下,即可清零。 VHDL程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity hour24 is port( clk: in std_logic; reset:instd_logic; qh:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); ql:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); end hour24; architecture behav of hour24 is begin process(reset,clk) begin if reset='1' then qh<="000"; ql<="0000"; elsif(clk'event and clk='1') then if (qh<2) then if (ql=9) then ql<="0000"; qh<=qh + 1; else ql<=ql+1; end if; else if (ql=3) then ql<="0000"; qh<="000"; else ql<=ql+1; end if; end if; end if; end process; end behav; 仿真波形如下:

EDA数字时钟课程设计报告

EDA技术及应用课程设计说明书 2013 届电子信息工程专业班级 题目数字时钟 学号 姓名 指导教师 二О一五年月日

一、基本原理 一个完整的时钟应由三部分组成:秒脉冲发生电路、计数显示部分和时钟调整部分。 秒脉冲发生电路原理:一个时钟的准确与否主要取决于秒脉冲的精确度。为了保证计时准确我们对系统时钟48MHz进行了48000000分频,从而得到1Hz的秒脉冲。 计数显示部分原理:显示部分是用数码管LED实现的,这里使用的是共阳极的数码管如图所示8个数码管,其中左边两个数码管用来显示时的个位和十位、中间的显示分的个位和十位、最右边两个显示分的个位和十位。 时钟调整部分原理:校时电路里定义key[0]、key[1]和k2、k3分别用于控制时钟的计时开始、清零和调整功能中的时的加1、分的加1处理,从而完成对现在的时间调整。本实验电路校时电路在此完成了暂停、清零、时调整和分调整。

二、硬件设计 芯片图: 图1 数字时钟原理图 程序的调试工作都是在电脑上完成的,通过程序的输入、原理图的建立、管脚分配、编译、仿真、再下载到芯片进行运行。

电路中采用共阳极连接的七段数码管,通过程序的控制扫描驱动来显示时钟的时-分-秒。

程序中的按键设定为K1暂停、K2清零、K3调时、K4调分元件清单: 三、数字时钟的Verilog实现 管脚的分配: 程序: module clock(clk,s1,,s2,key,dig,seg); //模块名clock input clk,s1,s2; //输入时钟 input[1:0]key; //输入按键 output[7:0]dig; //数码管选择输出引脚

EDA课程设计-多功能数字钟

EDA课程设计 实用多功能数字钟 学院:机械与电子工程学院 专业:电子科学与技术 班级: 学号: 姓名: 指导教师: 2012年1月13日

摘要:本次课程设计用Verilog语言,选择Quartus II 开发工具来设计多功能数字钟。就在前不久,我们还刚刚完成了单片机的多功能时钟的设计,继而又做EDA电子钟实验。通过两者之间的对比可以发现EDA的许多特点。电子设计自动化(EDA Electronic Design Automation)技术是一种以计算机作为工作平台,以EDA软件工具为开发环境,以硬件描述语言和原理图描述为设计入口,以可编程逻辑器为实验载体,以ASIC、SOC和SOPC嵌入式系统为设计目标,以数字系统系统设计为应用方向的电子产品自动化设计技术。而QuartusⅡ是Altera 公司推出的的第四代PLD开发系统。主要用于设计新器件和大规模CPLD/FPGA。使用QuartusⅡ的设计者不需精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,QuartusⅡ把这些设计转自动换成最终所需的格式。设计方法分为:硬件描述语言,verilog语言描述。verilog语言描述可能精确和简练地表示电路的逻辑功能,现在PLD的设计过程中广泛使用。以上是对EDA和QuartusⅡ的了解。本次EDA的课程设计虽然时间有限,但是设计的题目《多功能数字钟》很贴近人的日常生活,让我们学生对最基本的电子产品有个深入的认识。本次的课程设计是基于Verilog HDL的多功能数字钟,完成时、分、秒的显示功能。设计利用Verilog HDL语言自顶向下的设计理念,突出其作为硬件描述语言的良好的可读性、可移植性以及易于理解等优点。整个程序语言功能主要包含计时,闹钟,校时,整点报时等功能。 关键词:EDA软件,Verilog语言,Quartus II 开发工具,多功能时钟

EDA课程设计报告(电子钟VHDL 设计)

EDA课程设计报告(电子钟VHDL 设计) 作者:dang168 时间:2008-10-05 E D A课程设计报告 -----电子钟VHDL 设计 一设计要求 设计一个电子钟,要求可以显示时、分、秒,用户可以设置时间. 二.实验目的 1. 掌握多位计数器相连的设计方法。 2. 掌握十六进制,二十四进制,六十进制计数器的设计方法。 3. 掌握CPLD技术的层次化设计方法。 4. 了解软件的元件管理含义以及模块元件之间的连接概念。 5. 掌握电子电路一般的设计方法,并了解电子产品的研制开发过程,基本掌握电子电路安装和调试的方法。 6. 培养独立分析问题,解决问题的能力。 三.硬件要求 1.8位8段扫描共阴极数码显示管。 2. 三个按键开关(清零,调小时,调分钟)。 四.设计原理 数字钟是一个将“时”“分”“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时;显示满刻度为23时59分59秒,另外具备校时功能和报时功能。因此,一个基本的数字钟电路主要由“时”“分”“秒”计数器校时电路组成。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累加60秒发送一个“分脉冲”信号,该信号将被送到“时计数

器”。“时计数器”采用24进制计数器,可实现对一天24小时的累计。译码显示电路将“时”“分”“秒”计数器的输出状态六段显示译码器译码。通过六位LED七段显示器显示出来。校时电路器是用来 对“时”“分”“秒”显示数字进行校时调整的。 在同一CPLD芯片口集成如下电路模块: 1.电子钟计数采用层次化设计,将设计任务分成若干个模块。规定每一模块的功能和各模块之间的接口。 (1)second(秒) 60进制BCD码计数 (2)minute(分) 60进制BCD码计数 (3)hour (时) 24进制BCD码计数 (4)clock top 顶层设计 同时整个计数器有清零,调时,调分功能。 2.端口引脚名称  输入 clk,reset,setmin,sethour  输出 second—daout,minute-daout,hour-daout 五.设计原理图 逻辑功能图: 输入:CLK—时钟脉冲,RESET—复位信号,SETMIN—分加1信号,SETHOUR—秒加1信号 输出:SECOND_DAOUT—秒输出,MINUTE_DAOUT—分输出,

eda 实现多功能数字钟

一、标题:EDA实现多功能数字钟 二、任务书:设计要求是用FPGA器件和EDA技术实现多功能数字钟的设计, ⑴控制功能包括①以数字形式显示时、分、秒的时间;②小时计数 器为24进制;③分、秒计数器为60进制;④有两个使能端起到校 时、校分的作用,同时按无效;⑤每小时的59分51、53、55、57、 59分别以四长声一短声进行模拟电台仿真;⑥让信号灯在晚上19 点至早上5点亮;⑵在Max+plusⅡ软件系统平台上建立多功能数 字钟电路的顶层电路文件并完成编译和仿真,并对器件进行下载检 查。 三、关键词:数字钟原理电路编译仿真下载 四、数字钟电路系统的组成框图: 五、各功能模块设计、仿真波形及其分析说明: 1、小时计时模块:

仿真波形: 分析说明: 当小时的高四位为0、1时,小时的低四位为九时,在下一个时钟的上跳延来了之后,高四位加一;当小时的高四位为2,同时低四位为3时,小时的高低 四位都清零。实现从00到23的循环计数。

2、分钟计时模块: 仿真波形: 分析说明: 当分钟的高四位为0、1、2、3、4时,小时的低四位为九时,在下一个时钟的上跳延来了之后,高四位加一;当分钟的高四位为5时,同时低四位为9时,

分钟的高低四位都清零,实现从00到59的循环计数。 3、秒计时模块(与分计时模块相同); 4、校时、校分模块: 仿真波形:

分析说明: SWM、SWH两开关先设置1,秒时钟,分时钟,小时时钟分别设置为不同频率的时钟,当开关SWM置0即按下时,秒时钟CPS对分钟进行校对,即如图所示CPM在SWM为0时频率与CPS相同;同理,当SWH为0时用秒时钟对小时进行校对,即CPH在SWH为0时频率与CPS相同。当SWM、SWH 都不为0时,分钟、小时正常计时。 5、整点报时模块:

EDA数字钟课程设计

课程设计报告 设计题目:用VHDL语言实现数字钟的设计 班级:电子1002班 学号:20102625 姓名:于晓 指导教师:李世平、李宁 设计时间:2012年12月

摘要 数字钟是一种用数字电路技术实现时、分、秒计时的钟表。本设计主要是实现数字钟的功能,程序用VHDL语言编写,整体采用TOP-TO-DOWN设计思路,具有基本的显示年月日时分秒和星期的功能,此外还有整点报时功能。该数字钟的实现程序分为顶层模块、年月模块、日模块、时分秒定时模块、数码管显示模块、分频模块、星期模块,此外还有一个库。该程序主要是用了元件例化的方法,此外还有进程等重要语句。 没有脉冲时,显示时分秒,set按钮产生第一个脉冲时,显示年月日,第2个脉冲到来时可预置年份,第3个脉冲到来时可预置月份,依次第4、5、6、7、8个脉冲到来时分别可预置日期、时、分、秒、星期,第 9个脉冲到来时设置星期后预置结束,正常工作,显示的是时分秒和星期。调整设置通过Up来控制,UP为高电平,upclk有脉冲到达时,预置位加1,否则减1。当整点到达时,报时器会鸣响,然后手动按键停止报时。 关键词:数字钟,VHDL,元件例化,数码管

1、课程设计目的 掌握利用可编程逻辑器件和EDA设计工具进行电子系统设计的方法 2、课程设计内容及要求 设计实现一个具有带预置数的数字钟,具有显示年月日时分秒的功能。用6个数码管显示时分秒,set按钮产生第一个脉冲时,显示切换年月日,第2个脉冲到来时可预置年份,第3个脉冲到来时可预置月份,依次第4、5、6、7个脉冲到来时分别可预置日期、时、分、秒,第 8个脉冲到来后预置结束,正常工作,显示的是时分秒。Up为高电平时,upclk有脉冲到达时,预置位加1.否则减1,还可以在此基础上增加其它功能。 3、VHDL程序设计 3.1整体设计思路 本设计采用top-down 模式设计,分模块进行,各功能都使用元件例化方式设计,主要有LED显示模块、时分秒定时模块、日期模块、年月模块、分频模块、星期模块,此外还创建了一个程序包,用来实现年月日、时分秒的加减调整。主要运用了过程语句、元件例化语句、信号赋值语句、和顺序语句

南理工EDA2多功能数字钟设计实验报告(蒋立平)——优秀

EDAⅡ实验报告 --多功能数字钟 学院专业: 学生学号: 指导老师:蒋立平 交稿时间:2012年3月25日

摘要 本实验借助于quartusⅡ软件设计一个多功能的数字时钟,具有24小时计时、星期显示、保持、清零、校分校时校星期、整点报时等基本功能,并在此基础上添加了闹钟、音乐闹钟、秒表等附加功能。同时,留有万年历的接口可以方便的进行扩展。.利用quartusⅡ进行相应的设计、仿真、调试,最后下载到SmartSOPC实验系统上验证设计的正确性。 关键词:多功能数字时钟,quartusⅡ,计时,星期显示,整点报时,闹钟,秒表 ABSTRACT This experiment is to design a multifunctional digital clock with quartus Ⅱ.The multifunctional digital clock has varities of the functions like 24-hour timer,week,keeping,clearing zero,adjusting time and chime on integral hour .It also include additional functions such as alarm clock,stopwatch and so on.At the sametimes,it can be added calendar.we designed and simulated with quartusⅡ.Finally downloaded it to the experiment platform to test. Key words:multifunctional digital clock,quartusⅡ,time,week,chime on integral hour, alarm clock,stopwatch

数字钟的设计.EDA课程设计

EDA 课程设计报告书 课题名称 数字钟的设计 姓 名 王砾 学 号 0812201-37 院 系 物理与电信工程系 专 业 电子信息工程 指导教师 周来秀讲师 2011年 6月13日 ※※※※※※※※※ ※※ ※※ ※ ※ ※※※※※※※※※ 2008级学生 EDA 课程设计

一、设计任务及要求: 设计并制作一台能显示时、分、秒的数字钟。具体要求如下: 1)计时计数器用24进制计时器电路。 2)可手动校时,能清零及分别进行时、分、秒的校正。 3)可整点报时,扬声器发出时长为1s的信号。 4)可设置闹钟功能。当计时计到预定时间时,扬声器发出闹铃信号,可控制闹铃时长。 指导教师签名: 2011 年月日二、指导教师评语: 指导教师签名: 2011年月日三、成绩 验收盖章 2011年月日

数字钟的设计 王砾 (湖南城市学院物理与电信工程系电子信息工程专业,湖南益阳,41300) 1设计目的 1,熟练的运用数字系统的设计方法进行数字时钟设计 2,能进行较复杂的数字系统设计 3,按要求设计一个数字钟 2设计的主要内容和要求 a.计时计数器用24进制计时器电路。 b.可手动校时,能清零及分别进行时、分、秒的校正。 c.可整点报时,扬声器发出时长为1s的信号。 d.可设置闹钟功能。当计时计到预定时间时,扬声器发出闹铃信号,可控制闹 铃时长。 3 整体设计方案 基于VHDL语言,用Top_Down的思想进行设计,其中计数模块、闹铃模块、定时模块、显示模块为主要模块,选择模块为辅助模块。

en1 en2clr clk rco q1[3..0]q2[3..0]count_60 inst 选择模块 定时模块 显示模块 闹铃模块计数模块选择模块 数码显示管 4 硬件电路的设计 4.1如下分别为60与24进制模块的代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity count_60 is port(en1,en2,clr,clk : in std_logic; rco : out std_logic; q1,q2 : out std_logic_vector(3 downto 0)); end count_60; architecture behav of count_60 is signal iq1,iq2 : std_logic_vector(3 downto 0); begin process(en1,en2,clr,clk) begin if(clr='1')then iq1<="0000"; iq2<="0000"; elsif(clk='1' and clk'event)then if(en1 or en2)='1'then if(iq2>=5)then

EDA课程设计 多功能数字钟设计程序清单 数字系统设计与verilog HDL(第四版) 王金明

EDA课程设计 多功能数字钟设计程序清单 数字系统设计与verilog HDL(第四版) 王金明 /*引脚锁定基于DE2一70,芯片为EP2C70F896,信号定义如下: Clk50m: 50MHz 时钟输, mode: 模式选择0:计时模式1:设置闹钟模式 mcheck: 手动调整时间 turn: 手动调整时间,在时、分之间选择 change: 对选中的数据调整 led hourl,led_hour0,led_minul,led_minu0,led_secl,led sec0; alert: 闹钟输出 ld_alert: 是否设置了闹钟 ld_hour,id_min,ld_sec:在调整时,指示选中了时,分还是秒*/ moduleclock(clk50m,mode,turn,change,mreset,led_hour1,led_hour0,led_minu1,led _minu0,led_sec1,led_sec0, alert,ld_alert,ld_check,ld_hour,ld_min,ld_sec); input clk50m; input mode; // key0键 input turn; //keyl键 input change; // key2 键 input mreset; //switch0复位,低电平有效 output alert; //gpioO->IOAO output ld_alert; //ledgO-led19 output ld_check; //ledgl-led22 output ld_hour; //ledr3-led13 output ld_min; //ledr9-led9

EDA多功能数字时钟设计实验报告

EDA(一)设计(2)之 多 功 能 数 字 钟 南京理工大学 电子科学与光电技术学院2005级 作者: 高策学号: 0504220224 同组: 黄文浩学号: 0504220242 指导教师:蒋立平时间:08-3-18

目录 内容摘要 (3) 一.引言 (4) 二、实验要求 (4) 三、方案论证 (5) 四、各模块设计 (6) 1、分频器模块 (6) 2、计时模块 (8) 3、闹铃模块 (10) 4、彩铃模块 (12) 5、显示模块 (13) 6、整点报时模块 (14) 7、秒表模块 (15) 8、万年历模块 (16) 9、动态显示模块 (19) 10、闪烁模块 (20) 五、整体电路功能综述 (22) 六、实验中的问题及解决方法 (24) 七、总结体会 (25) 八、实验的收获与感受 (26)

中文摘要 本实验利用QuartusII软件,结合所学的数字电路的知识设计一个24时多功能数字钟,具有正常分、秒计时,动态显示,保持、清零、快速校分、整点报时、闹钟功能。 文章分析了整个电路的工作原理,还分别说明了各子模块的设计原理和调试、仿真、编程下载的过程,并对最终结果进行总结,最后提出了在实验过程中出现的问题和解决的方案。 通过实验掌握了一些逻辑组合器件的基本功能和用法,同时体会到了利用软件设计电路的方便快捷,避免了硬件布线的繁琐,提高了效率。 关键词数字计数器动态显示保持清零快速校分整点报时闹钟软件设计 外文摘要 Title DIGITAL CLOCK DESIGN PROPOSAl Abstract Using the QuartusII, we design a digital clock of 24 hours with learning electric circuit knowledge. The circuit can keep the time, display, reset, adjust the minute and hour, ring the time in the round number time and alarm clock. The paper has analyzed the principle of all work and explained the designing principle of different parts separately. By debugging, simulating, compiling, programming, I put forward a matter and give a settling plan. I know about the basic functions and using method of some electric pieces in this experiment. At the same time, I realized the convenience of making use of the software to carry on the electric circuit, which is fast, avoided the hardware cloth line tedious, and raised the efficiency. Keywords digital counter, dynamic display, keep, clear, check time, time, alarm clock,software design

EDA课设数字钟设计

课程设计报告 课程名称数字系统与逻辑设计 课题名称数字钟设计 专业通信工程 班级 学号 姓名 指导教师乔汇东胡瑛谭小兰 2013年7月7日

湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题数字钟设计 专业班级通信工程1101班 学生姓名 学号 指导老师 审批乔汇东 任务书下达日期2013 年6月29日 任务完成日期2013 年7月7日

《数字系统与逻辑设计》课程设计任务书一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的 组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试 程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养 使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单 及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应 的分析与结论。 三、进度安排 第十九周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

EDA设计II实验报告——多功能数字钟

『EDA设计II』 课程实验报告 姓名 学号 学院 指导教师 时间 2011年 05月

多功能数字钟 摘要:本实验利用Quartus II软件设计多功能数字钟并下载到Smart SOPC实验系统,实现校分、校时、清零、保持和整点报时等多种基本功能,以及闹钟等附加功能。本实验首先通过Quartus II 软件对各模块进行原理图设计,并进行仿真调试,最后下载至实验平台验证其功能。 关键词:多功能数字钟Quartus II软件仿真封装校分校时清零保持整点报时闹钟 Abstract:The experiment is to design a multi-purpose digital clock by Quartus II and then download to the test system of Smart SOPC. It can realize many functions such as minute adjusting, hour adjusting, resetting, keeping and reporting time on integral hour. Apart from this, it can also be used as a alarm clock. First of all, we design the schematic diagram of every part. In addition, we simulate through Quartus II. At last, we download it to the tests platform and test the function. Key words:multi-purpose digital clock Quartus II simulate seal minute- adjusting hour adjusting resetting keeping reporting time on integral hour alarm clock

相关主题
文本预览
相关文档 最新文档