数电课设大作业数字钟
数电课程设计数字钟

洛阳理工学院课程设计课程名称数字电子技术课题名称多功能数字钟专业电器工程及其自动化班级学号姓名指导教师年月日洛阳理工学院学院课程设计任务书课程名称数字电子技术题目多功能数字钟专业班级学生姓名指导老师审批任务书下达日期年月日设计完成日期年月日目录一、设计总体思路、基本原理 (7)二、设计框图 (8)三、单元电路设计 (9)1、分秒计数器电路 (9)2、24小时计数器电路 (10)3、整点报时电路 (11)4、校时电路设计 (13)5、秒脉冲产生器 (13)四、EWB软件和重要芯片的介绍 (15)五、仿真结果 (17)六、电路的安装与调试 (21)七、总结与体会 (23)八、附录 (25)九、参考文献 (25)十、整机原理图 (26)十一、评分表 (27)多功能数字钟课程设计一、设计总体思路和基本原理数字电子钟是一种用数字显示秒、分、时、日的计时装置,与传统的机械钟相比,它具有走时准确,显示直观、无机械传动装置、具有更长的使用寿命,等优点,因而得到了广泛的应用、小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数显电子钟。
数字电子钟由以下几部分组成:秒脉冲发生器;校时电路;六十进制秒、分计数器,二十四进制(或十二进制)计时计数器;秒、分、时的译码显示部分。
从课程设计要求来看,数字钟主要分为数码显示器、60进制和24进制计数器、频率振荡器、校时电路和整点报时电路这几个部分。
数字钟要完成显示需要6个数码管,八段的数码管需要译码器才能显示,然后要实现时、分、秒的计时需要60进制计数器和24进制计数器,在仿真软件中发生信号可以用函数发生器仿真,频率可以随意调整。
频率振荡器可以由晶体振荡器分频来提供,也可以由555定时来产生脉冲并分频为1HZ。
方案可以采用74LS160同步十进制加法计数器或采用74LS161十六进制计数器或74LS192十进制异步清零计数器,也可进行组合来组成10进制和6进制的计数器。
数字电路课程设计电子数字钟+闹铃

数字电路课程设计电子数字钟+闹铃数字电路课程设计院系:专业:电子信息工程姓名:学号:完成日期:2021 数字钟的设计一、系统功能概述、系统实现的功能:1、具有“时”、“分”、“秒”的十进制数字显示。
2、具有手动校时、校分、校秒的功能。
3、有定时和闹钟功能,能够在设定的时间发出闹铃声。
4、能进行整点报时。
从59分50秒起,每隔2秒发一次低音“嘟”的信号,连续5次,最后一次为高音“嘀”的信号。
、各项设计指标:1、显示部分采用的6个LED显示器,从高位至低位分别显示时、分、秒。
2、有一个设置调闹钟定时时间、正常时间的按钮,选择调的对象。
3、有三个按钮分别调时、分、秒的时间。
4、有一个按钮用作开启/关闭闹铃。
5、另外需要两个时钟信号来给系统提供脉冲信号,使时钟和闹钟正常工作,分别为1Hz、1kHz的脉冲。
二、系统组成以及系统各部分的设计 1、系统结构描述 //要求:系统结构描述,各个模块的功能描述;系统的顶层文件:1、顶层文件图:2、各模块的解释:、7个输入量clk_1khz、clk_1hz、key_slt、key_alarm、sec_set、min_set、hour_set:其中clk_1khz为闹铃模块提供时钟,处理后能产生“嘟”、“嘀”和变化的闹铃声音;clk_1hz为计时模块提供时钟信号,每秒计数一次;key_slt选择设置对象:定时或正常时间;key_alarm能够开启和关闭闹铃;sec_set、min_set、hour_set用于设置时间或定时,与key_slt 相关联。
各按键输出为脉冲信号。
、CNT60_A_SEC模块:这个模块式将clk_1hz这个时钟信号进行60进制计数,并产生一个分钟的触发信号。
该模块能将当前计数值实时按BCD码的格式输出。
将该输出接到两位LED数码后能时时显示秒的状态。
通过alarm_clk可以选择设置对象为时间还是定时值。
在设置时间模式上,key上的一个输入脉冲可以将clk的输入信号加一。
数电课设-数字钟

