多功能数字钟的设计及制作.

合集下载

多功能数字钟的设计及制作

多功能数字钟的设计及制作

目录摘要 (1)1数字钟的结构设计及方案选择 (1)1.1振荡器的选择 (1)1.2计数单元的构成及选择 (2)1.3译码显示单元的构成选择 (2)1.4校时单元电路设计及选择 (2)2 数字钟单元电路的设计 (2)2.1振荡器电路设计 (2)2.2时间计数单元设计 (3)错误!未定义书签。

2.2.2 用74LS390构成秒和分计数器电路 (3)错误!未定义书签。

2.2.4 时间计数单元总电路 (3)2.3译码显示单元电路设计 (4)2.4 校时单元电路设计 (4)2.5整点报时单元电路设计 (1)3 数字钟的实现电路及其工作原理 (4)4电路的搭建与调试 (4)5结束语 (5)参考文献.................................................................... 错误!未定义书签。

附录1:.. (5)摘要数字钟被广泛用于个人家庭及公共场所,成为人们日常生活中的必需品。

诸如定时自动报警、按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意。

数字电子钟,从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

数字电子钟有以下几部分组成:振荡器,分频器,60进制的秒、分计时器和12进制计时计数器,秒、分、时的译码显示部分及校正电路等。

关键词:数字钟 555多谐振荡器计数器 74LS390 74LS48数字电子时钟的设计及制作1数字钟的结构设计及方案选择数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。

主要由振荡器、分频器、计数器、译码器显示器和校时电路组成。

振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,通常使用石英晶体震荡器,然后经过分频器输出标准秒脉冲,或者由555构成的多谐振荡器来直接产生1HZ的脉冲信号。

多功能数字钟电路的设计与制作

多功能数字钟电路的设计与制作

多功能数字钟电路的设计与制作一、设计任务与要求设计和制作一个多功能数字钟,要求能准确计时并以数字形式显示时、分、秒的时间,能校正时间,准点报时。

方案设计与论证1.数字钟设计原理数字电子钟一般由振荡器、译码器、显示器等几部分电路组成,这些电路都是数字电路中应用最广的基本电路。

振荡器产生的1Hz 的方波,作为秒信号。

秒信号送入计数器进行计数,并把累计的结果以“时”、“分”、“秒”的数字显示出来。

“秒”的计数、显示由两级计数器和译码器组成的六十进制计数电路实现;“分”的计数、显示电路与“秒”的相同;“时”的计数、显示由两级计数器和译码器组成的二十四进制计数电路实现。

所有计时结果由七段数码管显示器显示。

用4个与非门构成调时电路,通过改变方波的频率,进行调时。

最后用与非门和发光二极管构成整点显示部分。

2.总体结构框图如下:图14 总体框图单元电路设计与参数计算3.脉冲产生电路图15 晶振振荡器原理图 图16 555定时器脉冲产生电路原理图振荡器可由晶振组成(如图15),也可以由555定时器组成。

图16是由555定时器构成的1HZ 的自激振荡器,其原理是:第一暂态2、6端电位为Vcc 31,则输出为高电平,三极管不导通,电容C 充电,此时2、6端电位上升。

当上升至大于Vcc 32时,输出为低电平,三极管导通,电容C 放电,此时2、6端电位下降,下降至Vcc 31时,输出高电平,以此循环。

