基于QuartusII软件的数字时钟设计

基于QuartusII软件的数字时钟设计
基于QuartusII软件的数字时钟设计

实验名称:数字时钟设计

姓名:杨龙成班级:电子与通信工程学号: 3120302012 成绩:

一、实验目的

1.掌握各类计数器及它们相连的设计方法;

2.掌握多个数码管显示的原理与方法;

3.掌握模块化设计方式;

4.掌握用VHDL语言的设计思想以及整个数字系统的设计。

二、实验内容

1. 设计要求

1)具有时、分、秒计数显示功能,在数码管显示00:00:00~23:59:59,以24小时循环计时。

2)完成可以计时的数字时钟时钟计数显示时有LED灯的花样显示。

3)具有调节小时、分钟及清零的功能。

4)具有整点报时功能。

2. 性能指标及功能设计

1)时钟计数:完成时、分、秒的正确计时并且显示所计的数字;对秒、分60进制计数,时钟—24进制计数,并且在数码管上显示数值。

2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间。可以通过实验板上的键7和键4进行任意的调整,因为时钟信号均是1HZ的,所以LED灯每变化一次就来一个脉冲,即计数一次。

3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。

4)蜂鸣器在整点时有报时信号产生,产生“滴答.滴答”的报警声音。

5)根据进位情况,LED灯在时钟显示时有花样显示信号产生。

3. 系统方框图

三、设计原理和过程

3.1 硬件设计

本设计使用VHDL硬件开发板,可编程逻辑器件EMP1270T144C5系列。设计过程中用到的外围电路的设计有电源部分,可编程器件EMP1270T144C5,CPLD –JTAG接口,晶振和蜂鸣器,LED数码管显示,DIP开关与按键输入(具体电路见附录)

3.2 软件设计

3.2..1 程序包my_pkg的设计说明

为了简化程序设计增加可读性,系统采用模块化的设计方法,重复使用的组件以元件(component)的形式存在,以便相关块的调用。下面列出my_pkg组件包的代码。library ieee;

use ieee.std_logic_1164.all;

package my_pkg is

component div40M------------------------------------------------------------------元器件1 Port( clk: in std_logic;

f1hz : out std_logic);

end component;

component count60-----------------------------------------------------------------元器件2 Port(clr,clk:in std_logic;

one :buffer std_logic_vector(3 downto 0);

ten :buffer std_logic_vector(3 downto 0);

full:out std_logic;

dout:buffer std_logic_vector(7 downto 0));

end component;

component count24-----------------------------------------------------------------元器件3 Port(clr,clk:in std_logic;

one :buffer std_logic_vector(3 downto 0);

ten :buffer std_logic_vector(3 downto 0);

full:out std_logic);

end component;

component scan6----------------------------------------------------------------元器件4 port (clr,clk : in STD_LOGIC;

h_ten,h_one,m_ten,m_one,s_ten,s_one: in STD_LOGIC_vector(3 downto 0);

cs: out STD_LOGIC_vector(5 downto 0);

mux_out: out STD_LOGIC_vector(3 downto 0));

end component;

component bin2led---------------------------------------------------------------元器件5 port (bin : in std_logic_vector (3 downto 0);

led : out std_logic_vector (7 downto 0) );

end component;

component sh1k ----------------------------------------------------------------------元器件6 Port( clk: in std_logic;--from system clock(40MHz)

f1hz : out std_logic);-- 1Hz output signal

end component;

component alarm_set------------------------------------------------------------------元器件7 Port(rst,hz1: in std_logic;--system clock 1Hz

alarm,ok: in std_logic;--keep pushing to declare alarm set

sec_tune: in std_logic;

sec_one,sec_ten:out std_logic_vector(3 downto 0));

end component;

end my_pkg;

3.2.2 count60组件

由此提供分(秒)计数值,当分计数器计数到59再来一个脉冲信号秒计数器清零从新开始计数,而进位则作为小时计数器的计数脉冲,使小时计数器计数加1,同时分计数器在分设置时钟信号的响应下设置分计数器的数值。在count60组件中,个位(one)和十位(ten)分别计数,都设为二进制四位矢量形式,当个位从0计到9时,在下一个clk上升沿来临后,十位进1,个位变0,十位从0到5计数,在十位为5,个位9的时候,下一个上升沿来临后,十位个位都变0,进位full加1。因此在程序设计中需要两个进程process来分别完成计数,秒计数以1Hz的输入为触发信号,分计数以秒的full信号为触发信号。具体的count60的组件代码如下:

Library ieee;

Use ieee.std_logic_1164.all;

Use ieee.std_logic_unsigned.all;

Entity count60 is

Port(clr,clk:in std_logic;

one :buffer std_logic_vector(3 downto 0);

ten :buffer std_logic_vector(3 downto 0);

full:out std_logic;

dout:buffer std_logic_vector(7 downto 0));

end count60;

architecture behav of count60 is

begin

process(clr,clk)

begin

if(clr='0')then

one<="0000";

elsif(rising_edge(clk))then

if(one="1001")then

one<="0000";

else

one<=one+1;

end if;

end if;

end process;

process(clr,clk)

begin

if(clr='0')then

ten<="0000";

elsif(rising_edge(clk))then

if(one="1001")then

if(ten="0101")then

ten<="0000";

else

ten<=ten+1;

end if;

end if;

end if;

end process ;

dout<=ten&one;

