第一篇:电子钟——合肥工业大学数字逻辑课程设计报告
一)设计题目:
电子钟
二)设计任务和基本要求:
1.实验台上的六个数码管显示时、分、秒; 2.能使电子钟复位(清零); 3.能启动和停止电子钟运行;
4.在电子钟停止运行状态下,能够修改时、分、秒的值; 5.具有报时功能,整点时喇叭鸣叫。
三)所用主要器件和设备:
1、TDS 系列数字电路实验系统
2、ISP 系统可编程器件以及《数字逻辑》课程实验所用部分中、小规模集成电路等
3、PC 计算机
4、ISP1032E 可编程逻辑器件以及数据选择器、触发器、移位寄存器、计数器及基本门电路等
5、在Windows平台上运行的ispLEVER 编程软件
四)设计思想:
数字钟电路的基本结构由两个 60 进制计数器和一个24 进制计数器组成,分别对秒、分、小时进行计时,当计时到23 时59 分59 秒时,再来一个计数脉冲,则计数器清零,重新开始计时。
当数字钟处于计时状态时,秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号时、分、秒的计时结果通过6 个数码管来动态显示。数字钟除了能够正常计时外,还应能够对时间进行调整。因此,通过模式选择信号MOD1、MOD2 控制数字钟的工作状态,即
控制数字钟,使其分别工作于正常计时,调整分、时和设定分、时5 个状态。当数字钟处于计时状态时,3 个计数器允许计数,且秒、分、时计数器的计数时钟信号分别为CLK,秒的进位, 分的进位;当数字钟处于调整时间状态时,被调的分或时会一秒一秒地增加;当数字钟处于定时状态时,可以设定小时和分;当计时到所设定的时刻时,会响闹钟
五)设计步骤及程序:
pause是暂停键,当暂停时set1与set2分别控制调节为时还是为分或是为秒。exam提供一个模拟上升沿,hh,hl,mh,ml,sh,sl分别控制小时高位,低位,分钟高位,分钟低位,秒高位,低位。thh,thl,tmh,tml,tsh,tsl分别表示时分秒变化的中间变量。alarm表示闹钟是否报时
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock is port(clk:in std_logic;
clr:in std_logic;
pause:in std_logic;
set1:in std_logic;
set2:in std_logic;
clk1:in std_logic;
alarm:out std_logic;
hh,hl,mh,ml,sh,sl:out std_logic_vector(3 downto 0));end clock;architecture behavioral of clock is signal count:integer range 0to 1000;signal thh,thl,tml,tmh,tsh,tsl:std_logic_vector(3 downto 0);signal exam:integer;begin
process(clk,clk1,clr,pause,set1,set2)
begin
alarm<='0';
if(clr='0')then
hh<=“0000”;
hl<=“0000”;
mh<=“0000”;
ml<=“0000”;
sh<=“0000”;
sl<=“0000”;
thh<=“0000”;
thl<=“0000”;
tmh<=“0000”;
tml<=“0000”;
tsh<=“0000”;
tsl<=“0000”;
count<=0;
exam<=0;elsif(clk='1'and clk'event)then
if(pause='1')then
if(count=999)then
count<=0;
if(thh=“0010”and thl=“0011”and tmh=“0101”and tml=“1001”and tsh=“0101”and tsl=“1001”)then
thh<=“0000”;
thl<=“0000”;
tmh<=“0000”;
tml<=“0000”;
tsh<=“0000”;
tsl<=“0000”;
elsif(tsl=“1001”)then
tsl<=“0000”;
if(tsh=“0101”)then
tsh<=“0000”;
if(tml=“1001”)then
tml<=“0000”;
if(tmh=“0101”)then
tmh<=“0000”;
if(thl=“1001”)then
thl<=“0000”;
thh<=thh+1;
else thl<=thl+1;
end if;
else tmh<=tmh+1;
end if;
else tml<=tml+1;
end if;
else tsh<=tsh+1;
end if;
else tsl<=tsl+1;
end if;
else count<=count+1;
end if;
elsif(pause='0'and(clk1='1'and exam=0))then
exam<=1;
if(set1='1'and set2='0')then
if(thh=“0010”and thl=“0011”)then
thh<=“0000”;
thl<=“0000”;
elsif(thl=“1001”)then
thl<=“0000”;
thh<=thh+1;
else thl<=thl+1;
end if;
elsif(set1='0'and set2='1')then
if(tmh=“0101”and tml=“1001”)then
tmh<=“0000”;
tml<=“0000”;
elsif(tml=“1001”)then
tml<=“0000”;
tmh<=tmh+1;
else tml<=tml+1;
end if;
elsif(set1='0'and set2='0')then
if(tsh=“0101”and tsl=“1001”)then
tsh<=“0000”;
tsl<=“0000”;
elsif(tsl=“1001”)then
tsl<=“0000”;
tsh<=tsh+1;
else tsl<=tsl+1;
end if;
end if;
end if;
if(clk1='0')then
exam<=0;
end if;
hh<=thh;
hl<=thl;
mh<=tmh;
ml<=tml;
sh<=tsh;
sl<=tsl;
if(tmh=“0000”and tsl=“0000”)then
alarm<='1';
end if;
end if;
end process;end behavioral;
tml=“0000”and tsh=“0000”and
六)实验结果:
1.当clk提供一个时钟脉冲,闹钟开始计时,当暂停键pause为1时,时钟按标准时钟运行
2.当pause为0时,可以调节时钟,当set1=0,set2=0时,调节秒,当set1=0,set2=1时为调节分,当set1=1,set2=0时为调节时
3.当整点时,时钟会自动鸣笛。
七)心得体会:
经过一个星期的课程设计,经历的困难一语难尽。整个课程设计期间我们失落过,也曾一度热情高涨。从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我们回味无长。
生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。通过实习,我才真正领略到“艰苦奋斗”这一词的真正含义。我想说,设计确实有些辛苦,但苦中也有乐,在如今浮躁的生活中,很少有机会能静下心来做一个设计,但我们可以,一个团队的任务,一起的工作可以让我们有说有笑,相互帮助,配合默契。
在一次次的试验中,我们收获的不仅是电路设计的技能更加是耐心和经验,还有做课程设计的心态。一根线的错误直接影响着最后的结果,这就让我们每一根线都接的仔细。最让人苦恼的是完全按设计的接线,结果却依然不对,这时候,我们需要分析错误的原因,逐步排查。
最终验收成功的时候我们由衷的高兴。当然,这与老师的指导和示范十分不开的,正是有了老师耐心的指导和对于错误原因分析的帮助,才有了我们的对电路设计的新认识
对我而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个非常美好的回忆!
再次感谢老师,您辛苦了。
第二篇:数字电子钟课程设计
课程设计名称: 电子技术课程设计
题 目: 数字电子钟课程设计
专 业:班 级:姓 名:学 号:
电气工程及其自动化 电气10-5 曹庆春 1
1001150103
目录
1.综述……………………………………………………………………1 2.电路组成………………………………………………………………2 2.1电路原理组成………………………………………………………2 2.2振荡电路……………………………………………………………3 2.3分频电路……………………………………………………………4 2.4计数电路……………………………………………………………5 2.4.1二十四进制的实现………………………………………………5 2.4.2六十进制的实现…………………………………………………5 2.5译码与显示电路……………………………………………………6 2.6校时电路……………………………………………………………7 2.7报时电路……………………………………………………………8 3.整体电路图…………………………………………………………10 4.结论…………………………………………………………………13 5.心得体会……………………………………………………………14 6.参考文献……………………………………………………………15
1.综述
数字电子钟主要分为数码显示器,60进制和24进制计数器,频率振荡器和校时报时这几个部分。数字电子钟要完成显示需要6个数码管,七段的数码管需要译码器械才能显示,然后要实现时、分、秒的计时器需要60进制计数器和24进制计数器,60进制、24进制可以采用74LS160计数器构成。秒信号可以由555定时器产生脉冲并分频为1Hz。
2.1电路的组成原理
数字钟它的计时周期为24小时,显示满刻度为23时59分59秒。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”,校时电路、报时电路和振荡器、分频器组成。秒信号是整个系统的基信号,它直接决定计时系统的精度,本设计采用555振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,图示为数字电子钟钟的一般构成框图。
图2.1 数字电子钟的结构图
2.2振荡电路
数字电路中的时钟是由振荡器产生的,振荡器是数字钟的核心。振荡器的稳定度及频率的精度决定了数字钟计时的准确程度,振荡器的频率越高,计时精度越高。
本设计采用555构成的自激多谐振荡器通过调节电阻值产生1000Hz的高频信号。由
f11TR12R2Cln2,设C0.01uF,可得R15.1k,R270k.从而产生f1000Hz的信号。
2.3分频电路
要精确输出1Hz脉冲,对电容和电阻的数值精度要求很高,所以输出脉冲不够准确也不够稳定。用555直接产生1Hz的信号不准确,所以用其先产生f1000Hz的高频信号,在经过1000分频的分频电路产生1Hz的秒脉冲,这样做可以保证秒信号的准确性与稳定性。分频器是三个用十进制计数器74LS90串联而成的分频器,分频原理是在74LS90的输出端子中,从低位输入10个脉冲才从高位输出1个脉冲,这样一片74LS90就可以起分频作用,三个74LS90串联就构成了千分频电路,输出的便是1Hz的信号,从而可以实现秒脉冲的产生。
图2.3 千分频器
分频电路产生的1Hz秒脉冲:
图2.4 分频过后的秒脉冲
2.4计数电路
数字钟的计数电路是用两个六十进制计数电路和一个二十四进制计数电路实现的。数字钟的计数电路可以用反馈清零法。当技术器正常计数时,反馈门不起作用,只有当进位脉冲来到时,反馈信号将计数电路清零,实现相应的循环计数。用74LS160实现六十进制与二十四进制的计数电路。
2.4.1时计数器:用两片74LS160串行进位实现二十四进制
图2.5 二十四进制计数器
2.4.2分、秒计数器:用四片74LS160串行进位分别实现两片六十进制
图2.6 六十进制计数器
2.5译码与显示电路
译码与显示电路如图,译码是编码的相反过程,译码器是将输入的二进制代码翻译成相应的输出信号。常用的集成译码器有二进制译码器、二—十进制译码器和BCD—7段译码器。
本设计用74LS47D作为译码器与七段数码管相连接。译码与显示电路连接原理图:
图2.7 译码与七段数码管接线图
秒计数数码显示:
图2.8 秒计数显示图
2.6校时电路
校时电路如图琐事,用到的元器件有三个单刀双掷开关S1,在设计中使用1、2、3脚。脚1接从分频器出来的1Hz标准脉冲,脚2接正常的进位脉冲,脚3接输入时钟信号CLK。当正常工作时将开关打到2,进行正常的计数,即校时时不影响正常计数。
图2.9 单刀双掷开关图
下图示为分校时电路:
图2.10 分校时电路
2.7报时电路
2.7.1蜂鸣器工作原理图:
给高电平工作通过调节蜂鸣器的频率与电压来实现蜂鸣器的声音的大小与品质。
图2.11 蜂鸣器接线图
2.7.2报时电路图
电路应在整点前5秒开始报时,即在59分55秒到59分59秒期间时,报时电路控制信号。
当时间在59分50秒到59分59秒期间时,分十位、分个位和秒十位保持不变,分别为5、9、5,因此可将计数器十位的Qc和Qa,个位的Qd和Qa及秒计数器十位的Qa和Qc相与,从而产生报时控制信号。
由于与门容易产生竞争冒险现象,故采用与非门和非门串接。电路如下图所示:
图2.12 报时电路示意图
由于使用的是TTL门电路,所以允许悬空。
图2.13 报时电路实际接线图
3.整体电路图 3.1 进位脉冲
图3.1 进位脉冲
图3.2整体电路图
图3.3 秒计数与报时电路整体电路图
图3.4 秒计数与报时电路整体电路图
图3.5 分计数整体电路图
结论
数字电子钟的实现方法很多,根据我所学的知识,选择恰当的计数器和振荡电路来控制其信号的稳定性。数字电子钟电路的振荡电路,分频电路,计数器电路,译码与数码管显示电路,校时电路,报时电路都是息息相关的。其中每一个部分都得做到准确性来保证数字电子钟的精确性。本设计采用555多谐振荡产生1000Hz信号,在经过分频器产生1Hz的秒信号,其实采用石英晶振振荡电路,这样产生的信号更加的稳定与精确。
课程设计体会
这学期期末我们做了数字电子技术课程设计,我设计的是数字电子钟。个人觉得这是一次将理论应用与实践的活动,在设计过程中不仅锻炼了我们积极思考的好习惯,而且培养了我们一丝不苟的作风,严谨求实的态度,踏踏实实的精神。
由于拥有模拟电子技术基础和数字电子技术基础的理论知识,加之这次的课程设计,使我对以往的一些知识有了更深入的理解。
我在设计过程中认真的翻阅大量的书籍,去网上搜寻资料,在看了很多思路之后形成了一套我自己的思路。所谓博览群书,而后了然于胸。一旦形成了自己的思路,在设计过程中可以说是得心应手,泉思涌动。当然在设计过程中,我学会了Multism这个软件进行仿真,感觉用的挺好的,仿真是数字电子钟运行的良好。我感觉这增强了我以后设计的信心,我也喜欢上了设计,很好的培养了我对设计的兴趣,启蒙了我。I will remember it forever!
参考文献及资料
【1】Multism9在电工电子技术中的应用/董玉冰主编.—北京:清华大学出版社,2008.11 【2】数字电子技术基础/阎石主编;清华大学电子学教研组编.—5版.—北京:高等教育出版社,2006.5 【3】模拟电子技术基础/童诗白,华成英主编;清华大学电子教学教研组编.—4版.—北京:高等教育出版社,2006.5 【4】数字电子技术实验与实践/吴慎山主编.—北京:电子工业出版社,2011.4 【5】Multism7电路设计及仿真应用/熊伟等主编.—北京:清华大学出版社,2005.7 【6】数字电子技术基础/范文兵主编.—北京:清华大学出版社,2007.12 【7】数字逻辑电路实验/候传教等编.—北京:电子工业出版社,2009.7 【8】数字电子技术基础实验教程/张秀娟,薛庆军主编.—北京:北京航空航天大学出版社,2007.10
第三篇:数字电子钟课程设计
目录
一. 引言„„„„„„„„„„„„„„„„„„„„„„„2
二. 课程设计目的„„„„„„„„„„„„„„„„„„„2
三. 设计所需要的器材„„„„„„„„„„„„„„„„„2
四. 课程设计原理„„„„„„„„„„„„„„„„„„„2
五. 课程设计各个部分模块的介绍„„„„„„„„„„„„2
1.振荡器„„„„„„„„„„„„„„„„„„„„„„„„„„„„2.2.分频器„„„„„„„„„„„„„„„„„„„„„„„„„„„„3.3.计数器„„„„„„„„ „„„„„„„„„„„„„„„„„„„„3.4.译码器„„„„„„„„„„„„„„„„„„„„„„„„„„„„3
5.显示器„„„„„„„„„„„„„„„„„„„„„„„„„„„„4
6.正点报时的扩展电路„„„„„„„„„„„„„„„„„„„„„„4
六.设计总结„„„„„„„„„„„„„„„„„„„„„„4
七.心得体会„„„„„„„„„„„„„„„„„„„„„„4
八.各部分电路图„„„„„„„„„„„„„„„„„„„5—8
九.总电路图„„„„„„„„„„„„„„„„„„„„„.9
一.引言
当今时代,电子技术迅猛发展,各种各样的电子产品也相继出现,数字电子钟也应运而生。数字电子钟能够将时间以数字的形式直观地展现出来,让人们更加清楚地掌握时间,因此备受人们的青睐。数字钟是采用数字电路来实现的,以“时”、“分”、“秒”的形式直观地显示时间。它已成为人们日常生活必不可少的一部分,广泛地应用在各家各户以及车站等公共场所,数字钟的广泛应用,有着非常现实的意义,由于数字集成电路的发展,使得数字电子钟的精度,远远超过老式钟表, 而且具有较好报时功能。本设计采用各种集成电路,进行了一个具有正点报时功能的数字电子钟的设计。由于本人能力有限,设计中如有不足之处,还请老师批评指正。
二.课程设计目的1.独立完成一个数字电子钟的设计;
2.了解和掌握用数字集成电路来设计数字钟的基本原理和方法;
3.掌握N进制计数器的设计与并了解一些常用的电子芯片的功能;
4.进一步巩固所学到的理论知识,并应用所学知识分析和解决实际问题;
三.设计所需要的器材
1.555定时器一个
2.电阻:2K、10K、5.1K、0.3K各一个;1K电阻42个
3.电容:0.1ūF、0.01ūF各一个
4.芯片:74LS90(三个)、74LS161(两个)CD4518一个、CD4511(六个)
5.共阴极七段显示器(六个)
6.喇叭1个
四.课程设计原理
数字钟是由振荡器、分频器、计数器、译码器、显示器以及具有正点报时功能的扩展电路所构成的。
欲设计一个数字电子钟,首先应该有一个脉冲源(能够自动的产生稳定的标准时间脉冲信号),即为振荡器;但是一般脉冲源所产生的脉冲信号的频率较高,所以,就需要使用分频器对其进行分频,从而得到适合用来计时的秒脉冲信号,即频率为1Hz的秒脉冲信号;经过分频器输出的秒脉冲信号,再进入计数器当中进行计数,又由于在计数时,北京时间规定60秒为一分钟,60分钟为一小时,24小时为一天,因此就需要两个60进制的计数器和一个24进制的计数器;计数器计数完毕后再经过译码器进行译码;最后在显示器中将累计结果以“时”、“分”、“秒”的形式显示出来。能够正点报时的扩展电路完成了对整时的提示,使人们能够更清楚地掌握时间。图1为数字钟的逻辑框图。
五.课程设计各个部分模块的介绍
1.振荡器
振荡器的精确度和稳定性对电子钟的质量影响最大,石英晶体振荡器具有震
荡频率准确、频率容易调整且电路结构较简单的优点。但一般来讲,如果振荡器的频率和其计时精度越高,则其耗电量越大。555定时器是一种将模拟功能与逻辑功能巧妙地结合在一起的中规模集成电路,功能灵活,所以本设计采用由集成电路定时器555与RC组成的多谐振荡器。555定时器由电阻分压器、比较器、基本RS触发器、双极型三极管T和输出缓冲器组成,其外部有八个引脚,第8脚为电源端,第1脚为接地端,第3脚为输出端,第4脚为直接复位端,第5脚为控制电压输入端,第6脚为复位控制端,第2脚为置位控制端,第7脚为放电端。图2为由集成电路定时器555与RC组成的多谐振荡器的电路图,图3为555定时器的引脚图。R为可调电阻,调节R1时可以得到相应频率的信号输出。
2.分频器
由于振荡器所产生的信号频率很高,因此需要由分频器来实现对信号频率的调整,从而得到频率为1Hz的脉冲信号,本设计采用3片中规模集成电路计数器74LS90来实现,从而得到设计所需要的秒脉冲信号,其电路图如图4所示。
3.计数器
“秒”和“分”计数器应当采用60进制计数器,而“时”计数器应当采用24进制计数器。秒脉冲信号经过六级计数器以后,分别得到“秒”的个位、十位,“分”的个位、十位,“时”的个位、十位的计时。
60进制计数:“秒”和“分”的计数都需要60进制,本设计根据《电子技术》课本中提到的知识,采用两片74LS161组成256进制计数器后再用反馈归零法来组成60进制计数,其中,“秒”十位是六进制,“秒”个位是十进制其电路图如图5所示。74LS161芯片的引脚排列图和逻辑功能示意图如图6所示。图中C是输入计数脉冲,CR非是清零端,LD非是置数端,CTp和CTt是计数工作状态控制端,D0~D3是并行数据输入端,CO是进位信号输出端,Q0~Q3是计数器状态输出端。
24进制计数:“时”的计数是24进制计数,本设计采用CD4518来实现24进制计数,CD4518是一个同步加法计数器,在一个封装中含有两个可互换二/十进制计数器,其功能引脚分别为1~7和9~{15}.该CD4518计数器是单路系列脉冲输入(1脚或2脚;9脚或10脚),4路BCD码信号输出(3脚~6脚;{11}脚~{14}脚)。完成24进制计数的电路图如图7所示,CD4518的引脚图如图8所示。
4.译码器
我们在新校区做电子试验时,在“译码器及其应用”实验中曾用到芯片CD4511,对其较为熟悉,因此本设计采用数字显示译码器CD4511,来实现计数器传来的信号的译码功能。译码是编码的逆过程,即,将给定的代码进行翻译的过程。当计数器所采用的码制不同时,译码电路也会随之不同。CD4511内接有
上拉电阻,故只需在输入端与数码管笔段之间传入限流电阻即可工作。其特点为:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉电流。可直接驱动LED显示器。CD4511的引脚图如图9所示。
5显示器
本设计用七段发光二极管来显示译码器所输出的数字,显示器有共阳极显示器和共阴极显示器两种,而74LS48译码器所对应的显示器是共阴极(接地)显示器。LED7段显示器的外形图及二极管的连接方式如图10所示。
6.正点报时的扩展电路
该正点报时的功能为:最外端对其安装一个喇叭,每当正点到来时,按4次低音和一次高音的顺序发出间断声响,最后一声高音结束的时刻正好是正点。设声响为一秒钟,则相邻声响时刻为2秒,则低音发声时刻分别为59分51秒、53秒、55秒、57秒,高音发声时刻为59分59秒,由此可定出每次声响的时刻。部分门电路控制音响,输入有时、分的各相应位的控制组合。设高低音频率分别为512Hz和1024Hz。其电路图如图11所示。
六.设计总结
本数字电子钟的设计是由振荡器、分频器、计数器、译码器、显示器和正点报时电路所组成。但本设计电路的缺点是:没有设计校时电路,即据该方案进行生产得到的产品并无校时功能;且其只能正点报时,而不能报整时数。该设计方案的优点是:采用北京时间计时,直接将时间以数字形式表现出来、精确度较高、走时稳定、使用方便、且它具有正点报时功能。本设计采用有集成电路定时器555与RC组成的多谐振荡器组成,由它得到高频信号;再将此信号传至由3片中规模集成电路计数器74LS90相串联得到的分频器中,从而得到我们计时所需要的秒信号(频率为1Hz的秒信号);之后再将该信号传至计数器,计数器计数的准确性直接影响数字表的准确,且计数器部分是我们《电子技术》课程学习的重点,计数器包括两部分,即24进制计数和60进制计数,本设计24进制计数采用CD4518来实现,60进制采用我们《电子技术》课本上学到的方法:采用两片74LS161组成256进制计数器后再用反馈归零法来组成60进制计数器;经过准确计数后,再将信号传至译码器,由于我们在新校区做电子试验时,在“译码器及其应用”试验中曾用到芯片CD4511,故本设计采用显示译码器CD4511,来进行对来自计数器信号的译码(需要在输入端与数码管笔段之间串入限流电阻);最后将时间以数字形式体现在显示器上,显示器由七段发光二极管采用共阴极接法组成;本设计还有一个能够正点报时的扩展电路,它的功能是每当正点到来时,按4次低音和一次高音的顺序发出间断声响,它由组合逻辑电路组成。其总电路图如图12所示。
七.心得体会
通过这次对数字电子钟的课程设计,我觉着最大的收获就是增强了自己独立收集资料的能力,锻炼了自己独立思考、独立解决问题的能力。虽然我们至此已经完成了本学期对电子技术课程(模电部分和数电部分)的学习,但在本次课设的实际应用当中仍然遇到了很多未曾想到的问题。实际操作是我们的目的,而理论知识是我们实际操作的基础,这使我更加体会到了理论联系实际的重要性,同时也增加了自己解决实际问题的能力,对独立设计电路的过程、对各个分块电路的工作原理和功能的实现过程都有了更加清楚的了解。同时对所学到的理论知识有了更近一部的理解(尤其是计数器部分)。
此外,通过这次的课程设计,使得我对word等应用软件的应用能力有了更进一步的提高,为以后的工作和日常生活中的应用打下了结实的基础。
八.各部分电路图如下:
第四篇:数字逻辑课题报告—电子钟
电子钟设计报告
班级:
姓名:学号:
指导老师:
验收时间:201 年
日
月
一﹑设计目的及要求
设计并实现多功能数字钟,达到要求如下:
1. 能进行正常的记时、记分、记秒,2.实现校时、校分以及秒清0的功能,3.实现整点报时的功能,4.实现定闹铃及闹铃的响,完成全部电路设计后在实验板上下载,验证设计课题的正 确性。
二、系统设计方案论述:
根据对电子钟控制电路的要求,分析如下:
首先根据老师对实验的要求,编写电子钟控制电路的vhdl程序,程序分为正常显示时间、调整和闹铃时间调整、报时等进程;运用了3-8译码器、八选一、二选一数据选择器、模8计数器、七段译码、24进制计数器、60进制计数器、比较器等构成其动态显示电路,使电子钟正常显示。
开始确定了两个方案,但考虑到方案的可行性,选择了第一种,也就是这一种方案。
三、环境说明:
主要是使用了MAXPLUSⅡ软件,经过系统的学习及了解,以及请教老师和同学,虚心请教,终于在不懈努力下完成了老师的任务。
四、具体设计:
顶层结构功能图:
根据总体设计框图,可以将整个系统分为6个模块来实现,分别是计时模块、校时模块、整点报时模块、闹钟模块、动态显示模块及正常显示时间与闹钟时间的切换模块。
1、计时模块:
能进行正常的时、分、秒计时,用动态扫描的方式,需用8个数码管。
用24进制计数器进行小时的显示,用60进制计数器进行分的显示,用60进制计数器进行秒的显示
2、校时模块:
利用按键实现“校时”、“校分”和“时、分、秒的清0”功能。先令k5=1,切换到正常时钟的显示上。
(1)k1:校时键。当k1=0键时,计时器迅速递增,按24小时循环,并且计满23时回到00,k1=1时停止循环。
(2)k2:校分键。当k2=0键时,计时器迅速递增,按60小时循环,并且计满59时回到00,但不向时进位,k2=1时停止循环。
(3)k8:秒清零。当k8=0时,时、分、秒清零。
3、整点报时模块:
能进行整点报时,即当分秒都为0时整点报时。、闹钟模块:
和以上计时模块一个原理,但也可以进行闹钟的设置
先令k5=0,切换到闹钟的显示上。
(1)k3:校时键。当k1=1键时,计时器迅速递增,按24小时循环,并且计满23时回到00,k3=0时停止循环。
(2)k4:校分键。当k2=1键时,计时器迅速递增,按60小时循环,并且计满59时回到00,但不向时进位,k4=1时停止循环。
(3)k6:k6=0时清零,k6=时正常运行。
(4)k7:k7=0分清零,k7=1时正常运行。
5、动态显示模块:
时间的显示需要用到8个数码管,其中小时与分钟及分钟与秒之间用数码管的一个g段,在动态显示方式下,所有的数码管对应同一组七段码,可用VHDL语言实现
6、正常显示时间与闹钟时间的切换模块: k5=1,切换到正常时钟的显示上 k5=0,切换到闹钟的显示上
五、各功能模块说明及源代码: 数码管显示电路源程序: 1.七段译码显示:
library ieee;
use ieee.std_logic_1164.all;
entity bin7 is port(date_in:in std_logic_vector(3 downto 0);
en:in std_logic;
date_out:out std_logic_vector(6 downto 0));end entity;
architecture duan of bin7 is begin process(date_in,en)
begin
if en='1' then case date_in is when “0000”=>date_out<=“1111110”;--0
when “0001”=>date_out<=“0110000”;--1 when “0010”=>date_out<=“1101101”;--2 when “0011”=>date_out<=“1111001”;--3 when “0100”=>date_out<=“0110011”;--4 when “0101”=>date_out<=“1011011”;--5 when “0110”=>date_out<=“1011111”;--6 when “0111”=>date_out<=“1110000”;--7 when “1000”=>date_out<=“1111111”;--8 when “1001”=>date_out<=“1111011”;--9 when others=>date_out<=“0000001”;end case;end if;
end process;
end duan;
2.八选一数据选择器: library ieee;use ieee.std_logic_1164.all;entity mux8 is port(d0,d1,d2,d3,d4,d5,d6,d7:in std_logic_vector(3 downto 0);
sel:in std_logic_vector(2 downto 0);
y:out std_logic_vector(3 downto 0));end mux8;architecture arch of mux8 is begin process(d0,d1,d2,d3,d4,d5,d6,d7,sel)begin
case sel is
when “000”=>y<=d0;
when “001”=>y<=d1;
when “010”=>y<=d2;
when “011”=>y<=d3;
when “100”=>y<=d4;
when “101”=>y<=d5;
when “110”=>y<=d6;
when “111”=>y<=d7;
when others=>y<=“0000”;
end case;end process;end arch;
3.二选一选择器(二位)library ieee;use ieee.std_logic_1164.all;
entity mux_2 is port(d1 :in std_logic;
d2 :in std_logic;
sel
:in std_logic;
y
:out std_logic);end mux_2;architecture rtl of mux_2 is begin process(sel,d1,d2)begin if(sel='1')then y<=d1;else y<=d2;end if;
end process;end rtl;
4.二选一选择器(四位)library ieee;use ieee.std_logic_1164.all;
entity mux_24 is port(d1 :in std_logic_vector(3 downto 0);
d2 :in std_logic_vector(3 downto 0);
sel
:in std_logic;
y
:out std_logic_vector(3 downto 0));end mux_24;architecture rtl of mux_24 is begin process(sel,d1,d2)begin if(sel='1')then y<=d1;else y<=d2;end if;
end process;end rtl;
5.3_8译码器: library ieee;use ieee.std_logic_1164.all;
entity decode3_8 is port(a,b,c
:in std_logic;
s1,s2,s3 :in std_logic;
y
:out std_logic_vector(7 downto 0));
end decode3_8;
architecture rtl of decode3_8 is
signal ind:std_logic_vector(2 downto 0);
begin
ind<=c&b&a;
process(ind,s1,s2,s3)
begin
if(s1='1'and s2='0' and s3='0')then
case ind is
when “000”=>y<=“00000001”;
when “001”=>y<=“00000010”;
when “010”=>y<=“00000100”;
when “011”=>y<=“00001000”;
when “100”=>y<=“00010000”;
when “101”=>y<=“00100000”;
when “110”=>y<=“01000000”;
when “111”=>y<=“10000000”;
when others=>y<=“00000000”;
end case;
else y<=“00000000”;end if;end process;end rtl;
6.报时器 library ieee;use ieee.std_logic_1164.all;
entity baoshi is port(a1,a2,a3,a4 :in std_logic_vector(3 downto 0);
y
:out std_logic);
end baoshi;architecture rtl of baoshi is begin process(a1,a2)begin if(a1=“0000” and a2=“0000” and a3=“0000” and a4<=“0011”)then y<='1';else y<='0';end if;end process;end rtl;
7.比较器 library ieee;use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;entity bijiao is port(a1,a2 :in std_logic_vector(3 downto 0);
b1,b2 :in std_logic_vector(3 downto 0);
y
:out std_logic);end bijiao;architecture rtl of bijiao is begin process(a1,a2,b1,b2)begin if(a1=b1 and a2=b2)then y<='1';else y<='0';end if;end process;end rtl;
8.模60 library ieee;use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;entity mod_60 is port(clk:in std_logic;
clr :in std_logic;
yh :out std_logic_vector(3 downto 0);
yl :out std_logic_vector(3 downto 0);
co :out std_logic);
end mod_60;architecture six of mod_60 is signal
hh:std_logic_vector(3 downto 0);signal
hl:std_logic_vector(3 downto 0);begin
process(clk)
begin
if clr='0'
then hh<=“0000”;hl<=“0000”;co<='0';
elsif(clk'event and clk='1')then
if(hh=“0101” and hl=“1001”)then
hh<=“0000”;hl<=“0000”;co<='1';
elsif(hl=“1001”)then
hh<=hh+1;
hl<=“0000”;co<='0';
else
hl<=hl+1;
hh<=hh;co<='0';
end if;
end if;
end process;
yh<=hh;yl<=hl;
end six;
9.模24 library ieee;use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;entity mod_24 is port(clk:in std_logic;
clr :in std_logic;
yh :out std_logic_vector(3 downto 0);
yl :out std_logic_vector(3 downto 0);
co :out std_logic);
end mod_24;architecture two of mod_24 is signal
hh:std_logic_vector(3 downto 0);signal
hl:std_logic_vector(3 downto 0);
begin
process(clk)
begin
if clr='0'
then hh<=“0000”;hl<=“0000”;co<='0';
elsif(clk'event and clk='1')then
if(hh=“0010” and hl=“0011”)then
hh<=“0000”;hl<=“0000”;co<='1';
elsif(hl=“1001”)then
hh<=hh+1;
hl<=“0000”;co<='0';
else
hl<=hl+1;
hh<=hh;co<='0';
end if;
end if;
end process;
yh<=hh;yl<=hl;
end two;
六、遇到的问题:
当调动开关时,容易出现数字的变动,经过上网的搜索可知,这是抖动效应,是物理效应,现学知识还解决不了。所以在实验中我们就小心翼翼的把弄开关,结果也没出现什么错误。但是我们知道这不是做科学应有的严谨态度,但以后我们会努力的。
七、实验结果及心得体会:
实验结果:程序实现了现实情况下正常时间的显示,时间的调整,闹钟的设置,还有闹钟的响铃以及整点的报时。实验心得:
1.通过本次实验工作,学会了很多vhdl的编程思想,并进一步掌握了其基本语法,可以熟练地编写程序啦!
2.在实验过程中,提高了分析问题、解决问题的能力,明白了用vhdl语言设计的基本过程及步骤,为以后的实验提供了宝贵的经验。3.在编写程序的过程中遇到了很多问题,一开始一点头绪也没有,通过查找资料有了初步的认识,在实际过程中也遇到了很多问题,通过和同学及老师的交流,一些问题逐步迎刃而解。
八、感谢
感谢王老师的辛勤教导,感谢学院给提供了进行实践的机会,让我们在实践中学会了很多,提高了我们的自我学习能力,是我们得到了很好的进步。在此还要感谢学校给我们提供了实验器材。
第五篇:课程设计_数字电子钟设计报告
数字电子钟设计报告
数字电子钟设计报告
目 录
1.实验目的………………………………………………………………………2 2.实验题目描述和要求 …………………………………………………………2 3.设计报告内容…………………………………………………………………2 3.1实验名称………………………………………………………………………2 3.2实验目的………………………………………………………………………2 3.3实验器材及主要器件…………………………………………………………2 3.4数字电子钟基本原理…………………………………………………………3 3.5数字电子钟单元电路设计、参数计算和器件选择…………………………3-8 3.6数字电子钟电路图……………………………………………………………9 3.7数字电子钟的组装与调试……………………………………………………9 4.实验结论………………………………………………………………………9 5.实验心得………………………………………………………………………10
参考文献 …………………………………………………………………………10
数字电子钟设计报告
一 简述
数字电子钟是一种用数字显示秒,分,时,日的计时装置,与传统的机械相比,它具有走时准确,显示直观,无机械传动装置等优点,因而得到了广泛的应用:小到人们日常生活中的电子手表,大到车站,码头,机场等公共场所的大型数显电子钟。
数字电子钟的电路组成框图如图所示
由图可见,数字电子钟有以下几部分构成:石英晶体振荡器和分频器组成的秒脉冲发生器;校时电路;六十进制秒,分计数器及24进制计时计数器;以及秒分时的译码显示部分等。
1.实验目的
※掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法;
※进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力; ※提高电路布局﹑布线及检查和排除故障的能力; ※培养书写综合实验报告的能力。
2.实验题目描述和要求
(1)设计一个有“时”、“分”、“秒”(24小时59分59秒)显示,且有校时功能的电子钟; 数字电子钟设计报告
(2)用中小规模集成电路组成电子钟,并在实验箱上进行组装、调试;(3)画出框图和逻辑电路图,写出设计、实验总结报告;
(4)选做:整点报时。在59分51秒、53秒、55秒、57秒输出500Hz音频信号,在59分59秒时输出1000Hz信号,音频持续1s,在1000Hz音频结束时刻为整点。3.设计报告内容 3.1实验名称 数字电子钟 3.2实验目的
·掌握数字电子钟的设计、组装与调试方法; ·熟悉集成电路的使用方法。3.3实验器材及主要器件(1)cc40192(6片)(2)cc4011(6片)(3)74LS2O(2片)(4)共阴七段显示器(6片)(5)电阻、电容、导线等(若干)
数字电子钟设计报告
3.4数字电子钟基本原理
数字电子钟的逻辑框图如图3-4所示。它由555集成芯片构成的振荡电路、分频器、计数器、显示器和校时电路组成。555集成芯片构成的振荡电路产生的信号经过分频器作为秒脉冲,秒脉冲送入计数器,计数结果通过“时”、“分”、“秒”译码器显示时间。
图
3-4
3.5数字电子钟单元电路设计、参数计算和器件选择
(一)计数器
秒脉冲信号经过6级计数器,分别得到“秒”个位、十位、“分”个位、十位以及“时”个位、十位的计时。“秒”“分”计数器为六十进制,小时为二十四进制。(1)六十进制计数
由分频器来的秒脉冲信号,首先送到“秒”计数器进行累加计数,秒计数器应完成一分钟之内秒数目的累加,并达到60秒时产生一个进位信号,所以,选用两片cc40192和一片cc4011组成六十进制计数器,来实现六十进制计数。其中,“秒”十位是六进制,“秒”个位是十进制。如图3-4-3-1所示。数字电子钟设计报告
图3-4-3-1所示(60进制计数构造)
(2)二十四进制计数
“12翻1”小时计数器是按照“01——02——03——„„——22——23——00——01——02——„„”规律计数的,这与日常生活中的计时规律相同。在此实验中,它是由两片cc40192和一片cc4011构造成的同步二十四计数器,利用异步清零端实现起从23——00的翻转,其中“24”为过渡状态不显示。其中,“时”十位是3进制,“时”个位是十进制。如图3-4-3-2所示.5 数字电子钟设计报告
如图3-4-3-2所示.(二)显示器
本系统用七段发光二极管来显示译码器输出的数字,显示器有两种:共阳极显示器或共阴极显示器。74LS48译码器对应的显示器是共阴极显示器。
(三)校时电路
当数字钟走时出现误差时,需要校正时间。校时电路实现对“时”“分”“秒”的校准。在电路中设有正常计时和校对位置。本实验实现“时”“分”的校对。对校时的要求是,在小时校正时不影响分和秒的正常计数;在分校正时不影响秒和小时的正常计数。需要注意的时,校时电路是由与非门构成的组合逻辑电路,开关S1或S2为“0”或“1”时,可能会产生抖动,为防止这一情况的发生我在原本接校时脉冲的端口接到了实验装置的“单次脉冲”端口,这样既时限内了防抖动,又可以利用手动操作来完成校时。
数字电子钟设计报告
校时电路图
(四)整点报时电路
数字钟整点报时是最基本的功能之一。实验要求的是在离整点差10秒时,每隔一秒鸣叫一次,每次持续时间为一秒,共响5次,前4次为低音500Hz,最后一声为高音1000Hz。整点报时电路如图6所示。
整点报时电路主要由控制门电路和音响电路两部分组成。
1、控制门电路部分:
由11个与非门组成。图中与非门的输入信号Q4、Q3、Q2、Q1、分别表示“分十位”、“分个位”、“秒十位”、“秒个位”的状态,下标中的D、C、B、A分别表示组成计数器的四个触发器的状态。
由上图可以看出: Y1=QC4*QA4*QD3*QA3 Y2=Y1*QC2*QA 2
(即QC4QA4=101)、分个位为9(即QD3QA3=1001)、秒十 以上二式表示当分十位为5位为5(即QC2QA2=101)时,即59分50秒时发出控制信号。
根据设计要求,数字钟电路要求在59分51秒、53秒、55秒、59秒时各鸣叫一次。
当计数器达到59分50秒时,分、秒计数器的状态为:
QD4QC4QB4QA4=0101(分十位)QD3QC3QB3QA3=1001(分个位)QD2QC2QB2QA2=0101(秒十位)QD1QC1QB1QA1=0000(秒个位)
前四声计数器状态发生在59分51秒至59分58秒之间。因此,只有秒个位的状态发生变化,而其他计数器的状态无需变化,所以可保持不变。数字电子钟设计报告
此时 QC4=QA4=QD3=QA3=QC2=QA2=1不变,将它们相与即得Y2。
而51秒、53秒、55秒、57,59秒时的秒计数器个位状态分别为
QD1QC1QB1QA1=0001(51秒)QD1QC1QB1QA1=0011(53秒)QD1QC1QB1QA1=0101(55秒)QD1QC1QB1QA1=0111(57秒)
并根据需要,前四声为低,则接如500Hz的脉冲信号。最后一声的各计数器状态分别如下:
QD4QC4QB4QA4=0000(分十位)QD3QC3QB3QA3=0000(分个位)QD2QC2QB2QA2=0000(秒十位)QD1QC1QB1QA1=0000(秒个位)
即只须将分进位信号和1KHz的脉冲信号接入即可。如图4-2-4所示
如图4-2-4所示(图中报警器用指示灯来表示)
数字电子钟设计报告
3.6数字电子钟电路图
3.7数字电子钟的组装与调试
由图中所示的数字中系统组成框图按照信号的流向分级安装,逐级级联。这里的每一级是指组成数字中的各个功能电路。
级联时如果出现时序配合不同步,或剑锋脉冲干扰,引起的逻辑混乱,可以增加多级逻辑门来延时。如果显示字符变化很快,模糊不清,可能是由于电源电流的跳变引起的,可在集成电路器件的电源端Vcc加退藕滤波电容。通常用几十微法的大电容与0.01μF的小电容相并联。4.实验结论
通过运用数字集成电路设计的24小时制的数字电子时钟,经过试验,成功实现了一下基本功能:
1.能准确计时,以数字形式显示时、分、秒的时间。
2.能实现整点报时的功能,并分别在51秒、53秒、55秒、57秒、59秒实现了“四短一长”的报时效果。
3.能定时控制,且能惊醒校正时间(通过开关调时、分)。数字电子钟设计报告.实验心得
通过这次数字电子钟的课程设计,我们才把学到的东西与实践相结合。从中对我们学的知识有了更进一步的理解,而且更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。也锻炼了自己独立思考问题的能力和通过查看相关资料来解决问题的习惯。虽然这只是一次简单的课程设计,但通过这次课程设计我们了解了课程设计的一般步骤,和设计中应注意的问题。设计本身并不是有很重要的意义,而是同学们对待问题时的态度和处理事情的能力。各个芯片能够完成什么样的功能,使用芯片时应该注意那些要点。同一个电路可以用那些芯片实现,各个芯片实现同一个功能的区别。
另外,我还渐渐熟悉了mutisim这个仿真软件的各个功能,让我体会到了期中的乐趣,还在电脑制作文档的过程中,使我对办公软件有了更进一步的了解和掌握。
参考文献
1.现代数字电路与逻辑设计 清华大学出版社 北京交通大学出版社.2.模拟电子技术(修订版)清华大学出版社 北京交通大学出版社 3.模拟电子技术教程 电子工业出版社
5.朱定华主编.电子电路测试与实验.北京:清华大学出版社,2004.10