数字逻辑电路(数电)课程设计_电子秒表_VHDL实现(含完整源代码!!)

数字逻辑电路(数电)课程设计_电子秒表_VHDL实现(含完整源代码!!)
数字逻辑电路(数电)课程设计_电子秒表_VHDL实现(含完整源代码!!)

电子科技大学

UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA

数字逻辑设计

实验报告

实验题目:电子秒表

学生姓名:

指导老师:

一、实验内容

利用FPGA设计一个电子秒表,计时范围00.00 ~ 99.00秒,最多连续记录3个成绩,由两键控制。

二、实验要求

1、实现计时功能:

域值范围为00.00 ~ 99.00秒,分辨率0.01秒,在数码管上显示。

2、两键控制与三次记录:

1键实现“开始”、“记录”等功能,2键实现“显示”、“重置”等功能。

系统上电复位后,按下1键“开始”后,开始计时,记录的时间一直显示在数码管上;按下1键“记录第一次”,次按1键“记录第二次”,再按1键“记录第三次”,分别记录三次时间。

其后按下2键“显示第一次”,次按2键“显示第二次”,再按2键“显示第三次”,数码管上分别显示此前三次记录的时间;显示完成后,按2键“重置”,所有数据清零,此时再按1键“开始”重复上述计时功能。

三、设计思路

1、整体设计思路

先对按键进行去抖操作,以正确的得到按键信息。

同时将按键信息对应到状态机中,状态机中的状态有:理想状态、开始状态、3次记录、3次显示、以及其之间的7次等待状态。

因为需要用数码管显示,故显示的过程中需要对数码管进行片选和段选,因此要用到4输入的多路选择器。

在去抖、计时、显示的过程中,都需要用到分频,从而得到理想频率的时钟信号。

2、分频设计

该实验中有3个地方需要用到分频操作,即去抖分频(需得到200HZ时钟)、计时分频(需得到100HZ时钟)和显示分频(需得到25kHZ时钟)。

分频的具体实现很简单,需首先算出系统时钟(50MHZ)和所需始终的频率比T,并定义一个计数变量count,当系统时钟的上升沿每来到一次,count就加1,当count=T时就将其置回1。这样只要令count=1~T/2时clk=‘0’,count=T/2+1~T时clk=‘1’即可。

3、去抖设计

由于用按键为机械弹性开关,故当机械触点断开、闭合时,按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开,而是在闭合及断开的瞬

间发生一系列的抖动,时间一般为5ms~10ms,如下图所示:

故应考虑对按键时进行去抖操作。

这里去抖用到了一个状态机,具体如下:

其中,按键按下时为低电平,松开后为高电平。去抖用的频率为200HZ,当连续两次采样都为低电平时,认为按键稳定按下,在按键稳定按下后,采样到按键为高电平时,认为按键释放。

4、状态机设计

(1)状态转移:

当按下key1或者key2且检测到时间上升沿到来,状态机中将发生状态转移,且不论在什么状态,按下reset键时都将回到idle状态。

这里在记录状态和显示状态之间加入了一些“中间状态”,其目的是为了避免一次按键时间过长而导致认为其进行了多次按键的情况。

状态转移图如下所示:

其中,a表示第一个按键(开始、记录),b表示第二个按键(显示、复位),idle为理想状态也是初始状态,r1、r2、r3为三个记录状态,d1、d2、d3为三个显示状态,m1~m7为7个中间状态。

(2)计时与监视:

在“开始状态”之后,若没有按下reset键,都将一直进行计时,且记录的过程中数码管需要一直显示当前计时,于是数码管需要对当前时间进行不停得“监视”。

监视的过程中就涉及到计时,这里计时其实是用计数器来实现的,即每当分频后(这里分频为100mHZ,即0.01s)的时钟上升沿到来时,就使数码管最低位(即0.01位)加一,以此来实现计时。

5、数码管的显示:

由于数码管的四个数字采用同一组控制开关,即共阴极、共阳极,所以如果直接开启数码管显示则四个管子的显示将完全相同,原理图如下所示:

故这里用“扫描”的方式来控制数码管,当扫描速度很快时人眼将无法区分,故会认为四个数码管都在一直显示。这里的扫描的频率选取为25kHz,四个数码管的选取通过4输入多路选择器来实现。

四、程序设计

1、顶层:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_TEXTIO.ALL;

USE STD.TEXTIO.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.NUMERIC_STD.ALL;

entity main is

Port ( clk : in STD_LOGIC;

reset : in STD_LOGIC;

key1 : in STD_LOGIC;

key2 : in STD_LOGIC;

led : out STD_LOGIC_VECTOR(0 to 6);

led_com : out STD_LOGIC_VECTOR(3 downto 0);

point : out STD_LOGIC);

end main;

architecture Behavioral of main is

COMPONENT debounce

PORT(

clk_deb : IN std_logic;

reset : IN std_logic;

keyi : IN std_logic;

keyo : OUT std_logic

);

END COMPONENT;

COMPONENT freq_div_debounce

PORT(

clk : IN std_logic;

clk_out : OUT std_logic

);

END COMPONENT;

COMPONENT freq_div_display

PORT(

clk : IN std_logic;

clk_out : OUT std_logic

);

END COMPONENT;

COMPONENT freq_div_time

PORT(

clk : IN std_logic;

clk_out : OUT std_logic

);

END COMPONENT;

COMPONENT mux

PORT(

clk_dis : IN std_logic;

num1 : IN std_logic_vector(3 downto 0);

num2 : IN std_logic_vector(3 downto 0);

num3 : IN std_logic_vector(3 downto 0);

num4 : IN std_logic_vector(3 downto 0);

led: OUT std_logic_vector(0 to 6);

led_com : OUT std_logic_vector(3 downto 0);

point : OUT std_logic

);

END COMPONENT;

COMPONENT state_machine

PORT(

clk_t : IN std_logic;

a : IN std_logic;

b : IN std_logic;

reset : IN std_logic;

out1 : OUT std_logic_vector(3 downto 0);

out2 : OUT std_logic_vector(3 downto 0);

out3 : OUT std_logic_vector(3 downto 0);

out4 : OUT std_logic_vector(3 downto 0)

);

END COMPONENT;

signal o,o1,o2,o3,o4:std_logic_vector(3 downto 0);

signal k1,k2,clk_debounce,clk_time,clk_display:std_logic;

begin

--分频--

div1: freq_div_debounce PORT MAP(clk,clk_debounce);

div2: freq_div_time PORT MAP(clk,clk_time);

div3: freq_div_display PORT MAP(clk,clk_display);

--去抖--

deb1: debounce PORT MAP(clk_debounce,reset,key1,k1);

deb2: debounce PORT MAP(clk_debounce,reset,key2,k2);

--状态机--

s: state_machine PORT MAP(clk_time,k1,k2,reset,o1,o2,o3,o4);