process(clk)-----------------满59进位(置full值

begin

if(rising_edge(clk))then

if ten="0101"then

if one="1001"then

full<='1';

else full<='0';

end if;

else full<='0';

end if;

end if;

end process;

end behav;

设定clk与clr两个系统的输入后,课观察到one和ten的波形,在计数值达到59后,

即ten为0101,one为1001以后,即进位到0000 0000,full进1,波形如下。

3.2.3 count24组件

由此提供时计数值,当时计数器计数到23再来一个脉冲信号秒计数器清零从新开始计数,而进位则作为小时计数器的计数脉冲,使小时计数器计数加1,同时分计数器在分设置时钟信号的响应下设置时计数器的数值。在count24组件中,个位(one)和十位(ten)分别计数,都设为二进制四位矢量形式,在ten小于2的时候,个位从0计到9时,满9ten加1,在ten为2的时候,one从0到3计数,one为3时候,在下一个clk上升沿来临后,ten与one都变0,进位full加1。因此在程序设计中需要多个个进程process来分别完成计数,时计数以分的full的输入为触发信号,分计数以秒的full信号为触发信号。具体的count24的组件代码如下:

Library ieee;

Use ieee.std_logic_1164.all;

Use ieee.std_logic_unsigned.all;

Entity count24 is

Port(clr,clk:in std_logic;

one :buffer std_logic_vector(3 downto 0);

ten :buffer std_logic_vector(3 downto 0);

full:out std_logic

);

end count24;

architecture behav of count24 is

begin

process(clr,clk)-------------------------计数0到23

begin

if(clr='0')then

ten<="0000";

one<="0000";

elsif(rising_edge(clk))then

if(ten<"0010")then

if(one<"1001")then

one<=one+"0001";

end if;

if one="1001"then

one<="0000";

ten<=ten+"0001";

end if;

end if;

if(ten="0010") then

if(one<"0011")then

one<=one+"0001";

end if;

if one="0011"then

one<="0000";

ten<="0000";

end if;

end if;

end if;

end process;

process(clk)---------------------------------满23进位

begin

if(rising_edge(clk))then

if ten="0010"then

if one="0011"then

full<='1';

else full<='0';

end if;

else full<='0';

end if;

end if;

end process;

end behav;

小时计数模块图形分析:

用来对时进行计数,当记到计数器的低四位小于2时,one从0到9 计数,ten 为2时,one从0到3计数,所以完成了24进制的计数,clk为系统时钟信号,具体波形如下:

3.2.4 div40M分频组件

为了便于时钟计数,需要1Hz的时钟信号。为了节省电力耗电,输出采用7段LED数码管来显示。要提供秒钟的源信号,以便正常的计数,另外,6个led数码管要都显示,利用人眼的视觉暂留效应,需要1000hZ的时钟扫描信号。在本系统中,时钟信号发生器的信号频率为40MHz,因此要将其进行分频,产生1HZ和1KHz的信号。代码如下:

Library IEEE;

Use IEEE.std_logic_1164.all;

Use ieee.std_logic_unsigned.all;

Use IEEE.std_logic_arith.all;

Entity div40M is

Port( clk: in std_logic ; --from system clock(40MHz)

f1hz: out std_logic);-- 1Hz output signal

end div40M;

architecture arch of div40M is

signal count : integer range 0 to 19999999;

begin

process (clk)

begin

if rising_edge(clk) then

count<=count+1;

if count>= 10000000 then f1hz<='1';

else f1hz<='0';

end if;

end if;

end process;

end arch;

-----------------本模块将40MHZ分频,分成1000HZ,提供扫描(片选)的时间----------------------- Library IEEE;

Use IEEE.std_logic_1164.all;

Use ieee.std_logic_unsigned.all;

Use IEEE.std_logic_arith.all;

Entity sh1k is

Port( clk: in std_logic;

f1hz: out std_logic);

end sh1k;

architecture arch of sh1k is

signal count : integer range 0 to 39999;

begin

process (clk)

begin

if rising_edge(clk) then

count<=count+1;

if count>=20000 then f1hz<='1';

else f1hz<='0';

end if;

end if;

end process;

end arch;

波形分析:

具体的分频波形如下,由于这里的40MHZ太大,仿真时不便观察这里我们以40KHZ来分频,效果如下:

3.2.5 scan6扫描组件

由于LED使用动态显示,因此要采用扫描的方式来点亮各个LED管,人眼的视觉延迟1/32秒。在本模块中,时、分、秒的每一位数都作为输入,同时提供一个片选(6位),每来一个clk 进行一次选位循环,即依次点亮6个LED灯管。在点亮的对应管上将该位的数字送给一个输出端口max_out.送到显示模块显示。具体的代码如下:

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_arith.all;

use IEEE.std_logic_unsigned.all;

entity scan6 is

port (clr,clk : in STD_LOGIC;

h_ten,h_one,m_ten,m_one,s_ten,s_one: in STD_LOGIC_vector(3 downto 0);

cs: out STD_LOGIC_vector(5 downto 0);----------------------------片选

mux_out: out STD_LOGIC_vector(3 downto 0));--要显示的那一个时钟位end scan6;

architecture arch of scan6 is

signal sel : std_logic_vector(2 downto 0);

begin

process (clr,clk,h_ten,h_one,m_ten,m_one,s_ten,s_one)

begin

if clr='0' then sel<="000";

elsif rising_edge(clk) then

sel<=sel + "001";

case sel is

when "000" => mux_out <= s_one; cs<="100000";

when "001" => mux_out <= s_ten; cs<="010000";

when "010" => mux_out <= m_one; cs<="001000";

when "011" => mux_out <= m_ten; cs<="000100";

when "100" => mux_out <= h_one; cs<="000010";

when "101" => mux_out <= h_ten; cs<="000001";

when others => mux_out <= "1110";

end case;

end if;

end process;

end arch;

波形仿真如下:

其中为23时46分28秒

3.2.6 bin2led组件

该组件的作用是将4位的二进制码转为八位的LED数码管的显示码,即译码模块。将二进制数变为显示的0~9的数值。Bin为输入,led为输出,具体代码如下:Library IEEE;

Use IEEE.std_logic_1164.all;

Use IEEE.std_logic_unsigned.all;

Use IEEE.std_logic_arith.all;

entity bin2led is

port (bin : in std_logic_vector (3 downto 0);

led : out std_logic_vector (7 downto 0) );

end bin2led;

architecture arch of bin2led is

begin

PROCESS(bin)

BEGIN

CASE bin IS

WHEN "0000"=>led<="00111111";-----0

WHEN "0001"=>led<="00000110";-----1

WHEN "0010"=>led<="01011011";-----2

WHEN "0011"=>led<="01001111";-----3

WHEN "0100"=>led<="01100110";

WHEN "0101"=>led<="01101101";

WHEN "0110"=>led<="01111101";

WHEN "0111"=>led<="00000111";

WHEN "1000"=>led<="01111111";

WHEN "1001"=>led<="01101111";-----9

WHEN OTHERS =>NULL;

END CASE;

END PROCESS;

end arch;

仿真波形如下:

3.2.7 alarm_set组件

为了设定闹钟,我们设计一个目标调整程序,以1Hz的显示速率来调整时分秒的显示。这里的alarm为指拨开关,当为on时,六个数字即显示00:00:00,以等待输入,当持续按键后,秒从0到59依次增加,再返回0,任何时刻松开按键,即为要显示的值。调分键和调时键的动作原理相同。此时OK指拨开关的然在off状态。代码如下:

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_arith.all;

use IEEE.std_logic_unsigned.all;

Entity alarm_set is

Port(rst,hz1: in std_logic;--system clock 1Hz

alarm,ok: in std_logic;--keep pushing to declare alarm set

sec_tune: in std_logic;

sec_one,sec_ten:out std_logic_vector(3 downto 0));

End;

----define the signal_structure and _flow of the device

architecture arch of alarm_set is

signal sec_one_tmp: std_logic_vector(3 downto 0) ;

signal sec_ten_tmp: std_logic_vector(3 downto 0) ;

begin

tuning:process(rst,hz1,alarm,ok)

begin

if rst='1' then sec_one_tmp<="0000";sec_ten_tmp<="0000";

elsif rising_edge(hz1) then

if alarm='0' and ok='1' then

if sec_tune='1' then

if sec_one_tmp="1001" then sec_one_tmp<="0000";

if sec_ten_tmp<"0101" then

sec_ten_tmp<=sec_ten_tmp+"0001";

else sec_ten_tmp<="0000" ;

end if;

else sec_one_tmp<=sec_one_tmp +"0001";

end if;

end if;

else

null;

end if;

end if;

end process tuning;

sec_one<=sec_one_tmp;

sec_ten<=sec_ten_tmp;

end arch;

仿真波形图如下:

3.2.8 entity顶层模块

最后我们将各模块结合起来,已完成最后的系统功能。并且将该模块设置为top_level entity。在本entity中的包集合中要加上包use work.my_pkg.all;

具体代码如下:

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_arith.all;

use IEEE.std_logic_unsigned.all;

use work.my_pkg.all;

Entity clock is

Port(clr: in std_logic;

clk: in std_logic;

alarm,ok,sec_button:in std_logic; ----------------按钮

beep_driver:out std_logic;

dout: out std_logic_vector(7 downto 0);

cs: out std_logic_vector(5 downto 0));

End entity clock;

architecture arch of clock is

signal hz1,hz1k,beep_drive: std_logic;--1hz,1khz clock

signal sec_one,sec_ten,min_ten,min_one: std_logic_vector(3 downto 0);

signal a,b,c,d,e,f: std_logic_vector(3 downto 0);

signal hour_one,hour_ten,time_bin: std_logic_vector(3 downto 0);

signal a_sec_one,a_sec_ten:std_logic_vector(3 downto 0);

signal bb:integer range 0 to 3;

begin

normal_counting:block----时钟计数模块,从00:00:00到23:59:59

signal full_sec:std_logic;

signal full_min:std_logic;

signal full_hour:std_logic;

begin

u0:div40M port map(clk=>clk,f1hz=>hz1);-----元件的调用

u1:count60

port map(clr=>clr,clk=>hz1,one=>sec_one,ten=>sec_ten,full=>full_sec);

u2:count60

port map(clr=>clr,clk=>full_sec,one=>min_one,ten=>min_ten,full=>full_min);

u3:count24

port map(clr=>clr,clk=>full_min,one=>hour_one,ten=>hour_ten,full=>full_hour); end block normal_counting;

scantime:block---------------扫描时间的设定,这里为1毫秒(1000Hz)

begin

u4:sh1k port map(clk=>clk,f1hz=>hz1k);

end block scantime;

scan_display:block----------------将4位二进制的时间转为BCD码,显示.

begin

u7:alarm_set

port map(rst=>clr,hz1=>hz1,alarm=>alarm,ok=>ok,sec_tune=>sec_button,

sec_one=>a_sec_one,sec_ten=>a_sec_ten);

u5:scan6 port map(clr=>clr,clk=>hz1k,s_one=>a,s_ten=>b,

m_one=>c,m_ten=>d,

h_one=>e,h_ten=>f,

mux_out=>time_bin,

cs=>cs);

u6:bin2led port map(bin=>time_bin,led=>dout);------送到端口显示

end block scan_display;

beep:process(hz1,clr)-----------------------------------------

begin

if rising_edge(hz1) then

if sec_ten="0000"and sec_one="0000"and min_one="0000" and min_ten="0000" then

if bb<3 then

bb<=bb+1;

beep_driver<=hz1;

else beep_driver<='0';

end if;

end if;

end if;

end process;

process(clr,hz1,alarm,ok,sec_button)

begin

if alarm='0'and ok='1' then

a<=a_sec_ten;

b<=a_sec_one;

end if;

if alarm='1'and ok='1' then

a<=sec_one;

b<=sec_ten;

c<=min_one;

d<=min_ten;

e<=hour_one;

f<=hour_ten;

end if;

if alarm='1'and ok='0' then

a<=sec_one;

b<=sec_ten;

c<=min_one;

d<=min_ten;

e<=hour_one;

f<=hour_ten;

end if;

end process;

process(clr,hz1,alarm,ok,sec_button)

begin

if a_sec_ten =sec_ten and a_sec_one=sec_one then if bb<3 then

bb<=bb+1;

beep_driver<=hz1;

else beep_driver<='0';

end if;

end if;

end process;

end arch;

四、symbol文件的创立

4.1根据本程序设计产生的元件图

4.2 各引脚分配如下进行

五、实验小结

本设计采用自顶向下的设计方法和模块化设计方式,它由秒计数模块,分计数模块,小时计数模块,报警模块,秒分时设置模块和译码模块,程序包,entity模块(顶层模块)八部分组成。设计简单方便,层次清晰,工程的建立方便,无需单独设计各个组件模块产生原理图文件后再进行电路连接设计。

在接上硬件电路,可以看到数码管从00:00:00到23:59:59正常计数,当按下clr按键时,时钟复位到00:00:00 从新计数。整点报时和闹铃模块正常工作,由于按键数的限制,在本设计中,只设了调分和调秒的按键功能。在实验中叶遇到了一系列的问题,如引脚的分配,和扫描模块的设计。总的来说,对于做工程的,要先易后难,先一个模块一个模块着手,解决小的问题。最后将没有问题的部分整合起来,在检错方面也是这样的原则。通过本次的设计,我对硬件设计方面有了较为深刻的认识,其中包括工程的建立、流程、排错检错、完善,

提高了我的实践能力。

用VHDL实现数字时钟的设计[1]

收稿日期:2007-06-04 第一作者 刘竹林 男 27岁 助教 用V HDL 实现数字时钟的设计 刘竹林 李晶骅 (十堰职业技术学院电子工程系,湖北十堰442000) 摘 要:以一款数字钟设计为例,较详细的介绍了如何用VHDL 语言设计数字电路,并给出了部分程序、仿真 波形图,并在MAX +plusII 中进行编译、仿真、下载。由此说明利用VHDL 开发数字电路的优点。 关键词:VHDL ;设计;数字钟;应用电路中图分类号:TN953 文献标识码:A 0 引言 VHDL 硬件描述语言在电子设计自动化(EDA )中扮演 着重要的角色,它的出现极大的改变了传统的设计方法、设 计过程乃至设计观念。由于采用了“自顶向下” (Top 2Down )的全新设计方法,使设计师们摆脱了大量的辅助设计工作, 而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短了产品的研制周期。 这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。 1 用V HDL 设计一款数字钟 我们设计的数字时钟原理框图如图1。其基本功能划 分为:计数模块(包括秒、分、时)、译码模块、扫描显示控制模块。计数模块由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数,当计数到23点59分59秒的时候,即一天结束,计数器清零, 新的一天重新开始计数。 图1 数字时钟原理框图 秒计数器的计数时钟信号为1Hz 的标准信号,可以由系 统板上提供的4MHz 信号通过222分频得到。秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号。设计一个同时显示时、分、秒6个数字的数字钟,则需要6个七段显示器。若同时点亮这6个七段显示器,则电路中会产生一个比较大的电流,很容易造成电路烧坏,我们通过扫描电路来解决这一问题,通过产生一个扫描信号CS (0)-CS (5)来控制6个七段显示器,依次点亮6个七段显示器,也就是每次只点亮一个七段显示器。只要扫描信号CS (0)-CS (5)的频率超过人的眼睛视觉暂留频率24Hz 以上,就可以达到尽管每次点亮单个七段显示器,却能具有6个同时显示的视觉效果,而且显示也不致闪烁抖动。 其中6位扫描信号一方面控制七段显示器依次点亮,一方面控制6选1选择器输出相应显示数字。 2 模块设计 2.1 VHDL 语言的基本结构 一个独立的设计实体通常包括:实体(EN TIT Y )、结构体(ARCHITECTURE )、配置(CONFIGURA TION )、包集合(PACKGE )、和库(L IBRAR Y )5个部分。其中实体用于描述所设计的系统的外部接口信号;构造体用于描述系统内部的结构和行为;建立输入和输出之间的关系;配置语句安装具体元件到实体—结构体对,可以被看作是设计的零件清单;包集合存放各个设计模块共享的数据类型、常数和子程序等;库是专门存放预编译程序包的地方。VHDL 程序设计基本结构如图2 。 图2 VHDL 程序设计基本结构 2.2 各模块的实现 2.2.1 计数模块(建立VHDL 语言的工程文件) 计数模块由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数。其VHDL 源程序相差不大由于篇幅有限,这里我们以秒模块的实现为例。程序如下: library ieee ; use ieee.std -logic -1164.all ;entity counter -60-bcd is 山西电子技术 2008年第1期 应用实践

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

《数字逻辑》数字时钟课程设计报告资料

《数字逻辑》课程设计报告 题目数字时钟 学院(部)信息工程学院 专业计算机科学与技术 班级计算机一班 学生姓名 学号20132402 6 月29 日至 7 月 3 日共1 周 指导教师(签字)

题目 一.摘要: 钟表的数字化给人们的生产生活带来了极大的方便,并且极大的扩展了钟表原先的报时功能。诸如定时自动报有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常警、学校的按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯,甚至各种定时电气的自启用等。所现实的意义。本次数电课设我组设计的数字时钟是由石英晶体振荡器、分频器、计数器、译码器、显示器、校时电路、报时电路和计时电路组成,石英晶体振荡器产生的信号经过分频器作为秒脉冲,秒脉冲送入计数器计数,计数结果通过“时”、“分”、“秒”译码器在七段显示器上显示时间。 二.关键词: 校时计时报时分频石英晶体振荡器 三.技术要求: 1、有“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能; 2、有计时功能,时钟不会在计时的时候停下。计时范围是0~99秒; 3、有闹铃功能,闹铃响的时间由使用者自己设置,闹铃时间至少一分钟; 4、要在七段显示器(共阴极6片)显示时间; 5、电子钟要准确正常地工作。 四、方案论证与选择: 钟表的是长期使用的器件,误差容易积累由此增大。所以要求分频器产生的秒脉冲要极其准确。而石英晶体产生的信号是非常稳定的,所以我们使用石英晶体产生的信号经过分频电路作为秒脉冲。秒脉冲信号经过6级计数器,分别得到“秒”、“分”、“时”的个位、十位的计时。由实际的要求,“秒”、“分”计数器为60进制的计数器,小时为24进制。由于74LS160十进制加法计数器易于理解使用,我们在设计各个计数器时都是由采用74LS160芯片级联构成。在计时部分,最小单位是0.01s,我们采用555多谐振荡器产生100HZ的信号作为秒脉冲进入一个4级计数器,计时范围是0~99秒。石英晶体

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

数字时钟课程设计方案设计方案

课程设计题目名称:数字时钟 专业名称:电气工程及其自动化班级: ******** 学号: *******8 学生姓名: ******* 任课教师: *******

《电子技术课程设计》任务书

2.对课程设计成果的要求〔包括图表(或实物)等硬件要求〕:设计电路,安装调试或仿真,分析实验结果,并写出设计说明书,语言流畅简洁,文字不得少于3500字。要求图纸布局合理,符合工程要求,使用Protel软件绘出原理图(SCH)和印制电路板(PCB),器件的选择要有计算依据。 3.主要参考文献:⑴《电子技术课程设计指导》彭介华编,高等教育出版社,1997年10月 ⑵《数字电子技术》康华光编著高等教育出版社, 2001年 要求按国标GB 7714—87《文后参考文献著录规则》书写。 4.课程设计工作进度计划: 序号起迄日期工作内容 初步设想和资料查询,原理图的绘画 1 2015.11.18-2015.12.21 仿真调试,元件参数测定,实物的拼接与测试 2 2015.12.21-2016.1.8 叙写设计报告,总结本次设计,论文提交 3 2016.1.8-2016.1.18 主指导教师日期:年月日

摘要 数字时钟已成为人们日常生活中必不可少的必需品,广泛于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。并且数字时钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。报告围绕此次数字钟的设计进行介绍、总结,包含了设计的步骤,前期的准备,装配的过程。在实装时,采用了74LS90进行计数,用CD4060产生秒脉冲,CD4511进行数码管转换显示,还要考虑电路的校时、校分,每块芯片各设计为几进制等等,最后实现了数字钟设计所要求的各项功能:时钟显示功能;快速校准时间的功能。 关键字:数字时钟校时CD4511

数字电子时钟课程设计

数字电子技术基础课程设计报告 班级:姓名: 学号: 一、设计目的 1掌握专业基础知识的综合能力。 2完成设计电路的原理设计、故障排除。 3逐步建立电子系统的研发、设计能力,为毕业设计打好基础。 4让学生掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法。 5进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力。 6培养书写综合实验报告的能力。 二、设计仪器 1 LM555CH 2 74LS161N 74LS160N 74LS290 3 74LS00 74LS08 4 电源电阻电容二极管接地等 三数字电子钟的基本功能及用途 现在数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性

能稳定、集成电路有体积小、功耗小、功能多、携带方便等优点,,因此在许多电子设备中被广泛使用。 电子钟是人们日常生活中常用的计时工具,而数字式电子钟又有其体积小、重量轻、走时准确、结构简单、耗电量少等优点而在生活中被广泛应用,因此本次设计就用数字集成电路和一些简单的逻辑门电路来设计一个数字式电子钟,使其完成时间及星期的显示功能。 多功能数字钟采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。具有时间显示、走时准确、显示直观、精度、稳定等优点。电路装置十分小巧,安装使用也方便。同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。 四设计原理及方框图 数字钟实际上是一个对标准频率进行计数的计数电路,标准的1HZ时间信号必须做到准确稳定。由图可见:本数字钟电路主要由震荡器、、时分秒计数器、译码显示器构成。它们的工作原理是:由震荡器产生的高频脉冲信号作为数字钟的时间基准,送入秒计数

大连理工大学数字电路课程设计报告:多功能数字时钟设计

大连理工大学本科实验报告题目:多功能数字时钟设计 课程名称:数字电路与系统课程设计 学院(系):信息与通信工程学院 专业:电子信息工程 班级: 学生姓名: 学号: 完成日期:2014年7月16日 2014 年7 月16 日

题目:多功能数字时钟设计 1 设计要求 1) 具有“时”、“分”、“秒”及“模式”的十进制数字显示功能; 2) 具有手动校时、校分功能,并能快速调节、一键复位(复位时间12时00分00秒); 3) 具有整点报时功能,从00分00秒起,亮灯十秒钟; 4) 具有秒表功能(精确至百分之一秒),具有开关键,可暂停、可一键清零; 5) 具有闹钟功能,手动设置时间,并可快速调节,具有开关键,可一键复位(复位时间12时00分00秒),闹钟时间到亮灯十秒钟进行提醒; 6) 具有倒计时功能(精确至百分之一秒),可手动设置倒计时时间,若无输入,系统默认60秒倒计时,且具有开关键,计时时间到亮灯十秒钟进行提醒,可一键复位(复位时间默认60秒)。 2 设计分析及系统方案设计 2.1 模式选择模块:按键一进行模式选择,并利用数码管显示出当前模式。模式一:时钟显示功能;模式二:时钟调节功能;模式三:闹钟功能;模式四:秒表功能;模式五:倒计时功能。 2.2 数字钟的基本功能部分:包括时、分、秒的显示,手动调时,以及整点报时部分。基本模块是由振荡器、分频器、计数器、译码器、显示器等几部分组成。利用DE2硬件中提供的50MHZ晶振,经过分频得到周期为1s的时钟脉冲。将该信号送入计数器进行计算,并把累加结果以“时”“分”“秒”的形式通过译码器由数码管显示出来。 具有复位按键1,在时钟模式下按下复位键后对时钟进行复位,复位时间12时00分00秒。 进入手动调时功能时,通过按键调节时间,每按下依次按键2,时钟时针加一,按下按键2一秒内未松手,时钟时针每秒钟加十;按键1对分针进行控制,原理与时针相同并通过译码器由七位数码管显示。 从00分00秒开始,数字钟进入整点报时功能(本设计中以一个LED灯代替蜂鸣器,进行报时),亮灯10秒钟进行提示。 2.3多功能数字钟的秒表功能部分:计时范围从00分00.00秒至59分59.99秒。可由复位键0异步清零,并由开关1控制计时开始与停止。 将DE2硬件中的50MHZ晶振经过分频获得周期为0.01秒的时钟脉冲,将信号送入计数器进行计算,并把累计结果通过译码器由七位数码管显示 2.4多功能数字钟的闹钟功能部分:进入闹钟功能模式后,通过按键2(设定小时)和按键1(设定分钟)设定闹钟时间,当按下按键一秒内未松手时,可进行快速设定时间。当时钟进入闹钟设定的时间(判断时钟的时信号时针,分针分别与闹钟设定的时信号时针、分针是否相等),则以LED灯连续亮10秒钟进行提示,并由开关0控制闹钟的开和关。 2.5 多功能数字钟的倒计时功能部分:可通过按键3(设定分针)和按键2(设定秒针)设定倒计时开始,当按下按键一秒内未松手时,可进行快速设定时间。当没有手动时间设定时,系统默认为60秒倒计时。倒计时的时钟与数字钟的时钟相同,每迎到一个1s时钟上升