根据公式C R R f )2(43.121+≈得,此时频率为0.991。

图17 555定时器波形关系 图18 555定时器产生1Hz 方波原理图4.时间计数电路图19 74LS161引脚图74LS161功能表O来自脉冲产生电路的信号先后经过一个十进制计数器和六进制计数器,分别得到“秒”个位、十位后,用六进制计数器得信号再经过一个十进制计数器和六进制计数器得到“分”个位、十位以及“时”个位、十位的计时。

用第二个六进制计数器得信号得到“时”个位、十位。

多功能数字钟-电子设计

多功能数字钟-电子设计

多功能数字钟-电子设计
第一步实现多功能数字钟的基本功能,包括显示当前时间和设置定时
功能。

为了实现这一功能,我们需要使用一个定时器,以实现每秒钟更新
一次时间并显示在LCD屏上,同时实现定时功能。

第二步用一个按钮来切换显示当前时间和定时时间。

为了实现这一功能,我们需要在LCD屏上显示当前时间和定时时间,当按钮按下时,可以
改变当前时间和定时时间的显示。

第三步加入计时功能,使用者可以设置一个计时时间,当计时结束时,会有一个提醒和发出报警声。

为了实现这一功能,我们需要使用一个计数器,计算出时间差,当到达设定的计时时间时,发出报警声或者显示一个
提醒。

第四步增加闹钟功能,使用者可以设置一个闹钟时间,当达到闹钟时
间时,会有一个提醒和发出报警声。

为了实现这一功能,我们需要在指定
的时间段内,获取当前时间,通过一个实时检查程序,来实现闹钟功能,
当到达时间时,发出报警声或者显示一个提醒。

第五步加入天气预报功能,使用者可以查询当前城市的天气情况,以
及未来三天的天气预报。

为了实现这一功能,我们需要使用一个API来获
取天气情况,并将获取的信息在LCD屏上显示出来,方便使用者查询。

多功能数字钟的设计

多功能数字钟的设计

实验题目:多功能数字钟的设计实验目的:1.了解数字钟的工作原理。

2.进一步熟悉用VHDL语言编写驱动七段码管显示的代码3.掌握VHDL编写中的一些小技巧实验原理:多功能数字钟应该具有的功能有:显示时-分-秒、整点报时、小时和分钟可调等基本功能。

首先要知道钟表的工作机理,整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,但是需要注意的是,小时的范围是从0~23时。

在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从0~59,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码(BCD码)显示个位,对于小时因为它的范围是从0~23,所以可以用一个2位的二进制码显示十位,用4位二进制码(BCD码)显示个位。

本结构用到4个分频模块分别分出1Khz ,2 Hz ,1Hz ,0.5Hz 的信号。

其中1hz的信号用于计数器计数,2hz的时钟用于LED的点亮,0.5hz与1Khz的时钟用于生存蜂鸣器所需要的工作信号。

时钟的每一个部分分别用两个十进制计数器模块计数器的输出作为显示模块display的输入按键消抖模块key输入高频的工作时钟和有抖动的按键信号,输出一个没有抖动的按键信号KEYOUT蜂鸣器控制部分通过计数器的低14位输出对接入蜂鸣器的信号进行控制LED灯控制部分通过计数器低14的输出对4个灯进行控制分频部分freq_div.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity freq_div isport(CLK : in std_logic;CLKOUT : out std_logic;NUM : in integer );end;architecture one of freq_div issignal out_pos : std_logic := '0';signal out_neg : std_logic := '0';signal out_even : std_logic := '0';beginprocess(CLK)variable num_pos : integer := 0;beginif CLK'event and CLK = '1' thennum_pos := num_pos + 1;if num_pos = NUM thennum_pos := 0;end if;if num_pos <= NUM/2 thenout_pos <= '0';elseout_pos <= '1';end if;end if;end process;process(CLK )variable num_neg : integer := 0;beginif CLK'event and CLK = '0' thennum_neg := num_neg + 1;if num_neg = NUM thennum_neg := 0;end if;if num_neg <= NUM / 2 thenout_neg <= '0';elseout_neg <= '1';end if;end if;end process;process(CLK)variable cnt : integer := 0;beginif CLK'event and CLK = '1' thencnt := cnt + 1;if cnt = NUM /2 thenout_even <= not out_even;cnt := 0;end if;end if;end process;process(out_even,out_pos,out_neg,NUM)beginif NUM rem 2 = 0 thenCLKOUT <= out_even;elseCLKOUT <= out_pos or out_neg;end if;end process;end;Freq_div.vhd仿真结果如下按键消抖部分key.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity key isport(CLK : in std_logic;KEYIN : in std_logic;KEYOUT : out std_logic);end;architecture test of key istype states is(s0 , s1 , s2 , s3);signal cs , n_state : states := s0;beginprocess(CLK ,cs , KEYIN)variable cnt : integer range 0 to 1000;beginif CLK'event and CLK = '1' thenif cs = s1 or cs = s3 thencnt := cnt + 1;end if;case cs iswhen s0 =>if KEYIN = '0' thencs <= s1;end if;when s1 =>if cnt = 1000 thencs <= s2;cnt := 0;end if;when s2 =>if KEYIN = '1' thencs <= s3;end if;when s3 =>if cnt = 1000 thencs <= s0;cnt := 0;end if;end case;end if;end process;process(cs)beginif cs = s0 thenKEYOUT <= '1';elseKEYOUT <= '0';end if;end process;end;Key.Vhd仿真如下:数码管显示部分display.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity display isport(CLK : in std_logic;ledag : out std_logic_vector(6 downto 0);del : out std_logic_vector(2 downto 0);NUM : in std_logic_vector(19 downto 0) :="10001110110011011001");end;architecture exp of display isbeginprocess(CLK)variable cnt : std_logic_vector(2 downto 0);--variable NUM : std_logic_vector(19 downto 0) := "10001110110011011001";type LED_MATRIX is array( 0 to 9) of std_logic_vector(6 downto 0);variable table : LED_MATRIX := ( "0111111", --0 0x3f"0000110", --1 0x06"1011011", --2 0x5b"1001111", --3 0x4f"1100110", --4 0x66"1101101", --5 0x6d"1111101", --6 0x7d"0000111", --7 0x07"1111111", --8 0x7f"1101111" --9 0x6f);beginif CLK'event and CLK = '1' thencnt := cnt + 1;del <= cnt;case cnt iswhen "000" => ledag <= table( conv_integer( NUM(19 downto 18) ) );when "001" => ledag <= table( conv_integer( NUM(17 downto 14) ) );when "010" => ledag <= "1000000";when "011" => ledag <= table( conv_integer( NUM(13 downto 11) ) );when "100" => ledag <= table( conv_integer( NUM(10 downto 7) ) );when "101" => ledag <= "1000000";when "110" => ledag <= table( conv_integer( NUM(6 downto 4) ) );when "111" => ledag <= table( conv_integer( NUM(3 downto 0) ) );end case;end if;end process;end;dispaly.vhd仿真结果如下10进制计数器cnt10.vhdllibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity cnt10 isport(CLK : in std_logic;RST : in std_logic;EN : in std_logic;OV : out std_logic;NUM : out std_logic_vector(3 downto 0));end;architecture exp of cnt10 isbeginprocess(CLK,RST)variable cnt : std_logic_vector(3 downto 0);beginif RST = '1' thencnt := "0000";elsif CLK'event and CLK = '1' thenif EN = '1' thenif cnt < 9 thencnt := cnt + 1;OV <= '0';elsecnt := "0000";OV <= '1';end if;end if;end if;NUM <= cnt;end process;end;Cnt10.vhd仿真结果如下二极管控制部分led.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity led isport(CLK : in std_logic;LED_OUT : out std_logic_vector(3 downto 0);NUM : in std_logic_vector(13 downto 0));end;architecture test of led issignal LED_EN : std_logic;beginprocess(NUM)beginif NUM(13 downto 4) = "1011001101" and NUM(3 downto 0) > 4 then LED_EN <= '1';elseLED_EN <= '0';end if;end process;process(LED_EN,CLK)beginif LED_EN = '1' thenLED_OUT <= CLK & CLK & CLK & CLK;elseLED_OUT <= (others => '0');end if;end process;end;led.vhd仿真结果如下蜂鸣器部分beep.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity beep isport(CLK : in std_logic;BEEP_OUT : out std_logic;NUM : in std_logic_vector(13 downto 0));end;architecture test of beep issignal EN : std_logic;beginprocess(NUM)beginif NUM(13 downto 4) = "1011001101" and NUM(3 downto 0) >= 0 then EN <= '1';elseEN <= '0';end if;end process;process(EN ,CLK)beginif EN = '1' thenBEEP_OUT <= CLK;elseBEEP_OUT <= '0';end if;end process;end;顶层设计clock.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity clock isport(CLK : in std_logic;RESET : in std_logic;S1 : in std_logic;S2 : in std_logic;SPK : out std_logic;LEDOUT : out std_logic_vector(3 downto 0);ledag : out std_logic_vector(6 downto 0);del : out std_logic_vector(2 downto 0) );end;architecture exp of clock iscomponent freq_div isport(CLK : in std_logic;CLKOUT : out std_logic;NUM : in integer);end component;component cnt10 isport(CLK : in std_logic;RST : in std_logic;EN : in std_logic;OV : out std_logic;NUM : out std_logic_vector(3 downto 0) );end component;component display isport(CLK : in std_logic;ledag : out std_logic_vector(6 downto 0);del : out std_logic_vector(2 downto 0);NUM : in std_logic_vector(19 downto 0) );end component;component key isport(CLK : in std_logic;KEYIN : in std_logic;KEYOUT : out std_logic);end component;component led isport(CLK : in std_logic;LED_OUT : out std_logic_vector(3 downto 0);NUM : in std_logic_vector(13 downto 0) );end component;component beep isport(CLK : in std_logic;BEEP_OUT : out std_logic;NUM : in std_logic_vector(13 downto 0) );end component;signal CLK1K : std_logic;signal CLK1 : std_logic;signal CLK2 : std_logic;signal CLK0_5 : std_logic;signal RST : std_logic;signal EN : std_logic;signal OV_h : std_logic_vector(1 downto 0);signal OV_m : std_logic_vector(1 downto 0);signal OV_s : std_logic_vector(1 downto 0);signal COUNT : std_logic_vector(23 downto 0) := "00110010" & "10000101" & "00000101"; signal NUM : std_logic_vector(19 downto 0);signal CLK_s : std_logic;signal CLK_m : std_logic;signal CLK_h : std_logic;signal KEY_h : std_logic;signal KEY_m : std_logic;beginu_freq_1K : freq_div port map( CLK , CLK1K , 10);u_freq_1 : freq_div port map( CLK1K , CLK2 , 500 );u_freq_2 : freq_div port map( CLK2 , CLK1 , 2 );u_freq_3 : freq_div port map( CLK1 , CLK0_5 , 2);u_cnt_h2 : cnt10 port map( CLK_m or (not KEY_h), CLK_h or RST , EN ,OV_h(0) , COUNT(23 downto 20) );u_cnt_h1 : cnt10 port map( OV_h(0), CLK_h or RST , EN , OV_h(1) ,COUNT(19 downto 16) );u_cnt_m2 : cnt10 port map( CLK_s or (not KEY_m), RST , EN , OV_m(0) ,COUNT(15 downto 12));u_cnt_m1 : cnt10 port map( OV_m(0) , CLK_m or RST, EN , OV_m(1) ,COUNT(11 downto 8));u_cnt_s2 : cnt10 port map( CLK1 , RST , EN , OV_s(0) , COUNT(7 downto 4)); -- u_cnt_s1 : cnt10 port map( OV_s(0) , RST , EN , OV_s(1) , COUNT(3 downto 0) );u_cnt_s1 : cnt10 port map( OV_s(0) , CLK_s or RST , EN , OV_s(1) ,COUNT(3 downto 0) );u_dsplay : display port map( CLK , ledag , del , NUM );u_key_h : key port map( CLK , S1 , KEY_h );u_key_m : key port map( CLK , S2 , KEY_m );u_led : led port map( CLK2 , LEDOUT , NUM(13 downto 0));u_beep : beep port map( CLK0_5 and CLK1K , SPK , NUM(13 downto 0));CLK_s <= NUM(6) and NUM(5) and (not NUM(4));CLK_m <= NUM(13) and NUM(12) and (not NUM(11));CLK_h <= not ((not NUM(19)) or NUM(18) or NUM(17) or (not NUM(16)) or NUM(15) or NUM(14) );NUM(19 downto 18) <= COUNT(17 downto 16);NUM(17 downto 14) <= COUNT(23 downto 20);NUM(13 downto 11) <= COUNT(10 downto 8 );NUM(10 downto 7) <= COUNT(15 downto 12);NUM(6 downto 4) <= COUNT(2 downto 0);NUM(3 downto 0) <= COUNT(7 downto 4);EN <= '1';RST <= not RESET;end;。

多功能数字钟的设计与制作

多功能数字钟的设计与制作

一、多功能数字钟的设计与制作(一)相关知识:多位数(DlGIT)的驱动方式1.如采用直接驱动法驱动4个七段显示器,共需要4×8=32条的I/O线:而采用解码器驱动也要4X4=16条的I/O线,形成了I/O端口的浪费。

2.扫描显示法所需的I/O数为8+n条(n个显示器),可节省硬件电路。

3.扫描显示法要注意两点:(1)点亮时要让LED得到最大的顺向电流,通常一个LED需要10mA。

在做四位数的扫描时,每一个LED的平均电流值只有1/4的最高电流值,因此扫描时要得到适当的亮度最好有30mA以上的瞬间电流,即将LED的限流电阻降低到20~100Ω。

(2)在切至下一个显示器时,应把上一个先关闭一段时问(约50μs),再将下一个显示器扫描信号送出,以避免上一个的显示数据显示到下一个显示,即避免鬼影(TBLANK) 的产生.下图为显示器切换时间差示意图。

显示器切换时间差示意图。

4.扫描频率必须高于视觉暂留频率16Hz以卜(即62毫秒以上(二)功能说明1.开机时,显示12:00:00的时间开始计时。

2.P0.0控制“秒”的调整.每按一次加1秒,P0.1控制“分”的调整.每按一次加1分P0.2控制“时”的调整,每按一次加1个小时;(三)硬件:如图所示时钟电路图(四)程序:shiz.ASMORG 00H ;主程序起始地址AJMP START ;跳至主程序ORG 0BH ;TIMER0中断起始地址AJMP TIM0 ;跳至TIMER0中断子程序TIM0START:MOV SP,#70H ;设置堆栈在70HMOV 28H,#00 ;显示寄存器初值为0 0MOV 2AH,#12H ;“时”寄存器l忉值为12HMOV 2BH,#00 ;“分”寄存器初值为0 0HMOV 2CH,#00 :“秒”寄存器初值为00HMOV TMOD,#00000001B :设TIMER0为MODElMOV TH0,#HIGH(65536—4000) ;计时中断为4000微秒MOV TL0,#LOW(6553 6—4000)MOV IE,#10000010B ;TIMER0中断使能MOV R4,#250 ;中断250次SETB TR0 j启动TIMER0LOOP:JB P0.0,N2 ;PO.O (秒)按了?不是则跳至N2检查PO.1 ACALL DELAY ;消除抖动MOV A,2CH ;将秒寄存器的值载入AADD A,#01 ;A的内容加1DA A ;做十进位调整MOV 2CH,A ;将A的值存入秒寄存器CJNE A,#60H,N1 ;是否等于60秒?不是则跳至N1MOV 2CH,#00 ;是则清除秒寄存器的值为00N1:JNB P0.0,$ ;P0.0(秒)放开了?ACALL DELAY ;消除抖动N2:JB P0.1,N4 ;p0.1 (分)按下了吗?不是则跳至N4检查P0.2 ACALL DELAY ;消除抖动MOV A,2BH ;将分寄存器的值载入AADD A,#01 ;A的内容加1DA A ;做十进位调整MOV 2BH.A ;将A的值存入分寄存器CJNE A,#60H,N3 ;是否等于60分?不是则跳至N1MOV 2BH.#00 ;是则清除分寄存器的值为00N3:JNB P0.1,$ ;p0.1 (秒)放开了?CALL DELAY ;消除抖动N4:JB P0.2,LOOP ;P0.2 1秒)按下了吗?不足则跳至LOOP CALL DELAY ;消除抖动MOV A,2AH ;将时寄存器的值载入AADD A.#01 :A的内容加1DA A ;做十进位调整MOv 2AH,A ;将A的值存入时寄存器CJNE A,#24H,N5 ;是否等于24时?不是则跳至N5MOV 2AH,#00 ;是则清除时寄存器的值为00N5:JNB P0.2,$ ;P0.2(秒)放开了?CALL DELAY :消除抖动JMP LOOPTIM0:MOV TH0,#HIGH(6 553 6—4000) ;重设计时4 000微秒NOV TL0,#LOW(6553 6—4 000)PUSH ACC :将A的值暂存于堆栈PUSH PSW ;将PSW的值暂存于堆栈DJNZ R4 X2 :计时1秒MOV R4,#250CALL CLOCK ;调用计时子程序CLOCKCALL DISP :调用显示子程序X2:CALL SCAN ;调用扫描子程序POP PSW ;至堆栈取叫PSW的值POP ACC :至堆栈取回ACC的值SCAN:MOV R0,#28H ;(28H)为扫描指针INC @R0 ;扫描指针加lCJHE @R0.#6,X3 ;扫描完6个显示器?不是跳至X3MOV @R0,#0 ;是则扫描指针为0x3: MOV A,@R0 ;扫描指针载入AADD A,#20H ;A加常数20H(显示寄存器地址)=各时间;显示区地址;存入R1=各时间显示地址MOV R1,A ;扫描指针存入AMOV A,@R0 ;将A高低4位交换(P1高4位为扫描值,SW AP A ;低4位为显示数据值)ORL A,@R1 ;扫描值+显示值MOV P1,A ;输出至P1RETCLOCK:MOV A,2CH ;(2CH)为秒寄存器ADD A,#l ;加1秒DA A ;做十进制调整MOV 2CH,A ;存入秒寄存器CJNE A,#60H,X4 ;是否超过60秒?不是则跳至X4MOV 2CH,#00 ;是则清除为00MOV A,2BH ;(2BH)为分寄存器ADD A,#l ;加1分DA A ;做十进制调整MOV 2BH,A ;存入分寄存器CJNE A,#60H.X4 ;是否超过60分?不是则跳至X4MOV 2BH,#00 ;是则清除为0 0MOV A,2AH 7(2AH)为时寄存器ADD A,#l ;加l时DA A ;做十进制调整MOV 2AH,A ;存入时寄存器CJNE A,#24H,X4 ;是否超过24时?不是则跳至x4MOV 2AH.#00 ;是则清除为00X4:RETDISP:MOV R1,#20H ;(20H)为显示寄存器.R1=20HMOV A,2CH ;将秒寄存器的内容存入AMOV B,#10H ;设B累加器的值为10HDIV AB ;A÷B,商(十位数)存入A.余数(个位数) ;存入BNOV @R1,B :将B的内容仔入(20H)INC R1 ;RI=21HMOV @R1,A ;将A的内容存入(21H)INC R1 ;R1=22HNOV A,2BH ;将分寄存器的内容仃入ANOV B,#10H ;设B累加器的值为10DIV AB ;A÷B,商(十位数)存入A,余数(个位数);存入BMOV @R1,B ;将B的内容存入(22H)INC Rl ;R1= 23HNOV @R1,A ;将A的内容存入(23H)INC R1 ;R1=24HMOV A,2AH ;将时寄存器的内容存入AMOV B,#10H ;设B累加器的值为10HDIV AB ;A÷B,商(十位数)存入A.余数(个位数) ;存入BM0v @R1,B ;将B的内容存入(24H)INC R1 ;R1=25HMOV @R1,A ;将A的内容存入(25H)RETDELAY:MOV R6,#60 ;5毫秒D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1RETEND。

电子综合设计多功能数字钟报告

电子综合设计多功能数字钟报告

电子综合设计多功能数字钟报告报告内容如下:一、设计目的和原理多功能数字钟是一种能够显示时间,并具有闹钟、计时、倒计时等功能的电子设备。

本设计的目的是通过FPGA实现一个多功能数字钟的功能,以实现时间的显示和闹钟的设置功能。

二、设计方案和实现1.硬件设计方案:本设计使用FPGA作为主控芯片,使用七段数码管作为显示器,通过与FPGA的IO口连接来实现时间的显示功能。

同时,使用按键作为输入进行功能的选择和设置。

2.硬件连接:将FPGA的IO口连接到七段数码管的控制端,通过IO口输出相应的数字信号来控制数码管的亮灭。

将按键连接到FPGA的IO口,通过IO口输入按键的信号。

此外,还需要连接一个晶振电路来提供时钟信号。

3.软件设计方案:本设计使用VHDL语言进行程序设计,通过状态机来实现多功能数字钟的功能。

具体实现包括时间的显示、闹钟的设置和启动、计时和倒计时功能的实现。

通过按键的输入来切换不同的状态,实现不同功能的切换和设置。

4.软件实现具体步骤:(1)定义状态机的状态,包括时间显示、闹钟设置、计时和倒计时等状态。

(2)在时间显示状态下,通过FPGA的IO口输出相应的数字信号来控制七段数码管的亮灭,实现时间的显示。

(3)在闹钟设置状态下,通过按键的输入来设置闹钟时间,并将设置好的时间保存在寄存器中。

(4)在计时和倒计时状态下,通过按键的输入来实现计时和倒计时功能,并通过七段数码管的显示来实时显示计时和倒计时的时间。

以下为本设计的完整程序代码:```vhdl--时钟频率--定义状态signal state : state_type;--定义时钟、按键和数码管信号signal clk : std_logic;signal key : std_logic_vector(1 downto 0);signal seg : std_logic_vector(6 downto 0);--闹钟时间寄存器signal alarm_hour_reg : std_logic_vector(5 downto 0);signal alarm_min_reg : std_logic_vector(5 downto 0);--计时和倒计时寄存器signal count_up_reg : std_logic_vector(23 downto 0); signal count_down_reg : std_logic_vector(23 downto 0); signal count_down_flag : std_logic := '0';beginclock : processbeginwhile true loopclk <= '0';wait for 10 ns;clk <= '1';wait for 10 ns;end loop;end process;key_scan : process(clk)beginif rising_edge(clk) thenkey <= key_scan_func; -- 按键扫描函数end if;end process;fsm : process(clk, key)beginif rising_edge(clk) thencase state isif key = "10" then -- 第一个按键按下state <= set_alarm;elsif key = "01" then -- 第二个按键按下state <= count_up;end if;when set_alarm =>seg <= set_alarm_func; -- 闹钟设置函数if key = "00" then -- 两个按键同时按下elsif key = "01" then -- 第一个按键按下state <= count_up;end if;when count_up =>seg <= count_up_func; -- 计时函数if key = "00" then -- 两个按键同时按下elsif key = "10" then -- 第二个按键按下state <= count_down;count_down_flag <= '1';end if;when count_down =>seg <= count_down_func; -- 倒计时函数if key = "00" then -- 两个按键同时按下count_down_flag <= '0';elsif key = "01" then -- 第一个按键按下state <= count_up;count_down_flag <= '0';end if;end case;end if;end process;--数码管信号和显示模块的连接display : entity work.seg_displayport mapclk => clk,seg => segend architecture;```四、总结与展望通过FPGA实现多功能数字钟的设计,在硬件和软件的配合下,实现了时间的显示和闹钟的设置功能。

多功能数字时钟的设计与制作

多功能数字时钟的设计与制作

目录摘要 (1)引言 (2)一、方案选择 (4)(一)何谓单片机 (4)(二)单片机的选择 (4)(三)设计方案论证 (6)(四)具有整点报时和定时闹钟功能的设计 (7)二、硬件设计 (12)(一)最小系统设计 (12)(二)数字钟的外围电路设计 (13)(三)数字时钟设计方案 (18)图2-10 电路原理图 (18)(四)单元电路设计及分析 (18)三、软件设计 (22)(一)系统流程图: (22)(二)设备与仪器 (23)(三)系统调试与分析 (24)(四)分析结果 (25)总结 (27)致谢 (27)参考文献 (29)本系统的设计电路以凌阳单片机SPCE061A作为控制器。

主要由显示电路, 功能控制电路、传感器电路、电压转换电路、遥控电路五部分。

吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。

本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。

通过多功能数字钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。

论文重点阐述了数字钟硬件中MCU模块、语音模块、时钟模块和相关控制模块等的模块化设计与制作;软件同样采用模块化的设计,包括中断模块、闹钟模块、语音模块、时间调整模块设计,并采用简单流通性强的C语言编写实现。

本设计实现了时间与闹钟的修改功能、语音播报功能、年、月、日和星期的显示功能。

并且通过对比实际的时钟,查找出了误差的来源,确定了调整误差的方法,尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。

关键字:凌阳单片机光耦液晶数字钟单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。

由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。

单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。

多功能数字钟电路设计

多功能数字钟电路设计

多功能数字钟电路设计
1.时钟显示:设计一个数字时钟显示电路,可以显示当前的时间(小
时和分钟)。

可以使用七段显示器来显示数字。

2.闹钟功能:设计一个闹钟功能,可以设置闹钟时间,并在到达闹钟
时间时发出提示声音或闹铃。

3.温度显示:设计一个温度传感器电路,并将当前温度显示在数字时
钟上。

4.日历功能:设计一个日历功能,可以显示当前的日期和星期。

5.定时器功能:设计一个定时器功能,可以设置一个特定的时间间隔,并在到达时间间隔时发出提示声音或闹铃。

6.闹钟休眠功能:设计一个闹钟休眠功能,可以设置一个特定的时间
间隔,在此时间间隔内按下按钮可以将闹钟功能暂时关闭。

7.闹钟重复功能:设计一个闹钟重复功能,可以设置一个特定的时间
间隔,使闹钟在每天相同的时间段重复响铃。

8.亮度调节功能:设计一个亮度调节功能,可以调整数字时钟的显示
亮度。

这些功能可以根据需求进行组合设计,可以使用逻辑门、计数器、显
示器驱动器、温度传感器、按钮等元件来完成电路设计。

多功能数字钟的设计

多功能数字钟的设计

多功能数字钟的设计1 引言数字钟是用数字集成电路或专用芯片做成的计时器,一般采用液晶显示器或发光二极管直接显示“时”、“分”、“秒”,具有直观性。

另外,它还具有校时,整点报时,按作息时间报时等功能,所以得到了广泛的应用。

在控制系统中,也常用作定时控制的时钟源。

2 多功能数字钟的设计2.1设计目的设计制作一台数码管显示的数字钟2.2设计要求“秒”的功能。

“分”、1时钟功能。

具有直接显示“时”、2具有能自动校准时、分的功能。

3能自动整点报时。

2.3电路总体框图设计译码驱动译码驱动译码驱动译码驱动译码驱动译码驱动时十位时个位分十位分个位秒十位秒个位时分秒60进制计数器24进制计数器进制计数器60秒脉冲分脉冲时脉冲校时电路图1 数字钟的结构框图多功能数字钟的设计如图1,是数字时钟电路的基本结构框图,数字钟一般由振荡器、分频器、计数器、译码器、显示器校时电路、报时电路等组成。

它的计时周期为24小时,显示满刻度为23时59分59秒。

其工作原理简述如下:秒脉冲发生器产生频率稳定度很高的秒脉冲,秒脉冲被送到一个六十进制秒计数器计数,将计数结果送至秒个位和十位译码器译码,译码结果分别由两只七段半导体数码管以十进制数的形式显示出来。

当秒六十进制数累计到第59秒时,若再来一个秒脉冲,秒计数器的进位输出就产生进位脉冲(分计数脉冲),同时,秒计数器的十位和个位都复位到零。

分计数脉冲又被送到分六十进制计数器计数,经译码电路译码后数码管显示相应的分数。

当计满59分59秒时,若再来一个秒脉冲,则分计数器便向时计数器送出十计数脉冲,同时,分、秒计数器复位到零。

时计数器是一个24进制的计数器,所以,当计数器显示23时59分59秒时,若再来一个秒脉冲,则时、分、秒计数器都应回到零,表示已达到午夜零点。

当计数的起始时间与标准时间不一致时,校时电路就起到作用。

2.4振荡器及分频器振荡器是计时器的核心,振荡器的稳定度和频率的精度决定了计时器的精确度,所以通常用石英晶体来构成振荡器。

多功能数字钟的设计

多功能数字钟的设计

1多功能数字钟的设计1.1设计要求设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校时间,每逢整点,产生报时音报时。

系统框图如图1-1所示:系统模式手动IHZ时钟源复位选择校时输入图IT多功能数字钟系统框图显示部分可以使用数码管(基本)或液晶LCD(扩展)。

1.2设计提示此设计问题可分为主控电路、计数器模块和扫描显示三大部,主控电路中各种特殊功能的实现设计问题的关键。

用两个电平信号A、B进行模式选择,AB=OO为模式0,系统为计时状态;AB=Ol为模式1,系统为手动校时状态;AB=Io为模式2,系统为闹钟设置状态。

设置一个turn信号,当turn=0时,表示在手动校对时,选择调整分钟部分;当turn=l 时,表示在手动校对时,选择调整小时部分。

设置一个Change信号,在手动校时或闹钟设置模式下,每按一次,计数器加1。

设置一个reset信号,当reset=O时,整个系统复位;当reset=1时,系统进行计时或其他特殊功能操作。

设置一个闹钟设置信号resell,当resetl=O时,对闹钟进行设置,当resetl=O时,关闭闹钟信号。

设置状态显示信号(连发光二极管):LD_alert指示是否设置了闹铃功能;LDjI指示当前调整的是小时信号;LD_m指示当前调整的是分钟信号。

当闹钟功能设置后(LD_alert=l),系统应启动一个比较电路,当计时与预设闹铃时间相等时,启动闹铃声,直到关闭闹铃信号有效。

整点报时部分由分和秒计时同时为0(或60)启动,与闹铃共用一个扬声器驱动信号OUto 系统计时时钟为Clk=IHz,选择另一时钟clk」k=1024Hz作为产生闹铃声、报时音的时钟信号。

主控电路状态表如表1-1所示。

硬件系统示意图如图1-2所示。

晶振[OOO1.D_hLD_mMs6Ms5..LD_alertclkjkClkFP∈Λ∕(PLDturnchangeresetreset1AIIII IIII IIII LlL∣abCdefg图1-2数字钟硬件系统示意图。

多功能数字钟的设计及制作

多功能数字钟的设计及制作

目录整点报时单元电路设计 (1)摘要数字钟被广泛用于个人家庭及公共场所,成为人们日常生活中的必需品。

诸如定时自动报警、按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意。

数字电子钟,从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

数字电子钟有以下几部分组成:振荡器,分频器,60进制的秒、分计时器和12进制计时计数器,秒、分、时的译码显示部分及校正电路等。

关键词:数字钟 555多谐振荡器计数器 74LS390 74LS48数字电子时钟的设计及制作1数字钟的结构设计及方案选择数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。

主要由振荡器、分频器、计数器、译码器显示器和校时电路组成。

振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,通常使用石英晶体震荡器,然后经过分频器输出标准秒脉冲,或者由555构成的多谐振荡器来直接产生1HZ的脉冲信号。

秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“12翻1”规律计数。

计数器的输出分别经译码器送显示器显示。

由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,当计时出现误差时,可以用校时电路校时、校分。

如图 1-1所示为数字钟电路系统的组成框图。

图1-1数字钟电路系统的组成框图方案一:首先构成一个NE555定时器产生震荡周期为秒的标准秒脉冲,在加一个74ls74分频电路。

由74LS390采用清零法分别组成六十进制的秒计数器、六十进制分计数器、十二进制时计数器。

使用74ls74d的输出作为秒记数器的CP脉冲,把秒记数器地进位输出作为分记数器地CP脉冲,分记数器的进位输出作为时记数器的CP脉冲。

使用74LS48为驱动器,共阴极数码管作为显示器,再以基本RS锁存器构成校时电路。

方案二:首先构成一个由石英晶体振荡器和由CD4060构成的分频器构成的产生震荡周期为一秒的标准秒脉冲,由CD4518采用清零法分别组成六十进制的秒计数器、六十进制分计数器、十二进制时计数器。

多功能数字钟的设计报告

多功能数字钟的设计报告

多功能数字钟的设计报告
一、简介
本项目为一款多功能数字钟,考虑到时代的发展,利用计算机技术和
电子工艺,设计出一款全新的数字钟,它可以满足日常生活中的不同需求。

二、功能
1、设置时间和日期的功能。

2、支持闹钟功能,可以设置多个闹钟,每天自动响铃提醒。

3、支持倒计时功能,用户可以设置倒计时的时间,可以实现计时功能。

4、支持自定义界面功能,用户可以根据自己的喜好来设置数字钟的
界面和背景图案。

5、钟表外观强大,具有耐用、耐磨、耐高温等特点,能够满足不同
应用环境的要求。

三、硬件系统
本项目采用先进的微控制芯片技术,设计制造的多功能数字钟由主控
单元、传感器、触摸控制板、显示屏、外壳等组成。

1、主控单元:采用先进的微控制器进行控制,并结合定时器、中断
处理模块进行时间控制,主控单元负责接收传感器信号,控制显示屏信息,实现时钟的功能。

2、传感器:采用光电传感器、按键传感器等,可以有效地接收外部
信号,实现对外部信号的检测。

3、触控板:采用触摸传感技术,可以有效地实现用户对时钟的操作,例如调节时间、设置闹钟等。

多功能数字钟电路设计

多功能数字钟电路设计

多功能数字钟电路设计
1.使用4个74LS47或者74LS247芯片来驱动4个7段数码管。

2.将4个74LS47或74LS247芯片的BCD输入引脚连接到一个4位
BCD计数器芯片(例如74LS90)的输出引脚,以实现时间的计数功能。

3.使用一个555定时器芯片作为时钟源,通过调整电阻和电容值来实
现所需的时间间隔。

4.将555定时器芯片的输出连接到74LS90计数器芯片的时钟输入引脚,以驱动时间的累加。

5.通过连接开关和辅助电路来实现设置时间、闹钟和其他功能。

例如,可以使用一个74LS148编码器芯片和开关来设置钟表的时间。

7.使用逻辑门芯片(例如74LS32)来实现闹钟功能,可以通过设置
的开关来触发警报。

8.连接驱动电路和7段数码管,以实现显示功能。

这是一个基本的多功能数字钟电路设计,可以根据具体需求进行进一
步修改和扩展。

课程设计---多功能数字钟的设计及制作

课程设计---多功能数字钟的设计及制作

课程设计题目学院专业班级姓名指导教师年月日课程设计任务书题目: 多功能数字钟的设计及制作初始条件:(1)准确计时,显示时分秒(2)小时12翻1,分秒60进1选做: 设计可校正时间的电路要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)设计任务及要求(2)方案比较及认证(3)系统框图,原理说明(4)硬件原理,完整电路图,采用器件的功能说明(5)调试记录及结果分析(6)对成果的评价及改进方法(7)总结(收获及体会)(8)参考资料(9)附录:器件表,芯片资料时间安排:6月27日~6月30日:明确课题,收集资料,方案确定,仿真7月1日~7月4日:硬件电路制作与调试7月5日~7月8日;报告撰写,交设计报告,答辩指导教师签名:年月日系主任(或责任教师)签名:年月摘要 (1)多功能数字钟的设计及制作 (2)1数字钟的设计内容及要求 (2)1.1数字钟的设计内容 (2)1.2数字钟的设计要求 (2)2电路设计方案及其论证 (2)2.1数字钟系统总电路图 (2)2.2数字钟的原理框图 (2)2.3数字钟的基本原理 (2)3单元电路 (4)3.1计时电路 (4)3.2脉冲信号源——多谐振荡电路 (6)3.3显示电路 (7)3.4校时电路 (8)4硬件电路的设计及其制作与调试 (9)4.1仿真使用的系统 (9)4.2制作与调试的方法和技巧 (10)4.3测试的数据和理论计算的比较分析 (10)4.4制作与调试中出现的故障、原因及排除方法 (10)5本设计的方案优势及与被排除的方案的对比 (11)6系统需要的各类软件和硬件 (12)结束语 (13)参考文献 (14)附录 (15)数字钟是采用数字电路实现对时、分、秒、数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便而且大大地扩展了钟表原先的报时功能。

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

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

多功能数字钟的设计与实现一、实验目的1.掌握数字钟的设计原理。

2.用微机实验平台实现数字钟。

3.分析比较微机实现的数字钟和其他方法实现的数字钟。

二、实验内容与要求使用微机实验平台实现数字钟。

1.基本要求如下:1)24小时制时间显示。

2)可以随时进行时间校对。

3)整点报时。