数字钟一.基本功能1、设计一个数字钟,能够显示当前时间,分别用6个数码管显示小时、分钟、秒钟的时间,秒针的计数频率为1Hz,可由系统脉冲分频得到。
2、在整点进行提示,可通过LED闪烁实现,闪烁频率及花型可自己设计。
3、能够调整小时和分钟的时间,调整的形式为通过按键进行累加。
4、具有闹钟功能,闹钟时间可以任意设定(设定的形式同样为通过按键累加),并且在设定的时间能够进行提示,提示同样可以由LED闪烁实现。
二.扩展功能1、设计模式选择计数器,通过计数器来控制各个功能之间转换。
2、调整当前时间以及闹钟时间,在按键累加的功能不变的基础上,增加一个功能,即当按住累加键超过3秒,时间能够以4Hz的频率累加。
3、用LCD液晶屏来显示当前时间及功能模式。
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity clock isport(clk: in std_logic; --27M晶振key3,key2,key0: in std_logic:='1'; --时、分、模式按钮,下降沿触发ledg: o ut std_logic_vector(2 downto 0):="000"; --整点提示ledr: out std_logic_vector(2 downto 0):="000"; --闹铃hex7,hex6,hex5,hex4,hex3,hex2,hex0,hex1: out std_logic_vector(6 downto 0) --数码管显示);end;architecture a of clock issignal x: integer range 1 to 13500000:=1; --记27M的上升沿个数signal clka: std_logic; --1HZsignal temp1,temp2,temp3,temp4,temp5,temp6: std_logic_vector(3 downto 0):="0000"; --时分秒走时signal xianshi1,xianshi2,xianshi3,xianshi4,xianshi5,xianshi6:std_logic_vector(3 downto 0):="0000"; --数码管显示signal temp0: std_logic_vector(1 downto 0):="00"; --模式显示signal tfen1,tfen2,tshi1,tshi2,nfen1,nfen2,nshi1,nshi2: std_logic_vector(3 downto 0); --调时和闹铃时的分、时的个位和十位signal naoling1,naoling2,naoling3,naoling4: std_logic_vector(3 downto 0); --闹铃调时时的显示begin--分频,产生1HZ的时钟process(clk)beginif clk'event and clk='1' thenx<=x+1;if x=13500000 thenclka<=not clka; --27M每13500000个上升沿clka取反x<=1;end if;end if;end process;--模式选择器,用按键控制,有0、1、2 三种模式process(key0)beginif key0'event and key0='0' thenif temp0="10" then --模式2时,再按键则进入模式0temp0<="00";elsetemp0<=temp0+1;end if;end if;end process;--模式用数码管显示process(temp0)begincase temp0 iswhen "00" => hex0<="1000000";--显示0when "01" => hex0<="1111001";--显示1when "10" => hex0<="0100100";--显示2when others => hex0<="0000000";--显示全亮end case;end process;--模式1时,调时,调节时钟的分process(key2,temp0)beginif temp0="01" thenif key2'event and key2='0' thenif tfen1="1001" then --个位到9,十位加1if tfen2="0101" then --加到59,则归零tfen1<="0000";tfen2<="0000";elsetfen2<=tfen2+1;tfen1<="0000";end if;elsetfen1<=tfen1+1;end if;end if;end if;end process;--模式1时,调时,调节时钟的时process(key3,temp0)beginif temp0="01" thenif key3'event and key3='0' thenif tshi1="1001" then ----个位到9,十位加1tshi1<="0000";tshi2<=tshi2+1;elsif tshi1="0011" and tshi2="0010" then --到23,则归零tshi1<="0000";tshi2<="0000";elsetshi1<=tshi1+1;end if;end if;end if;end process;--模式2时,设定闹铃,设定时钟的分process(key2,temp0)beginif temp0="10" thenif key2'event and key2='0' thenif nfen1="1001" then ----个位到9,十位加1if nfen2="0101" then --加到59,则归零nfen1<="0000";nfen2<="0000";elsenfen2<=nfen2+1;nfen1<="0000";end if;elsenfen1<=nfen1+1;end if;end if;end if;end process;--模式2时,设定闹铃,设定时钟的时process(key3,temp0)beginif temp0="10" thenif key3'event and key3='0' thenif nshi1="1001" then ----个位到9,十位加1nshi1<="0000";nshi2<=nshi2+1;elsif nshi1="0011" and nshi2="0010" then --到23,则归零nshi1<="0000";nshi2<="0000";elsenshi1<=nshi1+1;end if;end if;end if;end process;--三种模式间的显示及传递process(clka,temp0)beginif temp0="01" then --模式1时,传递调时的时,分temp3<=tfen1;temp4<=tfen2;temp5<=tshi1;temp6<=tshi2;xianshi3<=temp3; --模式1时,显示时,分xianshi4<=temp4;xianshi5<=temp5;xianshi6<=temp6;elsif temp0="10" then --模式2时,传递闹铃的时,分naoling1<=nfen1;naoling2<=nfen2;naoling3<=nshi1;naoling4<=nshi2;xianshi3<=naoling1; --模式2时,显示闹铃的时,分xianshi4<=naoling2;xianshi5<=naoling3;xianshi6<=naoling4;elsifclka'event and clka='1' then --正常走时,即temp0=00if temp1="1001" then --秒的个位到9,十位加1if temp2="0101" then --秒到59,则归零,分的个位加1temp1<="0000";temp2<="0000";temp3<=temp3+1;if temp3="1001" then --分的个位到9,十位加1if temp4="0101" then --分到59,则归零,时的个位加1temp3<="0000";temp4<="0000";temp5<=temp5+1;if temp5="1001" then --时的个位到9,十位加1temp5<="0000";temp6<=temp6+1;elsif temp5="0011" and temp6="0010" then --时到23,则归零temp5<="0000";temp6<="0000";end if;elsetemp3<="0000";temp4<=temp4+1;end if;elsetemp3<=temp3+1;end if;elsetemp1<="0000";temp2<=temp2+1;end if;elsetemp1<=temp1+1;end if;----到设置的闹铃时则ledr(0--2)三个灯亮,一分钟后熄灭if temp3=naoling1 and temp4=naoling2 and temp5=naoling3 and temp6=naoling4 thenledr<="111";elseledr<="000";end if;----到整点时时则ledg(0--2)三个灯亮,一分钟后熄灭if temp3="0000" and temp4="0000" thenledg<="111";elseledg<="000";end if;--将走时传递给显示译码xianshi1<=temp1;xianshi2<=temp2;xianshi3<=temp3;xianshi4<=temp4;xianshi5<=temp5;xianshi6<=temp6;end if;end process;----数码管显示译码process(xianshi1,xianshi2,xianshi3,xianshi4,xianshi5,xianshi6) begincase xianshi1 iswhen "0000" => hex2<="1000000";when "0001" => hex2<="1111001";when "0010" => hex2<="0100100";when "0011" => hex2<="0110000";when "0100" => hex2<="0011001";when "0101" => hex2<="0010010";when "0110" => hex2<="0000010";when "0111" => hex2<="1111000";when "1000" => hex2<="0000000";when "1001" => hex2<="0010000";when others => hex2<="1000000";end case;case xianshi2 iswhen "0000" => hex3<="1000000";when "0001" => hex3<="1111001";when "0010" => hex3<="0100100";when "0011" => hex3<="0110000";when "0100" => hex3<="0011001";when "0101" => hex3<="0010010";when others => hex3<="1000000";end case;case xianshi3 iswhen "0000" => hex4<="1000000";when "0001" => hex4<="1111001";when "0010" => hex4<="0100100";when "0011" => hex4<="0110000";when "0100" => hex4<="0011001";when "0101" => hex4<="0010010";when "0110" => hex4<="0000010";when "0111" => hex4<="1111000";when "1000" => hex4<="0000000";when "1001" => hex4<="0010000";when others => hex4<="1000000";end case;case xianshi4 iswhen "0000" => hex5<="1000000";when "0001" => hex5<="1111001";when "0010" => hex5<="0100100";when "0011" => hex5<="0110000";when "0100" => hex5<="0011001";when "0101" => hex5<="0010010";when others => hex5<="1000000";end case;case xianshi5 iswhen "0000" => hex6<="1000000";when "0001" => hex6<="1111001";when "0010" => hex6<="0100100";when "0011" => hex6<="0110000";when "0100" => hex6<="0011001";when "0101" => hex6<="0010010";when "0110" => hex6<="0000010";when "0111" => hex6<="1111000";when "1000" => hex6<="0000000";when "1001" => hex6<="0010000";when others => hex6<="1000000";end case;case xianshi6 iswhen "0000" => hex7<="1000000";when "0001" => hex7<="1111001";when "0010" => hex7<="0100100";when others => hex7<="1000000";end case;hex1<="1111111"; ---关闭hex1数码管end process;end;。
数电课程设计数字钟