电子时钟课程设计55026

. 单片机课程设计题目:电子时钟 班级: 姓名: 学号: 指导教师: 设计时间:

.

摘要 针对数字时钟的问题,利用8051单片机,proteus软件,vw(伟福)等软件,运用单片机中定时计数器T0,中断系统以及按键的控制实现了电子时钟的设计。设计的电子时钟通过数码管显示,并能通过按键的设计实现小时与分钟的调整。时间的启动与暂停等等。 关键字:数字时钟;单片机;定时计数器 .

1 引言 时钟,自他发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术不断的发展,人们对时间计量的进度要求越来越高,应用越来越广。怎样让时钟更好地为人类服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 现金,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都使用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示器,减小了计时误差,这种表具有时、分、秒显示的功能,还可以进行时、分的校对,片选的灵活性好。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准震荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,及定时时间,它通常有两种方法实现:一是软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要起不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。本文主要介绍用单片机内部的定时计数器来实现电子时钟的方法,以单片机为核心,辅以必要电路,构成了一个单片机电子时钟。 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可 .

数字钟课程设计

数字逻辑电路课程设计 课题:数字钟 姓名:刘亮 班级:通信2班 学号:21 成绩: 指导教师:查根龙 开课时间: 2014-2015学年第2学期

摘要 (1) ABSTRACT (2) 第1章设计背景 (3) 1.1设计任务 (3) 1.2设计要求 (3) 1.3 设计目的 (3) 第2章课程设计方案 (4) 2.1 数字钟的基本组成和工作原理 (4) 2.2 振荡电路 (5) 2.3 分频电路 (6) 2.4时分秒计数电路 (7) 2.5 校时校分功能 (10) 2.6整点报时电路 (10) 2.7上下午显示电路 (11) 第三章课程总结 (12) 第四章参考文献 (13) 第五章附件 (14) 5.1 电路原理图 (14) 5.2 元器件清单 (14)