4)闹钟功能,要求设置起闹时间时,不影响时钟的正常走时。

2.提高要求1)校时时相应位闪烁。

2)能够设置多个起闹点。

三、实验报告要求1.设计目的和内容2.总体设计3.硬件设计:原理图(接线图)及简要说明4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法)四、系统总体设计根据设计要求,初步思路如下:1)计时单元由定时/计数器8253的通道0来实现。

定时采用硬件计数和软件技术相结产生一定的定时时间,然后再利用软件进行计数,从而实8253合的方式,即通过.在中断服务程序中定时时间到了之后产生中断信号,8253小时制定时。

现248253 实现时、分、秒的累加。

数码管分别显示时、分、秒,采用动态扫描个LED2)时间显示采用实验平台上的6 方式实现。

校时和闹铃定时通过键盘电路和单脉冲产生单元来输入。

按键包括校时键、闹钟定)3 1键等。

时键、加1键和减的一个端口,通过输出电平的高低来报警声响用蜂鸣器产生,将蜂鸣器接到82554)控制蜂鸣器的发声。

系统硬件设计主要利用微机实验平台上的电路模块。

硬件电路主要由键盘电路、单显示电LED8255并行接口单元、8259中断控制器、脉冲产生单元、8253定时计数器、所示。

路和蜂鸣器电路等等。