数电课程设计数字钟一、课程目标知识目标:1. 理解数字钟的基本原理和组成,掌握数字电路基础知识;2. 学会运用组合逻辑电路设计数字钟的时、分、秒显示部分;3. 掌握数字钟的计时功能,了解其工作过程和调试方法;4. 了解数字钟在实际应用中的优势,如精确度、稳定性等。
技能目标:1. 能够运用所学知识,设计并搭建一个简单的数字钟电路;2. 培养动手实践能力,学会使用相关仪器、工具进行电路搭建和调试;3. 提高问题解决能力,能够分析并解决数字钟运行过程中出现的问题;4. 学会团队协作,与他人共同完成课程设计任务。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发创新意识;2. 培养学生的耐心、细心和责任心,养成良好的学习习惯;3. 引导学生关注科技发展,认识数字技术在实际生活中的应用;4. 培养学生的环保意识,注意电子垃圾的处理和回收。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际操作技能。
学生特点:学生已具备一定的数字电路基础知识,具有较强的求知欲和动手欲望。
教学要求:结合课程性质和学生特点,采用理论教学与实践操作相结合的方式,注重启发式教学,引导学生主动参与课程设计过程,提高学生的实践能力和创新能力。
通过课程目标的分解,确保学生能够达到预定的学习成果,为后续的教学设计和评估提供依据。
二、教学内容1. 数字钟原理及组成- 了解数字钟的基本工作原理- 掌握数字钟的各个组成部分,如振荡器、分频器、计数器、显示电路等2. 组合逻辑电路设计- 学习组合逻辑电路的设计方法- 应用组合逻辑电路设计数字钟的时、分、秒显示部分3. 数字电路基础知识- 复习数字电路基础知识,如逻辑门、触发器、计数器等- 了解不同类型数字电路的特点和应用4. 数字钟电路搭建与调试- 学习数字钟电路的搭建方法- 掌握数字钟电路的调试技巧,分析并解决常见问题5. 教学内容安排与进度- 第一周:数字钟原理及组成,数字电路基础知识复习- 第二周:组合逻辑电路设计,数字钟显示部分设计- 第三周:数字钟电路搭建,初步调试- 第四周:数字钟电路调试,优化与改进6. 教材章节及内容列举- 教材第三章:数字电路基础- 教材第四章:组合逻辑电路- 教材第五章:时序逻辑电路- 教材第六章:数字钟设计与实践教学内容科学、系统,注重理论与实践相结合,以学生动手实践为主,充分调动学生的积极性,培养实际操作能力。
数电课程设计报告(数字时钟)

课题三、数字电子钟设计一:设计要求:(1)、准确计时,以数字形式显示时、分、秒的时间。
(2)、小时计时采用24进制的计时方式,分、秒采用60进制的计时方式。
(3)、具有快速校准时、分、秒的功能。
二:总体参考方案该系统的工作原理是:振荡器产生的稳定高频脉冲信号,作为数字钟的时间基准,再经分频器输出标准秒脉冲。
秒计数器计满60后向分计数器进位,分计数计满60后向小时计数器进位,小时计数器按照“24翻1”规律计数。
计数器输出经译码器送显示器。
计时出现误差时可以用校时电路进行较时、校分、校秒。
三:单元电路设计1. 秒脉冲发生器用555定时器构成秒脉冲发生器如图3.1所示图3.1 555定时器构成的秒脉冲发生器1.1555定时器555的工作原理它含有两个电压比较器,一个基本RS触发器,一个放电开关T,比较器的参考电压由三只5KΩ的电阻器构成分压,它们分别使高电平比较器C1同相比较端和低电平比较器C2的反相输入端的参考电平为2VCC/3和VCC/3。
C1和C2的输出端控制RS触发器状态和放电管开关状态。
当输入信号为低电平时,触发器复位,555的输出端3脚输出低电平,同时放电,开关管导通;当输入信号自2脚输入并低于VCC/3时,触发器置位,555的3脚输出高电平,同时放电,开关管截止。
Vco是控制电压端(5脚),当5脚外接一个输入电压,即改变了比较器的参考电平,从而实现对输出的另一种控制,在不接外加电压时,通常接一个0.01微法的电容器到地,起滤波作用,以消除外来的干扰,以确保参考电平的稳定。
T为放电管,当T导通时,将给接于脚7的电容器提供低阻放电电路.图3.1.1 555定时器的电路结构及其引脚图3.1.2 555电路的引脚功能2. 秒、分、时计数器秒、分计数器分和秒计数器都是模数M=60的计数器,其计数规律为00---01---…58---59---00…选74LS161作十位及个位计数器,再将它们级联组成模数M=60的计数器.图2.1 秒、分计时器图2.2 74LS161引脚图管脚图介绍:时钟CP和四个数据输入端P0~P3清零/MR使能CEP,CET置数PE数据输出端Q0~Q3以及进位输出TC. (TC=Q0·Q1·Q2·Q3·CET*SR PE CET CEP工作模式L X X X RESET (Clear)清零H L X X LOAD (Pn Qn)置数H H H H COUNT (Increment)计数H H L X NO CHANGE (Hold)保持(不变)H H X L NO CHANGE (Hold)保持(不变)图2.3 74LS161选择开关方式真值表时计数器时计数器是一个“24翻1”的特殊进制计数器,即当数字钟运行到24时59分59秒,秒的个位计数器再输入一个秒脉冲时,数字钟应自动显示为01时00分00秒,实现日常生活中的计时规律。
数电课设--数字钟的设计

数电课设--数字钟的设计摘要:该设计主要是设计一种基于数字电路实现的数字钟,用于显示当前时间,同时设计一个简单的时间调整系统来实现对数字钟的时间调整。
本设计实现了数字钟的时间显示、时间调整等功能,具有简单、实用等优点。
关键词:数字钟、计数器、时间调整系统一、引言数字钟是一种时钟显示设备,它可以在显示面板上显示当前时间,数字钟的普及改变了人们观念上的关于时间知识的变革。
本课设就是要通过设计一个数字钟,来综合应用我们所学的数字电路知识,通过数字电路的设计实现时间的显示及调整。
二、数字钟的设计原理数字钟的设计离不开计数器和定时器,计数器的作用是进行计数操作,进而对时间进行处理,定时器的作用是用来控制计数器的计数和复位,使其能够按照固定的时间序列不断进行计数。
数字钟的显示部分采用数码显示管显示当前时间,数码显示管显示的时间单位有小时、分钟和秒。
三、数字钟的设计方案数字钟的设计方案可以分为两部分,一部分是计数器及定时器的设计,另一部分是时间调整系统的设计。
下面分别进行介绍。
(一)计数器及定时器的设计计数器采用7474型D触发器进行设计,二进制计数器采用模8计数模式,带有异步复位功能。
其中,D触发器的Vcc接+5V电源,GND接地,CLK接定时器的输出,D接Q的输出,Q接下一级触发器D端。
计数器采用8253/8254型定时器,应该根据标准时钟的频率和预置值计算计数器的频率和复位时间。
时间调整功能通常是通过8255接口芯片实现。
(二)时间调整系统的设计时间调整系统通过单片机实现,主要实现以下功能:上下键切换修改时间单位、按键快速调整修改时间数字、按键高频稳定范围设置、判断闹钟是否开启、日历选择等。
四、数字钟的实现数字钟的实现可以参考实验教材进行,实现前需要明确以下几点:1. 根据实际需求确定数字钟的参数:例如显示的时间格式,以及是否需要设置闹钟等。
2. 设计好数字钟的原理图,并选择适合的元件进行接线。
3. 进行电路调试和测试,对电路进行稳定性测试等。
数字电路课程设计--数字时钟

《数字时钟》技术报告概要数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为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接口就输出矩形波,而形成的秒脉冲。
电工大作业-数字电子钟的设计

一、设计要求设计一个电子时钟,并使它具有自动运行的功能。
要求:1、用数码管显示:小时、分、秒。
24小时制或12小时制均可。
2、应用所学知识,产生1s的时钟信号,然后经过进位计数器,最后经过数码管示。
3、对使用何种电子元件及数量无要求。
二、设计思路电子时钟主要为秒信号发生器,计数部分和显示部分组成,用石英晶体震荡构成秒信号发生器,将信号输入计数部分,然后显示。
1、时钟信号:用555计时器和74LS161计数器实现1Hz的方波信号2、进位计数:用74LS90实现60,60,24进制,即实现时钟的计时3、显示设置:用数码管接74LS90实现时间的显示三、电子元件1、七段显示器6个2、计数器(74LS161)4个3、计数器(74LS90)6个4、与非门(74LS00)2个5、反相器(74LS04)2个5、石英晶体1个6、电阻、电容、导线等四、流程设计1、信号发生部分石英晶体振荡器的特点是振荡频率准确、电路结构简单、频率易调整、它是电子时钟的核心,用它产生标准频率信号,在由分频器分成秒时间脉冲。
下图为用反向器与石英晶体构成的振荡电路:(反向器与石英晶体构成的振荡电路)石英晶体振荡器选用32768Hz的石英晶体,发生的信号不符合要求,但通过分频,课产生1Hz的秒信号。
因为32768÷16÷16÷16÷8=1,所以用3个16分频和1个8分频就可以使信号达到要求。
用4个16进制计数器74LS161组成分频电路,与晶振部分共同组成信号发生部分。
如下图:(1Hz信号发生器)2、计数部分和显示部分整个计数器电路由秒计数器、分计数器、时计数器串接而成。
计数器之间采用并行接法,将进位输出信号接到置数端实现清零功能。
秒计数器和分计数器各自由一个十进制计数器和一个六进制计数器组成,形成两个六十进制计数器。
时计数器为两个十进制计数器接成的二十四计数器。
(本部分全部用74LS90计数器实现)秒计数器的设计:秒位60进制计数及显示电路四输入的数码管(显示作用)60秒后给分位的时钟信号信号发生器产生的1Hz信号分计数器的设计:分位60进制计数及显示电路四输入的数码管(显示作用)60分后给小时位的时钟信号从秒计数器来的时钟信号小时位采用24小时计时制设计过程:采用芯片为74LS90的2-10进制计数器,数量为两片。
数字电路课程设计电子钟设计报告

《数字电路》课程设计总结报告题目:数字钟设计专业信息学院班级学生姓名学号指导教师2010 年 12 月 15 日目录一.设计任务(设计课题、功能要求)二.设计框图及整机概述三.各单元电路的设计方案及原理说明四.调试过程及结果分析五.设计、安装及调试中的体会六.对本次课程设计的意见及建议七. 系统原理图、PCB板及实物图八. 附录:元器件清单一、设计任务1.设计课题:多功能数字钟电路设计2.功能要求:1)基本功能●计时准确,以LED数字形式显示时、分的时间。
为节省器件,其中秒位采用发光二极管指示;●分和秒的计时要求为60进位;●具有校时功能,可以在任意时刻校准时间,要求可靠方便。
2)扩展功能●增加小时显示功能,计数为“12(或24)翻1”;●定时闹钟功能,其时间自定;●仿广播电台正点报时,能以音响自动正点报时,12(24)小时循环一次。
要求第一响为正点,以后每隔一秒或半秒钟响一下,几点钟就响几声;触摸报整点时数或自动报整点时数(选做一)。
此作品中,我以基本功能的设计为主。
二、设计框图及整机概述①总体设计框图:②系统工作原理分析:由振荡器产生的稳定的高频脉冲信号,作为数字钟的时间基准,再经分频器输出不准脉冲。
秒计数器计数60秒即二极管闪烁60下后向分计数器进位,分计数器计满60后向小时计数器进位。
计数器的输出经译码器送显示器。
计时出现误差是可以用校时电路进行校时、校分、校秒。
扩展电路必须在主体电路正常运行的情况下才能进行功能扩展。
三、各单元电路的设计方案及原理说明1、振荡器的设计采用的由集成逻辑门与RC组成的时钟源振荡器或由集成电路定时器555与RC组成的多谐振荡器。
这里选用555构成的多谐振荡器,设振荡频率f0=1000Hz。
各参数如下图。
2、分频器的设计分频器的功能主要由两个:一是产生标准秒脉冲信号;二是提供功能扩展电路所需的信号,如仿电台报时用的1kHz的高音频信号和500Hz的低音频信等。
选用3片中集成电路计数器74LS90可以完成上述功能。
数字电路大作业 时钟 秒表 闹钟

