当前位置:文档之家› EDA课程设计--带有整点报时的数字钟设计与制作

EDA课程设计--带有整点报时的数字钟设计与制作

EDA课程设计--带有整点报时的数字钟设计与制作
EDA课程设计--带有整点报时的数字钟设计与制作

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

目录

一、课程设计的性质、目的和任务 (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课程设计——多功能数字钟

哈尔滨工业大学(威海) 电子学课程设计报告带有整点报时的数字钟设计与制作 姓名: 蒋栋栋 班级: 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课程设计报告(论文) 题目:多功能数字钟设计 专业班级: 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;

整点报时数字钟设计

信息与电气工程学院 课程设计说明书 课程名称:整点报时数字钟 题目:整点报时数字钟 专业班级:电气工程及其自动化07-05 学生姓名: 学号: 指导教师:崔春艳 设计周数:2周 设计成绩:

1. 课程设计目的……………………………………………………… 2 .课程设计的要求…………………………………………………… 3. 数字钟方案设计…………………………………………………… 3.1方案设计…………………………………………………………… 3.2数字钟逻辑框架图………………………………………………… 4. 单元电路的设计和元器件的选择………………………………… 4.1 时钟秒脉冲的产生………………………………………………… 4.2 六十进制计数电路的设计………………………………………… 4.3 双六十进制计数电路设计………………………………………… 4.4 二十四进制计数电路的设计……………………………………… 4.5 译码驱动及显示单元电路设计…………………………………… 4.6 整点报时器单元电路……………………………………………… 4.7 校正单元电路的设计……………………………………………… 5.数字钟的PCB 板图的设计…………………………………………… 5.1PROTEL99的使用…………………………………………………… 5.2具体工艺要求和相关规则………………………………………… 5.3 注意事项………………………………………………………… 6.系统调试……………………………………………………………… 6.1 系统调试方法……………………………………………………… 6.2调试出现的问题及解决方法……………………………………… 7. 元器件清单………………………………………………………… 8. 主要元件介绍……………………………………………………… 9. 课程设计总结和心得体会………………………………………… 9.1 设计过程中遇到的问题及解决方法……………………………… 9.2 个人体会…………………………………………………………… 10. 参考文献……………………………………………………………附录…………………………………………………………………… 1 数字钟原理图……………………………………………………… 2 数字钟PCB板………………………………………………………课程设计评语表格……………………………………………………

数字钟设计(带仿真和连接图)

- 数字电子技术课程设计报告 题目:数字钟的设计与制作 : 专业:电气本一班 学号:姓名: 指导教师: 时间: - —

一、设计内容 数字钟设计 … 技术指标: (1)时间以24小时为周期; (2能够显示时,分,秒; (3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; (4)计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时; (5)为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号. ~ 二、设计时间: 第十五、十六周 三、设计要求: (1)画出设计的电路原理图; $ (2) 选择好元器件及给出参数,在原理图中反应出来; (3)并用仿真软件进行模拟电路工作情况; (4)编写课程报告。

! 摘要 数字钟实际上是一个对标准频率(1Hz)进行计数的计数电路。振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果以“时”、“分”、“秒”的数字显示出来。秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后又开始下一轮的循环计数。一般由振荡器、分频器、计数器、译码器、数码显示器等几部分组成。 振荡电路:主要用来产生时间标准信号,因为时钟的精度主要取决于时间标准信号的频率及稳定度,所以采用石英晶体振荡器。 分频器:因为振荡器产生的标准信号频率很高,要是要得到“秒”信号,需一定级数的分频器进行分频。 计数器:有了“秒”信号,则可以根据60秒为1分,24小时为1天的进制,分别设定“时”、“分”、“秒”的计数器,分别为60进制,60进制,24进制计数器,并输出一分,一小时,一天的进位信号。 译码显示:将“时”“分”“秒”显示出来。将计数器输入状态,输入到译码器,产生驱动数码显示器信号,呈现出对应的进位数字字型。 由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路可以对分和时进行校时。另外,计时过程要具有报时功能,当时间到达整点前10秒开始,蜂鸣器1秒响1秒停地响5次。 } 为了使数字钟使用方便,在设计上使用了一个变压器和一个整流桥来实现数字钟电能的输入,使得可以方便地直接插入220V的交流电就可以正常地使用了。关键词数字钟振荡计数校正报时

数字时钟电路

摘要 数字钟就是一种用数字电路技术实现日、时、分、秒计时的装置,与传统的机械式时钟相比,具有更高的准确性与直观性,且无机械传动装置,具有更更长的使用寿命,因此得到了广泛的使用。小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数显电子钟。 本课程设计要用通过简单的逻辑芯片实现数字时钟。要点在于用555芯片连接成输出1000秒的多谐振荡器,然后经过74LS90构成的分频器输出1HZ的秒脉冲,用74LS160(10进制计数器)连接成60与24进制的计数器,再通过七段数码管显示,外加上校时电路,整点报时电路即构成了简单数字钟。扩展电路可实现定点报时功能。 关键字:多谐振荡器;分频器;计时电路;闹钟电路;校时电路;整点报时电路 目录 1 设计内容及要求 0 1、1设计目的 0 1、2设计内容与要求 0 1、3创新部分 0 2 系统总体设计方案 0 2、1 数字时钟的组成 0 2、2原理分析 0 2、3基本逻辑功能框图 (1) 3 器件选择 (1) 3、1 555集成定时器 (1) 3、2 74LS160 (2) 3、3 LED显示屏 (3)

3、4 4位十进制同步可逆计数器74LS90 (4) 3、5 4位数值比较器74LS85 (5) 4 数字时钟的电路设计 (7) 4、1 时钟振荡电路 (7) 4、1、1 555多谐振荡器产生1KHz (7) 4、1、2 时钟信号发生电路 (7) 4、1、3 时钟振荡电路的Multisim仿真 (8) 4、2 分频器电路 (9) 4、3秒脉冲发生器电路 (10) 4、4 分脉冲发生器电路 (11) 4、5 时脉冲发生器电路 (12) 4、6 校时电路 (12) 4、7 整点报时电路 (13) 4、8闹钟功能电路 (15) 4、9 数字时钟总仿真电路图 (16) 5 心得体会 (17) 5、1 关于数字时钟的心得体会 (17) 5、2 关于收音机的焊接与调试心得体会 (18) 参考文献 (19)

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为复位键,低电平时实现清零功能,高电平时正常计数。

数字电子钟(计时、校时以及整点报时)数电课程设计报告

设计要求 1.用秒脉冲作信号源,构成数字钟,显示秒、分、时 2.具有“对时”功能,即时间可以快速预置 3.具有整点提示功能。一种实现的方法是每到整点时触发“音乐芯片”或每到整点前几秒钟,发出如“的、的、的、答”声音信号。 系统框图 设计过程 时间显示模块电路可以用3个CD4518作为核心芯片,进行级联,再辅以若干逻辑门,完成进位、置零等功能,CD4518是双十进制计数器,有两个时钟输入端,正好可以满足进位和校时的功能,而不会产生干扰,且有一个置零功能,可以组成六十进制和二十四进制的计数器。 整点报时模块电路用的是555芯片和一块CD4068芯片组成的电

路,555芯片可以接成多谐振荡器,提供交变信号使蜂鸣器发出声音,而整点报时的控制可以用CD4068实现,CD4068是8输入与/与非门,可以在整点之前输出脉冲信号,经过由555芯片组成的多谐振荡器,为其提供一个信号,这样由多谐振荡器输出端可以使蜂鸣器发出“嘀、嘀、嘀”的响声。 秒信号发生器可以用实验箱上的秒脉冲信号代替。 考虑到开关抖动现象,校时模块电路实验实验箱上的按键开关,每输出一个脉冲信号可以改变分个位和十个位,同时考虑到干扰问题,进位接线和校时接线接在不同的时钟输入端。 电路仿真与设计 3.1所需芯片及芯片管脚图 CD4518 CD4068 CD4002 CD4011

CD4069 555 3.2时、分、秒显示电路模块设计 整个电路的的核心芯片是CD4518,它是一个双10进制加法计数器,因此只需要三个芯片,进行级联即可实现两个六十进制和一个二十四进制计数器,再加上一些合适的逻辑门,实现置零和进位。 上图是秒显示电路设计图,右边为秒个位,左边为秒十位,秒个位的电路中置零引脚和时钟输入端CP1必须接地,这是因为CMOS 的引脚不能悬空,否则会影响实验结果,CP0接秒脉冲信号,考虑到秒个位计数到9的时候必须进位,所以在显示0的同时输出一个进位信号,输出是0000,因此可以用一个或非门,当输出是0000的时候提供一个进位信号至秒十位的时钟输入端,秒十位另一个时钟输入端接地,当秒十位计数器计到5时,在输出为0110时提供一个信号到秒十位计数器的置零端,使其实现0110——0000,即六十进制。

基于EDA技术的数字时钟设计

电子系统课程设计任务书 设计题目:基于EDA技术的数字时钟设计 设计目的:课程设计是一种复杂的学习实践过程。设计过程采用系统设计的方法,先分析任务,得到系统设计的要求,然后进行总体设计,划分子系统模块,然后进行详细设计,编写各个功能子系统VHDL代码并进行功能仿真,最后进行整个系统总装并仿真。 设计内容:设计一个采用0.5英寸LED数码管显示的数字时钟系统,工作电源5V,它采用24小时制,具有“时”、“分”、“秒”显示,并且可以校正时间显示。 设计要求: 1.由石英晶体多谐振荡器20MHz和分频器产生1Hz标准秒脉冲;(说 明:EDA试验箱中晶振频率20MHz,经试验箱内一系列二分频可将频率降低,但无法直接产生1Hz信号,需要大家根据实际情况编制分频器得到1Hz信号); 2.秒电路、分电路均为60进制计数,时电路为24进制计数; 3.数码管采用动态扫描方式; 4.能动手校时,校时模块功能可以自由发挥。比如可用两个按钮实 现校时,A按钮控制调整项目,B按钮调整数字,B按钮还可以根据按下时间长短实现慢调、快调功能。也可以用三个按钮实现增减两个方向的手动校时。校时用按钮开关不能超过4个; 5.扩展内容:1)进入校时状态后,被调整数字以2Hz闪烁; 2)24/12小时可调,处于12小时制时,要有AM/PM