系统的硬件电路设计框图如图1 8253键盘电路8255微蜂鸣器电路机系统8259单脉冲发生单元数码管显示电路1 硬件电路框图图五、硬件设计由于实验平台上根据设计思路,硬件电路可通过实验平台上的一些功能模块电路组成,硬件电路的用户在使用时只要设计模块间电路的连接,因此,的各个功能模块已经设计好,所示。

多功能数字钟的设计及制作

多功能数字钟的设计及制作

多功能数字钟的设计及制作1.设计分析本次设计的数字钟具有校时功能。

我们需要在先设计一个基本的数字钟,然后在此基础上增加校时电路。

一个基本的数字钟由三个部分组成:秒脉冲产生电路,计数电路,译码显示电路,然后就是加上校时电路,一个四部分构成了本次设计的多功能数字钟,其总体方框图如图1-1图1-1 总体方框图2.设计内容2.1秒脉冲产生部分本设计使用由555定时器构成的多谐振荡器来产生1HZ的信号。

虽然此振荡器没有石英晶体稳定度和精确度高,由于设计简单而成为了设计时的首选。

只要在555定时器电路外部配上两个电阻及两个电容元件,并将某些引脚相连,就可以方便地构成多谐振荡器。

555定时器是数字脉冲产生的核心芯片,所以在了解其原理之前,我们需了解555定时器。