数字电路大作业——时钟、闹钟、秒表一.设计任务及要求利用计数器、数码管、555计时器等原件作出一个数字钟表,具有时钟、闹钟、秒表功能。
二.系统逻辑框图和工作原理1.系统逻辑框图2.方波发生环节利用555定时器搭出多谐振荡器,通过改变电阻值和电容值来改变方波频率,为了提高精确度,可取发出方波频率为1kHz。
后面计数环节需要频率为1Hz的时钟信号,所以在555电路后附加一个分频电路,通过分频,调整时钟周期为1s,符合时钟要求。
分频电路由74LS90芯片组成,每个都采用10倍分频。
电路图如图1图13.时钟计数环节1)秒针部分和分针部分采用6X10进制计数器,一个74LS90芯片采用10进制,另一个采用6进制,同时把周期为1s的方波转换为周期为60s的方波作为分针部分的时钟信号,再转换为3600s的方波作为时针部分的时钟信号。
具体实现方法:六进制电路中,在输出信号为0110时,让计数器归零。
即将Q B和Q C通过与门,若同时为1,则得到1,将这个1信号传给清零端,是计数器清零。
电路图如图2、图3图2图3 2)时针部分采用24进制计数器,一个74LS90芯片采用10进制,另一个采用2进制。
且在0010和0100同时出现时,给清零端命令,让计数器归零,即在24时归零。
电路图如图4图44.校时电路刚接通电源是会出现时间误差,所以必须要有校时电路来人工的快速调整时间,根据实际电子表情况,时针、分针可以用校时电路进行校时,秒针用秒针电路的清零来实现。
当按下分针校时开关时,通过多个与非门,将分针电路的时钟信号变为校时电路的高频率时钟信号,可随时切换回正常时钟信号。
电路图如图5图55.闹钟设定电路电路方式类似于校时电路,思想都是人工设定显示时间,只不过此处的显示时间为人工设定的闹钟定时时间。
电路图如图6图66.闹钟判定电路将闹钟设定时间与现在时间进行比较,比较方法为:将对应的同一管脚通过异或门,这样如果一样则输出0,在对第一次异或的全体结果逐个通过或门,知道最后只剩两个输出信号时,将这两个信号通过或非门,如此若最后输出1则代表现在时间到达设定时间。
数字电路课程设计——数字闹钟