摘要 电子钟在现代社会已经使用的非常广泛,伴随着数字电路技术的发展,数字钟的出现,更加方便了大家的生活,同时也大大地促进了社会的进步。数字电路具有电路简单、可靠性高、成本低等优点,本设计就以数字电路为核心设计智能电子钟。 数字钟就是由电子电路构成的计时器。是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和、报时、上下午显示等附加功能。主电路系统由秒信号发生器、时、分、秒计数器,译码器及显示器,校时电路,上下午显示,整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。秒信号产生器将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24和12小时的累计。计数器用的是74160。译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过六位LED七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的 关键词:计时器;计数;译码;报时;校时校分

多功能数字钟的设计与实现

多功能数字钟的设计与实现一、实验目的 1.掌握数字钟的设计原理。 2.用微机实验平台实现数字钟。 3.分析比较微机实现的数字钟和其他方法实现的数字钟。 二、实验内容与要求 使用微机实验平台实现数字钟。 1.基本要求如下: 1) 24 小时制时间显示。 2) 3) 4)可以随时进行时间校对。 整点报时。 闹钟功能,要求设置起闹时间时,不影响时钟的正常走时。 2.提高要求 1) 2)校时时相应位闪烁。能够设置多个起闹点。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单 5.设计结果和体会(包括遇到的问题及解决的方法) 四、系统总体设计 根据设计要求,初步思路如下: 1)计时单元由定时/计数器8253的通道0 来实现。定时采用硬件计数和软件技术相结合的方式,即通过8253产生一定的定时时间,然后再利用软件进行计数,从而实现24小时制定时。8253定时时间到了之后产生中断信号,8253在中断服务程序中实现时、分、秒的累加。 2)时间显示采用实验平台上的6个LED数码管分别显示时、分、秒,采用动态扫描方式实现。 3)校时和闹铃定时通过键盘电路和单脉冲产生单元来输入。按键包括校时键、闹钟定时键、加1键和减1键等。