显示; 3)所有开关加入防抖设计; 4)加入检测外部环境亮度功能,夜间自动降低数码管显示亮度; 5)加入整点报时电路; 6)增加秒表功能; 7)增加报闹功能。 6.以上电路功能除外部环境亮度检测电路外均由VHDL代码实现层次式设计,顶层电路可以采用EDA电路图。 设计成果: 1.课程设计说明书,要求内容完整,图表完备,条理清楚,字迹工 整,程序完整有相应的注解,仿真波形设计合理有必要的分析,引用资料要注明出处。 2.顶层电路原理图,各层电路VHDL代码及仿真波形。

单片机数字钟电路图

数字钟设计 一、设计目的 1. 熟悉集成电路的引脚安排。 2. 掌握各芯片的逻辑功能及使用方法。 3. 了解面包板结构及其接线方法。 4. 了解数字钟的组成及工作原理。 5. 熟悉数字钟的设计与制作。 二、设计要求 1.设计指标 时间以24小时为一个周期; 显示时、分、秒; 有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时; 为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。

2.设计要求 画出电路原理图(或仿真电路图); 元器件及参数选择; 电路仿真与调试; PCB文件生成与打印输出。 3.制作要求自行装配和调试,并能发现问题和解决问题。 4.编写设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会。 三、设计原理及其框图 1.数字钟的构成 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。图3-1所示为数字钟的一般构成框图。 图3-1 数字钟的组成框图