当计数至1010时,LD=0, 异步置数,0000,计数0~9; 此时LD出现上升沿,D 触发器接收信号,置1;
U/D=0,加法计数;
继续计数:10、11、12; (十位由D触发器输出, 个位由191输出)
当计数到13,即191刚出现0011时,U/D=1,RD=0, 191开始减计数2变1,D触发器清零,即从12翻至1.
CD4060
1 11 10 1 14级计数器
12脚应接地
3脚Q14: 输出2Hz
石英晶体
C2
VDD C1 16 1
Q10 15 2
Q8 14 3
Q9 13 4
CLR CP1 CP0 12 5 11 6 10 7
CP0 9 8
22
32768Hz
CD4060
15分频电路构成的秒脉冲电路
23
三、单元电路的设计
35
三、单元电路的设计
振荡器的设计 分频器的设计
时、分、秒计数器的设计
译码显示电路设计
校时电路的设计
定时控制电路的设计
正点报时电路的设计
报整点时数电路的设计
触摸报时电路的设计
36
4.译码显示电路设计
74LS47、74LS48为BCD—7段译码/驱动器。 74LS47可用来驱动共阳极的发光二极管显示器示器; 74LS48则用来驱动共阴极的发光二极管显示器。
“快校时”是,通过开关控制,使计数器对1Hz 的校时脉冲计数。
“慢校时”是用手动产生单脉冲作校时脉冲。
40
5.校时电路的设计
至时个位计数器 至分个位计数器 需要注意的是,校时电路是由与非门构 成的组合逻辑电路,开关S1或S2为“0” & & 或“1”时,可能会产生抖动,接电容C1 、C2可以缓解抖动。必要时还应将其改 如果校时脉冲由 & & & & 为去抖动开关电路 单次脉冲产生器 分十位 S2为校“时 S1秒十位 为校“分 提供,则可以进 1 1 进位脉冲 进位脉冲 ”用的控 ”用的控 行“慢校时” 当S1或S2分别 校时脉冲 制开关 制开关 为“0”时可 S S C C 进行“快校时 3.3k 3.3k ” 0.01F 0.01F
数电课设《数字钟》

数字钟的设计内容摘要数字电子钟是一种用数字显示秒﹑分﹑时的记时装置,与传统的机械时钟相比,它一般具有走时准确﹑显示直观﹑无机械传动装置等优点,因而得到了广泛的应用:小到人们的日常生活中的电子手表、电子闹钟,大到车站﹑码头﹑机场等公共场所的大型数字显电子钟。
本课程设计是要通过简单的逻辑芯片实现数字电子钟。
要点在于用555芯片连接输出为一秒的多谐振荡器用于时钟的秒脉冲,用74LS160(10进制计数器)、74LS00(与非门芯片)等连接成60和24进制的计数器,再通过数码管显示,构成简单数字时钟。
关键词数字时钟、计数器、555芯片、分频器一、设计要求1)要求准确显示“时”、“分”、“秒”,24小时制00:00:00~23:59:592)具有整点报时功能:在每小时59分51秒、53秒、55秒、57秒发出500HZ 的低音,59秒时发出1000HZ的高音。
3)具有校时功能:以1HZ频率对“时”、“分”进行校正,且互不影响。
二、总体方案1)功能实现利用555定时器组成的多谐振荡器经分频电路产生的1kHz作为电路的时基信号。
“时、分、秒”分别为二十四进制和两个六十进制计数法。
并用数码管显示时间,74LS160组成的计数器通过译码电路(7448)驱动数码管显示数据。
“分、秒”均为六十进制计数法,即显示“00~59”;“分、秒”的个位为十进制计数法,十位为六进制计数法;“分秒”模块功能的实现:用两片74LS160组成六十进制计数器。
“小时”模块则为二十四进制计数器,显示为“00~23”;个位仍为十进制计数法,而十位则为三进制计数法,但当十进位计到“2”,而个位计到“4”时个位十位清零,组成二十四进制计数法;“时”功能的实现:用两片74LS160组成24进制计数器。
2)总体方案结构图3)方案比较计数功能的实现主要有置数法和清零法两种方案。
置数法相对于清零法要稳定一些,74LS160的清零法采用异步清零方式,及异步清零端有效时,计数立即清零,而系统存在延时性可能出现显示错误。
数电课程设计报告-数字电子钟东北大学

数电课程设计报告-数字电子钟东北大学第一篇:数电课程设计报告-数字电子钟东北大学课程设计报告设计题目:数字电子钟设计与实现班级:学号:姓名:指导教师:设计时间:摘要数字时钟已成为人们日常生活中必不可少的必需品,广泛于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。
由于数字集成电路技术的发展采用了先进的三石英技术,使数字时钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
尽管目前市场上已有现成的数字时钟电路芯片出售,价格便宜、使用也方便,但鉴于数字时钟电路的基本组成包含了数字电路的组成部分,因此进行数定时钟的设计是必要的。
在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来增养我们的综合分析和设计电路的能力。
本次设计以数字时钟为主,实现对时、分、秒数字显示的计数器计时装置,周期为24小时,显示满为23时59分59秒并具4有校时功能的数电子时钟。
电路主要采用中规模的集成电路,本电路主要脉冲产生模块、校时模块、两个六十进制模块(分、秒)、一个二十四进制模块(时)和一个报时逻辑电路组成。
时、分、秒再通过BCD-7段译码显示屏显示出来。
关键词:计数器译码器校时目录概述2 课程设计任务及要求2.1 设计任务2.2 设计要求3 理论设计3.1方案论证3.2 系统设计3.2.1 结构框图及说明3.2.2 系统原理图及工作原理3.3 单元电路设计3.3.1秒脉冲电路设计3.3.2时、分、秒计数器电路3.3.3校时电路3.3.4译码显示电路3.3.5定时电路设计4.软件仿真4.1 仿真电路图4.2 仿真过程4.2 仿真结果5.结论6.使用仪器设备清单7.参考文献。
8.收获、体会和建议。
5 5 8 10 11 13 15 16181919202.课程设计及要求2.1设计任务数字电子时钟是一种用数字电路技术实现“时”、“分”、“秒”计时的装置。
数电课程设计 数字时钟