--多路选择器--

m: mux PORT MAP(clk_display,o1,o2,o3,o4,led,led_com,point); end Behavioral;

2、分频:

(1)去抖分频:

entity freq_div_debounce is

Port ( clk: in STD_LOGIC;

clk_out: out STD_LOGIC);

end freq_div_debounce;

architecture Behavioral of freq_div_debounce is signal count :integer range 1 to 250000 :=1; --赋初值begin

process(clk)

begin

if (clk ' event and clk='1') then

if count=250000 then

count<=1;

else

count<=count+1;

end if;

end if;

end process;

process(count)

begin

if count<=125000 then

clk_out<='0';

else

clk_out<='1';

end if;

end process;

end Behavioral;

(2)计时分频:

entity freq_div_time is

Port ( clk : in STD_LOGIC;

clk_out : out STD_LOGIC);

end freq_div_time;

architecture Behavioral of freq_div_time is

signal count :integer range 1 to 500000 :=1; --赋初值begin

process(clk)

begin

if (clk ' event and clk='1') then

if count=500000 then

count<=1;

else

count<=count+1;

end if;

end if;

end process;

process(count)

begin

if count<=250000 then

clk_out<='0';

else

clk_out<='1';

end if;

end process;

end Behavioral;

(3)显示分频:

entity freq_div_display is

Port ( clk : in STD_LOGIC;

clk_out : out STD_LOGIC);

end freq_div_display;

architecture Behavioral of freq_div_display is signal count :integer range 1 to 2500 :=1; --赋初值begin

process(clk)

begin

if (clk ' event and clk='1') then

if count=2500 then

count<=1;

else

count<=count+1;

end if;

end if;

end process;

process(count)

begin

if count<=1250 then

clk_out<='0';

else

clk_out<='1';

end if;

end process;

end Behavioral;

entity debounce is

Port ( clk_deb : in STD_LOGIC; --200HZ

reset : in STD_LOGIC;

keyi : in STD_LOGIC;

keyo : out STD_LOGIC);

end debounce;

architecture Behavioral of debounce is

type state_type is (idle,d1,d2);

signal state: state_type :=idle;

begin

process(clk_deb,reset,keyi)

begin

if (reset='0') then

state<=idle; --初始状态

keyo<='1';

elsif (clk_deb' event and clk_deb='1') then --时钟上升沿来到

case state is

when idle =>

keyo<='1';

if keyi='0' then

state<=d1;

else

state<=idle;

end if;

when d1 =>

keyo<='1';

if keyi='0' then

state<=d2;

else

state<=idle;

end if;

when d2 =>

keyo<='0';

if keyi='1' then

state<=idle;

else

state<=d2;

end if;

end case;

end if;

end process;

end Behavioral;

entity state_machine is

Port ( clk_t : in STD_LOGIC; --100HZ

a : in STD_LOGIC;

b : in STD_LOGIC;

reset : in STD_LOGIC;

out1 : out STD_LOGIC_VECTOR(3 DOWNTO 0);

out2 : out STD_LOGIC_VECTOR(3 DOWNTO 0);

out3 : out STD_LOGIC_VECTOR(3 DOWNTO 0);

out4 : out STD_LOGIC_VECTOR(3 DOWNTO 0)); end state_machine;

architecture Behavioral of state_machine is

type statetype is (idle,start,r1,r2,r3,d1,d2,d3,m1,m2,m3,m4,m5,m6,m7); signal state : statetype :=idle;

--记录1--

signal r1_led1 :std_logic_vector (3 downto 0); --最低位

signal r1_led2 :std_logic_vector (3 downto 0);

signal r1_led3 :std_logic_vector (3 downto 0);

signal r1_led4 :std_logic_vector (3 downto 0); --最高位

--记录2--

signal r2_led1 :std_logic_vector (3 downto 0); --最低位

signal r2_led2 :std_logic_vector (3 downto 0);

signal r2_led3 :std_logic_vector (3 downto 0);

signal r2_led4 :std_logic_vector (3 downto 0); --最高位

--记录3--

signal r3_led1 :std_logic_vector (3 downto 0); --最低位

signal r3_led2 :std_logic_vector (3 downto 0);

signal r3_led3 :std_logic_vector (3 downto 0);

signal r3_led4 :std_logic_vector (3 downto 0); --最高位

--计时--

signal t_led1 :std_logic_vector (3 downto 0); --最低位

signal t_led2 :std_logic_vector (3 downto 0);

signal t_led3 :std_logic_vector (3 downto 0);

signal t_led4 :std_logic_vector (3 downto 0); --最高位

begin

--状态转移--

process(clk_t,reset,a,b)

begin

if (clk_t' event and clk_t='1') then

if (reset='0') then

state<=idle;

else

case state is

when idle => if a='0' then state<= start; else state<= idle;end if;

when start=> if a='1' then state<= m1; else state<= start;end if;

when m1=> if a='0' then state<=r1;else state<=m1;end if;

when r1=> if a='1' then state<=m2;else state<=r1;end if;

when m2=> if a='0' then state<=r2;else state<=m2;end if;

when r2=> if a='1' then state<=m3;else state<=r2;end if;

when m3=> if a='0' then state<=r3;else state<=m3;end if;

when r3=> if a='1' then state<=m4;else state<=r3;end if;

when m4=> if b='0' then state<=d1;else state<=m4;end if;

when d1=> if b='1' then state<=m5;else state<=d1;end if;

when m5=> if b='0' then state<=d2;else state<=m5;end if;

when d2=> if b='1' then state<=m6;else state<=d2;end if;

when m6=> if b='0' then state<=d3;else state<=m6;end if;

when d3=> if b='1' then state<=m7;else state<=d3;end if;

when m7=> if b='0' then state<=idle;else state<=m7;end if;

end case;

end if;

end if;

end process;

--计时(监视)--

process(clk_t,reset,state)

begin

if (clk_t' event and clk_t='1') then

if reset='0' then --复位

t_led1<="0000";

t_led2<="0000";

t_led3<="0000";

t_led4<="0000";

else

case state is

when idle => --初始状态

t_led1<="0000";

t_led2<="0000";

t_led3<="0000";

t_led4<="0000";

when others =>

if t_led1="1001" then --如果等于9,则清0,且进位

t_led1<="0000";

if t_led2="1001" then

t_led2<="0000";

if t_led3="1001" then

t_led3<="0000";

if t_led4="1001" then

t_led4<="0000";

else

t_led4<=t_led4+1;

end if;

else

t_led3<=t_led3+1;

end if;

else

t_led2<=t_led2+1;

end if;

else

t_led1<=t_led1+1;

end if;

end case;

end if;

end if;

end process;

--记录--

process(clk_t,state)

begin

if (clk_t' event and clk_t='1') then

case state is

when idle =>

r1_led1<="0000";

r1_led2<="0000";

r1_led3<="0000";

r1_led4<="0000";

r2_led1<="0000";

r2_led2<="0000";

r2_led3<="0000";

r2_led4<="0000";

r3_led1<="0000";

r3_led2<="0000";

r3_led3<="0000";

r3_led4<="0000";

when r1 =>

r1_led1<=t_led1;

r1_led3<=t_led3;

r1_led4<=t_led4;

when r2 =>

r2_led1<=t_led1;

r2_led2<=t_led2;

r2_led3<=t_led3;

r2_led4<=t_led4;

when r3=>

r3_led1<=t_led1;

r3_led2<=t_led2;

r3_led3<=t_led3;

r3_led4<=t_led4;

when others => NULL;

end case;

end if;

end process;

--数码管数字--

process(clk_t,reset,state)

begin

if (clk_t' event and clk_t='1') then

case state is

when idle =>

out1<= "0000";

out2<= "0000";

out3<= "0000";

out4<= "0000";

when d1|m5 =>

out1<= r1_led1;

out2<= r1_led2;

out3<= r1_led3;

out4<= r1_led4;

when d2|m6 =>

out1<= r2_led1;

out2<= r2_led2;

out3<= r2_led3;

out4<= r2_led4;

when d3|m7 =>

out1<= r3_led1;

out2<= r3_led2;

out4<= r3_led4;

when others =>

out1<= t_led1;

out2<= t_led2;

out3<= t_led3;

out4<= t_led4;

end case;

end if;

end process;

end Behavioral;

5、多路选择器:

entity mux is

Port ( clk_dis : in STD_LOGIC; --25kHZ

num1 : in STD_LOGIC_VECTOR(3 downto 0); --最低位

num2 : in STD_LOGIC_VECTOR(3 downto 0);

num3 : in STD_LOGIC_VECTOR(3 downto 0);

num4 : in STD_LOGIC_VECTOR(3 downto 0); --最高位

led :out STD_LOGIC_VECTOR (0 to 6); --a to g

led_com : out STD_LOGIC_VECTOR(3 downto 0); --最高位downto 最低位

point : out STD_LOGIC);

end mux;

architecture Behavioral of mux is

signal count:integer range 1 to 4 :=1;

signal num : std_logic_vector(3 downto 0);

begin

process(clk_dis) --计数

begin

if (clk_dis' event and clk_dis='1') then

if count=4 then

count<=1;

else

count<=count+1;

end if;

end if;

end process;

process(clk_dis,count,num1,num2,num3,num4) --选择

begin

case count is

when 1 => num<=num1;led_com<="1110";point<='1';

when 2 => num<=num2;led_com<="1101";point<='1';

when 3 => num<=num3;led_com<="1011";point<='0';

when 4 => num<=num4;led_com<="0111";point<='1';

end case;

end process;

process(num) --数码管显示

begin

case num is

when "0000" => led<="0000001"; --0,数码管:a-g

when "0001" => led<="1001111";

when "0010" => led<="0010010";

when "0011" => led<="0000110";

when "0100" => led<="1001100";

when "0101" => led<="0100100";

when "0110" => led<="0100000";

when "0111" => led<="0001111";

when "1000" => led<="0000000";

when "1001" => led<="0000100"; --9

when others => led<="0000000"; --其他

end case;

end process;

end Behavioral;

五、仿真与硬件调试

1、仿真

(1)顶层仿真

1.仿真文件:

ENTITY test_STOPWATCH IS

END test_STOPWA TCH;

ARCHITECTURE behavior OF test_STOPWATCH IS

-- Component Declaration for the Unit Under Test (UUT)

COMPONENT main

PORT(

clk : IN std_logic;

reset : IN std_logic;

key1 : IN std_logic;

key2 : IN std_logic;

led : OUT std_logic_vector(6 downto 0);

led_com : OUT std_logic_vector(3 downto 0);

point : OUT std_logic

);

END COMPONENT;

--Inputs

signal clk : std_logic := '0';

signal reset : std_logic := '1';

signal key1 : std_logic := '1';

signal key2 : std_logic := '1';

--Outputs

signal led : std_logic_vector(6 downto 0);

signal led_com : std_logic_vector(3 downto 0);

signal point : std_logic;

BEGIN

-- Instantiate the Unit Under Test (UUT)

uut: main PORT MAP (

clk => clk,

reset => reset,

key1 => key1,

key2 => key2,

led => led,

led_com => led_com,

point => point

);

-- Clock process definitions

process

begin

clk<='0';

wait for 10 ns;

clk<='1';

wait for 10 ns;

end process;

-- Stimulus process

stim_proc: process

begin

key1 <= '1';

key2 <= '1';

wait for 25 ms;

key1 <= '0';

key2 <= '1';

wait for 25 ms;

key1 <= '1';

key2 <= '1';

wait for 25 ms;

key2 <= '1';

wait for 25 ms; key1 <= '1'; key2 <= '1';

wait for 25 ms; key1 <= '0'; key2 <= '1';

wait for 25 ms; key1 <= '0'; key2 <= '1';

wait for 25 ms; key1 <= '1'; key2 <= '1';

wait for 25 ms; key1 <= '0'; key2 <= '1';

wait for 25 ms; key1 <= '1'; key2 <= '1';

wait for 25 ms; key1 <= '1'; key2 <= '0';

wait for 25 ms; key1 <= '1'; key2 <= '1';

wait for 25 ms; key1 <= '1'; key2 <= '0';

wait for 25 ms; key1 <= '1'; key2 <= '0';

wait for 25 ms; key1 <= '1'; key2 <= '0';

wait for 25 ms;

key2 <= '1';

wait for 25 ms;

key1 <= '1';

key2 <= '0';

wait for 25 ms;

key1 <= '1';

key2 <= '1';

wait for 25 ms;

key1 <= '1';

key2 <= '0';

wait for 25 ms;

key1 <= '1';

key2 <= '1';

-- insert stimulus here

wait;

end process;

END;

2.仿真结果:

(2)分频仿真

1.仿真文件:

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

ENTITY text_freq_div_debounce IS

END text_freq_div_debounce;

ARCHITECTURE behavior OF text_freq_div_debounce IS

-- Component Declaration for the Unit Under Test (UUT)

COMPONENT freq_div_debounce

PORT(

clk : IN std_logic;

clk_out : OUT std_logic

);

END COMPONENT;

--Inputs

signal clk : std_logic := '0';

--Outputs

signal clk_out : std_logic;

BEGIN

-- Instantiate the Unit Under Test (UUT)

uut: freq_div_debounce PORT MAP (

clk => clk,

clk_out => clk_out

);

process

begin

wait for 10 ns;

clk<='1';

wait for 10 ns;

clk<='0';

end process;

END;

2.仿真结果:

数字电子秒表课程设计

西安航空职业技术学院 电子技术实践课程设计报告 课设题目:数字电子秒表 所属系部:电子工程系 指导老师: 作者: 专业:电子信息工程技术 西安航空职业技术学院制 西安航空职业技术学院 课程设计任务书 题目:数字电子秒表 任务与要求: 1、设计数字电子秒表原理图。 2、用6个数码管显示分、秒、毫秒。 3、计时误差不得超过1s;具有清零、启动计时、暂停计时及继续 计时等控制功能。 4、画出总体电路图。 5、安装自己设计的电路,按照自己设计的电路,在通用板上焊接。 焊接完毕后,应对照电路图仔细检查,看是否有错接、漏接、 虚焊的现象。 6、调试电路。 时间:2010年11月29 日至 2010年12 月10 日共2周

所属系部:电子工程系 指导单位或教研室:电子信息教研室 西安航空职业技术学院制 摘要: 采用现代数字电路设计方法和EDA技术,即自顶向下的设计方法,应用protues开发平台进行设计并仿真验证和硬件测试。从总体设计框图开始,将设计任务逐步分解,直到可以用标准的集成电路部件实现,然后将各部件联结成系统,通过protues集成开发平台进行设计的分析综合和时序仿真验证。最后,在分析时序仿真结果的基础上,对设计进行进一步的修改和完善,已达到对设计电路正确运行且学会运用protues电路设计与仿真的目的。 关键词: 555定时器;LED;暂停计时 Abstract: Adopt modern digital circuit design method and EDA technique, namely the top-down design methods, application protues development platform design and simulation validation and hardware test. From the beginning, overall design diagram design task decomposed step by step, until can use standard of integrated circuit components, and then will realize connecting components into system, through protues integrated development platform design of comprehensive analysis and time-series simulation prove. Finally, by analyzing the timing simulation results, on the basis of design for further revised and perfected, reached the correct operation of circuit design and learn to use protues circuit design and simulation of purpose. Key words: 555 timing, Leds, Suspended timing 目录 1 设计方案的选择 (1) 2 总体框架设计 (2) 3 分步电路设计 (3) 3.1控制电路的设计 (3) (3) (3) 3.2数码管显示电路 (4)

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

课程设计(综合实验)报告 题目:第四个实验数字电子钟院系:计算机科学系 班级:计算计科学与技术1班学号: 学生姓名: 队员姓名: 指导教师:

《数字逻辑》综合实验 任务书 一、目的与要求 1 目的 1.1综合实验是教学中必不可少的重要环节,通过综合实验巩固、深化和扩展学生的理论知识与初步的专业技能,提高综合运用知识的能力,逐步增强实际工程训练。 1.2注重培养学生正确的设计思想,掌握综合实验的主要内容、步骤和方法。 1.3培养学生获取信息和综合处理信息的能力、文字和语言表达能力以及协作工作能力。 1.4提高学生运用所学的理论知识和技能解决实际问题的能 及其基本工程素质。 2.要求 2.1 能够根据设计任务和指标要求,综合运用电子技术课程中所学到的理论知识与实践技能独立完成一个设计课题。 2.2根据课题需要选择参考书籍,查阅手册、图表等有关文献资料。要求通过独立思考、深入钻研综合实验中所遇到的问题,培养自己分析、解决问题的能力。 2.3进一步熟悉常用电子器件的类型和特性,掌握合理选用的原则。 2.4学会电子电路的安装与调试技能,掌握常用仪器设备的正确

使用方法。利用“观察、判断、实验、再判断”的基本方法,解决实验中出现的问题。 2.5学会撰写综合实验总结报告。 2.6通过综合实验,逐步形成严肃认真、一丝不苟、实事求是的工作作风和科学态度,培养学生树立一定的生产观点、经济观点和全局观点。要求学生在设计过程中,坚持勤俭节约的原则,从现有条件出发,力争少损坏元件。 2.7在综合实验过程中,要做到爱护公物、遵守纪律、团结协作、注意安全。 二、主要内容 数字电子钟 设计一台能显示时﹑分、秒的数字电子钟,要求如下: 1)秒﹑分为00—59六十进制计数器,时为00—23二十四进制计数器; 2)可手动校正:可分别对秒﹑分﹑时进行手动脉冲输入调整或连续脉冲输入校正,(校正时不能输出进位)。 元器件选择 74LS162:4块与非门74LS00:2块共阳数码管LED 74LS161:2块GAL16V8:2块晶体振荡器:1MHZ GAL20V8:1块TDS-4实验箱 导线若干 所需要器件的图片如下

数字电路电子时钟课程设计

数字电路电子时钟课程设计 整个数字钟由时间计数电路、晶体振荡电路、校正电路、整点报时电路组成。 其中以校正电路代替时间计数电路中的时、分、秒之间的进位,当校时电路处于正常输入信号时,时间计数电路正常计时,但当分校正时,其不会产生向时 进位,而分与时的校位是分开的,而校正电路也是一个独立的电路。电路的信 号输入由晶振电路产生,并输入各电路 方案论证:方案一数字电子钟由信号发生器、“时、分、秒”计数器、译码 器及显示器、校时电路、整点报时电路等组成。秒信号产生器是整个系统的时 基信号,它直接决定计时系统的精度,一般用555构成的振荡器加分频器来实现。 优点:数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械 式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 方案二秒、分计数器为60进制计数器,小时计数器为24进制计数器。 实现这两种模数的计数器采用中规模集成计数器74LS90构成。 优点:简单易懂,比较好调试。 1 设计原理数字电子钟由信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路等组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用555构成的振荡器加分频器来实现。将标 准秒脉冲信号送入“秒计数器”,该计数器采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分,发出一个“时脉冲”信号,该信号将被 送到“时计数器”。“时计数器”采用24进制计数器,可以实现一天24h的累计。译码显示电路将“时、分、秒”计数器的输出状态经七段显示译码器译码,通 过六位LED显示器显示出来。整点报时电路是根据计时系统的输出状态产生一

电子秒表课程设计

课程设计 题目 学院 专业 班级 姓名 指导教师 年月日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目:电子秒表的设计与制作 初始条件: (1)计数精度可达1/100秒 (2)可显示时间99.99秒 (3)具有开关可启动,暂停,清零功能 选作:设计可改变计时时间(最大59.99秒)的电路 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)设计任务及要求 (2)方案比较及认证 (3)系统框图,原理说明 (4)硬件原理,完整电路图,采用器件的功能说明 (5)调试记录及结果分析 (6)对成果的评价及改进方法 (7)总结(收获及体会) (8)参考资料 (9)附录:器件表,芯片资料 时间安排: 6月16日~6月19日:明确课题,收集资料,方案确定 6月19日~1月21日:整体设计,硬件电路调试 6月21日~6月24日;报告撰写,交设计报告,答辩 指导教师签名:2014年 6月日

目录 摘要 (4) 电子秒表的设计与制造 (5) 1 课题分析 (5) 2系统设计方案的选择 (5) 3 电子秒表系统主体流程框图 (6) 4 单元电路的设计 (7) 4.1脉冲产生电路 (7) 4.2 计数电路 (8) .3 译码显示电路 (9) 4.4 控制电路 (10) 5 仿真测试 (10) 6 电子秒表设计原理图 (11) 7 结束语 (11) 参考文献 (12) 附录 (13) 附录一:选作:设计可改变计时时间的电路 (13) 附录二:74LS290功能表 (15) 附录三:74LS48功能表 (15)

摘要 电子秒表是一种数字显示计时装置,由于它走时准,设计简单,显示直观,因此被广泛运用于科学研究,体育运动,国防等方面。比如对物体速度,加速度的测量,体育比赛的时间的测量等。 数字电子秒表由组合逻辑电路和时序逻辑电路组成,555定时器组成多谐振荡器产生脉冲,在脉冲控制下的组合计数器电路通过一系列的触发产生数字信号,数字信号经译码器译码后输入到显示数码管显示时间。 电子秒表的广泛应用提高了人们的工作效率,随着电子技术的发展,电子秒表的精度,电路简易型等到了很大的提高,功能得到了完善。 关键词:秒表定时器效率

数电课程设计:电子秒表

2013 - 2014学年第1学期 《数字电子技术基础》 课程设计报告 题目:电子秒表 专业:自动化 班级:自动化 姓名: 指导教师: 成绩: 2015年8月25日

课程设计任务书 学生班级:自动化学生姓名:学号: 设计名称:电子秒表 起止日期:2015.8.22——2015.9.05 指导教师:

摘要 秒表应用于我们生活、工作、运动等需要精确计时的方面。它由刚开始的机械式秒表发展到今天所常用的数字式秒表。秒表的计时精度越来越高,功能越来越多,构造也日益复杂。 本次数字电路课程设计的数字式秒表的要求为:显示分辨率为1s/100,外接系统时钟频率为100Hz;计时最长时间为10min,6位显示器,显示时间最长为9m59.99s;系统设置启/停键和复位键。复位键用来消零,做好计时准备、启/停键是控制秒表起停的功能键。 针对上述设计要求,我们先前往校图书馆借阅了大量的数字电路设计方面的书籍,以及一本电子元件方面的工具书,以待查阅各种设计中所需要的元件。其次安装并学习了数字电路设计中所常用的Multisim仿真软件,在课程设计过程的电路图设计与电路的仿真方面帮助我们发现了设计电路方面的不足与错误之处。 关键字:555定时器十进制计数器多谐振荡器

目录 第一章方案设计与论证 .................................................. - 5 - 第二章单元电路设计与参数计算 .......................................... - 5 - 2.1 时钟脉冲发生和控制信号.......................................... - 5 - 2.2 启动与停止电路.................................................. - 6 - 2.3 清零电路设计.................................................... - 7 - 第三章总电路工作原理及元器件清单 ...................................... - 7 - 3.1 电路完整工作过程描述(总体工作原理)............................ - 7 - 3.2 总原理图:(见下图3-1)......................................... - 7 - 第四章主要芯片介绍.................................................... - 9 - 4.1 74LS00 .......................................................... - 9 - 4.1 74LS160 ......................................................... - 9 - 第五章仿真............................................................ - 9 - 自我评价.............................................................. - 13 -

数字电子技术课程设计,数字钟的设计

武汉理工大学《数字电子技术》课程设计说明书 目录 1绪论-----------------------------------------------------------------------------------------1 2设计方案概述-------------------------------------------------------------------------2 2.1系统设计思路与总体方案---------------------------------------------------------------2 2.2总体工作过程------------------------------------------------------------------------------2 2.3各功能块的划分和组成------------------------------------------------------------------3 3单元电路设计与分析--------------------------------------------------------------3 3.1秒信号的发生电路------------------------------------------------------------------------3 3.2时、分、秒计数电路---------------------------------------------------------------------4 3.2.1秒部分-----------------------------------------------------------------------------------5 3.2.2分部分-----------------------------------------------------------------------------------5 3.2.3时部分-----------------------------------------------------------------------------------6 3.3校正时、分电路---------------------------------------------------------------------------7 3.3.1校分电路--------------------------------------------------------------------------------7 3.3.2校时电路--------------------------------------------------------------------------------8 3.4整点报时电路------------------------------------------------------------------------------8 3.5闹钟功能电路------------------------------------------------------------------------------9 5电路的调试与仿真-----------------------------------------------------------------9 4总体电路原理图---------------------------------------------------------------------11 6元器件清单-----------------------------------------------------------------------------12 7设计体会及心得---------------------------------------------------------------------12 参考文献------------------------------------------------------------------------------------14

数电课程设计 数字电子钟

数字电子技术课程设计 数字电子钟 指导老师: 小组成员:

目录 摘要 (3) 第一节系统概述 (4) 第二节单元电路设计与分析 (6) 第三节电路的总体设计与调试 (11) 第四节设计总结 (13) 附录部分芯片功能参数表 (14) 参考文献 (17)

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

第一节系统概述 数字电子钟是由多块数字集成电路构成的,其中有振荡器,分频器,校时电路,计数器,译码器和显示器六部分组成。振荡器和分频器组成标准秒信号发生器,不同进制的计数器产生计数,译码器和显示器进行显示,通过校时电路实现对时,分的校准。 1.1实验目的 1).掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法; 2).进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力; 3).提高电路布局﹑布线及检查和排除故障的能力; 4).培养书写综合实验报告的能力。 1.2 主要内容 熟悉Multisim10.0仿真软件的应用;设计一个具有显示、校时、整点报时和定时功能的数字时钟,.能独立完成整个系统的设计;用Multisim10.0仿真实现数字时钟的功能。 1.3 系统设计思路与总体方案 数字时钟基本原理的逻辑框图如下所示:

电子秒表课程设计报告

电子信息工程专业10级学生单片机原理课程设计任务书 电子秒表的设计 一、设计要求 设计一个电子秒表,与通用秒表功能类似,有启动,暂停、复位等键。计时长长度为300秒,需显示百分秒。 二、设计方案分析

1.方案设计 数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。 本系统采用C51系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 本设计利用STC89C52单片机的定时器/计数器定时和计数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了两个按键和LCD显示时间,两个按键分别是开始、停止和复位按键。利用这两个建来实现秒表的全部功能,而LCD 则能显示最多4.59.99秒的计时。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图1.1进行设计。 图1.1 数字秒表硬件电路基本原理图 本设计中,数码管显示的数据存放在内存单元31H-33H中。其中31H存放分钟变量,32H存放秒钟变量,33H存放10ms计数值,即存放毫秒位数据,每一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出31H -33H某一地址中的数据,然后查得对应的显示位,并从P1口输出,就能显示该地址单元的数据值。 INT中断完成,定时溢出中断周期为1ms,当一处中断后向CPU 计时通过1 发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到4.59.99秒重新复位。 再看按键的处理。这两个键可以采用中断的方法,也可以采用扫描的方法来识别。复位键主要功能在于数值复位,对于时间的要求不是很严格。而开始和停止键则是用于对时间的锁定,需要比较准确的控制。因此可以对复位按键采取扫描的方式。而对开始和停止键采用外部中断的方式。 设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制 器,显示电路和回零、启动、查看、停表电路等。主控制器采用单片机STC89C52,

数电课程设计电子秒表

电子电路课程设计题目名称:电子秒表课程设计 姓名: 学号: 专业班级:

一.设计任务及功能简介 (1)显示分辨率为1s/100,外接系统时钟频率为100KHz。 (2)计时最长时间为1h,六位显示器,显示时间最长为59m59.99s。 系统设置启/停键和复位键。复位键用来消零,做好计时准备、启/停键是控制秒表起停的功能键 二.设计框原理 三.各单元电路的设计及使用说明

1.启动和停止单元电路 由一个开关控制CP脉冲,从而控制秒表的启动与停止 2.秒脉冲电路 LM555CN定时器构成的多谐振荡器,是一种性能较好的时钟源。该脉冲电路产生100KHz的脉冲(MULTISIM仿真太慢,调快了频率) 3. 100进制计数器

由两片74ls160级联组成,采用了串行的方式,低位片的进位端RCO接低位片的CLK端。 4. 60进制计数器 60进制计数器采用串行整体置数的方式级联,将电路的59状态译码产生的低电平信号接到两片计数器的同步置数端,当下一个脉冲到来的时候同时把0000置入两片74ls160计数器中,从而得到六十进制计数器。 5.计数与译码显示

十进制加法计数器74LS160构成电子秒表的计数单6.电子秒表总设计图 四.主要芯片介绍 1.74LS00

其真值表及管脚图为: 2.74LS160 74LS160 十进制同步计数器(异步清零)其真值表如下( H:高电平,L:低电平,↑:上升沿,X:任意,D0 ~D3 :A~D 稳态输入电平) 五.总电路的仿真 Inputs 输入 Ouput 输出 A B Y L L H L H H H L H H H L 输入 输出 Cr LD S1 S2 CP A B C D QA QB QC QD L X X X X X X X X L L L L H L X X ↑ D0 D1 D2 D3 D0 D1 D2 D3 H H H H ↑ X X X X 计数 H H L X X X X X X 保持 H H X L X X X X X 保持

数电课程设计数字电子钟说明书

数字电子技术电路课程设计题目:数字钟课程设计 学院:XXXXX 专业:XXXXX 班级:XXXX 姓名:XXXX 学号:XXXXX 指导老师:XXXXX

一、设计目的 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 二、设计要求 1.显示时,分,秒,用24小时制 2.能够进行校时,可以对数字钟进行调时间 3.能够正点报时(用555产生断续音频信号); 三、设计方案比较 方案一、采用中小规模集成电路实现 采用集成逻辑电路设计具有能实现,时、分、秒计时功能和定点报时功能,计时模块采用时钟信号触发,不需要程序控制。 方案二:EDA技术实现 采用EDA作为主控制器外围电路进行电压,时钟控制、键盘和LED控制。但此方案逻辑电路复杂,外围设备多,灵活性较低,不利于扩展 方案三、单片机编程实现 此方案采用单片机编程来设计和控制。 综上,根据自身的知识和方案比较,采用方案一,因为方案一简便灵活,扩展性好,同时符合此次数子电子知识设计的要求。 四、设计过程和说明 1.数字电子钟计时和显示功能的实现 (1)采用两片十进制计数器74LS160N扩展连接,设计60进制的计数器,显示0到59,在59时采用置数的方法,将两片74LS160N同时置数至0,以循环显示0到59。(图)

(2)24进制亦采用两片十进制计数器74LS160N扩展连接,设计24进制的计数器,显示0到23,在23时采用置数的方法,将两片74LS160N同时置数至0,以循环显示0到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 都会使输出端发生高低变化。因此通过开关的拨动产生高低信号从而对时、分处的计数器起到调数作用。

数字逻辑电路(数电)课程设计_电子秒表_VHDL实现(含完整源代码!!)

电子科技大学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 数字逻辑设计 实验报告 实验题目:电子秒表 学生姓名: 指导老师:

一、实验内容 利用FPGA设计一个电子秒表,计时范围00.00 ~ 99.00秒,最多连续记录3个成绩,由两键控制。 二、实验要求 1、实现计时功能: 域值范围为00.00 ~ 99.00秒,分辨率0.01秒,在数码管上显示。 2、两键控制与三次记录: 1键实现“开始”、“记录”等功能,2键实现“显示”、“重置”等功能。 系统上电复位后,按下1键“开始”后,开始计时,记录的时间一直显示在数码管上;按下1键“记录第一次”,次按1键“记录第二次”,再按1键“记录第三次”,分别记录三次时间。 其后按下2键“显示第一次”,次按2键“显示第二次”,再按2键“显示第三次”,数码管上分别显示此前三次记录的时间;显示完成后,按2键“重置”,所有数据清零,此时再按1键“开始”重复上述计时功能。 三、设计思路 1、整体设计思路 先对按键进行去抖操作,以正确的得到按键信息。 同时将按键信息对应到状态机中,状态机中的状态有:理想状态、开始状态、3次记录、3次显示、以及其之间的7次等待状态。 因为需要用数码管显示,故显示的过程中需要对数码管进行片选和段选,因此要用到4输入的多路选择器。 在去抖、计时、显示的过程中,都需要用到分频,从而得到理想频率的时钟信号。 2、分频设计 该实验中有3个地方需要用到分频操作,即去抖分频(需得到200HZ时钟)、计时分频(需得到100HZ时钟)和显示分频(需得到25kHZ时钟)。 分频的具体实现很简单,需首先算出系统时钟(50MHZ)和所需始终的频率比T,并定义一个计数变量count,当系统时钟的上升沿每来到一次,count就加1,当count=T时就将其置回1。这样只要令count=1~T/2时clk=‘0’,count=T/2+1~T时clk=‘1’即可。 3、去抖设计 由于用按键为机械弹性开关,故当机械触点断开、闭合时,按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开,而是在闭合及断开的瞬

数电课程设计-30秒倒计时器

. 定时电路的设计 ——数字逻辑课程设计 学院:计算机学院 专业班级:计科13

时间:2015年1月4日 目录 设计要求 (3) 正文 一、倒计时器组成及原理 (3) 1.1倒计时计数器组成 (3) 1.2工作原理 (3) 二、拟定设计方案 (4) 2.1用Multisim进行仿真设计 (4) 2.2设计实现数码管显示 (4) 2.3设计555定时振荡实现秒振荡发生功能 (4) 2.4设计实现减法计数功能 (5) 2.5设计实现二位数减法计数功能 (5) 2.6设计实现反馈电路实现30秒计数功能 (5) 2.7设计实现控制电路实现启动、清零/复位和暂停/继续计数控制电路 (5) 2.7.1清零/复位电路 (5) 2.7.2暂停/继续计数电路 (6) 2.7.3启动电路 (7) 2.8设计实现闪烁报警电路 (8) 三、功能说明总结 (9) 四、课程设计小结 (9) 参考文献 (10) 附录: 一、电路原理图 (11) 二、元器件明细表 (11)

设计要求: 设计30秒倒计时计数器。 30秒倒计时器的设计功能要求包括: 1.具有30S减计时功能,计时时间到后发出声光报警信号(点亮LED,喇叭鸣叫); 2.计时时间精确(用石英振荡器产生秒信号); 3.用数码管显示剩余时间; 4.具有复位、启动、暂停、继续等操作按钮; 正文: 一、倒计时器组成及原理 1.1倒计时计数器组成 倒计时计数器选用TTL集成电路,主要由秒定时振荡发生器、减法计数器、译码器、七段数码显示器、控制电路、闪烁报警电路等组成,在电路工作过程中,电路能够通过控制器实现开始计数、清零/复位、暂停/继续计数等功能,在倒计时结束保持00状态并不断闪烁提示报警,原理图如下: 图1 1.2工作原理 当电路工作时,由555定时器组成多谐振荡器,选取适当的电容使振荡周期为1s;用两片减法计数器芯片级联组成二位数计数器,用七段数码管显示计数;控制电路通过控制减

数字电子课程设计数字钟

数字电路课程设计报告 目录 一、………设计课题 二、………设计任务 三、………设计要求 四、………分析及设计过程 五、………组装及调试过程 六、………参考文献(各芯片功能) 七、………设计心得及总结

一、设计课题 多功能数字钟电路设计. 二、设计任务 1给定的主要器件: 芯片数量芯片数量555 1 74ls191 1 74ls90 2 74ls74 1 74ls92 1 74ls00 2 74ls47 4 2实验原理图:

三、数字钟的功能要求 ①基本功能 以数字形式显示时、分、秒的时间,为节省器件,其中秒的个位可以用发光二极管指示,小时的十位亦可以用发光二极管指示,灯亮为“1”,灯灭为“0”。小时计数器的计时要求为“12翻1”。要求手动快速校时、校分或慢校时、慢校分。②扩展功能定时控制,其时间自定;仿广播电台整点报时;触摸报整点时数或自动报整点时数。 2、设计步骤与要求:①拟定数字钟电路的组成框图,要求设计优化,电路功能多,器件少,成本低。②设计并安装各单元电路,要求布线整齐、美观,便于级联与调试。③测试数字钟系统的逻辑功能,使满足设计功能的要求。④画出数字钟系统的整机逻辑电路图。⑤写出课程设计实验报告。 四、设计分析于过程 本课题是数字电路中计数、分频、译码、显示及时钟振荡器等组合逻辑电路与时序逻辑电路的综合应用。通过学习,要求掌握多功能数字钟电路的设计方法、装调技术及数字钟的扩展应用。 1、数字钟的功能要求(1)基本功能:①准确计时,以数字形式显示时、分、秒的时间;②小时的计时要求为“12翻1”,分和秒的计时要求为60进位;③校正时间。(2)扩展功能①定时控制;②仿广播电台整点报时; ③报整点时数;④触摸报整点时数。 2、数字钟电路系统的组成框图

数电设计数字钟基于QUARTUS

大连理工大学本科实验报告 题目:数电课设——多功能数字钟 课程名称:数字电路课程设计 学院(系):电信学部 专业:电子与通信工程 班级: 学生姓名: *************** 学号:*************** 完成日期: 成绩: 2010 年 12 月 17 日 题目:多功能数字时钟 一.设计要求 1)具有‘时’、‘分’、‘秒’的十进制数字显示(小时从00~23) 2)具有手动校时校分功能 3)具有整点报时功能,从59分50秒起,每隔2秒钟提示一次 4)具有秒表显示、计时功能(精确至百分之一秒),可一键清零 5)具有手动定时,及闹钟功能,LED灯持续提醒一分钟 6)具有倒计时功能,可手动设定倒计时范围,倒计时停止时有灯光提示,可一键清零 二.设计分析及系统方案设计 1. 数字钟的基本功能部分,包括时、分、秒的显示,手动调时,以及整点报时部分。基本模块是由振荡器、分频器、计数器、译码器、显示器等几部分组成。利用DE2硬件中提供的50MHZ晶振,经过分频得到周期为1s的时钟脉冲。将该信号送入计数器进行计算,并把累加结果以“时”“分”“秒”的形式通过译码器由数码管显示出来。 进入手动调时功能时,通过按键改变控制计数器的时钟周期,使用的时钟脉冲进行调时计数(KEY1调秒,LOAD2调分,LOAD3调时),并通过译码器由七位数码管显示。

