多功能数字钟——时分秒
设计一个电子时钟,要求可以显示时、分、秒,用户可以设置时间
EDA课程设计-电子钟一、设计要求1、基本功能要求:设计一个电子时钟,要求可以显示时、分、秒,用户可以设置时间。
扩展功能要求:2、跑表功能,闹钟功能,调整数码管的亮度。
二、系统结构控制键—jian5、jian4、jian7、jian8:数码管显示段选信号输出sg:——选择6位数码管中的某一个显示数据;发光二极管控制信号输出—led(7~0)闹钟声音输出—speaker通过一个10M信号分出各种所需频率功能介绍运行后,选择模式7,8位数码管分显示时间的时、分、秒,当前为模式0:时间显示模式,按键7为模式选择键,按下按键7,系统进入模式1,第二次按下为模式2,设置时间模式,第三次按下为跑表模式,第四次为闹钟设置模式,第五次为亮度调节模式:设置时间模式,按键4控制更改数码管的位,按键5控制选中数码管的数值,时间设置完成后,按键按键8,设置时间会保存住,并在模式0中显示;系统进入模式2:秒表模式,按键4为开始/结束键,按键5为清零键;系统进入模式3:闹钟设置模式,相关设置与模式1相同,当当前时间与闹钟设置时间相同时,喇叭就会响;系统进入模式4:亮度调节模式,通过按键4设置亮度,共三种亮度;再按下按键7,系统又会进入模式0。
4、RTL图三、VHDL源程序1、library ieee; --通过10M分出所需频率use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpin isport (clk_10M : in std_logic;clk_10000 : out std_logic;clk_100 : out std_logic;clk_1 : out std_logic);end entity;architecture sub1 of fenpin issignal Q_1 : std_logic_vector(8 downto 0);signal Q_2 : std_logic_vector(6 downto 0);signal Q_3 : std_logic_vector(6 downto 0);signal clk10000 : std_logic;signal clk100 : std_logic;signal clk1 : std_logic;beginprocess(clk_10M)beginif clk_10M'event and clk_10M='1' thenif Q_1=500 thenQ_1 <= "000000000";clk10000 <= not clk10000;if Q_2=100 thenQ_2 <= "0000000";clk100<= not clk100;if Q_3=100 thenQ_3 <= "0000000";clk1<=not clk1;else Q_3<=Q_3+1;end if;else Q_2<=Q_2+1;end if;else Q_1<=Q_1+1;end if;end if;end process;clk_10000 <= clk10000;clk_100 <= clk100;clk_1 <= clk1;end sub1;2、library ieee; --扫描数码管use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xianshi isport(clk_10000:in std_logic;jian4:in std_logic;moshi:in integer range 0 to 4;a0,a1,a3,a4,a6,a7:in integer range 0 to 9;sg11:out std_logic_vector(6 downto 0);bt11:out std_logic_vector(7 downto 0));end;architecture one of xianshi issignal cnt8 :std_logic_vector(2 downto 0);signal a :integer range 0 to 15;signal light: std_logic;signal flash:integer range 0 to 2;signal count1,count2:integer range 0 to 10;beginp1: process(cnt8,light,a0,a1,a3,a4,a6,a7)begincase cnt8 iswhen "000" => bt11<= "0000000"&(light);a<=a0;when "001" => bt11<= "000000"&(light)&'0';a<=a1; when "010" => bt11<= "00000"&(light)&"00";a<=15; when "011" => bt11<= "0000"&(light)&"000";a<=a3; when "100" => bt11<= "000"&(light)&"0000";a<=a4; when "101" => bt11<= "00"&(light)&"00000";a<=15; when "110" => bt11<= '0'&(light)&"000000";a<=a6; when "111" => bt11<= (light)&"0000000";a<=a7;when others => null;end case;end process p1;p2:process(clk_10000)beginif clk_10000'event and clk_10000 ='1' then cnt8 <= cnt8+1; end if;end process p2;p3:process(a)begincase a iswhen 0 => sg11<= "0111111";when 1 => sg11<= "0000110";when 2 => sg11<= "1011011";when 3 => sg11<= "1001111";when 4 => sg11<= "1100110";when 5 => sg11<= "1101101";when 6 => sg11<= "1111101";when 7 => sg11<= "0000111";when 8 => sg11<= "1111111";when 9 => sg11<= "1101111";when 10 => sg11<= "1110111";when 11 => sg11<= "1111100";when 12 => sg11<= "0111001";when 13 => sg11<= "1011110";when 14 => sg11<= "1111001";when 15 => sg11<= "1000000";when others => null;end case;end process p3;process(jian4,moshi)beginif moshi=4 thenif jian4'event and jian4='1' thenif flash =2 thenflash<=0;else flash<=flash+1;end if;end if;end if;end process;process(clk_10000,flash)beginif clk_10000'event and clk_10000 ='1' thencase flash iswhen 0 => light<='1';when 1 => if count1=2 thencount1<=0; light<='1';else count1<=count1+1;light<='0';end if;when 2 => if count2=4 thencount2<=0; light<='1';else count2<=count2+1;light<='0';end if;end case;end if;end process;end;3、library ieee; --跑表开始暂停use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity paobiao isport(clk_1:in std_logic;jian8:in std_logic;shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1:in integer range 0 to 9; shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2:out integer range 0 to 9); end entity;architecture bhv of paobiao issignal shi:integer range 0 to 100;signal fen:integer range 0 to 100;signal miao:integer range 0 to 100;beginprocess(clk_1,jian8,shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1)beginif jian8='1' thenshi<=shishi1*10+shige1;fen<=fenshi1*10+fenge1;miao<=miaoshi1*10+miaoge1;elsif clk_1'event and clk_1='1' thenif miao=59 thenmiao<=0;fen<=fen+1;elsif fen>59 thenfen<=0;shi<=shi+1;elsif shi>23 thenshi<=0;else miao<=miao+1;end if;end if;end process;miaoge2<=miao rem 10;miaoshi2<=miao/10;fenge2<=fen rem 10;fenshi2<=fen/10;shige2<=shi rem 10;shishi2<=shi/10;end;4、library ieee; --设置当前时间use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity settime isport(moshi:in integer range 0 to 4;jian4,jian5:in std_logic;shishi,shige,fenshi,fenge,miaoshi,miaoge:out integer range 0 to 9);end entity;architecture bav of settime issignal a:integer range 0 to 5;signal shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1: integer range 0 to 9; beginprocess(moshi,jian4)beginif moshi=1 thenif jian4'event and jian4='1' thenif a < 5 thena<=a+1;else a<=0;end if;end if;end if;end process;process(moshi,a,jian5)beginif moshi=1 thenif a=0 thenif jian5'event and jian5='1' thenif miaoge1 =9 thenmiaoge1<=0;else miaoge1<=miaoge1+1;end if;end if;end if;if a=1 thenif jian5'event and jian5='1' thenif miaoshi1 =5 thenmiaoshi1<=0;else miaoshi1<=miaoshi1+1;end if;end if;end if;if a=2 thenif jian5'event and jian5='1' thenif fenge1 =9 thenfenge1<=0;else fenge1<=fenge1+1;end if;end if;end if;if a=3 thenif jian5'event and jian5='1' thenif fenshi1 =5 thenfenshi1<=0;else fenshi1<=fenshi1+1;end if;end if;end if;if a=4 thenif jian5'event and jian5='1' thenif shige1 =9 thenshige1<=0;else shige1<=shige1+1;end if;end if;end if;if a=5 thenif jian5'event and jian5='1' thenif shishi1 =2 thenshishi1<=0;else shishi1<=shishi1+1;end if;end if;end if;end if;end process;miaoge<=miaoge1;miaoshi<=miaoshi1;fenge<=fenge1;fenshi<=fenshi1;shige<=shige1;shishi<=shishi1;end;5、library ieee; --秒表功能use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity miaobiao isport(clk_100:in std_logic;moshi:in integer range 0 to 4;jian5,jian4:in std_logic;fenshi,fenge,miaoshi,miaoge,xmiaoshi,xmiaoge:out integer range 0 to 9); end entity;architecture bhv of miaobiao issignal fen,miao,xmiao:integer range 0 to 99;signal start:std_logic:='0';signal reset:std_logic:='0';beginprocess(clk_100,jian5,jian4,moshi,reset,start)beginif moshi=2 thenif reset='1' thenfen<=0;miao<=0;xmiao<=0;elsif start='1' thenelsif clk_100'event and clk_100='1' thenif xmiao=99 thenxmiao<=0;miao<=miao+1;elsif miao>59 thenmiao<=0;fen<=fen+1;elsif fen>23 thenfen<=0;else xmiao<=xmiao+1;end if;end if;end if;end process;process(jian4,start)beginif jian4'event and jian4='1' thenstart<=not start;else start<=start;end if;end process;process(jian5,reset)beginif jian5'event and jian5='1' thenreset<=not reset;else reset<= reset;end if;end process;xmiaoge<=xmiao rem 10;xmiaoshi<=xmiao/10;miaoge<=miao rem 10;miaoshi<=miao/10;fenge<=fen rem 10;fenshi<=fen/10;end;6、library ieee; --设置闹钟时间use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity naozhongset isport(moshi:in integer range 0 to 4;jian4,jian5:in std_logic;shishi,shige,fenshi,fenge,miaoshi,miaoge:out integer range 0 to 9); end entity;architecture bav of naozhongset issignal a:integer range 0 to 5;signal fenshi1,fenge1,miaoge1: integer range 0 to 9;signal shishi1: integer range 0 to 9:=1;signal shige1: integer range 0 to 9:=2;signal miaoshi1: integer range 0 to 9:=0;beginprocess(moshi,jian4)beginif moshi=3 thenif jian4'event and jian4='1' thenif a < 5 thena<=a+1;else a<=0;end if;end if;end if;end process;process(moshi,a,jian5)beginif moshi=3 thenif a=0 thenif jian5'event and jian5='1' thenif miaoge1 =9 thenmiaoge1<=0;else miaoge1<=miaoge1+1;end if;end if;end if;if a=1 thenif jian5'event and jian5='1' thenif miaoshi1 =5 thenmiaoshi1<=0;else miaoshi1<=miaoshi1+1;end if;end if;end if;if a=2 thenif jian5'event and jian5='1' thenif fenge1 =9 thenfenge1<=0;else fenge1<=fenge1+1;end if;end if;end if;if a=3 thenif jian5'event and jian5='1' thenif fenshi1 =5 thenfenshi1<=0;else fenshi1<=fenshi1+1;end if;end if;end if;if a=4 thenif jian5'event and jian5='1' thenif shige1 =9 thenshige1<=0;else shige1<=shige1+1;end if;end if;end if;if a=5 thenif jian5'event and jian5='1' thenif shishi1 =2 thenshishi1<=0;else shishi1<=shishi1+1;end if;end if;end if;end if;end process;miaoge<=miaoge1;miaoshi<=miaoshi1;fenge<=fenge1;fenshi<=fenshi1;shige<=shige1;shishi<=shishi1;end;7、library ieee; --闹钟喇叭输出use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity naozhongspeaker isport(clk_100:in std_logic;shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1:in integer range 0 to 9; shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2:in integer range 0 to 9; speaker:out std_logic);end entity;architecture bav of naozhongspeaker isbeginprocess(clk_100,shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1,shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2)beginif shishi2=shishi1 and shige2=shige1 and fenshi2=fenshi1 andfenge2=fenge1 and miaoshi2=miaoshi1 thenspeaker<=clk_100;else speaker<='1';end if;end process;end;8、library ieee; --转换模式use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity moshi isport(jian7:in std_logic;moshi:out integer range 0 to 4);end;architecture one of moshi issignal moshis:integer range 0 to 4;beginprocess(jian7)beginif jian7'event and jian7='1' thenif moshis=4 thenmoshis<=0;else moshis<=moshis+1;end if;end if;end process;moshi<=moshis;end;9、library ieee; --五选一选择器use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux5_1 isport(moshi:in integer range 0 to 4 ;shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1:in integer range 0 to 9;shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2:in integer range 0 to 9;shishi3,shige3,fenshi3,fenge3,miaoshi3,miaoge3:in integer range 0 to 9; fenshi,fenge,miaoshi,miaoge,xmiaoshi,xmiaoge:in integer range 0 to 9;a0,a1,a3,a4,a6,a7:out integer range 0 to 9);end entity mux5_1;architecture bhv of mux5_1 isbeginprocess(shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1,shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2,shishi3,shige3,fenshi3,fenge3,miaoshi3,miaoge3,fenshi,fenge,miaoshi,miaoge,xmiaoshi,xmiaoge,moshi)begincase moshi iswhen 0 =>a0<=shishi1;a1<=shige1;a3<=fenshi1;a4<=fenge1;a6<=miaoshi1;a7<=miaoge1;when 1 =>a0<=shishi2;a1<=shige2;a3<=fenshi2;a4<=fenge2;a6<=miaoshi2;a7<=miaoge2;when 2 =>a0<=fenshi;a1<=fenge;a3<=miaoshi;a4<=miaoge;a6<=xmiaoshi;a7<=xmiaoge;when 3 =>a0<=shishi3;a1<=shige3;a3<=fenshi3;a4<=fenge3;a6<=miaoshi3;a7<=miaoge3;when 4 => a0<=8;a1<=8;a3<=8;a4<=8;a6<=8;a7<=8;end case;end process;end;10、library ieee; --主程序置顶use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport(clk_10M:in std_logic;jian5,jian4,jian7,jian8:in std_logic;sg:out std_logic_vector(6 downto 0);bt:out std_logic_vector(7 downto 0);speaker:out std_logic);end entity;调用声明语句architecture bav of clock iscomponent fenpin --分频port (clk_10M : in std_logic;clk_10000 : out std_logic;clk_100 : out std_logic;clk_1 : out std_logic);end component;component paobiao --跑表port(clk_1:in std_logic;jian8:in std_logic;shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1:in integer range 0 to 9; shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2:out integer range 0 to 9);end component;component xianshi --扫描显示port(clk_10000:in std_logic;jian4:in std_logic;moshi:in integer range 0 to 4;a0,a1,a3,a4,a6,a7:in integer range 0 to 9;sg11:out std_logic_vector(6 downto 0);bt11:out std_logic_vector(7 downto 0));end component;component moshi --模式转换port(jian7:in std_logic;moshi:out integer range 0 to 4);end component;component mux5_1 --五选一选择器port(moshi:in integer range 0 to 4 ;shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1:in integer range 0 to 9;shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2:in integer range 0 to 9;shishi3,shige3,fenshi3,fenge3,miaoshi3,miaoge3:in integer range 0 to 9;fenshi,fenge,miaoshi,miaoge,xmiaoshi,xmiaoge:in integer range 0 to 9;a0,a1,a3,a4,a6,a7:out integer range 0 to 9);end component;component settime --设置当前时间port(moshi:in integer range 0 to 4;jian4,jian5:in std_logic;shishi,shige,fenshi,fenge,miaoshi,miaoge:out integer range 0 to 9);end component;component miaobiao is --秒表port(clk_100:in std_logic;moshi:in integer range 0 to 4;jian5,jian4:in std_logic;fenshi,fenge,miaoshi,miaoge,xmiaoshi,xmiaoge:out integer range 0 to 9);end component;component naozhongset is --闹钟时间设置port(moshi:in integer range 0 to 4;jian4,jian5:in std_logic;shishi,shige,fenshi,fenge,miaoshi,miaoge:out integer range 0 to 9);end component;component naozhongspeaker is --闹钟喇叭输出port(clk_100:in std_logic;shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1:in integer range 0 to 9;shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2:in integer range 0 to 9;speaker:out std_logic);end component;signal moshis:integer range 0 to 4; --信号声明signal shishi1s,shige1s,fenshi1s,fenge1s,miaoshi1s,miaoge1s:integer range 0 to 9;signal shishi2s,shige2s,fenshi2s,fenge2s,miaoshi2s,miaoge2s:integer range 0 to 9;signal shishi3s,shige3s,fenshi3s,fenge3s,miaoshi3s,miaoge3s:integer range 0 to 9;signal fenshis,fenges,miaoshis,miaoges,xmiaoshis,xmiaoges: integer range 0 to 9;signal a0s,a1s,a3s,a4s,a6s,a7s: integer range 0 to 9;signal clk_10000s,clk_100s, clk_1s: std_logic;begin --元件例化u1:paobiao port map(clk_1=>clk_1s,jian8=>jian8,shishi1=>shishi2s,shige1=>shige2s,fenshi1=>fenshi2s,fenge1=>fenge2s,miaoshi 1=>miaoshi2s,miaoge1=>miaoge2s,shishi2=>shishi1s,shige2=>shige1s,fenshi2=>fenshi1s,fenge2=>fenge1s,miaoshi2=>m iaoshi1s,miaoge2=>miaoge1s);u2:xianshi port map(clk_10000=>clk_10000s,jian4=>jian4,moshi=>moshis,a0=>a0s,a1=>a1s,a3=>a3s,a4=>a4s,a6=>a6s,a7=>a7s,sg11=>sg,bt11=>bt);u3:settime port map(moshi=>moshis,jian5=>jian5,jian4=>jian4,shishi=>shishi2s,shige=>shige2s,fenshi=>fenshi2s,fenge=>fenge2s,miaoshi=>miaosh i2s,miaoge=>miaoge2s);u4:moshi port map(jian7=>jian7,moshi=>moshis);u5:mux5_1 port map(moshi=>moshis,shishi1=>shishi1s,shige1=>shige1s,fenshi1=>fenshi1s,fenge1=>fenge1s,miaoshi1=>m iaoshi1s,miaoge1=>miaoge1s,shishi2=>shishi2s,shige2=>shige2s,fenshi2=>fenshi2s,fenge2=>fenge2s,miaoshi2=>m iaoshi2s,miaoge2=>miaoge2s,shishi3=>shishi3s,shige3=>shige3s,fenshi3=>fenshi3s,fenge3=>fenge3s,miaoshi3=>m iaoshi3s,miaoge3=>miaoge3s,fenshi=>fenshis,fenge=>fenges,miaoshi=>miaoshis,miaoge=>miaoges,xmiaoshi=>x miaoshis,xmiaoge=>xmiaoges,a0=>a0s,a1=>a1s,a3=>a3s,a4=>a4s,a6=>a6s,a7=>a7s);u6:miaobiao port map(clk_100=>clk_100s,moshi=>moshis,jian5=>jian5,jian4=>jian4,fenshi=>fenshis,fenge=>fenges,miaoshi=>miaoshis,miaoge=>miaoges,xmiaoshi=>xmiao shis,xmiaoge=>xmiaoges);u7:fenpin port map(clk_10M=>clk_10m,clk_10000=>clk_10000s,clk_100=>clk_100s,clk_1 =>clk_1s);u8:naozhongset port map(moshi=>moshis,jian5=>jian5,jian4=>jian4,shishi=>shishi3s,shige=>shige3s,fenshi=>fenshi3s,fenge=>fenge3s,miaoshi=>mi aoshi3s,miaoge=>miaoge3s);u9:naozhongspeaker port map(clk_100=>clk_100s,speaker=>speaker,shishi1=>shishi3s,shige1=>shige3s,fenshi1=>fenshi3s,fenge1=>fenge3s,miaoshi1=>m iaoshi3s,miaoge1=>miaoge3s,shishi2=>shishi1s,shige2=>shige1s,fenshi2=>fenshi1s,fenge2=>fenge1s,miaoshi2=>m iaoshi1s,miaoge2=>miaoge1s);end;。
多功能电子时钟说明书
实现的功能如下:
1、显示时间;
2、调节时间;
3、设置闹钟时间;
4、整点报时(可开可关可随时停止);
扩展功能:
5、简易计算器(可算加减法)计算、秒表(可精确到百分之一秒和十分之一秒,可切换);
7、倒计时(可设置倒计时时间,减到0后蜂鸣器响);
电子时钟的操作方法,如下图:
下面,具体介绍各功能使用方法:
1、计算器功能,如下图:
2、时钟功能,如下图:
3、秒表倒计时功能,如下图:
秒表倒计时功能倒计时功能秒表功能按键1按键2退出秒表倒计时功能按键esc开始计时按键ok十分之一秒百分之一秒按键按键0暂停计时按键继续计时按键ok存储数据1存储数据2存储数据3按键1按键2按键3暂停计时按键按键按键读取数据按键读取数据1读取数据2读取数据3按键1按键2按键3清零清零清零按键按键按键按键按键按键09可以输入数据开始倒计时按键ok减到0蜂按键esc关闭蜂鸣器按键清零按键0
多功能数字钟
电子技术课程设计多功能数字钟学院:专业、班级:姓名:学号:指导老师:2008年12月目录1、设计任务与要求 (2)2、总体框图 (2)3、选择器件 (2)4、功能模块 (3)(1)时钟记数模块 (3)(2)整点报时驱动信号产生模块 (6)(3)八段共阴扫描数码管的片选驱动信号输出模块 (7)(4)驱动八段字形译码输出模块 (9)5、总体设计电路图 (10)(1)仿真图 (10)(2)电路图 (11)(3)管脚图 (11)6、设计心得体会 (12)一、设计任务与要求1、具有时、分、秒记数显示功能,以24小时循环计时。
2、要求数字钟具有清零、调节小时、分钟功能。
3、具有整点报时,整点报时的同时LED灯花样显示。
二、总体框图多功能数字钟总体框图如下图所示。
它由时钟记数模块(包括hour、minute、second 三个小模块)、驱动8位八段共阴扫描数码管的片选驱动信号输出模块(seltime)、驱动八段字形译码输出模块(deled)、整点报时驱动信号产生模块(alart)。
系统总体框图三、选择器件网络线若干/人、共阴八段数码管6个、蜂鸣器、hour(24进制记数器)、minute(60进制记数器)、second(60进制记数器)、alert(整点报时驱动信号产生模块)、seltime(驱动8位八段共阴扫描数码管的片选驱动信号输出模块)、deled(驱动八段字形译码输出模块)。
四、功能模块多功能数字钟中的时钟记数模块、驱动8位八段共阴扫描数码管的片选驱动信号输出模块、驱动八段字形译码输出模块、整点报时驱动信号产生模块。
(1) 时钟记数模块:<1.1>该模块的功能是:在时钟信号(CLK)的作用下可以生成波形;在清零信号(RESET)作用下,即可清零。
VHDL程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour isport(clk,reset:in std_logic;daout:out std_logic_vector(5 downto 0));end entity hour;architecture fun of hour issignal count:std_logic_vector(5 downto 0);begindaout<=count;process(clk,reset)beginif(reset='0') thencount<="000000";elsif(clk' event and clk='1') thenif(count(3 downto 0)="1001") thenif(count<16#24#) thencount<=count+7;else count<="000000";end if;elsif(count<16#23#) thencount<=count+1;else count<="000000";end if;end if;end process;end fun;<1.2>VHDL程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute isport(clk,clk1,reset,sethour:in std_logic;enhour:out std_logicdaout:out std_logic_vector(6 downto 0));end entity minute;architecture fun of minute issignal count:std_logic_vector(6 downto 0); begindaout<=count;process(clk,reset,sethour)beginif(reset='0') thencount<="0000000";elsif(sethour='0') thenenhour<=clk1;elsif(clk' event and clk='1') thenif(count(3 downto 0)="1001") thenif(count<16#60#) thenif(count="1011001") thenenhour<='1';count<="0000000"; else count<=count+7;end if;elsecount<="0000000";end if;elsif(count<16#60#) thencount<=count+1;enhour<='0';elsecount<="0000000";end if;end if;<1.3>VHDL程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY second ISPORT(clk,reset,setmin:IN STD_LOGIC;enmin:OUT STD_LOGIC;daout:out std_logic_vector(6 downto 0)); END entity second;ARCHITECTURE fun OF second ISSIGNAL count:STD_LOGIC_VECTOR(6 downto 0); BEGINdaout<=count;process(clk,reset,setmin)beginif(reset='0') thencount<="0000000";elsif(setmin='0')thenenmin <=clk;elsif(clk'event and clk='1')thenif(count(3 downto 0)="1001")thenif(count<16#60#)thenif(count="1011001")thenenmin<='1';count<="0000000";ELSE count<=count+7;end if;elsecount<="0000000";end if;elsif(count<16#60#)thencount<=count+1;enmin<='0';elsecount<="0000000";end if;end if;end process;END fun;(2)整点报时驱动信号产生模块该模块功能:在时钟信号(CLK)的作用下可以生成波形,SPEAK输出接扬声器,以产生整点报时发声。
多功能数字钟电路设计
多功能数字钟电路设计1设计内容简介数字钟是一个简单的时序组合逻辑电路,数字钟的电路系统主要包括时间显示,脉冲产生,报时,闹钟四部分。
脉冲产生部分包括振荡器、分频器;时间显示部分包括计数器、译码器、显示器;报时和闹钟部分主要由门电路构成,用来驱动蜂鸣器。
2设计任务与要求Ⅰ以十进制数字形式显示时、分、秒的时间。
Ⅱ小时计数器的计时要求为“24翻1”,分钟和秒的时间要求为60进位。
Ⅲ能实现手动快速校时、校分;Ⅳ具有整点报时功能,报时声响为四低一高,最后一响为整点。
Ⅴ具有定制控制(定小时)的闹钟功能。
Ⅵ画出完整的电路原理图3主要集成电路器件计数器74LS162六只;74LS90三只;CD4511六只;CD4060六只;三极管74LS191一只;555定时器1只;七段式数码显示器六只,74LS00 若干;74LS03(OC) 若干;74LS20 若干;电阻若干,等4设计方案数字电子钟的原理方框图如图(1)所示。
该电路由秒信号发生器、“时,分,秒”计数器、译码器及显示器、校时电路、整点报时电路、闹钟定时等电路组成。
秒信号产生器决定了整个计时系统的精度,故用石英晶体振荡器加分频器来实现。
将秒信号送入“秒计时器”,“秒计时器”采用六十进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用六十进制计数器,每60分钟,发出一个“时脉冲”,该信号经被送到“时计数器”作为“时计数器”的时钟脉冲,而“时计数器”采用二十四进制计数器,实现“24翻1”的计数方式,可实现对一天二十四小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态通过七段式显示译码器译码,通过刘伟LED 七段显示器显示出来。
整点报时电路是根据计时系统的输出状态产生一脉冲信号,然后触发一音频发生器实现整点报时,定时电路与此类似。
校时电路是用“时”、“分”、“秒”显示数5电路设计5.1秒信号发生器秒信号发生器是数字钟的核心部分,它的精度和稳定度决定了数字钟的质量,通常用晶体整荡器产生的脉冲经过整形、分频获得1 Hz的秒脉冲。
多功能数字钟的设计和制作
目录摘要 (1)1数字钟的结构设计及方案选择 (2)1.1振荡器的选择 (2)1.2计数单元的构成及选择 (3)1.3译码显示单元的构成选择 (3)1.4校时单元电路设计及选择 (4)2 数字钟单元电路的设计 (4)2.1振荡器电路设计 (4)2.2时间计数单元设计 (4)2.2.1集成异步计数器74LS390 (5)2.2.2 用74LS390构成秒和分计数器电路 (5)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”规律计数。
多功能数字钟——校时闹钟
电子电路综合实验陈述之答禄夫天创作——多功能数字钟设计目录设计理念2设计要求3设计目的3设计要求4总体设计概要4振荡器电路4输出波形仿真图如图所示5分频器电路5时间计时单元的设计5译码与显示电路的设计6校时电路的设计6方案一:7方案二:8定时控制电路的设计8·电子系统中罕见实际问题的分析9面包板和芯片的测试9时间计数电路的连接与测试9校正电路9主要芯片介绍10主体电路的装调10时钟结果仿真12面包板的使用及注意事项12实验用到的器件13设计理念20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
数字钟已成为人们日常生活中:必不成少的必须品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场合,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采取了先进的石英技术,使数字钟具有走时准确、性能稳定、集成电路有体积小、功耗小、功能多、携带方便等优点,,因此在许多电子设备中被广泛使用。
电子钟是人们日常生活中经常使用的计时工具,而数字式电子钟又有其体积小、重量轻、走时准确、结构简单、耗电量少等优点而在生活中被广泛应用,因此本次设计就用数字集成电路和一些简单的逻辑门电路来设计一个数字式电子钟,使其完成时间及星期的显示功能。
本次设计以数字电子为主,分别对1S时钟信号源、秒计时显示、分计时显示、小时计时显示、整点报时及校时电路进行设计,然后将它们组合,来完成时、分、秒的显示而且有整点报时和走时校准的功能。
并通过本次设计加深对数字电子技术的理解以及更熟练使用计数器、触发器和各种逻辑门电路的能力。
电路主要使用集成计数器、译码集成电路、LED数码管及各种门电路和基本的触发器等,电路使用5号电池共电,很适合在日常生活中使用。
设计要求本课题是设计一个多功能数字钟,以数字形式显示时,分,秒的时间,要求有手动校时分秒的基本功能,以及定时控制,仿广播电台正点报时,自动整点报时或触摸报整点时数的扩展功能。
数字电子钟--数电(带闹钟调节时间和整点报时)
物理与电子工程学院课程设计题目:数字电子钟专业电子信息工程班级12级电信三班学号********学生姓名李长炳指导教师张小英张艳完成日期:2013 年7月数字电子钟前言:数字钟是一个将“时”、“分”、“秒’’显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时闹铃等功能。
一、基本原理时显示器分显示器秒显示器时译码器分译码器秒译码器时计数器分计数器秒计数器振荡器分频器主体电路1.1 振荡电路晶体振荡器的作用是产生时间标准信号。
我采用由门电路或555定时器构成的多谐振荡器作为时间标准信号源。
本系统中的振荡电路选用555定时器构成的多谐振荡器,见图1。
多谐振荡器的振荡频率可由式估算。
图11.2 时、分、秒显示电路模块设计①秒的产生采用74LS160产生60进制的加法计数器,输出端Q0,Q1,Q2,Q3分别接到七段数码管的相应的各端,由上图的555产生的秒脉冲链接秒的两个160的cp,第一片的进位来控制第二片的EP,ET来构成秒。
如下图所示图2注意:两个CP都是连接到555的输出。
②分的产生采用74LS160产生60进制的加法计数器,输出端Q0,Q1,Q2,Q3分别接到七段数码管的相应的各端,由上图的秒产生的进位连接秒的两个160的cp,第一片的进位来控制第二片的EP,ET来构成秒。
如下图所示图3注意:两个CP都是连接的秒的进位的输出。
③小时的产生采用74LS160产生24进制的加法计数器,输出端Q0,Q1,Q2,Q3分别接到七段数码管的相应的各端,由上图的分产生的进位连接秒的两个160的cp,第一片的进位来控制第二片的EP,ET来构成秒。
如下图所示图4注意:两个CP都是连接的秒的进位的输出。
1.3闹钟我设置的闹钟是00:03响的。
会响一分钟,采用与非门和或门组成的电路。
可以得出以下的电路图当达到00:03时就开始响,当不是00:03是就停止了,喇叭一端节地。
多功能数字钟的设计说明
《电子工艺实习》课程设计题目:多功能数字钟设计院别:机电学院专业:机械电子工程姓名:学号:同组人员:指导教师:日期:2011.6.20~2011.7.1多功能数字钟的设计摘要数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,并且可以实现更多的功能,如:定时控制、整点报时、闹钟、触摸报整点时数等,在现实生活中,各种数字钟已得到了非常广泛的使用。
数字钟的设计方法有许多种,例如,可用基于NE555的中小规模集成电路组成数字钟,也还可以利用单片机来实现数字钟等。
这些方法都各有其特点,其中利用中小规模集成电路组建数字钟,原理简单,但由于集成电路集成度有限,对于需要实现较多功能的电路设计比较复杂,对于制作者焊接和布线有较高的要求。
用单片机实现的电子钟具有结构简单,并便于功能的扩展,但需要涉及到汇编以及C语言编写程序,对设计者有较高的要求。
本次设计为用中小规模集成电路组成数字钟。
关键词:数字钟;单片机;集成电路;NE555目录1. 设计要求 (1)2.电路的设计 (2)2.1主体电路的设计 (2)2.1.1秒脉冲电路的设计 (2)2.1.2时分秒计数器的设计 (3)2.1.3 译码与显示电路的设计 (5)2.1.4校时电路的设计 (8)2.1.5整点报时电路的设计 (9)2.2整体电路的设计 (11)3.电路功能测试以及常见问题解决本法 (12)3.1Proteus软件介绍 (12)3.2电路功能测试 (13)4、设计总结 (14)5.元件清单 (15)6.参考文献 (15)1. 设计要求1、设计一台能显示日、时、分秒的数字电子钟,要求用六位数码管显示时间,格式为00:00:00。
2、手动校正功能:能分别进行分、时的校正。
3、整点报时功能。
整点报时电路要求在每个整点鸣叫。
根据设计要求,可建立数字钟系统组成框图,如图2-1所示,数字中电路系统由主体电路和扩展电路两大部分组成,其中,主体电路完成数字钟的基本计数功能,扩展电路完成数字钟的整点报时扩展功能。
用verilog-HDL多功能数字钟
用verilog-HDL多功能数字钟Verilog HDL实验报告基于Verilog HDL语言的多功能数字钟设计一、试验目的设计一个有如下功能的数字钟:(1)计时功能:包括时、分、秒。
(2)定时与闹钟功能:能在所设定的时间发出铃音。
(3)校时功能:对小时、分钟和秒钟进行手动校时。
(4)整点报时功能:每到整点能够发出“嘀嘀嘀嘀嘟”四短一长的报时。
二、试验原理ALERT HOUR[7..0]MIN[7..0]SEC[7..0]LD_ALERT LD_HOUR LD_MINCLK CLK_1K MODE TURN CHANGEclockCLK CLK_1K MODE TURN CHANGEALERTHOUR[7..0]MIN[7..0]SEC[7..0]LD_ALERT LD_HOUR LD_MIN多功能数字钟端口示意图数字钟设有五个输入端,分别为时钟输入(CLK )、模式(MODE )、产生声音的时钟信号(CLK_1K )、切换(TURN )和调时(CHANGE )键。
输出共七个,其中HOUR[7..0]、MIN[7..0]和SEC[7..0]采用BCD 计数方式,分别驱动2个数码管。
硬件电路原理图如下:三、试验内容1. 代码/*信号定义:clk: 标准时钟信号,其频率为4Hz;clk_1k:产生闹铃声、报时音的时钟信号,其频率为1024Hz;mode:功能控制信号;为0:计时功能;为1:闹钟功能;为2:手动校时功能;turn:接按键,在手动校时功能时,选择是调整小时还是分钟;若长时间按住改建,还可使秒信号清零,用于精确调时;change: 接按键,手动调整时,每按一次,计数器加1;如果长按,则连续快速加1,用于快速调时和定时;hour,min,sec:此三信号分别输出并显示时、分、秒信号,皆采用BCD码计数,分别驱动6个数码管显示时间;alert:输出到扬声器的信号,用于产生闹铃音和报时音;闹铃音为持续20秒的急促的“嘀嘀嘀”音,若按住“change”键,则可屏蔽该音;整点报时音为“嘀嘀嘀嘀嘟”四短一长音;LD_alert:接发光二极管,指示是否设置了闹钟功能;LD_hour:接发光二极管,指示当前调整的是小时信号;LD_min:接发光二极管,指示当前调整的是分钟信号*/moduleclock(clk,clk_1k,mode,change,turn,alert,hour,min,sec,LD_alert,LD_hour,LD_mi n);input clk,clk_1k,mode,change,turn;output alert,LD_alert,LD_hour,LD_min;output[7:0] hour,min,sec;reg[7:0] hour,min,sec,hour1,min1,sec1,ahour,amin;reg[1:0] m,fm,num1,num2,num3,num4;reg[1:0] loop1,loop2,loop3,loop4,sound;reg LD_hour,LD_min;reg clk_1Hz,clk_2Hz,minclk,hclk;reg alert1,alert2,ear;reg count1,count2,counta,countb;wire ct1,ct2,cta,ctb,m_clk,h_clk;always @(posedge clk)beginclk_2Hz<=~clk_2Hz;if(sound==3) begin sound<=0; ear<=1; end //ear信号用于产生或屏蔽声音else begin sound<=sound+1; ear<=0; endendalways @(posedge clk_2Hz) //由4Hz的输入时钟产生1Hz的时基信号clk_1Hz<=~clk_1Hz;always @(posedge mode) //mode信号控制系统在三种功能间转换begin if(m==2) m<=0; else m<=m+1; endalways @(posedge turn)fm<=~fm;always //产生count1,count2,counta,countb四个信号begincase(m)2:begin if(fm)begin count1<=change; {LD_min,LD_hour}<=2; endelsebegin counta<=change; {LD_min,LD_hour}<=1; end{count2,countb}<=0;end1:begin if(fm)begin count2<=change; {LD_min,LD_hour}<=2; endelsebegin countb<=change; {LD_min,LD_hour}<=1; end{count1,counta}<=2'b00;enddefault:{count1,count2,counta,countb,LD_min,LD_hour}<=0;endcaseendalways @(negedge clk) //如果长时间按下“change”键,则生成“num1”信号用于连续快速加1if(count2) beginif(loop2==3) num2<=1;elsebegin loop2<=loop2+1; num2<=0;endendelse begin loop2<=0; num2<=0; endalways @(negedge clk) //产生num2信号if(count1) beginif(loop3==3) num3<=1;elsebegin loop3<=loop3+1; num3<=0; endendelse begin loop3<=0; num3<=0; endalways @(negedge clk)if(counta) beginif(loop4==3) num4<=1;elsebegin loop4<=loop4+1; num4<=0; endendelse begin loop4<=0; num4<=0; endassign ct1=(num3&clk)|(!num3&m_clk); //ct1用于计时、校时中的分钟计数assign ct2=(num1&clk)|(!num1&count2); //ct2用于在定时状态下调整分钟信号assign cta=(num4&clk)|(!num4&h_clk); //cta用于计时、校时中的小时计数assign ctb=(num2&clk)|(!num2&countb); //ctb用于在定时状态下调整小时信号always @(posedge clk_1Hz) //秒计时和秒调整进程if(!(sec1^8'h59)|turn&(!m))beginsec1<=0;if(!(turn&(!m))) minclk<=1;end//按住“turn”按键一段时间,秒信号可清零,该功能用于手动精确调时else beginif(sec1[3:0]==4'b1001)begin sec1[3:0]<=4'b0000; sec1[7:4]<=sec1[7:4]+1; endelse sec1[3:0]<=sec1[3:0]+1; minclk<=0;endassign m_clk=minclk||count1;always @(posedge ct1) //分计时和分调整进程beginif(min1==8'h59) begin min1<=0; hclk<=1; endelse beginif(min1[3:0]==9)begin min1[3:0]<=0; min1[7:4]<=min1[7:4]+1; endelse min1[3:0]<=min1[3:0]+1; hclk<=0;endendassign h_clk=hclk||counta;always @(posedge cta) //小时计时和小时调整进程if(hour1==8'h23) hour1<=0;else if(hour1[3:0]==9)begin hour1[7:0]<=hour1[7:4]+1; hour1[3:0]<=0; endelse hour1[3:0]<=hour1[3:0]+1;always @(posedge ct2) //闹钟定时功能中的分钟调节进程if(amin==8'h59) amin<=0;else if(amin[3:0]==9)begin amin[3:0]<=0; amin[7:4]<=amin[7:4]+1; endelse amin[3:0]<=amin[3:0]+1;always @(posedge ctb) //闹钟定时功能中的小时调节进程if(ahour==8'h23) ahour<=0;else if(ahour[3:0]==9)begin ahour[3:0]<=0; ahour[7:4]<=ahour[7:4]+1; endelse ahour[3:0]<=ahour[3:0]+1;always //闹铃功能if((min1==amin)&&(hour1==ahour)&&(amin|ahour)&&(!change))//若按住“change”键不放,可屏蔽闹铃音if(sec1<8'h20) alert1<=1; //控制闹铃的时间长短else alert1<=0;else alert1<=0;always //时、分、秒的现实控制case(m)3'b00: begin hour<=hour1; min<=min1; sec<=sec1; end//计时状态下的时、分、秒显示3'b01: begin hour<=ahour; min<=amin; sec<=8'hzz; end//定时状态下的时、分、秒显示3'b10: begin hour<=hour1; min<=min1; sec<=8'hzz; end//校时状态下的时、分、秒显示endcaseassign LD_alert=(ahour|amin)?1:0; //指示是否进行了闹铃定时assign alert=((alert1)?clk_1k&clk:0)|alert2; //产生闹铃音或整点报时音always //产生整点报时信号alert2beginif((min1==8'h59)&&(sec1>8'h54)||(!(min1|sec1)))if(sec1>8'h54) alert2<=ear&clk_1k; //产生短音else alert2<=!ear&clk_1k; //产生长音else alert2<=0;endendmodule2. 仿真图四、小结及体会为了做多功能数字钟,我借了多本关于Verilog HDL的程序设计书。
数字电子钟
引言数字电子钟是采用数字电路实现对时,分,秒数字显示的计时装置。
数字钟是人们生活中不可少的用品,随处可见,如车站,码头,剧院,办公室等公众场合,可以说给人们的生活,工作,娱乐带来不少方便,又因为数字集成电路的发展采用了先进的石英技术,使数字钟具有走时准确,性能稳定,携带方便等优点。
虽然现在市场上又现成的数字钟集成电路芯片卖,但这里所写的自制电子钟可以满足一些特殊需要,列如可以随意设置时,分,秒的输出,改变显示数字的大小等。
又因为现在科技使得集成电路技术发展迅速,尤其是中规模集成电路技术的发展,使电子钟变得更加体积小,省电,计时准确,因此,在这里设计制作一个数字电子钟有着一定的意义,同时也兼顾了我们在学校所学的数字电路知识。
关键词:数字电子钟走时准确设计制作目录述论一.数字电路基本组成框图二.组成部分及各部分作用2.1 单元电路2.1.1 振荡电路2.1.2 时分秒显示电路2.1.3 译码显示电路2.1. 4 校时电路2.2 进制电路2.3 基本逻辑门电路三.电子钟触发器四.脉冲信号的产生五.调试六.结论七.参考文献述论多功能数字电子钟是由晶体振荡器、计数器、译码和数码显示电路、校时电路等组成。
该电子钟可以满足使用者的一些特殊要求,输出方式灵活,如可以随意设置时、分、秒的输出,改变显示数字的大小等等。
并且由于集成电路技术的发展,特别是MOS集成电路技术的发展,使数字电子钟具有体积小、耗电省、计时准确、性能稳定、维护方便等优点。
此次设计运用了学院中所学的数电、模电等知识,利用元器件等工作原理,制成了具有校时功能的数字电子钟。
电路主要采用中规模CMOS集成电路.本系统的设计电路由脉冲逻辑电路模块、时钟脉冲模块、电源模块、时钟译码显示电路模块、校时模块等部分组成。
采用电池作电源,采用低功耗的CMOS芯片及液晶显示器,有效的解决了功耗问题,能更好地为人们的生活带来便利。
一数字电子钟的基本组成框图二组成部分及各部分作用数字钟是一个将‚时‛、‚分‛、‚秒’’显示于人的视觉器官的计时装置。
多功能小闹钟123
beep();
hour=1;
if(integer) //整点标志
delayms(500);
else
delayms(100);
}
/**********************************************************
七、继电器的功能:
闹时有效时,继电器吸合,否则继电器释放。
**************************************************************************
*******************************************************************/
开机时 8 位数码管显示:
23-59-50 程序预设时间
时钟运行 10秒后:
00-00-00 整点 24点,蜂鸣器响 24 声进行整点报点。
时钟再运行 30 秒后:
00-00-30 到定时起闹时间,蜂鸣器发出机械闹钟声。
00-01-00 蜂鸣器停止发声。
{
for (i = 0; i<13; i++) ;
}
}
/*********************************************************/
/* 蜂鸣器响一声子程序 */
/*********************************************************/
display[4]=11; //分单位数据不显示
display[3]=11;
}
EDA设计II实验报告——多功能数字钟
『EDA设计II』课程实验报告姓名学号学院指导教师时间 2011年 05月多功能数字钟摘要:本实验利用Quartus II软件设计多功能数字钟并下载到Smart SOPC实验系统,实现校分、校时、清零、保持和整点报时等多种基本功能,以及闹钟等附加功能。
本实验首先通过Quartus II 软件对各模块进行原理图设计,并进行仿真调试,最后下载至实验平台验证其功能。
关键词:多功能数字钟Quartus II软件仿真封装校分校时清零保持整点报时闹钟Abstract:The experiment is to design a multi-purpose digital clock by Quartus II and then download to the test system of Smart SOPC. It can realize many functions such as minute adjusting, hour adjusting, resetting, keeping and reporting time on integral hour. Apart from this, it can also be used as a alarm clock. First of all, we design the schematic diagram of every part. In addition, we simulate through Quartus II. At last, we download it to the tests platform and test the function.Key words:multi-purpose digital clock Quartus II simulate seal minute- adjusting hour adjusting resetting keeping reporting time on integral hour alarm clock目录一设计要求说明 (3)1 实验目的 (3)2 实验要求 (3)二方案论证 (4)1 总体电路图 (5)2 基本计时电路工作原理 (5)3 附加闹钟电路工作原理 (5)4 多功能数字钟原理框图 (6)三基本计时电路各子模块工作原理 (6)1 脉冲发生电路 (6)2 计时电路 (10)3 校时、校分、保持、清零电路 (14)4 动态译码显示电路 (16)5 报时电路 (18)6 消颤开关组电路 (19)7 基本计时电路综合 (21)四闹钟电路子模块工作原理 (24)1 闹钟消颤开关与闹钟校时校分清零电路 (24)2 闹钟与计时校时分复用电路 (27)3 比较电路 (28)4 2选1 显示复用电路 (28)5 闹钟与整点报时复用电路 (29)五程序下载 (30)六实验总结与感想 (30)1 实验中出现的问题总结 (30)2 实验感想 (31)一、设计要求说明1、实验目的1)掌握较为复杂逻辑电路的设计方法。
多功能数字钟——时分秒
电子电路概括真验安排报告之阳早格格创做——多功能数字钟的安排目录目录2一.真验脚段3二.安排央供3三.总体安排提要3四.单元电路安排44.1振荡器电路44.2分频器电路74.3 时间计时单元的安排9131517184.8 模块交线图及仿真停止1818212223六.里包板23七.安排历程中出现的问题2525一.真验脚段(1)加深对付数字电子技能的表里知识的明白,分离试验进一步加深对付单元电路基原功能的掌握战应用.(2)通过简曲数字电路模型,掌握一种时常使用电子电路仿果然硬件,使教死能利用所教表里知识完毕本质电路的安排、仿真战创造.(3)掌握数字钟的基原知识以及所用数字钟相闭芯片的功能及使用要领.(4)相识里包板结构及其交线要领.(5)认识数字钟电路的安排与创造.二.安排央供原课题是安排一个多功能数字钟,准确计时,以数字形式隐现,时、分、秒的时间;小时的计时央供为“12翻1”,分战秒的计时央供为60进位. 三.总体安排提要数字钟本质上是一个对付尺度频次(1HZ)举止计数的计数电路.由于计数的起初时间不可能与尺度时间(如北京时间)普遍,故需要正在电路上加一个校时电路,共时尺度的1HZ时间旗号必须搞到准确宁静.常常使用石英晶体振荡器电路形成数字钟.数字钟电路系统的组成圆框图如下.四.单元电路安排4.1振荡器电路芯片介绍:555定时器引足功能:V i1(TH):下电仄触收端,简称下触收端,又称阈值端,标记为TH. V i2(TR):矮电仄触收端,简称矮触收端,标记为TR.V CO:统造电压端.V O:输出端.Dis:搁电端.Rd:复位端.矮触收:当输进电压V i2CC 且V i1CC 时,V TR =0,V TH =0,比较器C 2输出为矮电仄,C 1输出为下电仄,基原RS 触收器的输进,使Q =1=0,经输出反相缓冲器后,V O =1,T 停止.那时称555定时器“矮触收”; 脆持:若V i2CC 且V i1CC ,则V TR =1,V TH=0,基原RS 触收器脆持,V O 战T 状态稳定,那时称555定时器“脆持”.下触收:若V i1CC ,则V TH =1,比较器C 1输出为矮电仄,无论C 2输出何种电仄,基原RS触1,经输出反相缓冲器后,V O =0;T 导通.那时称555定时器“下触收”.555定时器统造功能表555定时器里里结构RdVi1Vi2(TR)VCCVc o...(a) 555的逻辑符号(b) 555的引脚排列555定时器逻辑标安排:振荡器是数字钟的核心.振荡器的宁静度及频次的透彻度决断了数字钟计时的准确程度,常常采用石英晶体形成振荡器电路.普遍去道,振荡器的频次越下,计时粗度越下. 电路图如图.原课程安排采与用555定时器形成的多谐振荡器.由555定时器战中交元件R1、R2、C1形成多谐振荡器,足2与足6曲交贯串,如图所示.电路不稳态,仅存留二个久稳态,电路亦不需要中加触收旗号,利用电源通过R1、R2背C 充电,以及C 通过R2背搁电端 Ct 搁电,使电路爆收振荡.输出旗号的时间参数是: T =tw1+tw2, tw1=0.7(R1+R2)C , tw2=0.7R2C× <32V CC <32V CC >32V CC× <31V CC >31V CC×L H H HL H 稳定 L导通 停止 稳定 导通输出波形仿真图如图所示4.2分频器电路芯片介绍:74LS90是同步二—五—十进造加法计数器,它既不妨做二进造加法计数器,又不妨做五进造战十进造加法计数器. 图17-3为74LS90引足排列,表17-1为功能表.通太过歧的连交办法,74LS90不妨真止四种分歧的逻辑功能;而且还可借帮R0(1)、R0(2)对付计数器浑整,借帮S9(1)、S9(2)将计数器置9.其简曲功能详述如下:(1)计数脉冲从CP1输进,QA动做输出端,为二进造计数器. (2)计数脉冲从CP2输进,QDQCQB动做输出端,为同步五进造加法计数器. (3)若将CP2战QA贯串,计数脉冲由CP1输进,QD、QC、QB、QA动做输出端,则形成同步8421码十进造加法计数器. (4)若将CP1与QD贯串,计数脉冲由CP2输进,QA、QD、QC、QB动做输出端,则形成同步5421码十进造加法计数器. (5)浑整、置9功能. a) 同步浑整当R0(1)、R0(2)均为“1”;S9(1)、S9(2)中有“0”时,真止同步浑整功能,即QDQCQBQA=0000. b) 置9功能当S9(1)、S9(2)均为“1”;R0(1)、R0(2)中有“0”时,真止置9功能,即QDQCQBQA =1001.74LS90引足排列图74LS90功能表安排:分频器的功能主要有二个:一是爆收尺度秒脉冲旗号;二是提供功能扩展电路所需要的旗号,如仿电台报时用的1KHz的下音频旗号战500KHz的矮音频旗号等.果此,不妨采用3片咱们较认识的中规模集成电路计数器74LS90不妨完毕上述功能.果每片为1/10分频,3片级联则可赢得所需要的频次旗号,即每1片Q0端输出频次为500Hz,每2片Q3输出为10Hz,每3片的Q3端输出1Hz.分频器安排电路4.3 时间计时单元的安排筹备一:分战秒计数器:分战秒计数器皆是模数M=60的计数器,其计数顺序为00—01—…—58—59—00…选74LS92动做十位计数器,74LS90动做个位计数器,再将他们级联组成模数M=60的计数器.图1分秒计数器逻辑电路图时计数器:时计数器是一个“12翻1”的特殊进造计数器,即当数字钟运止到12时59分59秒,秒的个位计数器再输进一个秒脉冲时,数字钟应自动隐现为01时00分00秒,真止凡是死计中习惯时常使用的计时顺序.采用74LS191战74LS74.图2时计数器逻辑电路图筹备二:时计数器:U5、U6分别为时计时电路的十位个位计时芯片,将CKB交Q0真止十进造计数功能,二芯片的R0(1)相交、R0(2)相交,隐现12时U6芯片的Q0输出下电仄交R0(1),U5芯片的Q1、Q2要真止12翻1必须输出是3也便是0110,所以将U5芯片的Q1、Q2交与门输出再交R0(2)真止对付二个芯片的浑整支配,但是此时只是是12翻0.为了真止12翻1必须正在翻0的时间对付U5芯片爆收一个低沉沿脉冲旗号,所以原电路采与将U5芯片的Q1、Q1交与门输出再战U6芯片的Q0相与,如图1-6所示,而后与U5芯片的进位旗号相大概,输出交U5的进位脉冲端,那样便不妨真止正在12翻0前的所有计时,第二个与门输出0,大概门挨开,脉冲旗号仄常通过大概门加进U5的脉冲输进端,当要12翻0的时间,U5输出0110,U6输出0001,第二个与门输出1将大概门启锁,此时二个芯片浑整大概门那女爆收了一个1-0的低沉进位脉冲,使得U5此时形成1 ,真止了12翻1的功能.采用二片74LS90时计数器电路图分秒计数器芯片介绍:74LS192芯片介绍:74LS192是共步十进造可顺计数器,它具备单时钟输进,并具备扫除战置数等功能,其引足排列及逻辑标记如下所示:图2-174LS192的引足排列及逻辑标记CPU为加计数时钟输进端,CPD为减计数时钟输进端.LD为预置输进统造端,同步预置.CR为复位输进端,下电仄灵验,同步扫除.CO为进位输出:1001状态后背脉冲输出,BO为借位输出:0000状态后背脉冲输出.74LS192的功能表如下表:表2-1 74LS192功能表安排:74LS192为十进造计数器,TCU为进位端,其中一个74LS192战与门形成六进造计数.当秒十位的74LS192计数至6(0110)时,与门收出浑整旗号使74LS192浑整.共时另一个74LS192也完毕浑整,那样便完毕了60进造计数.秒战分的计数器结构真足相共.当秒的十位正在浑整时也共时背分的个位收一个脉冲,使分加1.分秒计数器电路图图3 译码隐现当央供输出0-15时,消隐输进“BI”应为下电仄大概开路;灭整输进“RBI”战测试灯输进“LT”皆必须正在无效电仄状态,即应为下电仄.LED 隐示器件有共阳极战共阳极二种 . 选用共阳极的 5011A数码管做为隐示器件 .译码驱动也可选 CD4511 , BCD 码输人 . 它的译码输出端为矮电仄有效,可曲交驱动共阳极 LED 数码管 .译码74LS48是BCD码到七段隐现译码器,它不妨曲交启动共阳极数码管.其中,ABCD分别为输进端,OA OB OC OD OE OF OG分别为输出端交到数码隐现管上的abcdefg上.LTN称为尝试数码管旗号,LTN=0时,则所有的二极管皆收光,称为一个“8”字,表示数码管隐现仄常,不妨仄常处事,可则不克不迭.BIN称为灭灯旗号,当BIN=0时,则无论ABCD为何值,均不隐现;RBIN称为灭整旗号,当RBIN=0时,如果ABCD=0000,则隐现管不隐现,RBON称为灭整输出端,当ABCD=0000时,则RBON输出为0.需要隐现时,只需将74LS48的隐现译码器的输出端交到数码隐现管上对付应的位子即可.当数字钟交通电源大概者计数出现缺面时,需要矫正时间.校时是数字钟应具备的基原功能.普遍电子脚表皆具备时,分,秒等校时功能.为了使电路简朴,那里只举止分战小时的校时.如图所示为校时电路逻辑图.对付校时电路的央供是,正在小时矫正时不做用分战秒的仄常计数;正在分矫正时不做用秒战小时的仄常计数.校时办法有“快校时”战“缓校时”二种,“快校时”是通过开闭统造,使计数器对付1Hz的校时脉冲计数.“缓校时”是用脚动爆收单脉冲动做校时脉冲.图示电路为校“时”,校“分”电路.其中S1为校“分”用的统造开闭,S2为校“时”用的统造开闭,他们的统造功能如图表示.校时脉冲采与分频器输出的1Hz 脉冲,当S1大概S2分别为“0”时不妨举止快校时.如果校时脉冲由单次脉冲爆收器提供,则不妨举止缓校时.需要注意的是,校时电路是由与非们形成的拉拢逻辑电路,开S1大概S2为“1”大概“0”时,大概会爆收抖动,交电容C1,C2可缓解抖动.所以本质使用时,普遍会交一个RS触收器,将其改为去抖动开闭电路.数字钟正在指定的时刻收出旗号,大概启动声响电路“闹时”(那里用可用指示灯去代替声响电路);大概对付某拆置的电源举止交通大概断开“统造”.不管是闹仍旧统造,皆央供时间准确,即旗号的开初时刻与持绝时间必须谦足确定的央供.比圆央供6时59散收出闹钟旗号,持绝时间为1分钟那是对付应数字中的时个位计数器的,分十位计数器的分个位计数器的若将上述技能其输出为1的所有输出端通过与门电路去统造指示灯,不妨使指示灯正佳正在6面59分明,持绝1分钟后燃烧,所以闹时统造旗号Z的表白式为4.7筹备一真足电路图4.8 模块交线图及仿真停止4.8.1用EWB硬件画造的单元交线图分频振荡模块:计数器模块:图3 时计数单元交线图图4 分、秒计数单元校时电路:定时电路:4.8.2单元模块仿真分频仿真停止:计数器仿真停止:图5 时钟停止仿真图由图5可知,该时刻为1时28分51秒.4.8.3真足仿真此时仿真出时刻为10时0分0秒.根据正在EWB硬件中的仿真停止及相映的分解可知,电路不妨真止安排央供,不妨真止数字钟的基原功能,既计数功能,其时间以数字形式隐现时、分、秒的时间;小时的计时央供为“12翻1”,分战秒的计时央供为60进位.鉴于仿真停止不妨认定,此次多功能数字钟的安排是乐成的.六.里包板里包板(也喊集成电路真验板)是电路真验中一种时常使用的具备多孔插座的插件板,正在举止电路真验时,不妨根据电路连交央供,正在相映孔内拔出电子元器件的引足以及导线等,使其与孔内弹性交触簧片交触,由此连交成所需的真验电路,是用于拆试电路的要害工具.里包板的形成里包板的中瞅战里里结构如图所示,里包板分上下二部分,上头部分普遍是由一止大概二止的插孔形成的窄条,止战止之间电气不连通.每5 列插孔为一组,常常的里包板上有 10 组大概11 组.对付于10 组的结构,左边3 组里里电气连通,中间4 组里里电气连通,左边3 组里里电气连通,但是左边3 组、中间4 组以及左边3 组之间是不连通的.对付于11 组的结构,左边4 组里里电气连通,中间3 组里里电气连通,左边4 组里里电气连通,但是左边4 组、中间3 组以及左边4 组之间是不连通的.若使用的时间需要连通,必须正在二者之间跨交导线. 底下部分是由中间一条断绝凸槽战上下各5 止的插孔形成.正在共一列中的5 个插孔是互贯串通的,列战列之间以及凸槽上下部分则是不连通的.里包板真验套材电子统造电路基原真验所用的元器件包罗:电池组2组(3V、6V,戴电池卡、电极引线).里包板(SYB-130大概118、SYB-46型).4只(白、绿、黄、橙),三极管4只(8050、9013×2、9014),数码管(LC5011).数字集成电路10块(74LS00、74LS02、74LS04、74LS08、74LS32、74LS73、74LS74、74LS86、4511、4518).继电器(JRC-21F),单金属复片(开辉器),磁控开闭1套(条形磁铁、搞簧管开闭),压电陶瓷片(φ27mm,戴共鸣壳体),电子蜂鸣器(3V大概6V),小电灯1个(3.8V),玩具曲流电效果(3V,戴小螺旋桨).交钮开闭2个,导线若搞战元器件盘.别的,还需要准备时常使用的工具,如镊子、桃形钳战一字小改锥,自选真验所需增加的一些元器件等.里包板的使用及注意事项正在简曲使用的时间,常常是二窄一宽共时使用,二个窄条的第一止普遍战天线连交,第二止战电源贯串.由于集成块电源普遍正在上头,交天正在底下,如许筹备有帮于将集成块的电源足战上头第二止窄条贯串,交天足战底下窄条的第一止贯串,缩小连线少度战跨交线的数量.中间宽条用于连交电路,由于凸槽上下是不连通的,所以集成块普遍跨插正在凸槽上.拔出头包板上孔内引足大概导线铜芯曲径为0.4~0.6mm,即比大头针的曲径略微细一面.元器件引足大概导线头要沿里包板的板里笔曲目标拔出圆孔,应能感觉到有沉微、匀称的摩揩阻力,正在里包板倒置时,元器件应能被簧片夹住而不脱降.里包板该当正在透气、搞燥处存搁,特天要预防被电池漏出的电解液所腐蚀.要脆持里包板浑净,焊交过的元器件不要插正在里包板上.七.安排历程中出现的问题正在安排佳电路举止仿真时秒计数器出现“1,4,5,2,6,7,8,9”的计数,厥后小心查看电路是果为74LS90与数码管引足的交线过失八.真验用到的器件1. 共阳数码管6个2. 74LS191 1个3. 74LS90 7个4. D触收器 1个5. 与非门15个大概非门3个与门2个5个7. 555定时器 1个8. 开闭、电容若搞9.蜂鸣器 1个10.开闭、电容若搞。
多功能语音报时数字钟的设计 (4)
多功能语音报时数字钟的设计摘要:自进入21世纪以来,电子产业飞速发展,各种新兴的电子产品布满了电子专柜,电子产品几乎走进了家家户户,走进了社会的各个行业,有力的推动了社会生产力的发展和电子信息化、电子智能化的提高。
数字钟也在发生着各种各样的变化,由体积较大、功能少、运行不精确的机械钟变为在液晶显示屏上显示数字的数字钟,再到多种功能于一钟的语音报时数字钟等等。
本设计是实现一款可正常显示当前时间,测量当前温度,带有语音报时的多功能数字钟。
本设计是采用AT89C51单片机控制的多功能语音报时数钟,可以显示年、月、日、时、分、秒、星期、温度。
具有年、月、日、时、分校准功能,自动提取温度并显示功能,语音报时功能,调整时间按下相应键会发出嘟嘟提示声功能。
采用DS1302时钟芯片进行时钟控制,DS18B20传感器实现温度采集功能,LCD12864作为液晶显示模块,ISD1420语音芯片实现语音播报时间功能。
钟表的多功能化给我们生活带来了很大的改善,比如定时报警、备忘提醒、电气设备的自动断电、自动开启关闭等功能。
数字时钟对世界有着重要的影响,对工业、电子业、商业有着重要的推进作用,使用简单方便,成本低,显示直观,在广阔的市场具有非常很好的前景市场。
数字时钟之所以这么受广大的欢迎,它使用简单直观,数字时钟在显示方面能清楚的在LED显示屏上显示出年、月、日、周日、时、分、秒,还有调准时间的准确度的功能,并且能够显示当日的温度情况。
但目前市场上的数字时钟还比较机械性和传统性,在实际运用过程中不够灵活。
而随着社会的不断发展,人们对数字时钟的控制要求越来越高,数字时钟应用到很多方面,在报警和闹铃的方面都应用到数字时钟准确的计时功能,还有定时器,微波炉,自动通电器,数字时钟可以成为自己生活中的小助手,可以轻松掌控时间,又能了解天气及温度的变化。
语音报时多功能数字时钟改善了人们的生活质量,为人们的生活、工作带来极大的便利。
关键词:数字钟单片机温度液晶显示语音报时一、绪论时间对于我们每个人都很重要,包括老人和小孩,通过眼睛看时间,当然可以看到当前时间,但是对于视力不好老人和不认识钟表的小孩来说,语音报时数字钟就给他们带来了很大的帮助,只需要按下相应键就可以自动播报获得时间。
多功能数字钟课程设计
摘要之青柳念文创作多功能数字钟是采取数字电路实现对时,分,秒,数字显示的计时装置,广泛用于个人家庭,车站,船埠,办公室等公共场合,成为人们日常生活中不成少的必须品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远超出老式钟表原先的报时功能.诸如定时自动报警、按时自动打铃、时间程序自动节制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的.因此,研究数字钟及其广大应用,有着非常现实的意义.数字电子钟由信号发生器“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路等组成.秒信号发生器是整个系统的时基信号,它直接决议计时系统的精度,一般用555或晶振电路构成的振荡器加分频起来实现.将尺度秒脉冲信号送入“秒计数器”,该计数器采取60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲.“分计数器”也60进制计数器,每累计60分,发出一个“时脉冲”信号,该信号将被送到“时计数器”.“时计数器”采取24进制计数,可以实现一天24h的积累计.译码显示电路将“时、分、秒”计数器的输出状态经七段显示译码器译码,通过六位LED显示器显示出来.整点报时电路是根据计时系统的输出状态发生一个脉冲信号,然后去触发音频发生器实现报时.校时电路是来对“时、分、秒”显示数字停止校对,调整.关键词多功能数字钟计数器译码器显示器校时电路目次摘要 (I)1 绪论 (1)1.1 项目研究的布景及意义 (1)1.2 多功能数字钟的现状和发展趋势 (1)2 设计总体方案 (2)2.1 简要说明 (2)2.2 任务要求 (2)2.3 基来历根基理 (2)3 单元电路 (3)3.1 振荡器的设计 (3) (4) (4) (5) (5)3.4 译码器和显示电路的设计 (6)3.5 校时电路的设计 (6)4单元电路设计 (7) (7) (7)4.2.1 60进制计数器的设计 (7)4.2.2 24进制计数器的设计 (8)4.3 译码及驱动显示电路 (9)4.4 校时电路的设计 (9)4.5 报时电路 (10) (11)5仿真成果及分析 (12) (12) (12) (13) (13)总结分析 (14)致谢 (15)参考文献 (16)附录1 (17)附录2 (18)1 绪论1.1 项目研究的布景及意义20世纪末,电子技术得到了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个范畴,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节拍也越来越快.时间对人们来讲总是那末贵重,工作的繁忙性和复杂性容易使人忘记当前的时间.忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅.但是,一旦重要事情,一时的耽误能够变成大祸.多功能数字钟是采取数字电路实现对时,分,秒,数字显示的计时装置,广泛用于个人家庭,车站,船埠,办公室等公共场合,成为人们日常生活中不成少的必须品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远超出老式钟表原先的报时功能.诸如定时自动报警、按时自动打铃、时间程序自动节制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的.因此,研究数字钟及其广大应用,有着非常现实的意义.1.2 多功能数字钟的现状和发展趋势单片机模块中最罕见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用.今朝,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展.单片机应用的重要意义还在于,它从根本上改变了传统的节制系统设计思想和设计方法.从前必须由摹拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了.这种软件代替硬件的节制技术也称为微节制技术,是传统节制技术的一次革命.在单片机技术日趋成熟的明天,其矫捷的硬件电路设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业节制,单片机都起到了无足轻重的作用.单片机小的系统布局几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径.2 设计总体方案2.1 简要说明设计一个具有时分秒显示的数字钟.2.2 任务要求(1) 具有正常走时的基本功能;(2) 具有校时功能(只停止分、时的校时);(3) 具有整点报时功能;(4) 信号发生电路采取石英晶体构成的振荡器;(5) 列出步调,画出设计的逻辑电路图.(6) 电路停止仿真、修改,使仿真成果达到设计要求;(7) 装并测试电路的逻辑功能.2.3基来历根基理数字钟的原理框图如图2-1所示,是由555多谐振荡器、分频器、秒、分、时计数器、译码器、显示器和校时电路组成.555多谐振荡器发生的信号颠末分频器作为秒脉冲,秒脉冲送入计数器计数,计数成果通过“时”、“分”、“秒”译码器显示时间.图2-1 数字钟的原理框图3 单元电路3.1 振荡器的设计数字钟应具有尺度的时钟源,用它发生频率稳定的1Hz脉冲信号,称为秒脉冲,因此振荡器是计时器的核心.通常采取集成电路555定时器与RC组成的多谐振荡器.晶体振荡器给数字钟提供一个频率稳定准确的方波信号,一般输出为方波数字式晶体振荡器通常有两类:一类是用TTL门电路构成;另外一类是通过CMOS非门构成电路.这里我们采取555多谐振荡器.图3-1 1000Hz NE555多谐振荡器分频器的设计由NE555组成的多谐振荡器发生1KHz稳定的脉冲信号,但是时钟电路需要1Hz的秒脉冲信号,所以我们采取由3个74HC161组成的1000分频电路.图3-2 74HC161分频器3.3计数器的设计获得秒脉冲信号后,可根据60秒为1分,60分为1小时,24小时为一天的规律计数.因此,计数器由“秒”、“分”、“时”计数器电路组成,“秒”,“分”计数器为六十进制加法计数器,时计数器为二十四进制加法计数器.采取两片中规模集成电路74LS160组成六十进制加法计数器,可操纵74LS160异步清零端通过反馈归零的方法来实现,也可操纵74LS160同步置数端用置数法来实现.图3-3-1 六十进制加法计数器由两个74LS160和74LS00四2输入与非门组成二十四进制“时”计数器,个位与十位计数器均采取同步级联方式.选择十位计数器的输出端和个位计数器的输出端通过与非门节制两片计数器的清零端,可实现二十四进制递增计数.图3-3-2 二十四进制加法计数器译码器和显示电路的设计译码是将给定的代码停止翻译.计数器采取的码制分歧,译码电路也分歧.译码和显示电路是将“秒”、“分”、“时”计数器中每块集成电路的输出状态翻译成七段数码管能显示十进制数所要求的电信号,然后经数码管,把相应的数字显示出来.译码管有多个型号可以选择,如74LS248、74LS247等.图3-4 译码器显示电路3.5 校时电路的设计校时电路的作用是当计时器刚接通电源或走时出现误差时,实现对“时”、“分”、“秒”的校准.在电路中设有正常计时和校准位置.校时电路可以采取手动校时或自动校时.3.5.1 时、分时间校准电路3.5.2 秒时间校准电路图3-5 校时电路4单元电路设计图4-1 发生1Hz时间脉冲的仿真电路图秒、分计数器为60进制计数器.小时计数器为24进制计数器.实现这两种模数的计数器采取中规模集成计数器74LS160.4.2.1 60进制计数器的设计“秒”74LS160构成的60进制计数器.首先将两片74LS160设置成十进制加法计数器,将两片计数器并行进位则最大可实现100进制的计数器.现要设计一个60进制的计数器,可操纵“反馈清零”的方法实现.当计数器输出“0110、0000”时,通过门电路形成一置数脉冲,使计数器归零.图 4-2-1 60进制计数器电路图4.2.2 24进制计数器的设计同理应个位计数状态为“0100”,十位计数器状态为“0010”时,要求计数器归零.图 4-2-2 24进制计数器图4.3 译码及驱动显示电路译码电路的功能是将“秒”、“分”、“时”计数器的输出代码停止翻译,变成相应的数字.用于驱动LED七段数码管的译码器常常使用的有CD4511,CD4511是BCD-7段译码器,其输出是OC门输出高电平有效,专用于驱动LED七段共阴极显示数码管.由CD4511和LED七段共阴极数码管组成的一位数码显示电路如图 16 所示.若将“秒”、“分”、“时”计数器的每位输出分别接到相应七段译码器的输入端,即可停止分歧数字的显示.图 1-3译码及驱动显示电路图4.4 校时电路的设计数字种启动后,每当数字钟显示与实际时间不符进,需要根据尺度时间停止校时.校“秒”时,采取等待校时.校“分”、“时”的原理比较简单,采取加速校时.对校时电路的要求是 :1.在小时校正时不影响分和秒的正常计数 .2.在分校正时不影响秒和小时的正常计数 .如图所示,当开关打向下时,因为校正信号和0相与的输出为0,而开关的另外一端接高电平,正常输入信号可以顺利通过与或门,故校时电路处于正常计时状态;当开关打向上时,情况正好与上述相反,这时校时电路处于校时状态.与非门可选74LS00,非门则可用与非门2个输入端并接来代替节俭芯片.因此实际使用时,须对开关的状态停止消除抖动处理,图17为加2个0.01uF的电容.图 4-4 校时电路图4.5 报时电路根据要求,电路应在整点准时报时,当时间到达一个整小时时,电路会发生一次蜂鸣提醒.图 4-5 报时电路图图4-6 总电路图5仿真成果及分析图 2-1时钟成果仿真图星期电路原理和时分秒的计时电路原理相同,选用74LS160做计数器,CD4511做译码显示功能,这里星期电路兼具调整功能,下方开关打至高电平,星期电路会自动跳动直至准确后再拨动开关.图5-2 星期电路仿真图图5-3 手电电路图5.4测试成果分析经测试之后,电路可以实现设计要求,可以实现数字钟的基本功能,比方计数,如图22,同时多功能模块校时功能和报时功能都可使用,如图24.基于仿真成果可以认定,此次多功能数字钟的设计是成功的.数电课设即将竣事,一星期的课程设计给我留下了很深的印象,电路的设计比想象的要复杂一点,而且会不时的出现一些小问题,而我们处理一个个小问题的过程就是我们收获的过程,大体电路设计完毕后我们开端寻求扩大功能,包含报时电路,星期电路和应急用的小手电电路,都会让我为之兴奋,而仿真软件的应用也的确让我们任性了一把,比方因为原件选择的错误一直不克不及仿真..而在总体电路设计完毕后还要分模块为焊接做准备,也让我对统筹规划有了进一步的懂得.而电路的焊接就是对耐烦细心动手的考验了,在一个月黑风高的夜晚,终于我么完成了电路的焊接,,,很高兴在这个充满创意的数电课设上收获颇丰~~~感谢高教师的全力帮忙,感谢所有教师的支持与厚爱!当然还要感谢我的组员和我一起奋战在第一线!我们一起履历过失败,挫折,但是我们都降服掉了所有的坚苦,最后终于见到了辛勤尽力后的彩虹!感谢大家!参考文献[1] [2] 何立平易近. 单片机系统设计. 北京航空航天大学出版社[M].1993.[3] 姚行中,关林风. 微型计算机及外部设备常常使用芯片手册[M].清华大学出版社.1999[4] 康华光,电子技术基础(数字部分).高等教导出版社.[5] 杨旭雷,张浩. 基于RS-485总线的测控系统串行通信协议及软硬件实现[J].电气自动化. 2002(2).附录1 总电路图附录2 元件清单。
多功能数字钟设计实验报告
多功能数字钟设计实验报告多功能数字钟设计实验报告一、引言数字钟是一种常见的时间显示设备,其简洁明了的显示方式受到了广泛的欢迎。
然而,随着科技的不断发展,人们对于数字钟的功能要求也越来越高。
本实验旨在设计一款多功能数字钟,以满足人们对于时间显示设备的更多需求。
二、设计原理1. 时间显示:数字钟应能准确地显示当前的时间,包括小时、分钟和秒钟。
为了实现精确的时间显示,我们采用了基于晶体振荡器的时钟电路,并结合数码管显示技术,使得时间能够以数字形式直观地呈现。
2. 日期显示:除了时间显示外,数字钟还应具备日期显示的功能。
我们通过添加一个实时时钟模块,可以获取当前的日期信息,并通过数码管显示出来。
3. 闹钟功能:为了提醒用户重要的时间节点,我们在数字钟中加入了闹钟功能。
用户可以设置闹钟的时间,并在到达设定时间时,数字钟会发出声音或震动来提醒用户。
4. 温湿度显示:为了更好地满足用户的需求,我们还在数字钟中添加了温湿度显示功能。
通过接入温湿度传感器,数字钟可以实时监测当前的温度和湿度,并将其显示在数码管上。
5. 其他功能:除了以上功能外,我们还可以根据用户需求进行扩展,如倒计时功能、闪烁效果等。
三、实验步骤1. 硬件设计:根据设计原理,我们需要选择合适的元器件进行电路的搭建,包括晶体振荡器、数码管、实时时钟模块、温湿度传感器等。
2. 电路连接:根据电路原理图,将各个元器件按照正确的连接方式进行连接,确保电路的正常工作。
3. 程序编写:通过编写合适的程序代码,实现数字钟的各项功能。
包括时间显示、日期显示、闹钟功能、温湿度显示等。
4. 调试测试:在完成硬件连接和程序编写后,我们需要对数字钟进行调试测试,确保各项功能的正常运行。
可以通过模拟不同的时间、设置不同的闹钟时间等来测试数字钟的稳定性和准确性。
5. 优化改进:根据实际测试结果,我们可以对数字钟进行优化改进,提高其性能和稳定性。
例如,优化显示效果、增加功能扩展等。
数字电子课程设计报告
数字电子课程设计报告——多功能电子钟一、设计题目多功能数字电子钟的设计二、设计要求1.有“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能。
(设计秒脉冲发生器);2、有整点报时功能。
(选: 上下午、日期、闹钟等)3.用中规模、小规模集成电路及模拟器件实现。
4.供电方式: 5V直流电源三、设计任务1.画出数字电子钟的电路图。
2.用EWB进行功能仿真。
3.撰写课程设计说明书四、设计总体框图和总电路图图1 多功能数字电子钟系统框图图2 总电路图五、设计方案及论证主电路是由TTL集成电路功能部件和单元电路构成。
本方案主要功能特点:1.实现“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能;2.自行设计的用555定时器组成的多谐振荡器和分频器组合的秒脉冲发生器, 可以代替1Hz方波信号源是电路正常运作;3、有星期的显示功能, 以及时钟12/24进制的转换, 并能同步正常进位;4.实现整点报时功能。
1.振荡器的设计振荡器是数字电子钟的核心部件。
有以下两种方案:方案一: 选用石英晶体构成的振荡器电路石英晶体振荡器的精度较高, 由于振荡器的稳定度及频率的精确度决定了数字钟的及时的准确程度, 而且, 通常情况下, 震荡器的频率越高, 计数精度越高, 所以多数都采用石英晶体振荡器, 如:电子手表中的晶体振荡器电路。
方案二: 555定时器构成的振荡器555定时器构成的晶体振荡器的精度不比石英晶体振荡器, 不过考虑到555定时器在数字电子中有广泛的应用, 而且本设计中不要求很高的精度, 所以这里采用555定时器构成多谐振荡器, 设置振荡频率为1kHz 。
电路图如下:图3 555定时器接成的秒脉冲发生器555定时器频率计算公式:添加公式2ln )2(121C R R f += 周期 T=1/f 根据公式, 设置R1=R2=4.77M Ohm , C=0.1uf 则f 1Hz,T 1s2.分频器设计分频器的设计目的: 产生等间距的频率稳定的标准秒脉冲信号。
(整理)基于51单片机多功能电子时钟报告
单片机课程设计报告多功能电子数字钟姓名:学号:班级:指导教师:目录一课程设计题目-------------------------------- 3 二电路设计--------------------------------------- 4 三程序总体设计思路概述------------------- 5 四各模块程序设计及流程图---------------- 6 五程序及程序说明见附录------------------- ** 六课程设计心得及体会---------------------- 11 七参考资料--------------------------------------- 12一题目及要求本次单片机课程设计在Proteus软件仿真平台下实现,完成电路设计连接,编程、调试,仿真出实验结果。
具体要如下:用8051单片机设计扩展6位数码管的静态或动态显示电路,再连接几个按键和一个蜂鸣器报警电路,设计出一个多功能电子钟,实现以下功能:(1)走时(能实现时分秒,年月日的计时)(2)显示(分屏切换显示时分秒和年月日,修改时能定位闪烁显示)(3)校时(能用按键修改和校准时钟)(4)定时报警(能定点报时)本次课程设计要求每个学生使用Proteus仿真软件独立设计制作出电路图、完成程序设计和系统仿真调试,验收时能操作演示。
最后验收检查结果,评定成绩分为:(1)完成“走时+显示+秒闪”功能----及格(2)完成“校时修改”功能----中等(3)完成“校时修改位闪”----良好(4)完成“定点报警”功能,且使用资源少----优秀二电路设计(电路设计图见附件电路图)(1)采用89C51型号单片机(2)采用8位共阴数码管(3)因为单片机输出高电平时输出的电流不足以驱动数码管,所以在P0口与8位数码管之间加74LS373来驱动数码管(4)P2口与数码管选择位直接加74LS138译码器(5)蜂鸣器接P3.7口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子电路综合实验设计报告——多功能数字钟的设计目录目录 (2)一.实验目的 (3)二.设计要求 (3)三.总体设计概要 (3)四.单元电路设计 (4)4.1振荡器电路 (4)4.2分频器电路 (7)4.3 时间计时单元的设计 (9)4.4译码与显示电路的设计 (13)4.5校时电路的设计 (15)4.6定时控制电路的设计 (17)4.7方案一整体电路图 (18)4.8 模块接线图及仿真结果 (18)4.8.1用EWB软件绘制的单元接线图 (18)4.8.2单元模块仿真 (21)4.8.3整体仿真 (22)五.测试结果分析 (23)六.面包板 (23)七.设计过程中出现的问题 (25)八.实验用到的器件 (25)一.实验目的(1)加深对数字电子技术的理论知识的理解,结合实践进一步加深对单元电路基本功能的掌握和应用。
(2)通过具体数字电路模型,掌握一种常用电子电路仿真的软件,使学生能利用所学理论知识完成实际电路的设计、仿真和制作。
(3)掌握数字钟的基本知识以及所用数字钟相关芯片的功能及使用方法。
(4)了解面包板结构及其接线方法。
(5)熟悉数字钟电路的设计与制作。
二.设计要求本课题是设计一个多功能数字钟,准确计时,以数字形式显示,时、分、秒的时间;小时的计时要求为“12翻1”,分和秒的计时要求为60进位。
三.总体设计概要数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。
通常使用石英晶体振荡器电路构成数字钟。
数字钟电路系统的组成方框图如下。
四.单元电路设计4.1振荡器电路芯片介绍:555定时器引脚功能:V i1(TH):高电平触发端,简称高触发端,又称阈值端,标志为TH。
V i2(TR):低电平触发端,简称低触发端,标志为TR。
V CO:控制电压端。
V O:输出端。
Dis:放电端。
Rd:复位端。
低触发:当输入电压V i2<31V CC 且V i1<32V CC 时,V TR =0,V TH =0,比较器C 2输出为低电平,C 1输出为高电平,基本RS 触发器的输入端S =0、R =1,使Q =1,Q =0,经输出反相缓冲器后,V O =1,T 截止。
这时称555定时器“低触发”; 保持:若V i2>31V CC 且V i1<32V CC ,则V TR =1,V TH =0,S =R =1,基本RS 触发器保持,V O 和T 状态不变,这时称555定时器“保持”。
高触发:若V i1>32V CC ,则V TH =1,比较器C 1输出为低电平,无论C 2输出何种电平,基本RS 触发器因R =0,使Q =1,经输出反相缓冲器后,V O =0;T 导通。
这时称555定时器“高触发”。
555定时器控制功能表555定时器内部结构Vi1(TH)Vi2Vco...(a) 555的逻辑符号(b) 555的引脚排列555定时器逻辑符设计:振荡器是数字钟的核心。
振荡器的稳定度及频率的精确度决定了数字钟计时的准确程度,通常选用石英晶体构成振荡器电路。
一般来说,振荡器的频率越高,计时精度越高。
电路图如图。
本课程设计采取用555定时器构成的多谐振荡器。
由555定时器和外接元件R1、R2、C1构成多谐振荡器,脚2与脚6直接相连,如图所示。
电路没有稳态,仅存在两个暂稳态,电路亦不需要外加触发信号,利用电源通过R1、R2向C 充电,以及C 通过R2向放电端 Ct 放电,使电路产生振荡。
输出信号的时间参数是: T =tw1+tw2, tw1=0.7(R1+R2)C , tw2=0.7R2C× <32V CC<32V CC >32V CC × <31V CC>31V CC×L H H HL H 不变 L导通 截止 不变 导通输出波形仿真图如图所示4.2分频器电路芯片介绍:74LS90是异步二—五—十进制加法计数器,它既可以作二进制加法计数器,又可以作五进制和十进制加法计数器。
图17-3为74LS90引脚排列,表17-1为功能表。
通过不同的连接方式,74LS90可以实现四种不同的逻辑功能;而且还可借助R0(1)、R0(2)对计数器清零,借助S9(1)、S9(2)将计数器置9。
其具体功能详述如下:(1)计数脉冲从CP1输入,QA作为输出端,为二进制计数器。
(2)计数脉冲从CP2输入,QDQCQB作为输出端,为异步五进制加法计数器。
(3)若将CP2和QA相连,计数脉冲由CP1输入,QD、QC、QB、QA作为输出端,则构成异步8421码十进制加法计数器。
(4)若将CP1与QD相连,计数脉冲由CP2输入,QA、QD、QC、QB作为输出端,则构成异步5421码十进制加法计数器。
(5)清零、置9功能。
a) 异步清零当R0(1)、R0(2)均为“1”;S9(1)、S9(2)中有“0”时,实现异步清零功能,即QDQCQBQA=0000。
b) 置9功能当S9(1)、S9(2)均为“1”;R0(1)、R0(2)中有“0”时,实现置9功能,即QDQCQBQA =1001。
74LS90引脚排列图74LS90功能表设计:分频器的功能主要有两个:一是产生标准秒脉冲信号;二是提供功能扩展电路所需要的信号,如仿电台报时用的1KHz的高音频信号和500KHz的低音频信号等。
因此,可以选用3片我们较熟悉的中规模集成电路计数器74LS90可以完成上述功能。
因每片为1/10分频,3片级联则可获得所需要的频率信号,即每1片Q0端输出频率为500Hz,每2片Q3输出为10Hz,每3片的Q3端输出1Hz。
分频器设计电路4.3 时间计时单元的设计方案一:分和秒计数器:分和秒计数器都是模数M=60的计数器,其计数规律为00—01—…—58—59—00…选74LS92作为十位计数器,74LS90作为个位计数器,再将他们级联组成模数M=60的计数器。
图1 分秒计数器逻辑电路图时计数器:时计数器是一个“12翻1”的特殊进制计数器,即当数字钟运行到12时59分59秒,秒的个位计数器再输入一个秒脉冲时,数字钟应自动显示为01时00分00秒,实现日常生活中习惯常用的计时规律。
选用74LS191和74LS74。
图2 时计数器逻辑电路图方案二:时计数器:U5、U6分别为时计时电路的十位个位计时芯片,将CKB接 Q0实现十进制计数功能,两芯片的R0(1)相接、R0(2)相接,显示12时U6芯片的Q0输出高电平接R0(1),U5芯片的Q1、Q2要实现12翻1必须输出是3也就是0110,所以将U5芯片的Q1、Q2接与门输出再接R0(2)实现对两个芯片的清零操作,但此时仅仅是12翻0.为了实现12翻1必须在翻0的时候对U5芯片产生一个下降沿脉冲信号,所以本电路采用将U5芯片的Q1、Q1接与门输出再和U6芯片的Q0相与,如图1-6所示,然后与U5芯片的进位信号相或,输出接U5的进位脉冲端,这样就可以实现在12翻0前的任何计时,第二个与门输出0,或门打开,脉冲信号正常通过或门进入U5的脉冲输入端,当要12翻0的时候,U5输出0110,U6输出0001,第二个与门输出1将或门封锁,此时两个芯片清零或门那儿产生了一个1-0的下降进位脉冲,使得U5此时变为1 ,实现了12翻1的功能。
选用两片74LS90时计数器电路图分秒计数器芯片介绍:74LS192芯片介绍:74LS192是同步十进制可逆计数器,它具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如下所示:图2-174LS192的引脚排列及逻辑符号CPU为加计数时钟输入端,CPD为减计数时钟输入端。
LD为预置输入控制端,异步预置。
CR为复位输入端,高电平有效,异步清除。
CO为进位输出:1001状态后负脉冲输出,BO为借位输出:0000状态后负脉冲输出。
74LS192的功能表如下表:表2-1 74LS192功能表设计:74LS192为十进制计数器,TCU为进位端,其中一个74LS192和与门构成六进制计数。
当秒十位的74LS192计数至6(0110)时,与门发出清零信号使74LS192清零。
同时另一个74LS192也完成清零,这样就完成了60进制计数。
秒和分的计数器结构完全相同。
当秒的十位在清零时也同时向分的个位发一个脉冲,使分加1。
分秒计数器电路图4.4译码与显示电路的设计图3 译码显示当要求输出0-15时,消隐输入“BI”应为高电平或开路;灭零输入“RBI”和测试灯输入“LT”都必须在无效电平状态,即应为高电平。
LED 显示器件有共阳极和共阴极两种。
选用共阴极的5011A数码管作为显示器件。
译码驱动也可选CD4511 ,BCD 码输人。
它的译码输出端为低电平有效,可直接驱动共阳极LED 数码管。
译码74LS48是BCD码到七段显示译码器,它可以直接驱动共阴极数码管。
其中,ABCD分别为输入端,OA OB OC OD OE OF OG分别为输出端接到数码显示管上的abcdefg上。
LTN称为测试数码管信号,LTN=0时,则所有的二极管都发光,称为一个“8”字,表示数码管显示正常,可以正常工作,否则不能。
BIN称为灭灯信号,当BIN=0时,则无论ABCD为何值,均不显示;RBIN称为灭零信号,当RBIN=0时,如果ABCD=0000,则显示管不显示,RBON称为灭零输出端,当ABCD=0000时,则RBON输出为0。
需要显示时,只需将74LS48的显示译码器的输出端接到数码显示管上对应的位置即可。
4.5校时电路的设计当数字钟接通电源或者计数出现误差时,需要校正时间。
校时是数字钟应具备的基本功能。
一般电子手表都具有时,分,秒等校时功能。
为了使电路简单,这里只进行分和小时的校时。
如图所示为校时电路逻辑图。
对校时电路的要求是,在小时校正时不影响分和秒的正常计数;在分校正时不影响秒和小时的正常计数。
校时方式有“快校时”和“慢校时”两种,“快校时”是通过开关控制,使计数器对1Hz的校时脉冲计数。
“慢校时”是用手动产生单脉冲作为校时脉冲。
图示电路为校“时”,校“分”电路。
其中S1为校“分”用的控制开关,S2为校“时”用的控制开关,他们的控制功能如图表示。
校时脉冲采用分频器输出的1Hz脉冲,当S1或S2分别为“0”时可以进行快校时。
如果校时脉冲由单次脉冲产生器提供,则可以进行慢校时。
需要注意的是,校时电路是由与非们构成的组合逻辑电路,开S1或S2为“1”或“0”时,可能会产生抖动,接电容C1,C2可缓解抖动。
所以实际使用时,一般会接一个RS触发器,将其改为去抖动开关电路。
4.6定时控制电路的设计数字钟在指定的时刻发出信号,或驱动音响电路“闹时”(这里用可用指示灯来代替音响电路);或对某装置的电源进行接通或断开“控制”。