4) 报警声响用蜂鸣器产生,将蜂鸣器接到 8255 的一个端口,通过输出电平的高低来 控制蜂鸣器的发声。 系统硬件设计主要利用微机实验平台上的电路模块。硬件电路主要由键盘电路、 单脉冲产生单元、8253 定时计数器、8255 并行接口单元、8259 中断控制器、LED 显 示电路和蜂鸣器电路等等。系统的硬件电路设计框图如图 1 所示。 图 1 硬件电路框图 五、硬件设计 根据设计思路,硬件电路可通过实验平台上的一些功能模块电路组成,由于实验平台 上的各个功能模块已经设计好,用户在使用时只要设计模块间电路的连接,因此,硬件电 路的设计及实现相对简单。完整系统的硬件连接如图 2 所示。硬件电路由定时模块、按键 模块、数码管显示模块和蜂鸣器模块组成。 Q6 路 图 2 系统硬件电路图 微机系统 8253 8255 8259 数码管显示 电路 键盘电路 蜂鸣器电路 单脉冲发生 单元 单脉冲发 生单元 键盘电路 8255 PA0 PB0 PC 8253 OUT0 GATE0 Clk0 地址 CS1 译码 CS2 电路 CS3 CS4 数码管显示模块 8259 IRQ2 IRQ3 IRQ5 PC BUS 蜂鸣器 单脉冲发 生单元