从59分50秒开始,数字钟进入整点报时功能。每隔两秒提示一次。(本设计中以两个LED灯代替蜂鸣器,进行报时) 2. 多功能数字钟的秒表功能部分,计时范围从00分秒至59分秒。可由输入信号(RST1)异步清零,并由按键(EN1)控制计时开始与停止。 将DE2硬件中的50MHZ晶振经过分频获得周期为秒的时钟脉冲,将信号送入计数器进行计算,并把累计结果通过译码器由七位数码管显示。 3.多功能数字钟的闹钟功能部分,通过按键(KEY1,KEY2,KEY3)设定闹钟时间,当时钟进入闹钟设定的时间(判断时钟的时信号qq6,qq5与分信号qq4,qq3分别与闹钟设定的时信号r6,r5与分信号r4,43是否相等),则以LED灯连续提示一分钟。 4. 多功能数字钟的倒计时功能部分,可通过按键(LOAD7调秒,LOAD8调分,LOAD9调时)设定倒计时开始时刻。倒计时的时钟与数字钟的时钟相同,每迎到一个时钟上升沿,则计数器减一。计数器减至00时,分钟位、秒钟位恢复至59,时钟位恢复至23。倒计时结束时(即00时00分00秒),控制LED灯亮,表示倒计时结束。 本设计通过数据选择器控制译码器,使数码管独立显示,各功能之间互不影响。当LOAD4为高电平,则对秒表信号进行译码,数码管显示秒表数据;当LOAD4为低电平,LOAD5为高电平,则对闹钟信号进行译码,数码管显示闹钟数据;当LOAD4,LOAD5为低电平,LOAD6为高电平,则对倒计时信号进行译码,数码管显示倒计时信号数据;当LOAD4,LOAD5,LOAD6全为低电平,则对正常时钟信号进行译码,数码管显示时钟信号数据。 附图1:系统总体结构框图

