课程名称: 数字电子课程设计
题 目: 数字式跑表 学生姓名: 专 业: 班 级: 学 号: 指导教师: 日 期:2017年4 月 8日 数字式跑表 设计一个以0.01s为基准计时信号的实用数字式跑表。 基本要求: (1)跑表计时显示范围0~99min59.99s (2)具有清零、启动计时、暂停计时及继续计时功能,操作按键(或开关) 不超过2个 (3)时钟源误差不超过0.01s 提高要求: (4)显示最大值可达23h59min59.99s,有整点、半点提醒功能 (5)有定时功能 (6)有倒计时功能
满足的要求: 1.基本要求 ①具有清零、启动计时、暂停计时及继续计时功能(清零、启动计时、暂停计时及继续计时按键为两个) ②时钟源误差不超过0.01s(计算误差约为0.00005s) 2.提高要求 ③显示最大值可达23h59min59.99s,有整点、半点提醒功能(LED灯的亮作为提醒,亮时为一分钟) ④有定时功能(通关按键的置数实现) ⑤有倒计时功能(初始时间为23h50min50.00s,可调为23h59min59.99s) 设计图如下
图1 数字式跑表设计总图
操作说明: 清零:红字标注的清零按键实现清零功能 开始计时、继续、暂停:红字标注的开始暂停按键按下则实现开始计时或继续计时,断开为暂停计时 加计时减计时:将除0.01秒与1秒的置数开关(K1~K6)往上打为加计数往下打为减计数。最大加计数为24小时,最大减计数要设初始值为24小时减0.01秒。 定时:首先断开开始/暂停开关 (以下开关为蓝色字标注) ⑴0.01s置数:断开K2开闭K1为加置数,结束后都断开; 断开K1开闭K2为减置数,结束后都断开 ⑵ 1s置数:断开K4,开闭K3为加置数,结束后打开K4,断开K3,K4初始闭合; 断开K6,开闭K5为加置数,结束后打开K6,断开K5,K6初始闭合 ⑶1min置数:蓝色字标注的1分置数开关,断开闭合即可置数 ⑷ 1h置数:蓝色字标注的1时置数开关,断开闭合即可置数 首先,选题后要明白这是个什么东西。本次实验选做的题目是数字式跑表,要求是只能选用基本的数字元器件。跑表要求的是显示时间,而显示时间就要用到显示器,所学的基本显示器为数码管,故需要数码管。已知的数码管有七段数码管和BCD码数码管,七段数码管需要输入七个变量,所以一般情况下需要译码器来实现。考虑到驱动数码管的时序逻辑电路部分时,需要的是计时器,用到的只能是计数器,74161/163为16进制的加法计数器,不带减法,而且所设计的电路大部分为10进制的计时,所以不考虑,74160/162也是加法计数器,不考虑。最后选择的是74192,相比74190,74192的置数与清零功能是分开的,选择74190的话,在实验是,只能牺牲置数功能来清零,不考虑。74192属于双时钟同步十进制可逆计数器。输出为四位输出,与BCD码显示的数码管完全符合,故选择BCD码显示的数码管。在74192的输入端,输入的是时钟信号,故需要时钟信号的发生器,在protues中,有产生时钟的脉冲源,但是不符合实验要求。经查资料,最后选择的是555定时器组成的多谐振荡器来产生时钟信号,其为震荡频率可调的电路。 1、555定时器组成的多谐振荡器
图2 555定时器组成的多谐振荡器 工作原理: 由555定时器构成的多谐振荡器如图2所示,R1,R2和C是外接定时元件,电路中将高电平触发端(6脚)和低电平触发端(2脚)并接后接到R2和C的连接处,将放电端(7脚)接到R1,R2的连接处。由于接通电源瞬间,电容C来不及充电,电容器两端电压为低电平,小于(1/3)Vcc,故高电平触发端与低电平触发端均为低电平,输出为高电平。这时,电源经R1,R2对电容C充电,使电压按指数规律上升,当上升到(2/3)Vcc时,输出为低电平,把从(1/3)Vcc上升到(2/3)Vcc,电容C通过电阻R2和放电管放电,电路进人第二暂稳态,其维持时间的长短与电容的放电时间有关,随着C的放电,下降,当下降到(1/3)Vcc时,输出为高电平,Vcc再次对电容C充电,电路又翻转到第一暂稳态。 电容放电时间tPL为:
(1.0) 电容充电时间tPH为:
(1.1) 所以振荡周期T为:
(1.2) 振荡频率f为:
(1.3)
图3 设计实验的555多谐振荡器部分 设计部分: 图3为设计实验中的555多谐振荡器部分,要想多谐振荡器产生每个震荡周期为0.01s的脉冲,则f的值为100Hz,取常见的不大不小的电容值C1为1uF,此时经计算可得(R1+2R2)的值14500欧姆,此时,查阅常见的电阻阻值,经过计算对比,可取R1为4.3K,R2为5.1K。经计算可得震荡周期T误差为0.00005s,小于实验允许误差0.01s。 七段显示BCD码数码管。74LS192 的四个输出正好对应数码管的四个输入。实现数字的显示。使用的是四个输入端的数码管,数码管本身有译码器,不需要外接译码器。数码管是共阴极,74LS192的输出高电平,直接输入数码管就可以显示。 实验部分: 图4 数码管接74LS192 3、74LS192计数器 74LS192的功能表 74LS192是同步十进制可逆计数器,它具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如下所示:
图5 74LS192的引脚排列及逻辑符号 CPU为加计数时钟输入端,CPD为减计数时钟输入端。 LD为预置输入控制端,异步预置。 CR为复位输入端,高电平有效,异步清除。 CO为进位输出:1001状态后负脉冲输出, BO为借位输出:0000状态后负脉冲输出。 | | | | | | | | | | | | | | | | | | | | | | | | | | | |
× | | | | | | | | | | | | | | | | | | | | | | | | | | | |
表1 74LS192功能表 设计部分: 图6 74LS192在设计实验中的部分电路图 图6为省区0.1s和省去0.01s时74LS192的电路接线图。
图7 加减置数开关电路图 设计思路: 1、将UP与DN在高电平1与时钟之间切换的开关 74LS192在实现加计数时由其功能表可知当减计数时钟端DN接1,加计数时钟端UP接脉冲时即可实现加计数;相反的,则实现减计数。图7左上角的开关部分就是将DN与UP在高电平1与时钟CL自由切换的开关,从而实现加计数和减计数。(设计时,开关往上,则UP接时钟,DN接高电平1;反之,UP接1,DN接时钟) 2、10s位与10min位的置数时机与置数按键的实现 在加计数时10s位与10min位满6进1所以可以设置与非门在这两个位在计数到6,即0110时返回一个低电平0给本身的的置数口LD非,从而实现置数0000,同时在与非门的非之前产生一个高电平1到下一个192的上升时钟UP口,使之加1。 在减计数时10s位与10min位减到0时,在下一个时钟来临时与非门如果检测到9即1001时与非门的输出端输出一个低电平0给本身的的置数口LD非,从而实现置数为5即0101,同时在与非门的非之前产生一个高电平1到下一个192的下降时钟DN口,使之加1,实现借位,从而下一个192实现减一。 c、(置数按键)通过观察可知,无论是加计数还是减计数时,总有某些置数端口(D0~D3)是一直接地的故可如图7左下角(加减置数开关)般的部分置数端口接地,从而实现某些端口可以在接0与1间切换,具体操作如上。 d、图7中间的下方座半部分开关为10s位与10min位在加减计数时对使用两个与非门之间的切换,提高其利用率。右半部分为其与门部分的输出端口加减输出开关,从而决定输出的信号是接下一个UP或DN。 3、时位与10时位部分 图7最右端的两个与非门为时位与10时位开关对两个与非门在加计数和减计数的使用。加计数时仅在24时时即0010和0100两个1需要与非;在减计数时,则在99时时即1001和1001四个1需要与非,故需要四输入端与非门,同时使两位芯片分别置数为2和3.置数由之前所说的置数开关实现。 - 将所有74LS192的清零端连在一起接地,同时接可以弹起的开关BUTTON,开关的另一端接电源,当按下按键时,所有的192芯片的清零端同时为高电平,即可实现清零。
- 原本的电路是利用开关使0.01s的192芯片的UP和DN同时变为1可实现数据的保持,但是使电路更加复杂,不利于其他功能的实现。后改为直接在脉冲的输出端接一个开关。修改后,UP和DN其中一个为高电平一个为高阻态,由于时钟信号不再输入,可以实现暂停功能。缺点在于,暂停时,开闭置数开关会使数据的改变,需要更多的置数,造成不便。
图8置数开关 定时功能:在开关打向暂停时由置数功能实现。设计的置数开关分为4个置数开关,分别为0.01s,1s,1min和1h的置数开关,可实现8位时间的置数。 具体实现:分与时部分是由于暂停时,与非门中与门的输出为低电平,故使得这两个位UP和DN其中一个一直为高电平,另一个则因开关的变换使其中一个UP或DN在高低电平中变换,从而产生时钟脉冲实现置数功能。在0.01s和1s处,由于设计时没有思考得完全,只能外加一个低电平,使其中的UP或DN其能够在高低电平中由开关自由切换,从而实现置数,需要注意的是,不能直接加低电平作为0信号输入,否则会警告电平冲突。 图9 半整点提醒电路部分 半整点功能的实现比较简单,简单来说,就是满足某个条件或者某几个条件就能使LED灯灯变亮。 半整点提醒:当10分位为3,即0011时,LED1则亮,想让LED1只亮1分钟的话又要使分位等于0时,LED1亮,将两者与则可实现半点时,LED1亮1分钟。同理,当1时位不为0,10分位为0,1分位为0时,将它们三个与即可实现LED2在整点时亮一分钟,在两者间接一个二极管可让整点时LED1与LED2同时亮,具体的调试不可行。 5、仿真的调试 在每一部分电路的设计好时,先进行调试,再进行下一部分电路的设计。在调试时,调试的方法可以分为两种:第一,在进行较高位的调试时,由于等太长时间进行调试不现实,可以将其电路换至低位进行调试,也可以分解电路为一部分一部分进行调试。第二,利用置数功能进行调试,暂停时,把相应的开关放到位,再进行置数加减,观察其变化情况。 经过逐步调试,本次设计的数字式跑表绝大多数部分可行。
首先,拿到题目后,看到跑表器这个词还是有点抽象,要经过查资料才逐步了解到跑表器的工作状态,然后再开始着手实验。试验前,对于上个学期的数电知识也逐渐模糊,但是知道跑表器的工作情况后还是有入手的地方,不过又要重新温习一下相关的内容,这一步做的比较快也比较顺利。 第二步,需要对整体功能的构思,然后再对局部电路图的构思,最后再考虑局部电路图的实现, 在实验图逐步成型之后,发现了诸多在一开始所想不到的问题。例如,在完成本实验的基本要求时是比较轻松的,比较不自在的地方是对电路图的修改,其中比较令人头疼的地方是本来排好版的地方突然又需要加多一部分元件或者是线路,拉开所需的位置的话,本来连好的线变得弯曲不自然,又要清除原来的线,再画过,在制作附加功能的时候更是如此。这样,不得不使用大量的跳线,这样的话会使审视电路图的时候不够直观,会影响思路。 在许多地方,完全可以将图简化,但是需要太多的地方思考,由于前面的制作过多,简化图可能会使前面的功能不能实现,而且要改的话也比较复杂,容易弄混思路,要的时间也多,所以在制作时,考虑最简单的思路。半整点提示灯就是一个很明显的例子。 在调试时,经常会碰到不如自己料想的情况,这样常常会使人气馁,要改的话也可能要从头到尾分析,这样,对前面思考不深刻的话很难改,所以在制作的时候,最好加上一些有必要的标注,而且,当的第二天再看前一天的内容,在思路方面也比较连接起来。 本次设计仍然有很多不足的地方,上面所提到的图太复杂只是其中的一个方面,但是在做完实验设计后也让人觉得在数电方面提高了很多。这也让人不得不思考到,单单只利用一些简单的基本数字逻辑元件是远远不够的,必须懂得综合利用,才能使得图更加简化,成本更加低,设计更利于市场的采纳。
完整论文下载带仿真文件(word格式 可编辑):
|