数字时钟课程设计报告

《电子线路课程设计报告》 系另 1」: 机电与自动化学院 专业班级:电气及自动化技术1001 学生姓名:陈星涯 指导教师:梁宗善 i=r (课程设计时 间: 2012年1月3日——2012年1月13日) 华中科技大学武昌分校 1.课程设计目的................................................. 3页 2.课程设计题目描述和要求....................................... 3页 2.1课程设计题目............................................. 3页

2.2课程设计要求............................................. 3页 3. ......................................................................................................... 比较和选定设计的系统方案.................................................... 4页 3.1数字钟的构成............................................. 4页 4.单元电路设计及工作原理....................................... 5页 4.1时基电路................................................. 5页 a. 多谐振荡器的工作原理................................... 5页 4.2计数器................................................... 7页 a.中规模计数器组件介绍.................................. 7页 b.60 进制计数器 .......................................... 8页 C.12 翻1计数器........................................... 9页 4.3译码器................................................... 10页 4.4显示器................................................... 10页 4.5校时电路................................................. 11页 4.6定时控制电路............................................. 12页 4.7仿广播电台正点报时电路................................... 13页 5.调试过程及分析............................................... 14页 5.1显示器故障排查........................................... 14页 5.2计数器调试及分析......................................... 15页 5.3校时电路的调试........................................... 16页 5.4增加抗干扰电路........................................... 16页 5.5闹时电路的调试........................................... 17页 5.6仿广播电台整点报时电路调试............................... 17页 6.课程设计总结................................................. 17页 7.参考文献..................................................... 19页 8.附件一:电子时钟主体电路电路图............................... 20页 9.附件二:扩展电路电路图....................................... 21页 10.附件三:系统所需元器件清单 ................................ 22页 11.课程设计成绩.............................................. 23页 一、设计任务与目的 数字时钟是一种利用数字电路技术实现时、分、秒计时的装置,与传统的