电子秒表课程设计

电子秒表课程设计报告 目录 一、设计要求 (2) 二、设计的目的与作用 (2) 三、设计的具体体现 (2) 1. 电子秒表的基本组成 (3) 2.电子秒表的工作原理 (3) 3.电子秒表的原理图 (4) 4. 单元电路设计 (4) 5.设计仿真与PCB制版 (12) 四、心得体会 (17) 五、附录 (18) 六、参考文献 (20)

一、设计要求 1.以0.01秒为最小单位进行显示。 2.秒表可显示0.01~59:59:99秒的量程。 3.该秒表具有清零、开始计时、停止计时功能。 二、设计方案 方案一:通过单片机来实现电子秒表 基于51单片机电子秒表,设计简单,而且技术准确,缺点是价格相比于数字电路实现的秒表技术要昂贵。 方案二:采用数字电路来实现秒表计数,优点是价格便宜,计数精确,反应较快,缺点是,电路芯片较多,设计电路复杂。 经过比较选择了较为经济适用的数字电路。 二、设计的目的与作用 1.培养我们运用有关课程的基础理论和技能解决实际问题,并进一步提高专业基本技能、创新能力。通过课程设计,学习到设计写作方法,能用文字、图形和现代设计写作方法系统地、正确地表达课程设计和研究成果。 2. 熟悉555方波振荡器的应用。 3.熟悉计数器的级联及计数、译码、显示电路的整体配合。