⑴晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。 ⑵分频器电路 分频器电路将32768Hz的高频方波信号经32768()次分频后得到1Hz的方波信号供秒计数器进行计数。分频器实际上也就是计数器。 ⑶时间计数器电路 时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。

EDA课设数字钟设计

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

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

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

数字逻辑电路课程设计数字钟

数字逻辑课程设计 数字钟 姓名: 学号: 班级:物联网工程131班 学院:计算机学院 2015年10月10日

一、任务与要求 设计任务:设计一个具有整点报时功能的数字钟 要求: 1、显示时、分、秒的十进制数字显示,采用24小时制。 2、校时功能。 3、整点报时。 功能: 1、计时功能: 要求准确计时,以数字形式显示时、分、秒的时间。小时的计时要求为“12翻1”。 2、校时功能: 当数字钟接通电源或者计时出现误差时,需要校正时间(简称校时)。校时是数字钟应具备的基本功能,一般电子手表都具有时、分、秒等校时功能。为使电路简单,这里只进行分和小时的校时。对校时电路的要求是:在小时校正时不影响分和秒的正常计数;在分校正时不影响秒和小时的正常计数。校时方式有“快校时”和“慢校时”两种。“快校时”是通过开关控制,使计数器对1Hz的校时脉冲计数。“慢校时”是用手动产生单脉冲作校时脉冲。 3、整点报时: 每当数字钟计时快要到整点时发出声响;通常按照4低音1高音的顺序发出间断声响;以最后一声高音结束的时刻为整点时刻。 二、设计方案 电路组成框图: 主体电路 扩 展 电 路时显示器 时译码器 时计数器 分显示器 分译码器 分计数器 校时电路 秒显示器 秒译码器 秒计数器 定时控制 仿电台报时 报整点时数