(完整版)数字电路课程设计--数字时钟

《数字时钟》技术报告 概要 数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24 小时,显示满刻度为23 时59 分59 秒。一个基本的数字钟电路主要由秒信号发生器、“时、分、秒、”计数器、译码器及显示器组成。由于采用纯数字硬件设计制作,与传统的机械表相比,它具有走时准,显示直观,无机械传动装置等特点。 本设计中的数字时钟采用数字电路实现对“时” 、“分”、“秒” 的显示和调整。通过采用各种集成数字芯片搭建电路来实现相应的功能。具体用到了555 震荡器,74LS90 及与非,异或等门集成芯片等。该电路具有计时和校时的功能。 在对整个模块进行分析和画出总体电路图后,对各模块进行仿真并记录仿真所观察到的结果。 实验证明该设计电路基本上能够符合设计要求! 一、系统结构。 (1)功能。此数字钟能显示“时、分、秒”的功能,它的计时周期是24 小时,最大能显示23 时59 分59 秒,并能对时间进行调整和校对,相对于机械式的手表其更为准确。 2)系统框图

系统方框图 1 (3)系统组成。 1.秒发生器:由555 芯片和RC 组成的多谐振荡器,其555 上3 的输出频率由接入的电阻与电容决定。 2.校时模块:由74LS03 中的4 个与非门和相应的开关和电阻构成。 3.计数器:由74LS90 中的与非门、JK 触发器、或门构成相应芯片串接得到二十四、六十进制的计数器,再由74LS90 与74LS08 相连接而得到秒、分、时的进分别进位。 4.译码器:选用BCD 锁存译码器4511,接受74LS90 来的信号,转换为7 段的二进制数。

5.显示模块:由7 段数码管来起到显示作用,通过接受CD4511 的信号。本次选用的是共阴型的CD4511 。 二、各部分电路原理。 1.秒发生器:555 电路内部(图2-1)由运放和RS 触发器共同组成,其工作原理由8处接VCC ,C1 处当 Uco=2/3Vcc>u11 时运放输出为1,同理C2 也一样。最终如图3 接口就输出矩形波,而形成的秒脉冲。 图 2-2 555 功能表 2.校时模块:校时模块主要由74LS03中的4个与非门构成(图2-3),由其功能图看得出只要有一个输入端由H 到L 或者从L 到H 都会使输出端发生高低变化。因此通过开关的拨动产生高低信号从而对时、分处的计数器起到调数作用。

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; //数码管选择输出引脚