4.建立分频的基本概念。 三、设计的具体体现 1.电子秒表的基本组成 电子秒表电路的基本组成框图如图所示,它主要由基本RS 触发器、多谐振荡器、计数器和数码显示器4个部分组成。 电子秒表电路的基本组成(方框图)如下: 图(1)电子秒表基本组成方框图 2.电子秒表的工作原理 由555定时器构成多谐振荡器,用来产生50Hz 的矩形波。第Ⅰ块计数器作5分频使用,将555输来的50Hz 的脉冲变为0.1秒的计数脉冲,在输出端Qd 取得,作为第2块计数器的始终输入,第2、第3块计数器QA 与CP2相连,都已接成8421码十进 基本RS 触发器 多谐振荡器 单稳态触发器 计数器 译码显示器

数电课程设计数字电子秒表设计

永州职业技术学院 课 程 设 计 课程名称:数字电子技术 题目:时钟脉冲与计数系统的设计系、专业:电子系、应用电子专业 年级、班级:10级电子大专班 学生姓名:赵恒 指导老师:祝敏 时间: 2011年01月

目录 1. 引言 (1) 1.1设计目的 (1) 1.2设计要求 (1) 2. 电路分析 (2) 2.1设计电路图 (2) 2.2电路分析 (3) 2.2.1时钟脉冲发生器 (3) 2.2.2计数器 (5) 2.2.3译码器 (6) 2.2.4数码管 (7) 3. 设计步骤 (7) 3.1设备与元件 (7) 3.2测试调整 (7) 3.2.1时钟发生器的测试 (7) 3.2.2计数器的测试 (7) 3.2.3电子秒表的整体测试 (8) 3.2.4电子秒表准确度的测试 (8) 4. 参考文献 (8) 5. 设计心得 (8)