555定时器逻辑符号如图2-1所示:图2-1 555定时器逻辑符号管脚功能如表2-1所示:图2-2 秒脉冲电路根据原理和元件图,结合一阶电路暂态过程的三要素法,可以计算出充放电的时间,两者相加即为脉冲周期,脉冲周期的倒数即为脉冲频率。

充电过程的方程式: 2/3Vcc=Vcc+(1/3Vcc-Vcc)e(t1/RC)t1=(R1+R2)C*㏑2=0.7(R1+R2)C放电过程的方程式: 1/3Vcc=0+(2/3Vcc-0)e(t1/RC)t2=R2*C㏑2=0.7R2*C脉冲周期为: t=t1+t2=0.7(R1+2R2)C脉冲频率为: f=1/t=1.43/(R1+2R2)C令R1=15k,R2=68k,C=0. 01F,(其中0.01F的电容的作用是防干扰的)代入数据,计算得,f=0.94HZ≈1HZ基本满足实验要求。

2.2计数部分计数部分的核心芯片是74LS9074LS90是二---五---十进制异步计数器。

它有两个时钟输入CKA和CKB,其中,CPA和Q0组成一位二进制计数器,CKB和Q1Q2Q3组成五进制计数器,若将Q0与CKB相连接,时钟脉冲从CKA输入,则构成了84212BCD码十进制计数器。