数字钟电路是一个典型的数字电路系统,其由时、分、秒计数器以及校时和显示电路组成。其主要功能为计时、校时和报时。利用60进制和12进制递增计数器子电路构成数字钟系统,由2个60进制同步递增计数器完成秒、分计数,由12进制同步递增计数器完成小时计数。秒、分、时之间采用同步级联的方式。开关S1和S2分别是控制分和时的校时。报时功能在此简化为小灯的闪烁,分别在59分51秒、53秒、55秒、57秒及59秒时闪烁,持续的时间为1秒。 三、设计和实现过程 1.各元件功能 74LS160:可预置BCD异步清除器,具有清零与置数功能的十进制递增计数器。 74LS00:二输入端四与非门 74LS04:六反相器 74LS08:二输入端四与门 74LS20:四输入端双与非门 2.各部分电路的设计过程 (1)时分秒计数器的设计 时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。 秒/分钟显示电路:由于秒钟与分钟的都是为60进制的,所以它们的电路大体上是一样的,都是由一个10进制计数器和一个6进制计数器组成;有所不同的是分钟显示电路中的10进制计数器的ENP和ENT引脚是由秒钟显示电路的进位信号控制的。 分和秒计数器都是模M=60的计数器,其计数规律为00—01—…—58—59—00…。可选两片74LS160设计较为简单。 时计数器是一个“12翻1”的特殊进制计数器,即当数字钟运行到12时59分59秒时,秒的个位计数器再输入一个秒脉冲时,数字钟应自动显示为01时00分00秒,实现日常生活中习惯用的计时规律。可选两片74LS160设计。

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)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

数字钟的设计(含有闹钟功能)

# 综合设计报告~ 设计名称:数字逻辑综合设计报告 设计题目:数字电子钟 学生学号: 专业班级: … 学生姓名: 学生成绩: 指导教师(职称): 课题工作时间:至

目录 摘要……………………………………………………………………………………… II Abstract …………………………………………………………………………………... II 第一章课题背景(或绪论、概述) (1) 数字电子钟应用 (1) 电子钟的应用前景 (x) 第二章设计简介及设计方案论述 (x) 设计原理简介 (x) 设计方案论述 (x) 设计目的概述 (x) 第三章详细设计 (x) 实验元件及介绍 (x) 模块的详细设计 (x) 3.2.1 二十四时制显示模块 3.2.2 校时电路模块 3.2.2 整点报时模块 3.2.2 闹钟模块 第四章设计结果及分析 (x) 设计电路 (x) 运行结果及分析 (x) 结果分析 (x) 总结 (x) 致谢 (x)