数字电子秒表设计 1. 引言 电子秒表在生活中的应用,它可广泛应用于对运动物体的速度、加速度的测量实验,还可用来验证牛顿第二定律、机械能守恒等物理实验,同时也适用于对时间测量精度要求较高的场合.测定短时间间隔的仪表。有机械秒表和电子秒表两类。机械秒表与机械手表相仿,但具有制动装置,可精确至百分之一秒;电子秒表用微型电池作能源,电子元件测量显示,可精确至千分之一秒。广泛应用于科学研究、体育运动及国防等方面在当今非常注重工作效率的社会环境中,定时器能给我们的工作、生活以及娱乐带来很大的方便,充分利用定时器,能有效的加强我们的工作效率。 数字电子秒表是利用数字电子技术把模拟信号转换成数字信号来完成的,具有直观、准确性高的特点。 1.1 设计目的 1.建立数字电子电路系统的基本概念; 2.运用CD4060分频器的应用,计数器的级联及其计数、译码、显示电路的整体配合; 3.建立分频的基本概念。 1.2 设计要求 设计一个数字电子秒表,该秒表具有显示功能和清零、开始计时、停止计时等功能。 设计的要求如下: 1.以1秒为最小单位进行显示; 2.秒表可显示0~9秒的量程; 3.该秒表具有清零、开始计时、停止计时功能; 4.除了以上功能,个人可根据具体情况进行电路功能扩展。 1.3 设计内容 1.搭接电子秒表的整体设计电路;