多功能数字钟-电子设计

多功能数字钟-电子设计

多功能数字钟-电子设计设计一个多功能数字钟,可以显示时间、日期、温度,并能设置闹钟和倒计时功能。

电子设计:1.采用LED数码管显示时间、日期、温度,可以选择7段数码管或者共阳共阴的数码管。

2.采用实时时钟芯片,能够准确读取时间和日期。

3.通过温度传感器读取室内温度,并在数码管上显示。

4.设计按钮控制系统,包括设置时间、日期、闹钟和倒计时功能。

5.设置闹钟功能,可以设定每天重复或只响一次,并能够自定义铃声。

6.设置倒计时功能,可以设定倒计时时间,并能够显示剩余时间。

7.设计电源接口,可以使用电池或外部电源供电。

硬件设计:1.使用微控制器作为控制中心,控制LED数码管的显示和按钮的输入。

2.将实时时钟芯片连接到微控制器,通过I2C或SPI协议读取时间和日期。

3.连接温度传感器与微控制器,通过模拟输入端口读取温度值。

4.设计按钮接口,将按钮连接到微控制器的GPIO引脚,用于接收用户的操作。

5.设计蜂鸣器接口,通过微控制器生成不同频率的信号,作为闹钟铃声。

软件设计:1.编写微控制器的固件程序,实现读取时间、日期、温度的功能。