参考文献 (x) 附录主要程序代码 (x) 摘要 【关键词】电子钟、校时电路、比较器、整点报时 数学逻辑课程设计选题是电子钟的设计,运用 SP3版仿真软件进行电子钟的设计。主要原理是由555芯片及门电路产生多谐震荡,输出稳定的为1HZ秒脉冲,作为时间基准。秒计时器满60向分计时器仅为,分计时器满60向小时计时器进位,小时计时器以24为一个周期,并实现了小时高位具有零熄灭的功能,计时器的输出送到显示屏,课在相应位置正确显示时、分。秒。计时出现误差或者调整时间时用校时电路进行时、分的调整。而且添加了整点报时功能,并利用比较器实现了闹钟功能。 Abstract 【Keywords】Digital clock, divider chip, the decoder chip, the campus circuit, the whole point alarm The desigining topic of the electronic technology course is the digital clock. The main principle by the oscillator transistor multivibrator oscillation, after the output frequency divider and stable pulse,60 seconds over the counter sub-counters to carry, at least 60 minutes to the hour counter binary counter, hours counter for a period of 24 and achieve a high level with zero off-hour functions. Counter displays the output sent by the decoder can be displayed correctly in the appropriate location, minutes, second. Timing errors, or adjust the time when the school when the circuit is available, the minutes of the adjustment. In this circuit, The whole point alarm will last 10 seconds per hour.

eda,verilog数字钟设计报告

数字钟 一、任务解析 用Verilog硬件描述语言设计数字钟,实现: 1、具有时、分、秒计数显示功能,以二十四小时循环计时。 2、具有调节小时,分钟的功能,调整时对应的数字闪烁。 3、具有整点报时及闹铃时间可调的功能。 4、数字钟具有四种模式:正常显示、时间调整、闹铃时间调整、秒表。 二、方案论证 没有闹铃功能 三、重难点解析 选择模式:module beii(clr,selin_key,beii_out); input clr,selin_key; output [1:0]beii_out; wire [1:0]beii_out; reg [1:0]selout_key; always@(negedge clr or posedge selin_key) begin if(!clr) selout_key=0; else begin if(selout_key==2) selout_key=0; else selout_key=selout_key+1;end end assign beii_out=selout_key; endmodule

头文件中: module clk_top(clr,clk,upkey,downkey,sel,a,b,c,d,e,f,g,p,clr_key,selin_key); clr:清零clk:50M时钟 upkey:向上调downkey:向下调 clr_key:恢复初始状态selin_key:模式选择 四、硬件资源分配 60进制module mycnt60(clr,clk,upkey,downkey,selout,q,c); input clk,clr,upkey,downkey;//upkey为加按键 input [1:0] selout; output[7:0] q;//60进制输出 output c;//进位溢出位 reg c; reg[7:0] q; wire new_clk1,ckb,ckc,ckd,cko; assign new_clk1=clk|((!selout[0]&selout[1])&(upkey|downkey)); LCELL AA(new_clk1,ckb);//信号延迟 LCELL BB(ckb,ckc); LCELL CC(ckc,ckd); LCELL DD(ckd,cko); initial c=0; always @(posedge cko or negedge clr )begin if(!clr) q=8'h00; else begin if(selout==2) begin if(upkey)begin if(q==8'h59) q=8'h00; else if(q==8'h?9) q=q+4'h7; else q=q+1; end else if(downkey)begin if(q==8'h00) q=8'h59; else if(q==8'h?0) q=q-4'h7; else q=q-1; end

整点报时数字钟课程设计

整点报时数字钟课程设计

信息工程学院 课程设计报告书(2009 /2010 学年第二学期) 课程名称:电子技术课程设计题目:能整点报时的电子表专业班级:自动化111 学生姓名:胡义海 学号:6100311301 指导教师:康耀明 设计成绩:

1课程设计目的 (1) 2系统的方案设计 (1) 3 系统的详细设计 (3) 3.1脉冲产生和分频电路 (3) 3.1.1脉冲产生和分频电路的设计 (3) 3.1.2馆建器件74 LS74的介绍 (4) 3.1.3关键器件CD4060的介绍 (5) 3.2计时电路 (7) 3.2.1分,秒计时电路的设计 (7) 3.2.2小时计时电路的设计 (9) 3.2.3关键器件CD4510的介绍 (10) 3.3显示译码电路 (12) 3.3.1显示译码电路的设计 (12) 3.3.2关键器件CD4511和数码管的介绍 (13) 3.4校时电路 (15) 3.4.1校时的电路的详细设计 (15) 3.4.2关键器件RS触发器的详细介绍 (16) 3.5整点报警电路 (19) 4 心得体会 (24) 5 参考文献 (25)

