您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 数电课程设计:洗衣机时控电路
电气工程学院数字电子电路课程设计报告书姓名:班级:学号:完成日期:设计题目目录洗衣机时控电路题目要求1.规定电动机运行规律为正转20s、停10s、反转20s、停10s、再正转20s,以后反复运行;2.要求能显示洗衣机剩余工作时间,每当电机运行一分钟,显示计数器自动减1,直到显示器为“0”时,电机停止运转;3.电机正转和反转要有指示灯指示。由要求1的正转20s、停10s、反转20s、停10s、再正转20s一个周期刚好是60秒,我们可以用六十进制秒计数器的十位的数字状态来进行运行状态的控制。例如,当秒位在59s~40s之间时,需要门电路来实现秒十位上的亮,。要实现洗衣机剩余时间的显示,根据实际情况它就包括分和秒的显示。首先我们利用四个74LS192十进制减数器设计成六十进制秒计数器和百进制分计数器,然后将可以接高低电平的四个双向开接到它的最高位的四位即就是分的十位,在运行之前通过键盘控制它的个高低电平输入即进行预置数(当然也可以进行分的个位预置数,在设计中为了体现这种思想,我们只预置分的十位),剩余时间显示的话,只要在六十进制秒计数器和百进制分计数器的个位和十位分别接上一个显示器即可。再者,我们需要一个寄存器来稳定数码管的显示,将此刻秒计数器的十位数稳定输出来控制运动状态灯的显示。由于该功能的实现是以秒为单位进行脉冲计数的,所以需要设计一个秒脉冲源,但我们采用最简单的方法,只要对脉冲源的频率属性进行了设计而已,不做特别要求。○2设计原理开始前我们通过键盘控制双向开关来对其运行时间进行预置即洗涤时间设置,开始运转后,洗涤时间显示进行减计数功能,当秒计数器的个位减为零时就向十位借数,十位减一(分计时器同理),而在同时通过并行输出寄存器稳定输出秒十位数据,再经过门电路来控制洗衣机运行状态的显示灯,当设置的洗涤时间到后,显示器显示清零。3.系统框图图1-1系统框图一.模块电路设计一百进制分计数器剩余时间显示总控制图运行状态显示灯六十进制秒计数器双向开关预置数设计过程○1六十进制秒计数器和一百进制分计数器模块选用具有双时钟输入功能的可逆计数器74LS192来实现,需要的是它的减数功能。1.将它的加计数端UP接到高电平或者+5伏电源上,CLK接地端;2.对于秒个位我们不需要置数,所以将它的异步置数端LD(低电平有效)接到高电平上。3.DOWN接一秒脉冲源,而它的借位输出端BO接到秒十位的信号输入端DOWN,当秒个位的数清零时,BO发送一个借位信号到十位,使得十位减一,而秒个位继续从9减到1。4.对于秒十位,我们同样将它的借位输出端BO接到下一个高位的信号输入端DOWN。5.由于秒个位要不断向它借位,等到秒位全部为零时它的秒十位借位输出端BO就会向高位的分位的信号输入端DOWN发送一个低电平借位信号。6.为了实现六十进制功能我们让秒十位的输入端B,C接高电平,A,D接低电平(秒个位上的四个输入均接到低电平上)再把它的异步置数端LD和它的借位输出相连,当它要向高位借位时借位输出端BO发出的低电平信号会使得LD有效,此时系统自动就将其置为0110即就是6,这就实现了六十进制秒计数器。对于百进制分计数器,同理,我们将它UP接到高电平或者+5伏电源上,CLK接地端。它的异步置数端LD接到高电平上即使之无效,个位借位输出端BO接到十位的信号输入端DOWN,当个位的数减为零时,BO发送一个借位低电平信号到十位,使得十位减一,而秒个位也继续从9减到1,秒位上的输入端A,B,C,D均接到低电平上。当然要显示剩余时间,就需要在每一个减数器上连接一个显示管,即将计数器的四个输出端QA,QB,QC,QD依次连接到显示管的四个输入端1,2,3,4上。再者,电路中是以一秒为脉冲周期进行脉冲输入的,但我们简化了一下这个实验步骤,只是改变了一下脉冲频率,让脉冲周期接近于一秒,即双击脉冲源得到如下图所示对话框,在图中的Freuency栏目中修改频率为0.15KHz即可。图1-2设计过程启动开关运行,仿真结果如下图图1-3六十进制秒计数器和一百进制分计数器注:74LS192的引脚图如下图图1-474LS192管脚设计过程其中BO为借位输出端,CO为进位输出端UP为加计数端,DOWN为减计数端,LOAD为异步置数端,CLR为异步清零端。输入输出CRLD’UPDOWNDCBAQDQCQBQA1*******000000**abcdabcd01↑1****加计数功能011↑****减计数功能表1-174LS192的逻辑功能表当CLR为高电平时(高电平有效),计数器直接清零,当CLR为低电平,LOAD也为低电平(低电平有效)时,数据直接从置数端A,B,C,D植入计数器,CLR为低电平,LOAD为高电平时,执行计数功能,执行加数功能时,减计数端DOWN接高低电平,计数脉冲由UP端输入;执行减数功能时,加数端UP接高电平,计数脉冲由减数端DOWN。LED数码显示管的引脚如图1-5图1-5LED数码显示管其中4,3,2,1端为其数据输入端,其它各端口显示器默认有效。○2预置数对于本题我们只预置分十位数即体现这种思想即可。因为使用器件的输入本来就是一组二值代码,所以我们就给分十位减数器的每一个输入端接一个双向开关,并且每一个开关的外两端分别接+5伏和地端,连接完成后,左键双击开关,设置其键盘控制属性,如下图所示,在上面我们可以选择用键盘上的某个键来分别控制各个开关动作。设计过程图1-6这样,在运行开始之前,我们通过单击或者双击键盘上我们设置的键来控制输入端的高低电平输入,即就设置成我们想要的时间,例如0110,设置完成之后,即可运行,且初始显示时间就是我们所设置的六十分钟。在这里我们要注意一点就是在之前我们所设置的百进制分计数器,由于不需要预置数,所以将其两个异步预置数端LD都接到高电平上使之无效,但是如果要预置数就必须将其设置成有效状态即接到低电平上,但是,因为它的置数不受时钟信号的控制,也就是说,洗衣机已经开始运行之后,如果LD端一直有效,分十位上的数就会一直是我们开始给它预置的而不会发生变化,所以我们也给它接了一个双向开关,运行开始前,我们预置数的时候将它接到低电平,置完数后就将其置为无效状态接到高电平上,这样,显示器上所显示的时间就会随着时钟信号的输入而递减,在本题中我们给分十位设置的预置数键从A,B,C,D,LOAD依次为A键,B键,C键,D键,E键。下图为预置数仿真模块图;设计过程图1-7预置数功能模块○3循环电路因为正转,停,反转,停刚好一个周期是60s,且每种状态的运行时间恰好都是十秒的整数倍所以我们就考虑用秒十位上数的变化来控制洗衣机运行状态的显示。,在一个周期内59s~40s之间洗衣机处于正转状态,39s~30s之间洗衣机处于停止状态,29s~10s之间洗衣机处于反转状态,9s~0s之间又是停止时间,所以我们让正转状态显示灯X1=QCQB’QA+QCQB’QA’经化简得X1=QCQB’,即就是我们把QB端求反后再用一个两输入与门将其与QC连接送到正转显示灯上,当秒十位的输出为0101(5)或者是0100(4)时X1=1该灯亮,显示洗衣机处于正转状态,同理我们让停状态显示灯X2=QC’(QB⊙QA),即用一个两输入的同或门将QA和QB连接,再有一个两输入的与门将其输出与求反后的QC连接送到停滞状态显示灯上,当十位的输出为0011(3)或者0000(0)时X2=1,此时显示洗衣机处于停滞状态,同样我们也可以控制反转状态,这样,一个周期也就是六十秒完成后秒十位再向高位借数继续循环以上过程,仿真结果如下图所示如下图所示;设计过程图1-8循环控制模块其中寄存器74LS194的管脚图如下所示图1-974LS194的管脚图设计过程A,B,C,D为并行输入端,QA,QB,QC,QD位并行输出端,Sr,Sl分别为右移和左移串行输入端,因为该组合电路主要有四种工作模式,并行输出,右移输出,左移输出和保持,所以管脚S1,S0用来控制工作模式,CLR为异步清零端,CLK为时钟脉冲输入端,当CLR接高电平(低电平有效),S1,S2接高电平时,它将输进的数平行再输出去。其逻辑功能如下图所示:功能输入输出CLRS1S0SLSRABCDQ0Q1Q2Q3送数111**abcdabcd右移101*DrabcdDrabc左移110Dl*abcdbcdDl保持100******Q0Q1Q2Q3表1-274LS194的逻辑功能表在我们的实验中因为我们需要的是寄存器的并行输出功能,所以我们让S1,S0均接到高电平上。二.总电路对于总控制电路,我们只需将各个模块连接起来即可,如前面模块设置所示,我们将双向开关连到第一块减数器即分十位减数器的四个输入端A,B,C,D,当然预置数端LOAD也不能少。因为我们要用秒十位上的显示数据来控制洗衣机的三种状态的显示灯,为方便起见我们将十位上的数输出到一个移位寄存器上,利用其并行输出功能将数据输出给各个门电路,经过组合仿真即可得到如下仿真结果;○1正转仿真设计过程图1-10正转仿真○2反转仿真图-11反转仿真○3停止仿真图1-12停止仿真设计过程三.仿真调试遇到的问题以及分析其实开始的时候我们就认为要实现如题所示功能其基本上就是两大模块的问题,六十和一百进制减计数器和正反转停循环控制模块,计数器相对来说比较简单,而到了循环控制这个模块,因为它有三种状态,开始我们是想着用时序逻辑电路来实现,但最后又想到它的三种状态刚好是一个周期,我们就简化了一下问题即用时间来控制三种状态的灯亮就行了。再如前面模块设计可知我们是利用秒十位上数值的变化来控制电路的正反转停状态的显示灯亮,理论上这个的确是成立的,但是当我们连接好各个模块开始仿真时我们发现,9s~0s(显示器显示时间)是停止灯亮,59s~40s之间时正灯亮,而在六十秒那一秒之内正转状态的灯亮了一下,然后是停止的灯亮,然后再到59s正转灯亮,经过分析我们发现当第一秒即就是最后一秒显示完后,显示器清零,也就是说从9秒到0秒一共是用了9秒,六十秒那一秒应该是停止才对,但是我们没有将其考虑在内,所以状态显示灯就随机亮。所以我们又将六十秒那一秒考虑到停止状态就实现了总图所示完整电路。还有,虽然这个软件用起来比较方便但毕竟是初次接触,好多东西都不熟悉,就象我们在用门电路来实现状态灯时,开始我们选用的与门是74LS08D,但是当我们把它连接上以后,结果却出不来,但理论绝对是没有问题的,然后我们发现我们使用的与门有两种,还有一种是7408N,于是我们就试着全用7408N,结果灯就亮了,为什么用74LS08D就出不来呢?我们分析可能是这种74LS08D只能够用于特定的组合逻辑电路吧。四.收获以及体会由于以前接触过仿真软件proteus,对于同一类的仿真软件Multisim上手比较快,所以在较短时间内,就可以简单的应用该软件。虽然会用软件,但画图也不是件容易的事,用时序电路来设计循环运转时,仿真图画了一次又一次,检查了一遍又一遍结果就是出不来,最后我们就简化了一下问题将其改为用门电路控制状态灯亮,就成了现在的结果。我们刚刚做完计数器和时序逻辑电路的实验,我们对其用法都还算都比较熟悉,特别是计数器部分,所以我们很快就做出来了六十进制和百进制计数器。想到将计数器的数据输入端接到一个可以预置数的端口,这个端口必须自由地既可以接高电平又可以接低电平即就是有两个自由接口,于是我们用双向开关进行预置数。总之整个设计很不容易,我觉得这归根到底还是因为课本上的理论与实际操作还是有差异的,就像我们平时做实验一样,如果没有老师的指导和实验指导书做起来还是会一头雾水。再者,它使我对课本以及以前学过的知识有了一个更好的总结与理解。在做课程设计时,组内成员分工合作,以较快的速度完成设计,在看着最后结果出来的那刻,看得出大家都很激动,那种成就感都清楚的挂在脸上。附:总图成绩评定分
本文标题:数电课程设计:洗衣机时控电路
链接地址:https://www.777doc.com/doc-5623457 .html