数字时钟的设计与仿真

湖北民族学院 课程设计报告 数字时钟设计与仿真 课程:电子线路课程设计 专业:电子信息科学与技术 班级: 0312409 学号: 031240910 学生姓名:谢加龙 指导教师:易金桥 2014年 06月 21日

信息工程学院课程设计任务书 2014-06-21

摘要 基于单片机AT89c51设计而成的简易数字电子时钟,其主要功能皆由对单片机编程即由软件完成,外围硬件电路只包括报时电路、键盘输入电路和显示电路三个模块。具有外围硬件电路简单、运行功能可靠的优点。 关键词:单片机时钟键盘输入显示

目录 1、系统设计要求 (1) 1.1 基本功能 (1) 1.2扩展功能 (1) 2、硬件设计 (2) 2.1系统设计方案选择 (2) 2.2系统原理框图 (2) 2.3各单元的功能描述 (2) 2.4电路连接图 (2) 2.5元器件清单列表 (2) 2.6所用芯片的管脚图 (2) 3、软件设计 (3) 3.1主程序的流程图 (3) 3.2键盘扫描程序流程图 (3) 3.3发声程序流程图 (3) 3.4总程序 (3) 4、调试 (4) 4.1仿真调试 (4) 4.2硬件调试 (4) 5、总结 (5) 参考文献 (6)

1、系统设计要求 1.1 基本功能 (1)、要求准确显示“时”、“分”、“秒”,24 小时制; (2)、具有整点报时功能,在每小时59 分51 秒、53 秒、55 秒、57 秒发出低音,59秒整发出高音; (3)、系统工作符合一般时钟要求。 1.2扩展功能: (1)、具有校时功能,用户可修改“时”、“分”,且互不影响; (2)、可切换12 小时制和24 小时制。

数字时钟设计报告同济大学

设计报告内容: 1/系统的设计任务 2/设计方案 3/方案中各部分单元的设计、参数计算和器件选择 4/画出符合设计要求的完整系统电路图。 5/打印并在规定时间内上交设计报告(准备进行答辩,并在计算机中演示设计程序) 设计题目数字电子钟 1、设计任务: 必备功能: 1.设计一个高精度、高稳定度的时钟信号源。 2.用秒脉冲作信号源,构成数字钟,显示秒、分、时 3.具有对时功能,即时间可以快速预置。 附加功能: 具有整点提示功能,即每到整点发出蜂鸣声。 2、供选方案: 1)时钟信号源的实现: 时钟信号源是时钟类项目的心脏,他的精确度直接影响到整个项目的性能 方案A用石英晶振电路 晶振是石英振荡器的简称,英文名Crystal,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。它是时钟电路中最重要的部件,它的作用是向电子电路各部分提供基准频率。 选择晶振的主要性能指标有:调整频差、温度频差或总频差、谐振电阻或负载谐振电阻,还有机械性能等。 除了石英晶体外,晶振器电路还需要配置适当的电阻和晶振负载电容。和晶振串联电阻的作用是防止晶振过分驱动,过分驱动会逐渐损耗晶振的接触电镀,引起频率上升,使晶振失效。与晶振并联电阻是反馈电阻,保证反相器工作在适当工作区,如果去掉会产生停振。晶振负载电容能使芯片更容易起振,振荡更稳定。其电容值一般在 20pf,30pf,50pf,100pf 中选择。

方案B 555多谐振荡器

网上查阅的555多谐振荡器电路: _ _ 5V 优点是起振容易,振荡周期调节范围广,缺点是频率稳定性差,精度低,所以在本试验中不宜使用。 2)分频器的实现 方案A采用专用分频器 如二分频,六分频,十二分频,1/60分频器,常用集成电路有74LS92 74LS56,74LS57等。 方案B用各种进制计数器构成分频器 用异步十进制计数器74LS90同步十进制计数器74LS290双时钟同步加减计数器74LS192都可以很容易构成十进制,十二进制,二十四进制,六十进制分频器。另外,在对时钟进行2n分频时,CD4020,CD4040,CD4060也都能实现各种级数的二进制分频器。

基于的数字时钟的设计

基于QuartusII的数字时钟的设计 摘要 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 QuartusII使用户可以充分利用成熟的模块,简化了设计的复杂性,加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 数字钟是一种用数字电路实现时、分、秒计时的装置,与机械实施中相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到了广泛的使用。 在对EDA的课程有了初步的了解并掌握Quartus II软件的初步应用之后,我们决定将课题设置为应用Quartus II软件,设计出一个时间可调,并可以通过LED七段共阴极数码管来显示时、分、秒的简易数字钟。 关键词:QuartusII;VHDL;EDA;数字钟

Summary QuartusII is Altera company comprehensive PLD/FPGA development software, support principle diagram, VHDL, VerilogHDL and AHDL design input in the form of embedded own comprehensive device simulators, and can be done from the design input to the hardware configuration of the complete PLD design process. QuartusII allow users to take full advantage of mature modules, simplifies the design complexity, speed up the design.Good support for third-party EDA tools also allow users to use in the different stages of the design process is familiar with third-party EDA tools. Digital clock is a kind of when using a digital circuit implementation, minutes and seconds timing device, a higher accuracy compared with the implementation of the mechanical and intuitive, and no mechanical device, has a longer service life, has been widely used. In the course of EDA have a preliminary understanding and mastering the Quartus II software after the initial application, we decided to set the topic for the application of the Quartus II software, design a time is adjustable, and can be through the 7 common cathode LED digital tube display hours, minutes and seconds of simple digital clock. Keywords:QuartusII;VHDL;EDA;digital clock

数字时钟课程设计

1 绪论 1.1 课题背景及目的 在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着数字集成电路性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。 随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。 1.2数字时钟的应用 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展

相关文档
最新文档