2.实现LED数码管的驱动程序,将时间、日期、温度的数值转换成相应的LED显示。

3.编写按钮的中断服务程序,实现按钮的响应和功能切换。

4.设计闹钟功能的逻辑,根据用户的设定时间和铃声选择,启动闹钟。

5.设计倒计时功能的逻辑,根据用户设定的倒计时时间,显示剩余时间并发出提醒。

6.设计设置功能的菜单,通过按钮操作进入不同的设置界面。

7.实现电源管理功能,可以根据用户选择使用电池或外部电源供电。

8.调试和测试系统的各项功能,确保稳定性和准确性。

多功能数字钟设计

多功能数字钟设计

输出信号: 输出信号:
scanout::扫描信号;用于顺序点亮6个数码管。(用0—5位) :扫描信号;用于顺序点亮 个数码管。(用 个数码管。( 位 led_out:七段数码管段码;高位为 。 :七段数码管段码;高位为g。 sound_out:声音输出接喇叭或峰鸣器。 :声音输出接喇叭或峰鸣器。 point_out:数码管间的点;隔两个数码管点亮一个。 :数码管间的点;隔两个数码管点亮一个。
C_mh
count en co & ≥1
C_h
C_h_encount en Nhomakorabeacocount
count en
enable reset disable clk1s
en
co
clk clr
clk clr
clk clr C_mh_en clk clr C_h_en1 C_mh_en1 Not (set)
clk clr
输入输出信号端 输入信号: 输入信号:
Scanclk:时钟信号;计时实际需要1Hz, 程序中加有 :时钟信号;计时实际需要 程序中加有1024分频,故 分频, 分频 scanclk频率约为 频率约为1024Hz。实现整点报时声音控制 频率约为 。 Set:设置键;设定闹表定时时、分;计时时、分校准;用拨码开关, 计时时、分校准;用拨码开关, :设置键;设定闹表定时时、 拨上为定时,拨下为校准。 拨上为定时,拨下为校准。 用实验箱的按键, 用实验箱的按键, Reset_in:异步复为信号;只对秒计时复位。 :异步复为信号;只对秒计时复位。 按键按下为低电平。 adj_h_in,adj_m_in:时、分校准,闹钟定时控制 按键按下为低电平。 分校准, : close:止闹信号;闹钟响后,close为1止闹;用实验箱的拨码开关。 止闹; :止闹信号;闹钟响后, 为 止闹 用实验箱的拨码开关。

多功能数字钟电路设计

多功能数字钟电路设计

多功能数字钟电路设计
多功能数字钟电路可以用来显示时间、日期、闹钟和定时器等功能。

下面是一个简单的多功能数字钟电路设计,它基于CD4511七段译码器和CD4543 BCD-七段译码器。

1. 时间显示功能
为了显示时间,我们需要使用CD4543 BCD-七段译码器。

该译码器接收来自实时时钟(RTC)模块的BCD编码输出。

RTC模块可以用来跟踪时间和日期,它通常包括一个晶体振荡器、计数器和存储器。

BCD 编码输出通过CD4543译码器转换为七段LED显示。

2. 日期显示功能
类似于时间显示功能,日期显示也需要使用RTC模块。

RTC模块可以提供年份、月份和日期的BCD编码输出。

这些编码输出通过CD4543译码器转换为七段LED显示。

3. 闹钟功能
闹钟功能可以通过计时器和比较器实现。

我们可以使用555定时器作
为计时器,它可以生成一个固定的时间间隔。

然后,我们可以使用一个比较器来比较当前时间和闹钟时间。

如果它们匹配,闹钟就会响起。

4. 定时器功能
定时器功能可以通过555定时器来实现。

我们可以设置计时器的时间间隔,并使用CD4511七段译码器来显示剩余时间。

当定时器完成计时时,它可以触发一个报警器或执行其他操作。

总之,多功能数字钟电路可以实现时间、日期、闹钟和定时器等多种功能。

这些功能可以通过RTC模块、CD4511七段译码器、CD4543 BCD-七段译码器和555定时器等元件来实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录摘要 (1)1数字钟的结构设计及方案选择 (2)1.1振荡器的选择 (2)1.2计数单元的构成及选择 (3)1.3译码显示单元的构成选择 (3)1.4校时单元电路设计及选择 (4)2 数字钟单元电路的设计 (4)2.1振荡器电路设计 (4)2.2时间计数单元设计 (5)2.2.1集成异步计数器74LS390 (5)2.2.2 用74LS390构成秒和分计数器电路 (6)2.2.3用74LS390构成时计数器电路 (6)2.2.4 时间计数单元总电路 (7)2.3译码显示单元电路设计 (7)2.4 校时单元电路设计 (7)2.5整点报时单元电路设计 (1)3 数字钟的实现电路及其工作原理 (9)4电路的搭建与调试 (10)5结束语 (10)参考文献 (11)附录1: (12)摘要数字钟被广泛用于个人家庭及公共场所,成为人们日常生活中的必需品。

诸如定时自动报警、按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意。

数字电子钟,从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

数字电子钟有以下几部分组成:振荡器,分频器,60进制的秒、分计时器和12进制计时计数器,秒、分、时的译码显示部分及校正电路等。

关键词:数字钟 555多谐振荡器计数器 74LS390 74LS48数字电子时钟的设计及制作1数字钟的结构设计及方案选择数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。

主要由振荡器、分频器、计数器、译码器显示器和校时电路组成。

振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,通常使用石英晶体震荡器,然后经过分频器输出标准秒脉冲,或者由555构成的多谐振荡器来直接产生1HZ的脉冲信号。

秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“12翻1”规律计数。

计数器的输出分别经译码器送显示器显示。

由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,当计时出现误差时,可以用校时电路校时、校分。

如图 1-1所示为数字钟电路系统的组成框图。

图1-1数字钟电路系统的组成框图方案一:首先构成一个NE555定时器产生震荡周期为0.5秒的标准秒脉冲,在加一个74ls74分频电路。

由74LS390采用清零法分别组成六十进制的秒计数器、六十进制分计数器、十二进制时计数器。

使用74ls74d的输出作为秒记数器的CP脉冲,把秒记数器地进位输出作为分记数器地CP脉冲,分记数器的进位输出作为时记数器的CP脉冲。

使用74LS48为驱动器,共阴极数码管作为显示器,再以基本RS锁存器构成校时电路。

方案二:首先构成一个由石英晶体振荡器和由CD4060构成的分频器构成的产生震荡周期为一秒的标准秒脉冲,由CD4518采用清零法分别组成六十进制的秒计数器、六十进制分计数器、十二进制时计数器。

使用由石英晶体振荡器和由CD4060构成的分频器构成的产生震荡周期为一秒的标准秒脉冲,把秒计数器地进位输出作为分计数器的CP脉冲,分计数器的进位输出作为时计数器的CP脉冲。

使用CD4511为驱动器,共阴极数码管作为显示器。

本次设计中我选用方案一进行设计。

1.1振荡器的选择方案一:采用石英晶体振荡器。

石英晶体振荡器具有体积小、重量轻、可靠性高、频率稳定度高等优点。

其具有极高的频率稳定性 主要用在要求频率十分稳定的振荡电路中作谐振元件但成本相对较高。

方案二:采用555多谐振荡器。

555多谐振荡器只需简单的电阻器、电容器即可完成特定的振荡延时作用。

其延时范围极广可由几微秒至几小时之久。

其操作电源范围广可与TTL、CMOS等逻辑电路配合,它的计时精确度高、温度稳定度佳且成本较低。

综上所述分析故选方案二555多谐振荡器做数字钟的核心。

1.2计数单元的构成及选择时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。

计数单元可选择异步十进制计数器74LS390,异步十进制计数器74LS90,双时钟同步加减计数器74LS192都可以很容易构成十进制,十二进制,二十四进制,六十进制分频器。

方案一:采用CMOS电路。

CMOS电路是一种低功耗器件。

虽功耗低但是当电流过大时会烧毁芯片并且COMS电路的速度慢传输延迟时间长(25-50ns)。

方案二:采用TTL电路。

TTL电路是电流控制器件TTL电路的速度快传输延迟时间短(5-10ns)能到达很好的精度。

通过以上两种方案的比较故选方案二。

在设计中我选择74LS390。

1.3译码显示单元的构成选择译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。

显示电路的组成主要是数码管,数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极,本设计中为共阴极七段显示LED 数码管。

可采用74LS47,74LS48,CD4511等集成电路将BCD码译成段码发送给7段发光二极管数码管,当然要选择相配的共阴极或共阳极译码驱动器。

方案一:使用CD4511和LG5011AH。

方案二:选择74LS48和TLG342。

在这个电路中我选择了74LS48+数码显示管。

1.4校时单元电路设计及选择当重新接通电源或走时出现误差时都需要对时间进行校正,所以数字钟应具有分校正和时校正功能。

对校时电路的要求是:在小时校正时不影响分和秒的正常计数;在分校正时不影响秒和小时的正常计数。

手动产生单次脉冲作校时脉冲,即每拨动校时开关一个来回,计数器计数一次,多次拨动开关就可以进行准确校时。

在设计中我选用基本SR锁存器进行设计校时电路,因为在校时时可能会出现抖动现象使结果不准确,基本SR锁存器既简单方便又可以消除这个现象。

2 数字钟单元电路的设计2.1振荡器电路设计多谐振荡器是能产生矩形波的一种自激振荡器电路,由于矩形波中除基波外还含有丰富的高次谐波,故称为多谐振荡器。

多谐振荡器没有稳态,只有两个暂稳态,在自身因素的作用下,电路就在两个暂稳态之间来回转换,故又称它为无稳态电路。

由555定时器构成的多谐振荡器如图1所示,R1,R2和C是外接定时元件,电路中将高电平触发端(6脚)和低电平触发端(2脚)并接后接到R2和C的连接处,将放电端(7脚)接到R1,R2的连接处。

由于接通电源瞬间,电容C来不及充电,电容器两端电压UC为低电平,小于(1/3)VCC,故高电平触发端与低电平触发端均为低电平,输出UO为高电平,放电管VT截止。

这时,电源经R1,R2对电容C充电,使电压UC按指数规律上升,当UC上升到(2/3)VCC时,输出UO为低电平,放电管VT导通,把UC从(1/3)VCC上升到(2/3)VCC这段时间内电路的状态称为第一暂稳态,其维持时间TPH的长短与电容的充电时间有关。

时间常数T=0.7(R1+2R2)C。

不难理解,接通电源后,电路就在两个暂稳态之间来回翻转,则输出可得矩形波。

其原理图如图2-1:图2-1 用555定时器组成振荡器的电路2.2时间计数单元设计时间计数单元由时计数、分计数和秒计数等几个部分组成。

时计数单元为12数器计数,其输出为两位8421BCD码形式,分计数和秒计数单元为60进制计数器,其输出也为8421BCD 码。

本实验采取了用两块74LS390芯片进行级联来产生60进制和12进制计数器。

2.2.1集成异步计数器74LS39074LS390是双十进制计数器,具有双时钟输入,并具有下降沿触发、异步清零、二进制、五进制、十进制计数等功能。

如图2-2为74LS390引脚图,表2.1为74LS390的功能表。

图2-2 74LS390引脚图表2-2 74LS390功能表(1)异步清零:CR为高电平时直接清0,与CP信号无关(即异步清零)。

(2)二进制计数器:CP接ACP端,为下降沿触发,0Q有相应的状态变化(0 ~ 1)。

(3)五进制计数器:CP接BCP端,为下降沿触发,3Q2Q1Q三个输出端有相应的状态变化(000 ~100)。

(4)十进制计数器:将0Q直接与BCP相连接,由ACP作输入脉冲可构成8421BCD码十进制计数器。

2.2.2 用74LS390构成秒和分计数器电路秒个位计数单元为10计数器,无需进制转换,只需将QA与INB相连即可。

INA与1HZ 秒输入信号相连,Q3可作为进位信号与十位计数单元的INA相连。

秒十位计数单元为6进制计数器,需要进制转换。

将10进制计数器转换为6进制计数器的电路连接方法为:将Q1,Q2和一个与门相连接,与门输出到MR即可实现异步清0实现6进制。

Q2可作为进位信号与分个位的计数单元的CKA相连,如图2-3所示。

图2-3 秒和分计数器的连接电路图分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,也是分个位计数单元的Q3作为进位信号与分十位计数单元的CKA相连,分十位计数单元的Q2作为进位信号应与时个位计数单元的CKB相连。

秒十位计数单元为6进制计数器,需要进制转换,将10进制计数器转换为6进制计数器。

2.2.3用74LS390构成时计数器电路时计数单元的个位和十位分别为2进制和3进制计数。

个位的输入脉冲为分十位的Q2,将QA接至CKB,十位的输入为个位的Q1,CKB不需要输入信号,再将十位的QO与个位的Q1与一个与门连接,将输出接至个位与十位的MR即可构成异步清零实现12进制计数。

如图2-4为时计数器的电路图:图2-4 时计数器连接电路图2.2.4 时间计数单元总电路如图2-5所示电路为数字钟的时间计数单元电路连接:图2-5 数字钟的时间计数单元电路连接图2.3译码显示单元电路设计时分秒计时器输出8421BCD码之后,直接输给自带译码功能的DCD_HEX BLUE数码管这个译码显示电路相当于由共阴极译码器74LS48和七段数码管LED组成。

2.4 校时单元电路设计2.4 校时单元电路设计当重新接通电源或走时出现误差时都需要对时间进行校正,所以数字钟应具有分校正和时校正功能。

对校时电路的要求是:在小时校正时不影响分和秒的正常计数;在分校正时不影响秒和小时的正常计数,所以,必须要有两个控制开关分别控制分个位和十个位的脉冲信号。

在校时时,应截断分个位或者时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。

图2-10为校“时”、校“分”电路。

其中Key =B为校“分”用的控制开关,Key = A为校“时”用的控制开关。

图2-10 校时电路2.5整点报时单元电路设计电路在整点10前开始报时,即在59分50秒到59分59秒之间报时电路工作。

相关文档
最新文档