1设计思路1.1设计总体思路从课程设计要求来看,要求实现电机的正传、反转、暂停,实际上没又电机给我们接上,这回要用四个LED灯的状态来表示,当显示时间前20秒正传、暂停10秒、反转20秒、再暂停10秒,如此一来,周期恰好是60秒,理所当然的分钟计数器、秒计数器是一定要有的。接下来脉冲是一定的了,但是有分钟计数器和秒钟计数器还要考虑是不是要60分频器,就我们所学过的来说实现循环有移位寄存器;还有个问题,当洗涤时间到了,报警还要一个报警电路,根据人性化、自动化、低成本的设计原则,报警的蜂鸣器不可以长时间的叫,要有个合理的时间,我们可以用一个单稳态电路来实现。看起来还不错啊,如果这样想那就嫌早了点,还有一个问题要解决:如何提取时间并使循环电路工作的信号?直接从数值上进行提取信号来控制一个可以实现循环的74LS192来实现。现在大体上就这样计划,下面说说基本原理。1.2基本原理首先,从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当用户设定的洗涤时间结束后,电路报警并清零;同时电机指示灯熄灭。1.3系统设计框图如下图所示2电路模块设计2.1芯片74ls192的逻辑功能74LS192的功能表如下表逻辑示意图所示输入输出MRPLUPDND3D2D1D0Q3Q2Q1Q01×××××××000000××dcbadcba01↑1××××加计数011↑××××减计数CRRf121)2(44.12.21Hz矩形脉冲产生电路需要的秒脉冲发生器可以由一个集成的555定时器构成,当电源接通后,VCC通过对R1、R2向电容充电。电容上得到电压按指数规律上升,当电容上的电压上身到2/3VCC时,输电压VO为零,电容放电。当电压下降到1/3VCC时,输出电平为高电平,电容放电结束。这样周而复始便形成了振荡。如下图1Hz矩形脉冲波产生电路。555定时器构成的多谐振荡器所输出的矩形脉冲信号的频率计算式为故选定元件参数,R1=63K,R2=40K,C1=0.1uF,C2=10uF。其中电容C2的作用是抗干扰用的,以提高电路的稳定性。2.3递减计数器与时间显示(1)分、秒计数器的设计一百进制分计数器和六十秒计数器的原理是一样的,不同的只是它们的输入脉冲和进制不同而已,我们用四片74LS192来实现分计数和秒计数功能,我们要的只是减计数,所以我们把它的UP端接到高电平上去,DN端接到秒脉冲上;十分秒位上的输入端B、C端接到高电平上,即从输入端置入0110(十进制的6),秒十位的PL端和借位端TCD联在一起,再把秒位的TCD端和十秒位的DN联在一起。当秒脉冲从秒位的DN端输入的时候秒计数的192开始从9减到0;这时,它的借位端TCD会发出一个低电平到秒十位的输入端DN,秒十位的计数从6变到5,一直到变为0;当高低位全为零的时候,秒十位的TCD发出一个低电平信号,DN为零时,置数端PL等于零,秒十位完成并行置数,下一个DN脉冲来到时,计数器进入下一个循环减计数工作中。对于分计数来说,道理也是一样的;只是要求,当秒计数完成了,分可以自动减少,需要把秒十位的借位端TCD端接到分计数的DN端作为分计数的输入信号来实现秒从分计数上的借位。当然,这些计数器工作,其中的清零端MR要处于低电平,置数端不置数时要处于高电平。这是一个独立工作的最高可以显示101分钟的计时器。把四个192的QA/QB/QC/QD都接到外部的显示电路上就可以看到时间的显示了。作为洗衣机控制器的一个模块,它还得有一定的接口来和其他的模块连接在一起协调工作,分计数的清零端MR是接在一起的;秒的清零端PL又是接在一起的,所以当要从外部把它们强制清零时,可以用两个或门就可以实现该功能。还有我们可以利用分计数的UP端来进行外部置数,当把它们各接到一个低触发(平时保持高电平,外部给一个力就输入一个低电平)的脉冲上就可以实现从0-9的数字输入。(2)分、秒计数器的电路图2.4洗涤时间设置电路我们可以利用分计数的UP端来进行外部置数,当把它们各接到一个低触发(平时保持高电平,外部给一个力就输入一个低电平)的脉冲上就可以实现从0-9的数字输入。因此设计出洗涤时间设置电路如下图洗涤时间设置电路,每次按动开关都将使洗涤时间的对应位(十位或者个位)增加1,最大增加至9,又由于所设置洗涤时间为60分内,故当我们对洗涤时间进行设置时,十位所置数小于6。2.5工作状态显示电路第一步:分析洗衣机的工作状态,对于洗衣机电机的工作顺序有“启动——正转20s——暂停10s——反转20s——暂停10s——停止...”,我们可以将三种工作状态假设为正转,暂停,反转依次设为01,00,10。从而设计出合适电路如下图工作状态显示电路:第二步:分析实验设计中要求用4个LED模拟洗衣机的动作状态:LED1~LED4右移循环点亮表示正转,LED1~LED4左移循环点亮表示反转,LED1~LED4同时闪烁点亮表示暂停,全灭为停止,显然可以利用移位寄存器来设计,但是由于本次设计未能成功利用移位寄存器仿真而转换了思路,选择了利用正转、暂停、反转的三种不同状态分别为01、00、10,以1表示工作以0表示暂停从而分次序的完成设计。首先,考虑到LED的连续循环点亮,可以想到控制LED一端电平的连续循环变化达到要求,又由于有4个LED,我们采用4进制计数器即可产生循环变化的4个数,这样我们可以利用译码器从而在4个输出端得到依次变化的低电平,如此,我们可以将LED另一端接高电平,从而实现循环点亮。其次,考虑到存在正转和反转两种不同状态,我们需要改变译码器输入端的数字变化次序,如此分析四个数字变化规律,以及利用正反转表示状态的不同来设计出合适门电路。在此次设计中,我们采用74ls192构成一个4进制减数计数器,同时利用正反停指示器1在正转时电平为0,反转时电平为1来构成合适门电路。简略列出真值表如下表正反转指示电路逻辑表:正反停指示器1计数器输出译码器输入端0(正转)11110(正转)10100(正转)01010(正转)00001(反转)11001(反转)10011(反转)01101(反转)0011于是我们可以发现我们可以利用异或门电路来完成这一构想,从而实现出正转与反转两种状态下LED不同的循环状态。最后,剩下的就是暂停状态的显示了。先区分出暂停与工作状态的不同,利用上面设置的工作状态表示,我们可容易得到工作以1表示,暂停以0表示。如此可利用这两种电平控制译码器的工作,容易得到工作时状态如上步分析,暂停时灯全部熄灭。为使其能闪烁,我们可以考虑利用脉冲信号,工作状态的表示与门电路来设计。综合上述分析,我们可以设计出LED控制电路如下图控制电路2.6控制开关现在各单元电路完成了,最后要把它们有效的结合起来联合工作,实现目的功能。我们要求在给分钟置数的同时秒要显示为零;外部还要有强制停止并清零;还有暂停功能。对于置数来说,我们可以在分钟计数器的UP端到高电平之间各用一个开关接上,就当给它一个低电平时,计数器就往上增加1。但是,192要求在UP端工作的同时,其DOWN端要为高电平,且秒计数器要为零,我们可以让秒计数器清零,同时把脉冲停止了。在高电平上接上一个开关,让它接到一个JK触发器上,同时把JK触发器的JK端接1,让它实现触发功能。让它的Q端输出到秒计数器的清零端,这样刚开机或者再按一下开机键就可以对秒计数器清零。把JK触发器的Q反端和从分计数器借位端LCD反相出来的信号接到一个与非门上,从与非门出来的信号接到分计数器的DOWN端来保证置数的时DOWN是高电平。但是如果仅是这样的话,当置数完成再一次按开机键(如图所示)时,没有脉冲信号输入到秒计数器的DOWN端,192并不可以工作。我们可以把脉冲和JK触发器Q反端接到一个与门上,然后把它上输出端接到秒计数器的DOWN端以控制计数。先歇息一下。现在的问题是,循环的发光二极管没有受到控制键的控制,所以还得把受到控制的从与门U12出来的信号输出到移位寄存器194的时钟信号CLK上。最后要解决一个大问题,当所置的洗衣时间完成后,要发出报警并自动清零。至于报警电路我们知道当计数器全为零的时候,从秒位会发出一个借位信号,一直接到十分位上去,十分位会发出一个借位信号,我们可以用这个信号来作为报警并清零的信号,平时192的借位端保持的是高电平,当有借位信号时,其变成0,我们在分十位借位端接一个非门,再把它和分位的CLR端一起接到一个与门,也需要把它接到一个JK触发器(U10)上作为其时钟信号,其后再接到单稳态电路的输入端TRI,单稳态的输出端接到蜂鸣器上。而该与门(U14)的另一输入端接在控制开关J3上,与门出去仍然接在JK触发器U9上,这样当洗衣时间完成后,十分计数器的借位端TCD端发出的0信号就可以经过以上路径而变成1到达与门,同时JK触发器得到一个触发信号而输出到单稳态,但一段时间后其自动停止。同时发出的1信号使U9发出1信号而使秒计数器清零;当然秒脉冲因为U9端的Q反端的0信号而使其没有输出,这样原来闪烁的灯不再亮了。到此,一个电路总算还可以了吧,我们有时还需要让它休息一下,我们改变一下洗衣量时,就还需要一个暂停键,只要把秒脉冲切断就可以了。我们可以在控制脉冲输出的与门U12和脉冲到达端之间接入一个由开关控制的JK触发器来控制的与门,这样就可以控制脉冲的输出了。我们知道与门是其中一输入为零时,无论另一端时怎样的其输出为零,但一端为1时,另一端输入什么与门就可以输出什么。现在控制端也连起来了,这样,一个完整的洗衣机控制电路就完成了。LED模拟洗衣机工作状态的同时,也作为洗衣机的报警系统,全灭为报警。3电路图综合上面的原理,设计思路,以及每部分电路的设计,得到电路图如下图4元件清单元件序号元件型号主要参数数量C1Cap0.1uF1C2Cap10uF1U1-U4,U1074LS1925U5-U874LS484U1274LS1121U135551U14A,U14B,U14C,U18A,U18B74LS005U15A,U15B74LS322U16A,U16B74LS862U17A,U17B,U17C,U17D,U20A74LS085U19NOT1D1-D4LED-RED4SW1SW-SPDT1R163k1R240k1R3-R510k35分析与改进5.1改进:需改进点1:控制开关的设定需改进点2:工作60分钟后的清零设置需改进点3:LED控制电路中的灯的循环及其闪烁控制需改进点4:分秒置数开关的设定改进1:利用开关控制555的电源输入。电路功能实现:两个置数开关可以控制洗涤时间的设置,控制开关控制电路的工作,复位开关控制显示器的清零。改进2:利用十分位计数器的借位端平常均为1,工作到60分钟后为0的特性,设置为JK触发器的脉冲输入,从而控制清零端MR。改进3:LED的循环闪亮主要是改变译码器的输入端,正转时为输入顺序位A,反转时输入顺序应该相反,设置好4进制计数器,然后利用其输出端Q1、Q0的变化规律列出真值表,求出所需门电路。改进4:利用触发器有UP上升沿触发特性,为其可控置入低电平以改变十分位和个分位的显示。5.2电路分析控制开关SW1控制电路的启动、停止工作,当SW1拨通时,电路接通,正常工作;当SW1拨向地时,电路停止工作。两个置数按钮可以控制洗涤时间的设置,每按动一次设置button键,出现一次时钟脉冲信号,计数器加1,从而冲洗涤时间在0-90分钟内任意设定(满足60分钟的要求)。复位开关控制显示器的清零。译码器和逻辑门电路产生01、00、10三种不同状态控制洗衣机正转、暂停、反转。若设置一个50s周期内,前20s四个灯红灯右移点亮,表示正转;10s四个灯同时闪烁点亮,表示暂停;后20s四个灯左移点亮,表示反转,时间减到0时4个灯全灭,表示停止。在仿真的过程中,出现的结果基本符合要求。计数器计时无误,“正转”、“反