1课程设计目的 ※让学生掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法; ※进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力; ※提高电路布局﹑布线及检查和排除故障的能力;※培养书写综合实验报告的能力。 2系统的方案设计 2.1简述 数字电子钟是一种用数字显示秒﹑分﹑时﹑日的记时装置,与传统的机械钟相比,他具有走时准确﹑显示直观﹑无机械传动装置等优点,因而得到了广泛的应用:小到人们的日常生活中的电子手表,大到车站﹑码头﹑机场等公共场所的大型数显电子钟。 2.2课程设计题目描述和要求 (1)设计一个有“时”、“分”、“秒”(12小时59分59秒)显示,且有校时功能的电子钟; (2)用中小规模集成电路组成电子钟,并在实验箱上进行组装、调试; (3)画出框图和逻辑电路图,写出设计、实验总结

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

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; 仿真波形如下:

报时数字钟的设计

数字系统设计实习报告 课题 : 报时式数字钟的设计 系别:自动化 班级学号: 10-1(25) 姓名:张小康 指导老师:赵莹 2012.5.28-6.1 北华大学电气信息工程学院

目录 一、前言 (3) 二、题目设计要求 (4) 三、方案设计 (5) 四、电路图 (10) 五、合成波形 (11) 六、实习心得 (14) 七、参考文献 (15)

前言 一、软件介绍 Max+plus II开发软件是美国Altera公司自行设计的的第三代PLD开发系统。Altera是世界上最大可编程逻辑器件的供应商之一。Max+plus II界面友好,使用便捷,在Max+plus II上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程。主要特点介绍如下。 1、提供开放性的界面 Max+plus II支持Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic和其他公司所提供的EDA工具接口。 2、提供与PLD器件结构无关的设计环境 Max+plus II系统的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。使用者无需精通器件内部的复杂结构,只需用自己熟悉的设计输入工具,如原理图或硬件描述语言进行设计。Max+plus II将这些设计转换为目标结构所需求的格式,设计处理一般在数分钟内完成。3、完成集成化 Max+plus II的设计输入、处理与校验功能全部集成在统一的开发环境下,这样可以加快动态调试、缩短开发周期。 4、丰富的设计库 Max+plus II提供丰富的库单元供设计者调用,其中包括74系

EDA数字钟设计

EDA数字钟设计报告 姓名: xxx 学号:xxxxxxx 专业:电子与通信工程 日期:2014-11-7 江苏科技大学电信院 2014-11-7

1 引言 数字钟通过数字电路技术实现时、分、秒计时,与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有其特点,本次电子线路课程设计是在vhdl基础上设计并制作一个可以调控的数字钟。 1.1 实验目的与要求 1.1.1 实验目的 (1)掌握GW48PK2++实验系统的基本用法以及vhdl语言的使用: (2)巩固元件例化、元件调用的基本方法,以及数码管、按键扫描的相关 知识。 1.1.2实验要求 (1)采用元件例化、元件调用实现整体设计; (2)利用按键进行调时; (3)能在实验箱进行仿真验证。 2 系统设计 2.1 原理图设计 数字钟原理图,如图1 图1 数字钟原理图 如图1所示,该系统主要包含六个模块,分为分频器、计数以及显示模块三 大部分,另有按键进行时间控制。

2.2 各模块设计 2.2.1分频器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity div is port(clk0:in std_logic; clk_1Hz,clk_1kHz:out std_logic); end entity; architecture one of div is signal q1Hz:integer range 0 to 10000000-1 ; signal q1kHz:integer range 0 to 10000-1 ; begin process(clk0) begin if clk0'event and clk0='1'then if q1Hz<5000000-1 then clk_1Hz<='0';q1Hz<=q1Hz+1; elsif q1Hz=10000000-1 then q1Hz<=0; else clk_1Hz<='1';q1Hz<=q1Hz+1; end if; if q1kHz<5000-1 then clk_1kHz<='0';q1kHz<=q1kHz+1; elsif q1kHz=10000-1 then q1kHz<=0; else clk_1kHz<='1';q1kHz<=q1kHz+1; end if; end if; end process; end; 该模块将10MHz的时钟进行分频,产生1S和1mS的信号传递给计数与显示

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