EDA课程实验设计报告
- 格式:doc
- 大小:406.00 KB
- 文档页数:13
《EDA课程实验设计报告》
洗衣机自动控制器设计
一 实验要求:
1、由一个按键控制洗衣机的启动、暂停。
2、洗衣机洗涤一定时间后,能自动停止,由一个LED灯闪烁提示,并发出报警提示。
3、洗涤时间能用数码管显示,暂停时时间停止,暂停后时间在停止的时间基础上继续计时。
4、用至少四个LED指示灯的流动表示洗衣机的正转和反转。即当正转20秒时,四个指示灯从右向左循环移动;反转20秒时,四个指示灯从右向左循环移动。
5、暂停10秒时,四个指示灯闪烁来表示电机停止转动。
二.设计总体思路,基本原理
1.设计总体思路
从课程设计要求来看,要求实现电机的正传、反转、暂停,用四个LED灯的状态来表示,当显示时间前20秒正传、暂停10秒、反转20秒、再暂停10秒,如此一来,周期恰好是60秒,理所当然的分钟计数器、秒计数器是一定要有的。接下来脉冲是一定的了,但是有分钟计数器和秒钟计数器还要考虑是不是要60分频器,就我们所学过的来说实现循环有移位寄存器;还有
个问题,当洗涤时间到了,报警还要一个报警电路,根据要求,报警的蜂鸣器不可以长时间的叫,要有个合理的时间,我们可以用一个单稳态电路来实现。方案为:直接从数值上进行提取信号来控制一个可以实现循环的74LS194来实现。
2.基本原理
首先,从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当用户设定的洗涤时间结束后,电路报警并清零。
三.单元电路设计
1.一百进制分计数器和六十秒计数器的设计
(1)分、秒计数器的设计
分、秒计数器我们都用74192片,74192上升沿触发,由UP,DOWN两管脚控制加减计数,有异步置数端LOAR和异步复位端CLR,BO’和CO’分别输出高电平表示加进位和减进位。由于74192没有保持脚,故需要外围电路实现保持功能。因为74192上升沿触发,所以把UP,DOWN强制置低电平即可实现保持功能。
一百进制分计数器和六十秒计数器的原理是一样的,不同的只是它们的输入脉冲和进制不同而已,用四片74LS192来实现分计数和秒计数功能,我们要的只是减计数,所以把它的UP端接到高电平上去,DOWN端接到秒脉冲上;十分秒位上的输入端B、C端接到高电平上,即从输入端置入0110(十进制的6),秒十位的LD端和借位端BO联在一起,再把秒位的BO端和十秒位的DOWN联在一起。当秒脉冲从秒位的DOWN端输入的时候秒计数的192开始从9减到0;这时,它的借位端BO 会发出一个低电平到秒十位的输入端DOWN,秒十位的计数从6变到5,一直到变为0;当高低位全为零的时候,秒十位的BO发出一个低电平信号,DOWN为零时,置数端LD等于零,秒十位完成并行置数,下一个DOWN脉冲来到时,计数器进入下一个循环减计数工作中。
对于分计数来说,道理也是一样的;只是要求,当秒计数完成了,分可以自动减少,需要把秒十位的借位端BO端接到分计数的DOWN端作为分计数的输入信号来实现秒从分计数上的借位。当然,这些计数器工作,其中的清零端CR要处于低电平,置数端不置数时要处于高电平。这是一个独立工作的最高可以显示101分钟的计时器。把四个192的QA/QB/QC/QD都接到外部的显示电路上就可以看到时间的显示了。作为洗衣机控制器的一个模块,它还得有一定的接口来和其他的模块连接在一起协调工作,分计数的清零端LD是接在一起的;秒的清零端LD又是接
在一起的,所以当要从外部把它们强制清零时,可以用一个三极管(NPN)或者两个或门就可以实现该功能。还有我们可以利用分计数的UP端来进行外部置数,当把它们各接到一个低触发(平时保持高电平,外部给一个力就输入一个低电平)的脉冲上 就可以实现从0-9的数字输入。
(2)分、秒计数器的电路图
其图如下:
2、分频电路
(1)分频电路的设计
由于SmartEDA实验箱仅提供一个48MHz的标准频率,所以电路中用到的任何频率都只能通过对这个信号的分频得到。
下图是将48MHz通过分频电路的到75 KHz、1 KHz、100 Hz、
8 Hz、4 Hz。1 Hz频率的方法。
计算公式为:
750KHz=48M÷64
1KHZ=48M÷3÷1000÷16
100Hz=48M÷3÷1k÷10÷16
(2) 分频电路图
其图如下:
3、数码管显示电路
(1)数码管显示电路的设计
Smart EDA实验箱的“8段数码管”的显示,其中第8段为小数点。它们所有的段码共用管脚SEG7、SEG6、SEG5、SEG4、SEG3、SEG2、SEG1、SEG0,而位码DIG7、DIG6、DIG5、DIG4、DIG3、DIG2、DIG1、DIG0控制着8个数码管的显示与否。也就是说当位码驱动信号为低电平时,对应的数码管才能操作:当段码驱动信号为低电平时对应的段码亮。
(2) 数码管显示电路图
其图如下:
上图所给出了数码管控制硬件电路,电路中74161是16进制计数器,它的低三位接到3-8译码器模块74138的地址输入端,这样可以实现74138的8个输出端轮流输出低电平,恰好用来控制“位码”DIG7~DIG0。LPM_MUX是QuartusⅡ中的宏模块,用来实现多位的“多选一”。
4、循环控制电路
(1)循环控制电路的设计
根据要求如下图
可以知道我们需要共60秒,0~9秒暂停,10~29秒反转,30~39
暂停,40~59秒正转,所以我们可以通过秒十位上的数提出来作为循环控制系统的输入信号,通过秒十位的三个信号控制74194对LED灯进行控制。
时间 信号 So S1 状态
5 0101 0 1 左移
4 0100 0 1 左移
3 0011 1 1 闪烁
2 0010 1 0 右移
1 0001 1 0 右移
0 0000 1 1 闪烁
根据卡诺图求的秒十位信号对194片子S1、S0的控制关系,根据关系画出电路图。
(2)循环控制电路的电路图
5、控制电路开关
(1)控制电路的设计
首先,因为是机械按钮,有时按键接触不好,在首次给老师调试时,老师提出建议加个防颤电路,用两个D触发器加上合适频率的脉冲,再通过一个T触发器,给给电路提供一个稳定的信号。
(2)控制电路的电路图
6、蜂鸣器设计
(1)蜂鸣器的设计
当洗衣机停止时,我们需要通过蜂鸣器发出警告,然而给蜂鸣器一个信号后蜂鸣器将一直响下去,所以我们需要设计一个时间器给蜂鸣器提供一个有限的时间脉冲,用74192就可以完成时间控制,当减数器减到零后借位端将有输出信号,通过借位端输出的将蜂鸣器停止。
(2)蜂鸣器电路图
四、总电路图(见附页二)
五、实验步骤
根据实验要求画出实验原理图,原理图连接完成后,保存,将要编译的文件置顶,再编译,然后分配管脚,将灯与数码管根据指导书上的管脚对应分配,管脚分配完后进行下载,将电路下载到实验箱上。通过试验机,成功完成所有要求,完成实验。
六、总结
通过这两个星期的实验,学会了QUARTUS软件的使用,对以前学习的数字电路有了更加深入的了解,也对各种芯片有了更加深入的了解,提高了对电路设计的掌握。
第一次上课老师直接将要求分配给大家,一时间无从下手,看着要求却不知道应该用什么电路、器件完成电路,脑子是空空的一片,通过几天的上网、图书馆找资料,通过一系列的整理,渐渐有了思路,跟着资料将各个电路进行模块化的设计,一点一点完成设计。我们组设计的实验相对其他组来说资料比较匮乏,没有现成的电路可以提供参考,看着其他组很早就完成实验时我们并没有着急,对电路一点一点调试,逐步完善,在改错中更加深
入了解了各个片子的功用,我有些电路是在自己尝试中完成功能的,在实验中不断学习,逐渐学习到了各个电路的功用。设计就是不断尝试不断改进,自己跟着自己的作品不断进步。
感谢老师这两周来的帮助!
附页一、电路中需要的器件(主要器件)
器件型号 用途介绍 数量
74LS192 计数器 5
74LS194 移位寄存器 1
74LS161 数码管驱动器 1
74LS138 译码器 1
74LS32 四2输入或门 若干
74LS00 四2输入与非门 若干
74LS86 四2输入异或门 若干
T触发器 4
D触发器 2
附页二