电子时钟课程设计_数电课程设计数字电子时钟的实现

电子时钟课程设计_数电课程设计数字电子 时钟的实现 课程设计报告设计题目:数字电子时钟的设计与实现班级: 学号: 姓名: 指导教师: 设计时间: 摘要钟表的数字化给人们生产生活带来了极大的方便,大大的扩展了原先钟表的报时。诸如,定时报警、按时自动打铃、时间程序自动控制等,这些,都是以钟表数字化为基础的。功能数字钟是一种用数字电路实现时、分、秒、计时的装置,与机械时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。从原理上讲,数字钟是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。 因此,此次设计与制作数字钟就是为了了解数字钟的原理,从而学会制作数字钟,而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及使用方法。通过此次课程设计可以进一步学习与各种组合逻辑电路与时序电路的原理与使用方法。通过仿真过程也进一步学会了Multisim 7的使用方法与注意事项。

本次所要设计的数字电子表可以满足使用者的一些特殊要求,输 出方式灵活,如可以随意设置时、分、秒的输出,定点报时。由于集 成电路技术的发展,,使数字电子钟具有体积小、耗电省、计时准确、 性能稳定、维护方便等优点。 关键词:数字钟,组合逻辑电路,时序电路,集成电路目 录摘要 (1) 第1章概述 (3) 第2章课程设计任务及要求 (4) 2.1设计任务 (4) 2.2设计要求 (4) 第3章系统设计 (6) 3.1方案论证 (6) 3.2系统设计 (6) 3.2.1 结构框图及说明 (6) 3.2.2 系统原理图及工作原理 (7) 3.3单元电路设计 (8) 3.3.1 单元电路工作原理 (8) 3.3.2 元件参数选择···································14 第 4章软件仿真 (15) 4.1仿真电路图 (15) 4.2仿真过程 (16)

相关文档
最新文档