机电工程学院本科生课程设计题目:数字时钟课程:数字电子技术专业:电气工程及其自动化班级:学号:姓名:指导教师:完成日期:任务书目录1设计的目的及任务 (1)1.1 课程设计的目的 (1)1.2 课程设计的任务与要求 (1)1.3 课程设计的技术指标 (1)2 数字时钟的介绍和原理 (2)2.1 数字时钟的介绍 (2)2.2 数字时钟的电路组成 (2)2.3 数字时钟的工作原理 (3)3 数字时钟总设计方案和各部分电路设计方案 (4)3.1 数字时钟总设计方案 (4)3.2 各部分电路设计方案 (5)3.3 总电路设计图 (17)4 电路仿真 (17)5收获与体会 (24)6 仪器仪表明细清单 (24)参考文献 (25)1.设计的目的及任务1.1 课程设计的目的(1)巩固所学的相关理论知识;(2)实践所掌握的电子制作技能;(3)会运用Mutisim工具对所作出的理论设计进行模拟仿真测试,进一步完善理论设计;(4)通过查阅手册和文献资料,熟悉常用电子器件的类型和特性,并掌握合理选用元器件的原则;(5)掌握模拟电路的安装\测量与调试的基本技能,熟悉电子仪器的正确使用方法,能力(6)分析实验中出现的正常或不正常现象(或数据)独立解决调试中所发生的问题;(7)学会撰写课程设计报告;1.2 课程设计的任务与要求(1)根据技术指标要求及实验室条件设计出电路图,分析工作原理,计算元件参数;(2)列出所有元器件清单;(3)安装调试所设计的电路,达到设计要求;(4)记录实验结果。
1.3 课程设计的技术指标(1)准确计时,用数码管显示小时、分和秒;(2)小时以24小时计时;(3)带有时间校正功能;(4)“闹钟”功能;2.数字时钟的介绍和原理2.1 数字时钟的介绍数字时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。
数字时钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。
数电课设-数字式闹钟

课程设计任务书数字式闹钟第一部分设计任务1.1设计任务(1) 时钟功能:具有24小时或12小时的计时方式,显示时、分、秒。
(2) 具有快速校准时、分、秒的功能。
(3) 能设定起闹时刻,响闹时间为1分钟,超过1分钟自动停;具有人工止闹功能;止闹后不再重新操作,将不再发生起闹。
1.2设计指标(1).有“时”、“分”十进制显示,“秒”使用分个位数码管上的DP点显示。
时十位显示时个位显示分十位显示(2). 计时以24小时为周期。
(23:59→00:00)(3).具有较时电路,可进行分、时较对。
(4).走时过程能按预设的定时时间(精确到小时)启动闹钟产生闹铃,闹铃响时约3s。
第二部分设计方案2.1总体设计方案说明系统组成:显示电路:译码器数码管秒信号发生器:由LM555构成多谐振荡器走时电路:计数器和与非门组成校时电路:秒信号调节闹钟电路:跳线的方法由计数器、译码器、组合逻辑电路、单稳态电路组成2.2模块结构与方框图1.秒钟与分钟显示电路用两片74290组成60进制计数器,输入计数脉冲CP加在CLKA’端,把QA与CPLB’从外部连接起来,电路将对CP按照8421BCD码进行异步加法计数,个位接成十进制形式,十位接成六进制形式,当R0(1)=RO(2)=1且R9(1)*R9(2)=0时74290的输出被直接置0,当R0(1)*RO(2)=0和R9(1)*R9(2)=0时开始计数。
电路图如下:连接成总电路时,分钟的输入信号由秒钟计数器提供。
2.时钟显示电路:同样用2片74290组成24进制,当十位的为2,个位的为4时通过反馈电端,控制个位和十位同时清零,这样就可以按23翻0规律记数了。
电路图如下:连接成总电路时,时钟输入信号由分钟计数器提供。
3.调时分秒可接几个开关来控制个位,十位的信号输入,如开关1、2、space。
如图示:4.闹钟分设置与上面相差一个输入信号,如下图:时设置的个位为十进制,十位为三进制,当十位为2时,通过反馈控制端,个位不能大于等于4,即小时十位为2时,个位加到4时十位和个位马上全部置0,从而让小时的设置只能最大设为23。
数字电路课程设计数字时钟

数字电路课程设计数字时钟
数字电路课程设计通常会涉及到数字时钟的设计,以下是一个简单的数字时钟电路设计:
1. 硬件设计
设计数字时钟电路时,需要选择适当的硬件芯片。
一个简单的数字时钟电路可以使用晶体振荡器(石英水晶)或数字频率计数器作为
时钟源。
在硬件设计中,需要使用FPGA(可编程逻辑门阵列)或
ASIC(专用集成电路)来实现数字时钟。
此外,还需要使用适当的电源和引脚。
2. 电路拓扑
数字时钟电路的拓扑可以由简单的电路组成,如振荡器、计数器和时钟输出,也可以使用更复杂的电路,如时钟分频器、时序器等。
在电路设计中,需要考虑到时钟信号的频率、相位、延时等特性,以确保电路的性能。
3. 时钟频率测量
在数字电路课程中,测量时钟频率是非常重要的一步。
可以使用示波器或逻辑分析仪等工具来测量晶体振荡器或数字计数器的时钟
频率。
对于数字时钟输出,可以使用示波器或逻辑分析仪来测量时钟信号的相位和频率。
4. 时钟精度和稳定性
数字电路设计中,时钟的精度和稳定性是非常重要的。
为了实现高精度的数字时钟,可以使用高质量的晶体振荡器或数字频率计数器,
并采取适当的措施来确保时钟信号的稳定性和可靠性。
例如,可以添加时钟校验和和时钟反馈机制等。
数字时钟电路设计是数字电路课程中的一个重要组成部分,可以帮助学生们了解数字电路的基本原理和实际应用,并提高数字电路的设计和制作能力。
数电课程实验报告-数字钟的设计

《数字电子技术》课程设计报告设计题目: 数字钟班级学号:1407080701221 1407080701216 1407080701218学生姓名:谢志强陈企张海清指导教师:周玲时间:2016.6.15-2016.6.16《数字电子技术》课程设计一、设计题目:数字钟的设计一、设计任务与要求:1.时钟显示功能,能够以十进制显示“时”、“分”、“秒”。
其中时为24进制,分秒为60进制。
2. 其他功能扩展:(1)设计一个电路实现时分秒校准功能。
(2)闹钟功能,可按设定的时间闹时。
(3)设计一个电路实现整点报时功能等。
在59分51秒、53秒、55秒、57秒输出750Hz音频信号,在59分59秒时输出1000Hz信号,音频持续1s,在1000Hz荧屏结束时刻为整点。
二、设计方案:数字电子钟由石英晶体振荡器、分频器、计数器、译码器显示器和校时电路组成。
振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。
秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻1”规律计数。
计数器的输出分别经译码器送显示器显示。
计时出现误差时,可以用校时电路校时、校分。
三、芯片选定及各单元功能电路说明:实验器材及主要器件(1) CC4511 6片(2) 74LS90 5片(3) 74LS92 2片(4) 74LS191 1片(5) 74LS00 5片(6) 74LS04 3片(7) 74LS74 1片(8) 74LS2O 2片(9) 555集成芯片 1片(10)共阴七段显示器 6片(11)电阻、电容、导线等若干①振荡器石英晶体振荡器的特点是振荡频率准确、电路结构简单、频率易调整。
它还具有压电效应,在晶体某一方向加一电场,则在与此垂直的方向产生机械振动,有了机械振动,就会在相应的垂直面上产生电场,从而机械振动和电场互为因果,这种循环过程一直持续到晶体的机械强度限止时,才达到最后稳定。
数电课程设计——数字钟

