数字电路技术课程设计报告-多功能数字钟.docx
课程设计报告书题目:多功能数字钟 学 院 自动化学院 专 业 自动化 学生姓名 罗艺锋 学生学号 201230641470 指导教师 吕毅恒 课程编号 135070 课程学分 1学分 起始日期 教师评语教师签名:日期:成绩评定备注目 录3一、选题背景4二、方案论证(设计理念)52.1.设计指标52.2.报告要求52.3.初步思路52.4.逻辑框图6三、过程论述(含仿真)73.1.脉冲源电路7方案一:采用555定时器电路7方案二:晶体振荡器电路83.2.分频电路93.3.时间计数器电路103.5.整点报时电路153.6.按键消抖电路163.7.校时电路183.8.闹钟控制电路203.9.显示电路223.10.总体电路23四、电路调试简述及故障分析24五、总结及体会25课题名称:数字电子技术基础一、选题背景数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。此次设计与制作数字电子钟的目的是让学生在了解数字钟的原理的前提下,运用学过的数电知识设计并制作数字钟,而且通过数字钟的制作进一步了解各种常用数字器件作用及其使用方法。由于数字电子钟包括组合逻辑电路、时序电路和脉冲电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法,从而实现理论与实践相结合。二、方案论证(设计理念)2.1.设计指标时间以24小时为一个周期;显示时、分、秒;有校时功能,可以分别对时、分进行单独校时,使其校正到标准时间;校时电路简单,可靠性强;整点报时功能:每小时59分56秒至59分59秒,每秒发出一声低音“嘟”,0分0秒发出一声高音“嘀”;闹钟功能:当到达预设时间时进行蜂鸣提示,闹钟设置电路尽可能少用外接开关,而且需要具备对机械开关的防抖功能;其余附加功能。2.2.报告要求各功能模块的理论设计过程、波形仿真;器件及参数选择;电路测试简述及故障分析;完整的实验电路原理图;心得体会。2.3.初步思路数字钟的核心部分是时间的计数模块,分钟、秒钟可以用60进制计数器实现计数循环,时钟需要用24进制计数器实现计数循环。根据我们所学的数电知识,可以用两个同步十进制计数器接成60进制计数器或者24进制计数器。只要保证输入到计数器CLK端的时钟脉冲信号为1Hz且足够准确,就可以确保该数字钟走时的准确性。对于校时电路,在进入校时状态的时候,上述计数器应停止计数。同时我们应该通过一个按键来选择是哪一个位(数码管)需要被修改。然后通过按另一个按键,给选中的计数器的CLK端输入脉冲,即每按一次该按键,该选中的计数器的值就会自加一,从而达到修改时间的效果。对于闹铃控制电路,可以另外增加一套计数器来保存设置闹钟的时间(只需保存时、分即可),然后通过每时每刻的当前时间的时钟、分钟值与设置闹钟值的比较,确定是否进入闹钟时间到达状态。至于设置闹钟时间,其原理基本与校时电路相同,可以通过一个标志位来确定是否进入设置闹钟状态。蜂鸣器报警电路,可以通过输出时间逻辑运算后得到的门电路得到。2.4.逻辑框图根据上述初步思路,可以得到系统的逻辑框图如下图2-1所示。图2-1 系统逻辑框图三、过程论述(含仿真)3.1.脉冲源电路脉冲振荡电路给数字钟提供一个频率稳定准确的的方波信号,可保证数字钟的走时准确及稳定。这个功能模块只要求完成理论设计,所用器件不限制,调试验收时直接使用实验室逻辑项1Hz脉冲信号测试即可。方案一:采用555定时器电路理论设计:脉冲振荡电路由555定时器设计。在555定时器的外部接适当的电阻和电容元件构成多谐振荡器,再选择元件参数使其发出标准秒信号。555定时器的功能主要由上、下两个比较器C1、C2的工作状况决定。比较器的参考电压由分压器提供,在电源与地端之间加上VCC电压,且控制端悬空,则上比较器C1的反相端“-”加上的参考电压为2/3 VCC,下比较器2的同相端“+”加上的参考电压为1/3 VCC。若触发端 的输入电压V21/3 VCC,下比较器2输出为“1”电平,RS触发器的输入端接受“1”信号,可使触发器输出端Q为“1”,从而使整个555电路输出为“1”;若阈值端的输入电压62/3VCC,上比较器1输出为“1”电平, RS触发器的输入端接受“1”信号,可使触发器输出端Q为“0”,从而使整个555电路输出为“0”。控制电压端外加电压可改变两个比较器的参考电压,不用时,通常将它通过电容(0.01左右)接地。放电管1的输出端Q为集电极开路输出,其集电极最大电流可达50,因此,具有较大的带灌电流负载能力。若复位端RD加低电平或接地,可使电路强制复位,不管555电路原处于什么状态,均可使它的输出Q为“0”电平。只要在555定时器电路外部配上两个电阻及两个电容元件,并将某些引脚相连,就可方便地构成多谐振荡器。555定时器电路如下图3-1所示。图3-1 555定时器电路图3-2 555定时器仿真波形参数:R1=5.1k,C1=0.1uf,C2=0.01uf,Rw=10k。在Multisim 11.0中仿真波形如图3-2所示。方案二:晶体振荡器电路 参照电子手表集成电路(如5C702)中的晶体振荡器电路:常取晶振的频率为32768Hz,因其内部有15级2分频集成电路,所以输出端正好可得到1Hz的标准脉冲。由于2的15次方刚好是32768,所以将上述晶体振荡器产生振荡电路经过15次分频即可得到所需的1Hz时钟信号。但是,由于芯片的限制,芯片CD4060是个14次分频器,还差一次分频,可以用D触发器实现。综合上述,可以先用CD4060进行14次分频,将所得信号再用D触发器分频,即可得到频率为1Hz的时钟信号。电路图如下图3-3、图3-4所示。图3-3 晶体振荡器电路图3-4 晶体振荡器电路3.2.分频电路Reset Inputs复位输入输出R0(1) R0(2) R9(1) R9(2) QD QC QB QA H H L X L L L L H H X L L L L L X X H H H L LH X L X L COUNT COUNT COUNT COUNT L X L X L X X L X L L X 由于振荡器产生的频率很高,要得到1Hz秒脉冲需要进行分频。555定时器与RC电路组合产生1KHz脉冲,可采用74LS90组成分频电路,得到1Hz秒脉冲。 74LS90的原理说明:本电路是由4 个主从触发器和用作除2 计数器及计数周期长度为除5 的3 位2 进制计数器所用的附加选通所组成。有选通的零复位和置9 输入。74LS90 可以获得对称的十分频计数,办法是将QD 输出接到A 输入端,并把输入计数脉冲加到B 输入端,在QA 输出端处产生对称的十分频方波。表3-1 74LS90功能表其功能如上表3-1所示。由功能表可以设计出分频电路,如下图3-5所示:电路输入1kHz的时钟脉冲信号,经过分频可以输出100Hz与1Hz的时钟脉冲信号。其中1Hz的时钟信号可用于时间计数器电路的CLK输入;100Hz可用于按键的消抖处理。图3-5 分频电路该分频电路的仿真波形如下图3-6所示。仿真时CLK_1kHz输入的是1kHz的时钟信号,可见CLK_1Hz得到1Hz的输出信号。图3-6 分频电路仿真波形3.3.时间计数器电路一开始,我在QuartusII软件上选择使用6个同步十进制计数器74160作为数字钟的时间计数器电路。74160功能如下表3-2所示。输入输出CP P T D0D1D2D3Q0 Q1 Q2 Q3× 0 ××××××× 0 0 0 0 1 0 ××a b c da b c d× 1 1 0 1 ××××保持×1 1 × 0 ××××保持(C=0)1 1 1 1 ××××计数表3-2 74160的功能表其中第一个计数器与第二个计数器组成一个60进制的秒计时器;第三个计数器与第四个计数器组成另一个60进制的分计时器;第五个计数器与第六个计数器组成一个24进制的时计数器。由两个计数器组成的60进制计数器如图3-7所示。图3-7 60进制计数器原理图图3-8 60进制计数器仿真波形24进制的时计数器可由同样的方式获得。如下为采用整体置数法的24进制电路 图3-9 时计数电路整体计时电路如下:图3-10 时间计数器电路图3-11 时计数器进位仿真波形Vcc f g a b c d e B C LT BT RBI D A GND1 2 3 4 5 6 7 816 15 14 13 12 11 10 974LS483.4.数码显示电路包括译码器和数码管,译码器将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。实验室逻辑实验箱已有带译码电路的数码管,同学只需完成此模块的理论设计。测试时只需要把BCD图3-12 74LS48的引脚图码输入相应管脚即可显示数值。译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为七段数码管的正常工作提供足够的工作电流。译码电路的功能是将“秒”、“分”、“时”计数器的输出代码进行编译,变成相应的数字。用于驱动LED七段数码显示常用的有74LS48。74LS48是BCD-7段译码器/驱动器,其输出是OC门输出且高电平有效,专用于驱动LED七段共阴极显示数码管。由74LS48和LED七段共阴极数码管组成一位数码显示电路。若将“秒”、“分”、“时”计数器的每位输出分别接到相应七段译码器的输入端,便可进行不同数字显示。在译码器输出与数码管之间串联的R为限流电阻。当数字钟的计数器在CP脉冲的作用下,就应将其状态显示成清晰的数字符号,需要将计数器的状态进行译码并将其显示出来。选用的计数器全部是二十进制集成片,“秒”,“分”,“时”的个位和十位的状态分别由集成片中的四个触发器的输出状态反映。每组输出的计数状态都按BCD代码以高低电平来表现。因此,需要经过译码电路将计数器输出的BCD代码变成能驱动七段数码显示器的工作信号。将计数器和译码显示器连在一起。74LS48的引脚图和功能表如图3-12及表3-3。74LS48引脚功能-七段译码驱动器真值表十进制数输入BT/RB0输出LTRBIABCDabcdefg0H/0000H11111111H/0001H01100002H/0010H11011013H/0011H11110014H/0100H01100115H/0101H10110116H/0110H00111117H/0111H11100008H/1000H11111119H/1001H1110011表3-3 74LS48的功能表LT=1时,试灯输入,是为了检查数码管各段是否能正常发光而设置的。当LT=0时,无论输入A、B、C、D为何种状态,译码器输出均为低电平,若驱动的数码管正常,是显示8。 BI=1时,灭灯输入,是为控制多位数码显示的灭灯所设置的。BI=0时,不论LT和输入A、B、C、D为何种状态,译码器输出均为低电平,使共阴极数码管熄灭。 RBI=1时,灭零输入,它是为使不希望显示的0熄灭而设定的。当对每一位A=B =C =D=0时,本应显示0,但是在RBI=0作用下,使译码器输出全为低电平。其结果和加入灭灯信号的结果一样,将0熄灭。 RBO=1时灭零输出,它和灭灯输入BI共用一端,两者配合使用,可以实现多位数码显示的灭零控制。3.5.整点报时电路该部分电路功能为控制蜂鸣器,从59分56秒起至下一小时0分0秒响起提示音“嘟”-“嘟”-“嘟”-“嘟”-“嘀”。该电路逻辑功能如下表3-4所示。时间分计数器输出秒计数器输出低音控制信号高音控制信号59分56秒0101 10010101 01101059分57秒0101 10010101 01111059分58秒0101 10010101 10001059分59秒0101 10010101 10011000分00秒0000 00000000 000001表3-4 整点报时电路逻辑功能表按照上述逻辑功能表设计一个组合逻辑电路,以时间计数器的分计数器和秒计数器的输出时间作为输入,得到两路输出信号(低音控制信号、高音控制信号)对蜂鸣器进行控制。要想得到高低不同的音调,可以对蜂鸣器输入不同频率的脉冲信号。其电路设计如下图3-13、图3-14所示。图3-13 整点报时电路图3-14 整点报时逻辑电路其仿真波形如图3-15所示。其中,为了方便显示,输入的脉冲信号的频率分别作了不同程度的缩小。图3-15 整点报时电路仿真波形3.6.按键消抖电路数字钟需要外部的逻辑开关或单脉冲开关提供控制信号。本数字钟采用两个拨动开关分别使数字钟处于正常显示、设置时间、设置闹钟时间三个状态,用两个机械开关用于更改时间。拨动开关与机械开关如下图3-16所示。图3-16 拨动开关(左)与机械开关(右)而机械开关的抖动是工程设计中不可避免的问题,如果不作处理,整个系统的可靠性将大打折扣。机械开关是靠弹簧接触的。在断开接触时没有什么问题,但是反过来在接触时由于弹簧力的反作用,弹簧在接触的瞬间会离开接点,然后经过多次跳动后才能稳定下来。下图3-17是一个机械开关闭合时的模拟波形。图3-17 机械开关闭合时的模拟抖动波形由图3-17所示,如果以这样的信号作为时序电路的触发时钟,当开关按压一次,电路状态将发生多次的翻转。由此使用D触发器和与门电路构成消抖电路。该电路的开关信号从KEY_IN进入,D触发器接入一个触发时钟信号CLK_Debouncing,只要抖动脉冲的脉冲宽度小于5个CLK_Debouncing周期就可以被消除。电路设计如下图3-18所示。图3-18 开关消抖电路仿真波形如下图3-19所示。可见,只有在按下机械开关的时间大于或等于5倍时钟CLK的周期的时候,开关信号才会被确认并输出到下一端电路。如果CLK的频率为1kHz,则小于5ms的抖动脉冲都会被消除。图3-19 开关消抖电路仿真波形3.7.校时电路能对数字钟输出时、分进行任意调节,使之与北京时间同步,电路的形式不限,调节要方便准确。刚接通电源或者时钟走时出现误差时,则需要进行时间的校准。置开关在手动位置,分别对时、分、秒进行单独计数,计数脉冲由单次脉冲或连续脉冲输入。校分电路用74160计数器,给第一个芯片按键脉冲电平,每按一下给一个脉冲,计数器进行加一,为了防止按键抖动会给计数器带来影响,在按键与CLK接口前面加一个D触发器进行消抖处理,以使数码管显示的时候按照人的意愿合理加一。第一个计数器到9之后会进位给第二个计数器,当两个计数器到了59之后,下一个电平到来会进到00,重新开始校正,但不会进位给校时电路。校分电路原理图:(AJ4为校分按钮,上图为防抖动电路,下图为调分电路。)图3-20 顺序脉冲电路校时电路用74160计数器,给第一个芯片按键脉冲电平,每按一下给一个脉冲,计数器进行加一,为了防止按键抖动会给计数器带来影响,在按键与CLK接口前面加一个D触发器进行消抖处理,以使数码管显示的时候按照人的意愿合理加一。第一个计数器到9之后会进位给第二个计数器,当两个计数器到了23之后,下一个电平到来会进到00,重新开始校正,但不会进位。校时电路原理图:(AJ3为校时按钮,上图为防抖动电路,下图为调时电路)图3-21 顺序脉冲电路图3-23 校时电路3.8.闹钟控制电路闹钟控制电路由三部分组成:闹钟时分设定电路;数值比较电路;响铃30秒控制电路。闹钟时分设定电路,可以借鉴上述时间计数器电路的60进制计数器、24进制计数器的组成,但是分进位不能接到时计数器上。通过数值比较器7485进行调闹钟的分和时与时钟上的分和时进行相比较,若全部相同,则通过秒计数器进行30秒几时后,即到达30秒后自动停止响,简单实现30秒闹铃功能。闹铃能在设定的时、分响起,响30秒后自动停止,电路形式不限,要求设置闹铃时间的操作方便、直观、准确。图3-25 闹钟时分设定电路然后要设计的是响铃30秒控制电路。可以使用门电路实现秒十位TensOfSec输出0,1,2时蜂鸣器响。由此我设计了如下图3-28所示电路图3-26 响铃30秒控制电路只有当闹钟设置数值与当前时间的分时值相同,且秒十位输出的是0或1或2时,才会产生闹钟响铃信号。闹钟设置仿真波形如下图3-29所示。在所有按键都按了一遍循环以后,最后设置闹钟时间为00时01分钟。图3-27 闹钟设置仿真波形闹钟响铃仿真波形如下图3-30所示。可见蜂鸣器的确在00时00分响起,并持续了30秒。同时很重要的一点是:设置闹钟与闹钟响铃过程中,时间一直在正常行走。图3-28闹钟响铃仿真波形3.9.显示电路最后一个部分是显示电路。我们既要输出时钟当前时间,又要输出闹钟设置时间,而实验箱上只有一套数码管。所以,如闹钟控制电路部分所述,我用了一个标志位来控制数码管。当其为0时,时钟输出的是计数时间,并将输出信号连接到数码管上。该功能可以用上述校时电路中的数据选择器来实现。具体电路如下图3-31所示。图3-31 显示电路仿真波形如下图3-32所示。图3-32 显示电路仿真波形3.10.总体电路最后的是整个模块的电路图,如下图3-37所示。图示各部分解释如下:时钟计数器电路:由两个60进制计数器、一个24进制计数器组成,用于计算时间;:设置电路:用于设置闹铃时间。:闹铃控制电路:有一个60进制计数器、一个24进制计数器组成,用于设置、存储闹钟时间; :输出显示电路:用于判断输出当前时间、还是输出闹钟数值给数码管;:整点报时电路:由门电路构成的判断是否到达整点报时的时间,并输出信号给蜂鸣器;:防抖动电路:内部用D触发器封装用于防抖。图3-37 整体模块电路四、电路调试简述及故障分析在去实验室进行实际电路调试之前,先在自己的电脑的中对自己设计的电路进行波形仿真,仿真的过程顺利,得到的波形正常。在到实验室实际调试过程中,却出现了以下问题。1.在实际电路的调试过程中,出现了按键按下时,数码管会有多次跳动。故障分析:没有设计消抖电路。通过查阅资料,比较好的消抖电路是加一个D触发器,最后,部分按键可以实现功能。实验室仪器的按键性能差,无法通过一次消抖解决问题。2.整点报时功能出现差错:前3秒发出高音,最后一秒没响。故障分析:1khz的信号源经过分频电路与蜂鸣器连接出错,调整电路后,故障排除。五、总结及体会课程设计刚开始时,看到题目那么复杂,而且自己数电知识掌握的不是很牢,心里有点畏惧,害怕自己完成不了或者完成的不好。但一想,正好可以借这次课程设计巩固、加深自己对数电的掌握。但刚动手时,感觉无从下手,进展很缓慢,弄了几次都中途放弃了,后来在网上查找一些资料和同学的帮助下,最终完成了设计。为此,我深深感受到有时一个人单干是不行的,与同学相互交流各自的想法也是很重要的,不同的人对问题的看法总有差异,我们可以从交流中获得不同的思路,借鉴同学们的较好的方法,与自己设计方案进行整合。虽然这只是一次简单的课程设计,但通过这次课程设计我们了解了课程设计的一般步骤,和设计中应注意的问题。设计本身并不是有很重要的意义,而是对待问题时的态度和处理事情的能力。在设计过程中,我们难免遇到解决不了的问题,这会对我们的意志力有一定打击。一开始自己设计了很久都感觉不满意或者不行,总会因为出现一些自己解决不了的问题而放弃这种设计方案,而换成另一种方案设计。最后在自己的坚持下,去请教同学和查找资料,才最终得到自己想要的结果。最后,我要感谢我的同学与老师,是在大家的帮助下,我才得以完成我的作品。这次课程设计我最大的收获或许就是明白了一个道理:不管遇到多大困难,只要你愿意去做,愿意坚持,哪怕结果并不如意,但你会总有收获23