数字钟1 设计任务与要求1.1 设计任务数字钟是一种用数字显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无需机械传动等优点。
因而得到了广泛的应用。
小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数字电子钟。
本次课程设计要求以中规模集成电路为主,利用所学知识,设计一个数字钟。
通过本次课程设计,进一步加强数字电路综合应用能力,掌握数字电路的设计技巧,增强实践能力,以及熟练掌握数字钟的系统设计、组装、调试及故障排除的方法。
1.2 设计要求数字钟采用数码管显示,显示范围0时0分00秒——23时59分59秒;提出至少两种设计实现方案,并优选方案进行设计;有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;电路具有整点报时功能,报时声响为四低一高,最后一响正好为整点;并且要求走时准确。
画出电路原理图(或仿真电路图);选择元器件及参数,列出有相关元器件清单;自行装配和调试,并能发现问题和解决问题。
编写设计报告,写出设计与制作的全过程,附上有关资料和图纸,有心得体会。
2 总体概要设计数字钟的电路组成方框图如图2.1所示。
由图可见,数字钟由晶振分频、计时、校时、闹铃设置、比较、闹响延时、显示选择、译码显示九个模块组成,其中计时模块是整个电路的核心,其他模块可看作辅助电路,帮助完成增强功能。
晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的脉冲,可保证数字钟的走时准确及稳定。
不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。
分频器电路将32768Hz的高频方波信号分频后得到1Hz的方波信号,可以供秒计数器进行计数。
同时可得得到2Hz的调节脉冲和512和1024Hz的报时脉冲。
分频器实际上也就是计数器。
时间计数电路由秒计数器、分计数器及时计数器电路构成,其中秒计数器、分计数器为60进制计数器,时计数器设计为12进制计数器或者24进制计数器,我们这里设计闹响计数器为30进制计数器,由秒向的进位信号驱动,即闹铃闹响最长时间为30分钟。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连理工大学本科实验报告题目:数字钟课程名称:数字电路课程设计学院(系):电信专业:电气班级:1201学生姓名:学号:完成日期:2014.11.23成绩:2014 年11 月23 日课程设计得分表一、数字钟课程设计要求:1、设计一个具有‘时’、‘分’、‘秒’的十进制数字显示(小时从00~23)计时器。
2、整点报时。
两种方法任选其一:⑴发出仿中央人民广播电台的整点报时信号,即从59分50秒起,每隔2秒钟发出一次低音“嘟”的信号,连续5次,最后一次要求高音“嘀”的信号,此信号结束即达到整点。
“嘟”是500Hz左右的频率输出,“嘀”是1000Hz左右的频率输出⑵通过LED闪烁实现,闪烁频率及花型可自己设计并在这里说明。
3、手动校时、校分、校秒。
4、定时与闹钟功能,能在设定的时间发出闹铃声。
5、设计一个秒表,显示1%秒到60秒、手动停止。
6、设计一个倒计时,显示小时、分钟、秒。
7、其他创新。
第1题25分,其他每题5分二、课程设计考试(40分,每题分):考试题目:1、实体名□2、计数器□3、异步清零□4、进位输出□5、仿真图□6、数码管输出□7、分频□8、元件例化□9、引脚分配□10、下载□题目:数字钟(1.大连理工大学电信学院,辽宁大连,116023;2. 大连理工大学电工电子实验中心,辽宁大连,116023;)1.设计要求一、电子表部分:(1)由晶振电路产生1HZ的校准秒信号。
?(2)设计一个具有‘时’、‘分’、‘秒’的十进制数字显示(小时从00~23)计时器具有手动校时、校分,校秒和清零的功能。
?(3)整点报时功能,通过LED闪烁实现,此实验LED灯亮一秒。
二、秒表部分:(1)有晶振产生100HZ的校准0.01秒信号。
(2)设计一个有“时”、“分”、“秒”、“0.1秒”、“0.01秒”(23小时59分59秒99)显示功能(3)具有开始计时暂停计时功能和清零功能三、具有电子表和秒表状态切换。
四、划出框图和逻辑电路图,写出设计。
2. 设计分析及系统方案设计1设计主要分为数字钟和秒表计时两个部分并选择用二选一数据选择器来实现两种功能切换。
2由于时钟用的是cyclone2开发板上提供的50MHz晶振的频率,所以数字时钟和秒表计时都用到分频器分频分别得到1Hz和100Hz的时钟频率。
3数字时钟部分包括分频部分即分频器;计时部分,包含模六计数器、模十计数器;选位调节部分,分别对时钟分钟和小时部分进行调节,用二选一数据选择器实现;数字显示部分,用到6个4-16译码器,和6个数码显示管;整点报时部分,其中报时用LED灯闪烁代替;含有清零端开关。
4 秒表计时包含分频器;计时器包含模六计数器,模十计数器,模三计数器;数字显示器包含有8个4-16译码器,8个数码显示管;计时启停开关,清零开关。
3.系统以及模块硬件电路设计输入:晶振50MHz,选位开关(0为可调节,1为正常计时),数字钟清零开关(0为清零),开关切换计时状态(1为数字计时,0为秒表计时),秒表启停开关(1启动,0停止),秒表复位开关(0复位),选择输出开关(1输出数字计时数字,0输出秒表计时数字)。
输出:LED灯,数字显示部分。
4 系统的VHDL 设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity keshe isport(clk:in std_logic;qo1,qo2,qo3,qo4,qo5,qo6,qo7,qo8:out std_logic_vector(6 downto 0);rst1:in std_logic;--开关1rst2:in std_logic;--开关2 输入分频得1Hz 分频得100Hz晶振 计时器部分(时、分、秒) 计时器部分选位调节 启停 复位清零 开关 1 0 选择输出开关 输出数字显示输入 1LED 整点计时rst3:in std_logic;--开关3rst4:in std_logic;--开关4switch1:in std_logic;switch2:in std_logic;key1:in std_logic;--分钟调节key2:in std_logic;--小时调节key3:in std_logic;runstop:in std_logic;--秒表启停开关led:out std_logic_vector(7 downto 0));end;architecture a of keshe issignal qh,ql,qhs,qls,qhf,qlf,qhh,qlh:std_logic_vector(3 downto 0):="0000";signal run:std_logic:='0';signal cnt,ct:integersignal qqh1,qqh2,qql1,qql2,qqhf1,qqhf2,qqhs1,qqhs2,qqls1,qqls2,qqhh1,qqhh2,qqlh1,qqlh2,qqlf1,qqlf2:std_logic_vector(3 downto 0);signal clk1s,csf,csh,css,clk1s2,csf2,csh2,css2,csh2in,csf2in,css2in: std_logic;component segmentport(qi:in std_logic_vector(3 downto 0);qo:out std_logic_vector(6 downto 0));end component;beginu1: segment port map (qh,qo1);u2: segment port map (ql,qo2);u3: segment port map (qhf,qo5);u4: segment port map (qlf,qo6);u5: segment port map (qhh,qo7);u6: segment port map (qlh,qo8);u7: segment port map (qhs,qo3);u8: segment port map (qls,qo4);process(rst1,qqh1,qqh2,qql1,qql2,qqhf1,qqhf2,qqhs1,qqhs2,qqls1,qqls2,qqhh1,qqhh2,qqlh1,qqlh2, qqlf1,qqlf2)--电子表秒表切换beginif rst1='1' thenqh<=qqh1; qhs<=qqhs1; qhf<=qqhf1; qhh<=qqhh1;ql<=qql1; qls<=qqls1;qlf<=qqlf1;qlh<=qqlh1;elseqh<=qqh2;qhs<=qqhs2; qhf<=qqhf2; qhh<=qqhh2;ql<=qql2;qlf<=qqlf2;qlh<=qqlh2;end if;end process;process(runstop,rst2)--秒表计停开关beginif rst2='0' thenrun<='0';elsif runstop'event and runstop='1' then run<=not run;end if;end process;process(clk ,clk1s,rst2,run)beginif rising_edge(clk)thenif cnt=499999 thencnt<=0;clk1s<='1';else cnt<=cnt+1;clk1s<='0';end if;end if; if rst2='0' thenqql1<="0000";qqh1<="0000";elsif run='1' thenif clk1s'event and clk1s='1' thenif (qql1="1001" and qqh1="1001" )thenqql1<="0000";qqh1<="0000";css<='1' ;else if qql1="1001" thenqqh1<=qqh1+1;qql1<="0000";css<='0' ;elseqql1<=qql1+1;css<='0' ;end if;end if;end if;end if;end process;process(css,rst2)beginqqls1<="0000";qqhs1<="0000";elsif run='1' thenifcss'event and css='1' thenif (qqls1="1001" and qqhs1="0101" )thenqqls1<="0000";qqhs1<="0000";csf<='1' ;else if qqls1="1001" thenqqhs1<=qqhs1+1;qqls1<="0000";csf<='0' ;elseqqls1<=qqls1+1;csf<='0' ;end if;end if;end if;end if;end process;process(csf,rst2)beginif rst1='0' thenqqlf1<="0000";qqhf1<="0000";elsif run='1' thenifcsf'event and csf='1' thenif (qqlf1="0011" and qqhf1="0010" )thenqqlf1<="0000";qqhf1<="0000";csh<='1' ;else if qqlf1="1001" thenqqhf1<=qqhf1+1;qqlf1<="0000";csh<='0' ;elseqqlf1<=qqlf1+1;csh<='0' ;end if;end if;end if;end if;end process;process(csh,rst2)beginif rst2='0' thenqqlh1<="0000";qqhh1<="0000";elsif run='1' thenifcsh'event and csh='1' thenif (qqlh1="1001" and qqhh1="0101" )thenqqlh1<="0000";qqhh1<="0000";else if qqlh1="1001" thenqqhh1<=qqhh1+1;qqlh1<="0000";elseqqlh1<=qqlh1+1;end if;end if;end if;end if;end process;process(clk ,clk1s2,rst3)beginif rising_edge(clk)thenif ct=499999 thenct<=0;clk1s2<='1';else ct<=ct+1;clk1s2<='0';end if;end if;if rst3='0' thenqql2<="0000";qqh2<="0000";elsif clk1s2'event and clk1s2='1' thenif (qql2="1001" and qqh2="1001" )thenqql2<="0000";qqh2<="0000";css2<='1' ;else if qql2="1001" thenqqh2<=qqh2+1;qql2<="0000";css2<='0' ;elseqql2<=qql2+1;css2<='0' ;end if;end if;end if;end process;process(css2,rst4,key3)beginif rst4='1' thencss2in<=css2;elsecss2in<=key3;end if;end process;process(css2in,rst3)beginif rst3='0' thenqqls2<="0000";qqhs2<="0000";elsif css2in'event and css2in='1' thenif (qqls2="1001" and qqhs2="0101" )thenqqls2<="0000";qqhs2<="0000";csf2<='1' ;else if qqls2="1001" thenqqhs2<=qqhs2+1;qqls2<="0000";csf2<='0' ;elseqqls2<=qqls2+1;csf2<='0' ;end if;end if;end if;end process;process(csf2,switch1,key1)beginif switch1='1' thencsf2in<=csf2;elsecsf2in<=key1;end if;end process;process(csf2in,rst3)beginif rst3='0' thenqqlf2<="0000";qqhf2<="0000";elsifcsf2in'event and csf2in='1' thenif (qqlf2="0011" and qqhf2="0010" )thenqqlf2<="0000";qqhf2<="0000";csh2<='1' ;else if qqlf2="1001" thenqqhf2<=qqhf2+1;qqlf2<="0000";csh2<='0' ;elseqqlf2<=qqlf2+1;csh2<='0' ;end if;end if;end if;if(qqlf2="0000" and qqhf2="0000"and qqls2="0000" and qqhs2="0000" ) then ledelse led<="00000000";end if;end process;process(csh2,switch2,key2)beginif switch2='1' thencsh2in<=csh2;elsecsh2in<=key2;end if;end process;process(csh2in,rst3)beginif rst3='0' thenqqlh2<="0000";qqhh2<="0000";elsifcsh2in'event and csh2in='1' thenif (qqlh2="0011" and qqhh2="0010" )thenqqlh2<="0000";qqhh2<="0000";else if qqlh2="1001" thenqqhh2<=qqhh2+1;qqlh2<="0000";elseqqlh2<=qqlh2+1;end if;end if;end if;end process;end;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity segment isport(qi:in std_logic_vector(3 downto 0);qo:out std_logic_vector(6 downto 0));end;architecture b of segment isbeginprocess(qi)begincase qi iswhen "0000"=> qo<="1000000";when "0001"=> qo<="1111001";when "0010"=> qo<="0100100";when "0011"=> qo<="0110000";when "0100"=> qo<="0011001";when "0101"=> qo<="0010010";when "0110"=> qo<="0000010";when "0111"=> qo<="1111000";when "1000"=> qo<="0000000";when "1001"=> qo<="0010000";when others => qo<="1111111";end case;end process;end;1分频部分新时钟状态图如下:2秒表电子表输出切换部分开关判断为1时输出为数字计时输出,为0时输出为秒表计时输出。