第一篇:电子课程设计洗衣机控制电路
电子课程设计 ——洗衣机控制电路 学院:电子信息工程学院 专业、班级:
姓名:
学号:
指导教师:
目录 一、设计任务与要求-------------------------------------------------------3二、总体框图-----------------------------------------------------------4 2.1、系统设计框图----------------------------------------4 2.2、设计总体电路---------------------------------------5 2.3、基本原理--------------------------------------------------5三、选择器件---------------------------------------------5 3.1所选器件------------------------------------------------5 3.2器件介绍------------------------------------------------6 3.2.1、74LS192----------------------------------------------6 3.2.2、74LS194---------------------------------------------7 3.2.3、LED数码管-------------------------------------------8 3.2.4、异或门-----------------------------------------------8 四、功能模块---------------------------------------------------9 4.1、一百进制分计数器和六十秒计数器的设计-------------------9 4.2、分调时电路----------------------------------------------9 4.3、循环控制电路-------------------------------------------13 4.4、控制开关---------------------------------------------------15 4.5、预置时间到洗衣机停止电路------------------------------16 4.6、洗衣机停止运行灯亮显示-------------------------------17 五、总体设计电路图----------------------------------------------18 5.1.总体电路图--------------------------------------------19 5.2.实验室实物图----------------------------------------20 六、总结-------------------------------------------------21 洗衣机控制电路 一. 设计任务与要求 1.设计一洗衣机电子定时器,来控制洗衣机的电机作如下运转:
2.洗涤时间可在0~20min内任意设定。
3.用两位数码管显示洗涤的预置时间(分钟数),按倒计数方式对洗涤过程作计时显示,直到时间到而停止。
4.当定时时间到达终点时,使电动机停止转动,同时发光二极管发光提醒用户注意。
5.洗涤过程在送入预置时间后即开始运转。
二.总体框图 2.1 系统设计框图 设计总体框图如图1 电机运行显示 电机停控制 循环控制 调分控制 60进制秒减计数器 100进制分减计数器 洗涤时间显示 总控制 电机停停止显示 图1 总体框图 2.2 设计总体电路 实现电机的正传、反转、暂停,分别用三个LED灯的状态来表示,显示时间前20秒正传、暂停10秒、反转20秒、再暂停10秒,周期是60秒,所以需要分钟计数器和秒计数器。当分预置数时间到,电机停显示灯亮。
2.3基本原理 型号 用途 数量 型号 用途 数量 74LS192 计数器 4 74LS194 双向移位寄存器 1 74LS08 2输入与门 3 74LS04 反向器 5 74LS32 2输入或门 1 74LS86 2输入异或门 1 4077B 2输入同或门 1 74LS11 3输入与门 1 74LS10 3输入与非门 1 74LS00 2输入与非门 2 OR8 8输入或门 首先,从秒脉冲出来的信号,进入秒计数器进行秒计数,洗衣机运行前的置数工作需要秒计数器保持在预置数状态,这时我们通过开关置入洗涤时间,洗衣机就开始工作。运行过程中,当秒计数器变为零的时候,去分钟计数器上面借数,直到分计数端显示为00,电机停止工作,同时显示灯亮,且洗衣机洗涤时间为99分钟时洗衣机停止运行。
三. 选择器件 3.1 器件选择表如表1所示。
表1 器件选择表 3.2器件介绍 图2 74LS192的管脚图 3.2.1、74LS192的功能表如下表2逻辑示意图所示:
表2 74LS192逻辑功能表 输 入 输 出 CR LD’ UP DOWN D C B A QD QC QB QA 1 * * * * * * * 0 0 0 0 0 0 * * a b c d a b c d 0 1 ↑ 1 * * * * 加计数功能 0 1 1 ↑ * * * * 减计数功能 74LS192为可置数的同步十进制双时钟加减计数器,如图2所示它具有上升沿有效的加计数时钟端UP和减计数时钟端DOWN;
该计数器具有异步清零端,当清零信号CLR为高电平时,实现清零功能;
该计数器还有异步计数功能,当置数信号LOAD为低电平时,实现预置数;
当计数器加计数,且计数值为9时,进位端CO输出宽度等于加计数脉冲UP的低电平脉冲;
当计数器减计数,且计数值为0时,借位端BO输出宽度等于减计数脉冲DONW的低电平脉冲。执行加数功能时,减计数端DOWN接高低电平,计数脉冲由UP端输入;
执行减数功能时,加数端UP接高电平,计数脉冲由减数端DOWN。
3.2.2、74LS194 图3 74LS194的管脚图 如图3所示A,B,C,D为并行输入端,QA,QB,QC,QD位并行输出端,Sr,Sl分别为右移和左移串行输入端,因为该组合电路主要有四种工作模式,并行输出,右移输出,左移输出和保持,所以管脚S1,S0用来控制工作模式,CLR为异步清零端,CLK为时钟脉冲输入端,当CLR接高电平(低电平有效),S1,S2接高电平时,它将输进的数平行再输出去。其逻辑功能如表3-3所示:
表3 74LS194功能表 功能 输 入 输 出 CLR S1 S0 SL SR A B C D Q0 Q1 Q2 Q3 1 1 1 * * a b c d a b c d 右移 1 0 1 * Dr a b c d Dr a b c 左移 1 1 0 Dl * a b c d b c d Dl 保持 1 0 0 * * * * * * Q0 Q1 Q2 Q3 3.2.3、LED数码管 图4 LED数码显示管 如图3-3所示其中4,3,2,1端为其数据输入端,其它各端口显示器默认有效。
3.2.4、异或门 异或门实现异或逻辑。
其符号如图5所示:
图5异或门的符号 其功能表(真值表)如表4所示 表4 异或门真值表 输入 输出 A B Y 0 0 0 0 1 1 1 0 1 1 1 0 四.功能模块 4.1 一百进制分计数器和六十秒计数器的设计(1)分、秒计数器的设计 一百进制分计数器和六十秒计数器的原理是一样的,不同的只是它们的输入脉冲和进制不同而已,实验中用四片74LS192来实现分计数和秒计数功能,运行中需要加计数和减计数两种功能,洗衣机的置数过程用加计数,洗衣机开始运转用减计数来倒计时。秒个位减计数功能的实现:UP端接到高电平,DOWN端接到秒脉冲上,秒计数十分位上的输入端B、C端接到高电平上,输入端置入0110,也就是6,秒十位的LOAD端和借位端BO连在一起,再把秒位的BO端和分个位的DOWN连在一起。当秒脉冲从秒位的DOWN端输入时,秒计数各位开始从9减到0,这时,它的借位端BO 会发出一个低电平到秒十位的输入端DOWN,秒十位的计数从6倒计时直到0。当秒的高低位全为零的时候,秒十位的BO发出一个低电平信号,使DOWN接上低电平,置数端有效,下一个DOWN脉冲来到时,计数器进入下一个循环减计数工作中。
对于分计数来说,道理是一样的,把秒十位的借位端BO端接到分计数的DOWN端作为分计数的输入信号来实现秒从分计数上的借位同时接到秒十位的置数端,产生置数信号。其中,计数器工作中的清零端CLR端要处于低电平,置数端不置数时要处在高电平。把四个192的QA,QB,QC,QD接到显示电路显示时间。
(2)分、秒计数器的电路图 图6 分秒计数器电路图(1)图7 分秒计数器电路(2)4.2 分调时电路(1)分调时电路的工作原理 调时电路是根据加减计数器74LS192的工作原理设计的,调时电路的利用192的加计数来实现的,当UP端工作时DOWN要接高电平,分十位的DOWN端接分个位的BO端,分个位接秒十位的BO端,当192不产生借位信号时BO端呈高电平,所以当电源打开时计数器还没有进行倒计时计数时BO端都为高电平,则通过开关的拨动相当于脉冲信号,使加计数工作进行置数功能,同时192的清零和置数端无效。如下所示原理图。
(2)原理图 图8 调时电路显示图 4.3 循环控制电路(1)循环控制电路原理 因为正转,停,反转,停刚好一个周期是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,此时显示洗衣机处于停滞状态,同样我们也可以控制反转状态,这样,一个周期也就是六十秒完成后秒十位再向高位借数继续循环以上过程。如下图仿真实现正转,反转,和停。
(2)原理图 图9 正转灯泡闪烁截图 图10反转灯泡闪烁截图 图11停灯泡闪烁截图 4.4控制开关(1)控制开关原理 根据实际设计洗衣机暂停和连续工作的开关,它由俩个2输入的与非门和一个3输入的与非门,还有一个单刀双掷开关构成,其中当开关拨到下面时洗衣机暂停工作,当开关拨到上面时洗衣机正常工作。俩个2输入与非门构成SR锁存器,左边的与非门接入低电平即左边的相当于R端右边的相当于S端右边对应的输出为Q端,当开关拨到下面时相当于R=0,S=1,输出置零,封锁3输入的与非门,则秒脉冲信号被封锁。计数器停止减计数。同理当开关拨到上面时相当于R=1,S=0,输出置一,此时如果3输入与非门的另一输入为高电平则,计数器正常工作,即洗衣机正常工作。当洗衣机停止运行时显示灯亮。
(2)电路图 图12控制开关电路 4.5预置时间到洗衣机停止电路(1)原理 由实际设计知,当洗衣机在预置数时间到时洗衣机停止运转设计该电路。当秒脉冲无法输入时则洗衣机停止工作,所以用计数器的输出封锁秒脉冲。俩个192的输出信号分别接到8输入的或门上再接到三输入的与非门上,当置数时间到即分十位和个位显示00时或门输出低电平封锁秒脉冲信号。
(2)电路图 图13 预置时间到洗衣机停止控制电路图 4.6洗衣机停止运行灯亮显示 1.灯亮原理 实现灯亮显示有俩种情况。(1)当预置时间到时,送到发光二极管的阴极为低电平,而二极管的阳极接高电平,所以二极管亮。(2)当电源打开时为了更加方便人们调节时间则使分计数器开始显示00,因为当上店是192会自动在显示器上显示9,所以利用99产生置数信号使分计数在电源打开时显示00。同时利用99在电源打开时洗衣机先不工作,在置数的同时洗衣机才工作。所以用4输入的与非门接99信号使电机停。
(2)简易电路图 图14 洗衣机停止运行显示灯亮 五. 总体设计电路图 1.对于置数,在分钟计数器的UP端到高电平之间各用一个弹跳开关接上,置数时,由于置数是在洗衣机运行前,所以DOWN端接的为高电平,按动开关实现加置数。置数结束后,开关自动接高电平,即为实现减计数做准备。设计有俩个调试开关,所以对分的十位和个位都可以实现置数调节。开关J1按一下分十位会从0开始加一,同理J2按一下分个位也会从0开始加一。直到加到9时返回从0开始。置数的同时洗衣机转动。由秒十位产生的信号可以控制洗衣机的正转,反转,停。同时又有一个单刀双掷开关J3来实现洗衣机的暂停和连续。但是当分计数为00或是99时开关无论怎么办,洗衣机都停止工作。同时显示灯亮。
为了更人性化的实现洗衣机的功能,在电源打开时我们用分计数器的输出99信号产生置数信号,使显示器上的示数为00.即人们进行预置数时是从0开始向上加。一下为设计的总体电路图。
图15 总电路图 2.实验室实物图片 ·+++++··+++++··+++++··+++++··+++++··+++++· 图16 实际电路图片 六.心得体会 这次为期两周的课程设计安排让我的确是有着很大的收获,为什么这么说呢,一开始觉得时间比较宽裕,而课程设计并不是一个复杂的事情,先把思路整理好,需要哪些模块的运行,以及改用哪些学到的芯片实现电路功能,但是实际操作起来却有很多问题,比如说,单个的模块成功的完成了功能,但是当与其他模块连接在一起的时候就会出现各种问题,比如说不正常运作,或者数据混乱等,这时是设计中最麻烦的一个环节,我们需要自习的检查每一个部分,每一根线,有时候是连错了线,有的是思路不够缜密,不能实现功能,也有时候是设计器本身的一些问题,可能是因为延时或者反应时间的问题,以前连一条线都要看书上是怎么连的,我都不敢相信自己可以不看书连起那么复杂的电路图。开始都佩服自己了,在软件仿真时,我发现大家都可以把自己的电路不看书的连下来,我感觉我们都用心了。在设计中遇到了很多问题,开始不知道怎么办,比如说,开始设计的洗衣机他会不停的运转也就是没有时间到的概念,所以我要设计有时间到的洗衣机,就查了很多资料,在总结和认真的思考下我想出了这样的设计。虽然不是最好的但是它很灵活,我觉得很好。总之,课设的整个过程中,我重新认真深入思考了应用到的器件,更加熟习它们的功能用途,也锻炼了自己的思考全面逻辑性,更重要的是我学习到了自己解决问题的能力,还有一种解决问题的主动性。这样真的很好。课程设计给我的收获真的很大。
第二篇:全自动洗衣机课程设计
全自动洗衣机课程设计
PLC课程设计
题
目: 全自动洗衣机的控制
院系名称: 机械设计制造及其自动化
专业班级:
学生姓名:
学
号:
指导老师:
目录
目录........................................................................................................................................2 第一章 课程设计任务............................................................................错误!未定义书签。第二章 总体方案分析............................................................................错误!未定义书签。
2.1 分析控制要求......................................................................错误!未定义书签。2.2 选择PLC型号.....................................................................错误!未定义书签。2.3 分配I/O点...........................................................................错误!未定义书签。
第三章 PLC控制系统设计...................................................................错误!未定义书签。
3.1 输入/输出电路设计.............................................................错误!未定义书签。3.2 控制程序设计......................................................................错误!未定义书签。
3.2.1 梯形图设计................................................................错误!未定义书签。3.2.2 指令表........................................................................错误!未定义书签。3.3 控制程序分析......................................................................错误!未定义书签。
第四章 课程设计小结............................................................................错误!未定义书签。参 考 文 献............................................................................................错误!未定义书签。
一、课程设计任务
全自动洗衣机已经是普及的家用电器,并且现在工业用的全自动洗衣机由于其特殊性,也越来越多的采用 PLC、变频器和触摸屏。该控制对象具有如下功能:波轮式全自动洗衣机的洗衣桶(外桶)和脱水桶(内桶)是以同一中心安装的。外桶固定,作乘水用;内桶可以旋转,作脱水(甩干)用。内桶的四周有许多小孔,使内外桶水流相通。洗衣机的进水和排水分别由进水电磁阀和排水电磁阀控制。进水时,控制系统使进水电磁阀打开,将水注入外桶;排水时,使排水电磁阀打开,将水由外桶排到机外。洗涤和脱水由同一台电动机拖动,通过电磁阀离合器来控制,将动力传递给洗涤波轮或甩干桶(内桶)。电磁离合器失电时,电动机带动洗涤波轮实现正、反转,进行洗涤;电磁离合器得电时,电动机带动内桶单向旋转,进行甩干(此时波轮不转)。水位高低分别由高低水位开关进行检测,启动按钮用来启动洗衣机工作。
二、总体方案分析
2.1控制要求
启动时,首先进水,到高位时停止进水,开始洗涤。正转洗涤15s 暂停3s后反转洗涤15s,暂停3s后再正转洗涤,如此反复30次。洗涤结束后开始排水,当水位下降到低水位时,进行脱水(同时排水),脱水时间为10s。这样完成一次从进水到脱水的大循环过程。
经过3次上述大循环后(第2、3次为漂涤),进行完成后报警,报警10s后结束全部过程,自动停机。
此外,还要求可以按下排水按钮以实现手动排水;按下停止按钮以实现手动停止进水、排水、脱水及报警。
所需设备
(1)液位传感器、按钮、报警器、选择开关、电磁离合器、电动机等;(2)计算机(用户自备)一台;(3)可编程控制器(带编程电缆)一根;(4)编程软件;(5)导线若干。2.2 PLC选择、PLC选型及I/O分配图
根据设计要求、控制要求,选定PLC的型号为: 三菱FX2N
● 控制规模:16~256点
● 内置8K容量的RAM存储器,最大可以扩展到16K ● CPU运算处理速度0.08μS/基本指令
● 在FX2N系列右侧可连接输入输出扩展模块和特殊功能模块
● 基本单元内置2轴独立最高20kHz定位功能(晶体管输出型)全自动洗衣机系统的I/0分配:
输人
输出 X0:启动按钮
X1:限位开关SQ
1X2:限位开关SQ
2第三章 PLC控制系统设计
3.1 输入/输出电路设计
Y0:进水电磁阀控制KA1
Y1:电动机正转接触器KM1 Y2:电动机反转接触器KM2
Y3:排水电磁阀控制KA2 Y4:脱水离合器控制KA3
Y5:报警蜂鸣器KA4
全自动洗衣机步进梯形图
指令表
3.3 控制程序分析
连接好PLC,打开软件,选定合适的通信端口。首先用软件远程使PLC停止工作,RUN灯熄灭。然后把编好的程序写入PLC,再用软件启动PLC,发现PLC的RUN指示灯亮,程序运行时,按下启动按钮X0,置位状态寄存器S20,控制进水阀开始进水。由外部跟定液位信号,比如选定高水位洗涤,则闭合X1,过一会儿再闭合X1,相当于已达到高水位,从而置位S21,S20自动复位,关闭进水,同时启动T0计时器暂停3s。计时完毕,T0常开点闭合,置位S22,洗衣机开始正转,并开启T0计时器计时15s。计时完毕,T1常开点闭合,置位S23,开启暂停3s的T2计时器。计时完毕,T2常开点闭合,置位S24,控制电动机反转,同时开启T3计时器计时15s。计时完毕,T3常开点闭合,从而置位S25,开启暂停3s计时器T4。计时到时,并启动计时器C0,计数一次,同时返回S22,直到计数器计到30次时,置位S26,开始排水.当排空后,从而置位S27,启动脱水,并保持排水,同时开启T5计时器计时10s。计时到时,T5常开点闭合,C1计数一次,同时返回S20,直到C1计时3次时,即反复洗涤三次后,C1常开点闭合,置位S28,开启报警电路,扬声器发出响声提示洗衣完成。在每一步顺序运行时,上一步的状态寄存器均自动复位。
在程序运行中,闭合X3,各状态寄存器均无信号,通过选择手动排水和手动脱水档位,可实现手动排水和手动脱水功能。若要实现轻柔洗功能,需添加X0作为轻柔洗档位,把X1设为标准洗档位,轻柔洗的过程可以通过一些计时器把正反转的时间设定的小一些。编程和上述基本类似。
第四章 课程设计小节
经过将近一周的全自动洗衣机PLC课程设计,让我收获颇丰,不仅熟悉了全自动洗衣机的工作过程,还学会了使用步进指令。步进指令简单,直观,易于阅读,使用它来控制洗衣机的工作过程,真的很是方便。几天的课程设计,让我加深了对PLC的认识和理解,也知道了PLC应用于工业控制的优点所在,更重要的是让我看到了自己知识的匮乏,也坚定了以后要不断的学习,不断的向身边的人虚心请教,同时要借助于图书馆和网络来扩充自己的知识面的决心。也只有这样,在以后的社会竞争中,自己才能有立足之地,才能有所作为。
五、参考文献
[1]电气控制与PLC应用,胡汉文 丁如春 主编,人民邮电出版社,2009 [2]科威PLC资料 [3]三菱及西门子PLC资料
[4]可编程控制器教程,黄云龙主编,科学出版社,2003 [5]可编程控制器应用技术,张万忠主编,化学工业出版社,2002 [6]机电电气自动控制(修订版),陈远龄主编,重庆大学出版社出版,2005 [7]可编程控制器原理及应用教程,王晖 孙玉峰 王文华 主编,清华大学出版社出版,2004
第三篇:自动洗衣机课程设计报告
课程设计
课程名称: 学院:专业: 姓名:学号: 年级:任课教师:
年月日
文档编写格式,本页在报告完成后删除
目录为参考格式,可根据具体情况修改,目录应为超链接形式。正文中文为宋体小四,其他(包含程序字体)为Consolas,段落间距1.3。除在附录总附上图纸外,还需要打印A3大小图纸两张,内容包括:
1、控制电路设计原理图,绘制软件为Altium Designer,右下角包含以下信息:大图名课程名称指导教师制图人班级学号姓名制图时间
2、系统仿真图(proteus),如无仿真则不用,但需绘制系统PCB(Altium Designer)。
原理图例:
目录
目录
键入章标题(第 1 级)..................................................................................................1 键入章标题(第 2 级)...............................................................................................2 键入章标题(第 3 级)...........................................................................................3 键入章标题(第 1 级)..................................................................................................4 键入章标题(第 2 级)...............................................................................................5 键入章标题(第 3 级)...........................................................................................6 1.1设计背景.............................................................................X 1.2设计要求.............................................................................X 1.3设计思路简介.........................................X 第2章系统开发平台与环境.................................X 1.1 XXXXXXXXX开发环境简介.........................................X 2.2 XXXXXXXXX开发环境简介............X.......................................第3章XXXX硬件系统设计过程...............................X 3.1 XXXX硬件系统总体框图.................................X 3.2 XXXX硬件系统元件选型.................................X 3.3XXXX硬件系统的设计方法................................X.......................................第4章XXXX系统软件设计.......................................X 4.1 程序流程图...........................................X 4.2程序源代码...........................................X..........................第5章系统仿真与调试..........................................X 5.1调试过程............................................X..........................第6章总结(心得体会)..............................................X 参考文献.................................................X 附录 控制电路图纸 仿真电路图纸 程序清单
第四篇:电子课程设计
学校的小学期要做一个电子课程设计,选题有一百多个~~ 哪位达人能提供点资料啊~~ 要有电路图和所需元件清单啊~~拜托了~~~ 附:电子课程设计100题
一,电源类制作电路 1,18V稳压电源
2,±12V对称稳压电源
3,连续可调集成稳压器
4,用W7805三端集成稳压器的可调电源
5,数显式可调直流稳压电源
6,触摸式电压调节器
7,使用功率场效应管的可调稳压电源
8,二档晶体管直流稳压电源
9,八档直流稳压电源
10,简易充电器
二,显示类制作电路 1,多状态指示电路 2,发光二极管电压表 3,星期数码显示器 4,电子路标
三,报警类制作电路 1,触摸式报警器 2,光线强弱报警器 3,简易漏电报警器 4,触摸式语言报警器 5,水开报警器 6,水满报警器 7,停电报警器
四,灯光控类制作电路
(一),触摸类 1,触摸灯控开关 2,照明灯触摸开关 3,台灯触摸开关 4,触摸式音乐台灯 5,简单的触摸式灯开关 6,简易交流触摸开关 7,触摸式延时照明灯
(二),光控类 1,照明灯光控电路 2,光控自动照明灯 3,光控断电开关 4,光照控制自动调光台灯 5,光控自动闪烁路标灯 6,光控延时壁灯
(三),声控类 1,声控电灯开关 2,声控延时照明灯 3,自动声控电灯 4,走廊声控照明延时灯 5,声控光敏延时开关 6,声光双控开关电路)7,声控音乐彩灯
(四),其它类 1,键控式调光台灯 2,热控式过路灯自动关断器 3,夜间门控照明灯 4,简易闪烁灯 5,旋光彩灯控照电路 6,三色跑灯控照电路 7,灯循环控照电路 8,自动循环调光灯 9,多控电灯开关
五,定时器与自控开关类制作电路 1,简易定时电路 2,低功耗定时器 3,全自动门控开关 4,简易电子闹钟 5,实用电子定时器 6,触摸式电子定时器 7,简易红外线遥控开关 8,定时式电子催眠器 9,定时叫醒器 10,电视机定时器 11,9挡定时器 12,通用定时控制器 13,编程定时器
六,门铃类制作电路 1,双音电子门铃 2,音乐电子门铃 3,数码显示记忆门铃 4,新颖变调门铃 5,声光双音门铃 6,单震荡器门铃 7,简易乐音门铃 8,用压电陶瓷片制作的电子门铃 9,触摸式“叮咚” 门铃 10,敲击式音乐门铃
七,收音机制作电路 1,由CD 4011构成的简易收音机 2,由CD 4069构成的简易收音机 3,微型太阳能收音机 4,CMOS门电路收音机 5,超外差式收音机 八,有趣电子小制作电路 1,电子报信箱 2,简易电子琴 3,电子生日蜡烛 4,超声波驱虫器 6,用发光管制作的夜光钟 7,家用电子仿声驱鼠器 8,电子灭蝇器 9,用TDA2822的耳聋助听器 10,视力保护测光器 11,环境噪声测试仪 12,汉语报时电路
九,电子玩具类制作电路 1,触摸眨眼音乐娃娃 2,触摸猫叫电路触摸 3,电子猫 4,声控玩具电子猫 5,声控电子音乐玩具 6,电子机关枪 7,警车声响模拟器 8,太空音响玩具盒 9,电子猫 10,趣味电子小鸟
十,自选题目
第五篇:微机原理课程设计——洗衣机控制系统
微机原理与接口技术课程设计
设计题目:设计者:专业 : 班级 : 学号 :
洗衣机控制系统设计
电气工程及其自动化 1
一
课程设计的意义
1.1 洗衣机的发展状况概述
1.洗衣机的发展史
洗衣服是每个家庭都无法逃避的家庭劳动。洗衣机的出现给人们的生活带来了相当大的方便,它的普及大大降低了大多数家庭的体力劳作。
1858年,美国人汉密尔顿·史密斯制成了第一台洗衣机。1874年,美国人比尔·布莱克斯发明了第一台人工搅动式洗衣机,使得“手洗时代”受到了挑战。1910年美国人研制出了第一台电动式洗衣机。1922年美国玛塔依格公司生产出了第一台搅拌式洗衣机。1932年美德克斯航空公司研制成功了第一台前装式滚筒式洗衣机,这台机衣机能够使洗涤、漂洗、脱水三个步骤在同一个滚中操作。与此同时,世界各地也相继出现了洗衣机。洗衣机工业快速迅猛地发展起来。
1937年第一台自动洗衣机问世。1955年日本研制出波轮式洗衣机。60年代日本出现了半自动洗衣机。70年代生产出了波轮式套桶全自动洗衣机。70年代后期以电脑控制的全自动洗衣机在日本问世。80年代“模糊控制”开始应用于洗衣机中,使得洗衣机能够通过模糊控制使洗衣机操作更加简单,实现智能化。近半个多世纪里,在工业发达国家,全自动洗衣机技术得到广范的应用,其年总产量及社会普及率均以达到相当高的水平。
2.我国洗衣机的发展现状
洗衣机在中国起步较晚,1978年才开始正式生产家用洗衣机。随着改革开放的不断深入,经济的持续增长,人民生活水平的普遍提高,人们对于洗衣机的认识也在不断发展,进入80年代后,中国洗衣机行业一直保持着旺盛的发展形势。目前,洗衣机在我国城市甚至广大农村已得到大范围的普及。中国洗衣机市场正处于快速更新换代阶段,市场潜力巨大,随着家用电器的自动化、智能化发展,人们对于洗衣机的期望也越来越高。1983年,中国洗衣机产量由1978年的400台增至365万台。此后全国各处都大规模的引进国外先进洗衣机技术。中国的洗衣机发展突飞猛进,先进技术的引进、吸收和创新,极大地促进了中国洗衣机的生产能力和产业质量。经过三十年的发展,我国的洗衣机年产量已位于世界第一,将近为世界总年产量的四分之一。
1.2课程设计的意义
课程设计进一步锻炼同学们在微机原理应用方面的实际工作能力。计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的问题。《微机原理与接口技术》课程是我们电气工程及其自动化专业本科生必修的一门技术基础课程。通过该课程的学习使学生对微机系统有一个全面的了解、掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法。
二
洗衣机控制系统的设计
2.1 设计内容
系统设计并建立一个由微机控制的洗衣机控制系统,并完成: 1.给水和排水的自动控制。2.用户定时时间的设定。3.电机的正反转。
4.各种定时和故障报警电路。5.定时开、关机的控制。6.三分钟延时启动的保护。
7.设计相应的A/D、D/A、键盘、显示接口和传感器测量水位电路,可在线键盘参数设置、定时检测、显示、报警,其中控制输出部分采用模拟量或开关量进行控制。
8,写出相应工作原理,编写程序及程序流程图。
希望实现的功能:智能检测
待洗衣物的智能检测是智能洗衣机能够实现智能的关键技术之一。智能检测利用了模糊控制原理,根据各类传感器提供的洗涤物状态和洗衣机运行参数进行模糊推理。通过各类传感器对布量、布质、温度、浊度的检测来确定洗涤过程中的洗涤水位,洗涤时间,漂洗次数,排水时间,脱水时间等等。三
总体设计方案
3.1 洗衣机系统原理与设计思想
图 1洗衣机示意图
洗衣机的系统(1).涤脱水系统
它主要有盛水桶,洗涤桶和波轮组成。盛水桶又称为外桶,主要用来盛放洗涤液。盛水桶固定在钢制底板上,通过4根吊杆悬挂在洗衣机箱体上。电动机,离合器,排水阀等部件都装在桶底下面。洗涤桶又称为脱水桶或者离心桶,也称为内桶,它的主要功能是用来盛放衣物,在洗涤或漂洗时配合波轮完成洗涤或漂洗功能,在脱水时便成为离心式的脱水桶。波轮是全自动洗衣机中对衣物产生机械作用的主要部件。按波轮的形状来分,基本上有小波轮(直径在160mm左右)的涡卷式水流和大波轮(直径在300mm左右)新水流两类。
(2).进水系统
波轮式全自动洗衣机的进排水系统都采用了电磁阀控制。为了对桶内的水位进行检测和控制,洗衣机上都安装有水位控制器(水位开关)。波轮式全自动套桶洗衣机使用最多的水位开关是空气压力式开关,主要有气压传感器装置,控制装置及电触点开关3部分组成,用来监视水位的高低。此外电磁阀分进水和排水电磁阀,进水电磁阀是洗衣机上的自动进水开关,它受水位开关动断触点的控制。而排水电磁阀是全自动洗衣机上的自动排水装置,同时还起改变离合器工作状态。进水、排水电磁阀是采用电流流过线圈形成磁场的原理,洗衣机电磁阀在进,排水时使用,220V交流电压与电磁阀线圈接通,形成磁场,电磁线圈吸合。自
动打开香蕉阀门,洗衣机里的水就顺着管道流出去了。断电后,电磁阀线圈失去电流,磁场消失,电磁铁松开,橡胶阀门自动关闭,洗衣机里的水就流不出去了。
(3).动机及传动系统
波轮式全自动套桶洗衣机的电动机及传动系统主要由电动机和离合器组成,离合器又有普通离合器和减速离合器两种。其中普通离合器用在采用小波轮的套桶洗衣机上,这种洗衣机在洗涤或者漂洗时波轮的转速和脱水时离心桶的转速相同,目前各种大波轮新水流套桶洗衣机普遍采用减速离合器,它在洗涤,漂洗时波轮的转速较慢,而脱水时离心桶的转速较快。电动机同时作为洗涤和脱水时的动力源,普遍采用主,副绕组完全对称的电容式电动机。
洗衣机的基本工作原理
洗衣机的洗涤原理是由模拟人工洗涤衣物发展而来的,即通过翻滚、摩擦、水的冲刷等机械作用以及洗涤剂的表面活化作用,将附着在衣物上的污垢除掉,以达到洗净衣物的目的。现今,大多数的全自动洗衣机都使用以单片机为核心的控制电路来控制电动机、数码显示管、进水阀、排水阀及蜂鸣器的电压输出,使洗衣机根据程序运转。而在设计全自动洗衣机的控制系统时,要把握好洗涤、漂洗和脱水的时间:
(1).洗涤时间
有人认为,洗涤时间越长,衣物就洗得越干净。其实不然,如果洗涤时间超过一定的限度,衣物不但不会随洗涤时间的延长而提高洗净度,反而会加速衣物的磨损,还会造成能源的浪费。实验证明,洗衣机(波轮式洗衣机)的最佳洗涤时间为5~10分钟,最长也不应超过15分钟。
(2).漂洗时间
在漂洗刚开始的3分钟时间内,残留在衣物上的表面活性剂脱落最快。此后,活性剂脱落趋缓,漂洗10分钟后活性剂几乎不再脱落。一般采用贮水方式漂洗,每次3分钟,漂洗2~3次就可以了。
(3).脱水时间
电动机高速地转动洗涤桶,水份就会由于离心力而脱离衣物被甩出去。脱水时间一般为2~3分钟,时间太短会造成脱水不够彻底,太长又可能会损坏衣物。
总体设计思想
首先构思系统的总体结构,根据设计要求确定好系统大致的硬件组成及其结构,其次根据系统的各个功能把软件分为几个不同的模块。依次实现各个模块的功能,最后把各个模块组合起来已完成整个系统的功能。3.2 洗衣过程流程图
3.3 设计流程图
弄清系统的需求根据系统的需求设计出相应的硬件电路在确定系统硬件结构的基础上,把软件划分为各个模块调试各个模块,并组成一个完整的系统
四
硬件设计
4.1 硬件设计概要
用Intel的8086作为控制芯片,配合其他接口电路及配套的芯片组成洗衣机的控制电路。主要用到8255串行通行芯片,74LS137三线八线译码器发出片选信号,AD0809以及DA0832模数、数模转换芯片。用一个电位计和AD0809模拟水量信号,DA0832和LM324运放最和来控制直流电机的正反转和停止。此外还用到了4*4扫描键盘作为输入设备,两个共阴数码管作为显示设备。详情见各个芯片的介绍。
4.2 所用到的芯片及其各自功能说明 4.2.1芯片列表
8086,8284,74LS138,8255,AD0809,DA0832,74LS02,LM324 4.2.2 8086的功能简介
Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久,Intel 8088就推出了,拥有一个外部的8位数据总线,允许便宜的芯片用途。它是以8080和8085(它与8080有组合语言上的原始码兼容性)的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线界面单元(Bus Interface Unit)透过6字节预存(prefecth)的队列(queue)喂指令给执行单元(Execution Unit),所以取指令和执行是同步的,8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。为了便于对存储器进行存取操作,每一个存储单元都有一个惟一的地址与之对应,其地址范围用十进制表示为0~1048575,用十六进制表示为00000H~FFFFFH。
Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。
Intel 8086有四个 内存区段(segment)寄存器,可以从索引寄存器来设定。区段寄存器可以让 CPU 利用特殊的方式存取1 MB内存。8086 把段地址左移 4 位然后把它加上偏移地址。大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。尽管这样对组合语言而言大部分被接受(也甚至有
用),可以完全地控制分段,使在编程中使用指针(如C 编程语言)变得困难。它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。更坏的是,这种方式产生要让内存扩充到大于 1 MB 的困难。而 8086 的寻址方式改变让内存扩充较有效率。
在这个系统中,8086作为整个系统的主控芯片,用来控制协调整个系统的工作。
4.2.3
8284的功能简介
向8086CPU提供外部的基准时钟信号,并把时钟信号进行功率放大。
4.2.3 74LS138的功能简介
74LS138 为3 线-8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式,其工作原理如下:
当一个选通端(E3)为高电平,另两个选通端(E1)和/(E2))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电译出。
利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。
若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器,在该系统中,74LS138用来产生各芯片的片选信号。
4.2.4 8255的功能简介
8255特性
(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.(2)具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.8255引脚功能
RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行
输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。'
A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.当A0=0,A1=0时,PA口被选择;
当A0=0,A1=1时,PB口被选择;
当A0=1,A1=0时,PC口被选择;当A0=1.A1=1时,控制寄存器被选择
4.2.5 AD0809的功能简介
1、ADC0809 是8 位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成(见图1)。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。
2、AD0809 的工作原理
IN0-IN7:8 条模拟量输入通道
ADC0809 对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:4条
ALE 为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B 和C 为地址输入线,用于选通IN0-IN7 上的一路模拟量输入。通道选择表如下表所示。
C B A 选择的通道
0 0 0 IN0
0 0 1 IN1
0 1 0 IN2
0 1 1 IN3 0 0 IN4 0 1 IN5 1 0 IN6 1 1 IN7
数字量输出及控制线:11 条
ST 为转换启动信号。当ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。
CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。
4.2.6 DA0832芯片的功能简介
DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
DAC0832的主要特性参数如下:
分辨率为8位;
电流稳定时间1us;
可单缓冲、双缓冲或直接数字输入;
只需在满量程下调整其线性度;
单一电源供电(+5V~+15V);
低功耗,200mW。DAC0832结构:
D0~D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);
ILE:数据锁存允许控制信号输入线,高电平有效;
CS:片选信号输入线(选通数据锁存器),低电平有效;
WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR1、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。
IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;
IOUT2:电流输出端2,其值与IOUT1值之和为一常数;
Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;
Vcc:电源输入端,Vcc的范围为+5V~+15V;
VREF:基准电压输入线,VREF的范围为-10V~+10V;
AGND:模拟信号地
DGND:数字信号地 DAC0832的工作方式:
根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。
4.2.7 LM324芯片功能简介
LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器可用图1所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。
LM324的引脚排列图
LM324的特点: 1.短跑保护输出 2.真差动输入级
3.可单电源工作:3V-32V 4.低偏置电流:最大100nA 5.每封装含四个运算放大器。6.具有内部补偿的功能。7.共模范围扩展到负电源 8.行业标准的引脚排列 9.输入端具有静电保护功能 4.3 硬件电路设计系统原理图及其说明
微机总线扩展键盘DB译码电路并行接口功放电路电机驱动电路排水闸驱动电路进水闸驱动电路AB门开关定时器A/D时钟电路水位传感器启动按钮及电路IRQiDBIRQjIRQk
图4.3-1系统总体框架。图4.3-2系统硬件电路
五
软件设计
5.1 流程图及其说明
正传washytpe秒并刷新数码管开始判断按下启动键FalseTure停转5秒秒并刷新数码管设置洗衣方式其他反转washtype秒秒并刷新数码管FalseWashtype=151从键盘读一个数据2Washtype=10停转5秒秒并刷新数码管修改显示参数更新剩余时间设置洗衣时间设置定时洗衣时间判断到达定时时间TureFalse判断到达洗衣时间TureTure排水并显示当前水量False进水打开并显示当前水量False判断水排干Ture判断水满甩干,电机加速正传2分钟漂洗若干次并甩干,流程同上故障 服务中断程序有故障标志吗?False结束,电机停转,三分钟开机保护14
说明:软件可以分为10大块,分别为主程序、键盘扫描子程序、参数设置子程序、延时子程序、显示子程序、进水子程序、排水子程序、甩干子程序、停止及开机延时保护子程序组成。其中,进水、洗衣、排水为一次洗衣的三个不同状态,由相应的子程序来控制电机的运动和进水排水。它们的关系如图5.1-2.主程序参数设置进水洗衣排水甩干停止及开机保护键盘扫描延时显示 图5.1-2
5.2 源程序及其说明
CODE SEGMENT
ASSUME
CS:CODE
WASHTIME DW
20H
WASHTYPE DW
08H
ONTIME DW
00H
TIME DW
0
ADPORT EQU
0010H
ORG
1000H
IOCONPT EQU
0FF2BH
IOAPT EQU
0FF28H
IOBPT EQU
0FF29H
IOCPT EQU
0FF2AH
ORG
10E0H
DAPORT EQU
0020H
ORG
10A0H
MAIN PROC
;键盘参数设置
MOV
AL,01H
CALL
CONVERS
CALL
DISP
;显示01,提示输入洗衣时间
CALL
KEY
MOV
DL,10
MUL
DL
MOV
WASHTIME,AX
CALL
KEY
CBW
ADD
WASHTIME,AX
K1: MOV
AL,02
;显示02;提示选择洗衣方式
CALL
CONVERS
CALL
DISP
CALL
KEY
CMP
AL,2
JA
K1
CMP
AL,1
JB
K1
CMP
AL,1
JE
RUOXI
CMP
AL,2
JE
QIANGXI
RUOXI: MOV
WASHTYPE,08H
JMP
NEXT
QIANGXI: MOV
WASHTYPE,0FH
NEXT: MOV
AL,03
;显示3,提示输入定时时间
CALL
CONVERS
CALL
DISP
CALL
KEY
MOV
DL,10
MUL
DL
MOV
ONTIME,AX
CALL
KEY
CBW
ADD
ONTIME,AX
MOV
CX,ONTIME
LOOP
K2
K2: CALL
DELAY
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ADD
AX,WASHTIME
ADD
AX,WASHTIME
ADD
AX,WASHTIME
MOV
TIME,AX
CALL
STEP1
;洗衣
MOV
CX,WASHTIME
LOOP
WASH
CALL
STEP3
CALL
SHUAIGAN
CALL
STEP1
;漂洗
MOV
CX,WASHTIME
LOOP
WASH
CALL
STEP3
CALL
SHUAIGAN
CALL
STEP1
;漂洗
MOV
CX,WASHTIME
LOOP
WASH
CALL
STEP3
CALL
SHUAIGAN
CALL
STOP
;洗衣完成,三分钟启动保护
JMP
MAIN
MAIN ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;WASH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WASH PROC
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
MOV
DX,DAPORT
DACON1: MOV
AL,0FFH
OUT
DX,AL
MOV
CX,WASHTYPE
LOOP
W1
W1: CALL
DELAY
DACON2: MOV
AL,80H
OUT
DX,AL
MOV
CX,8H
LOOP
W2
W2: CALL
DELAY
DACON3:
MOV
AL,00H
OUT
DX,AL
MOV
CX,WASHTYPE
LOOP
W3
W3: CALL
DELAY
MOV
AL,80H
OUT
DX,AL
MOV
CX,8H
LOOP
W4
W4: CALL
DELAY
DEC
TIME
MOV
AX,TIME
CALL
CONVERS
CALL
DISP
POP
DX
POP
CX
POP
BX
POP
AX
RET
WASH ENDP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STEP1;;;;;;;;;;;;;;;;;;;;;;;;
STEP1 PROC
;判断水位
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
ADCONTORL: CALL
FORMAT
ADCON: MOV
AX,00
MOV
DX,ADPORT
OUT
DX,AL
DELAYS: LOOP
DELAYS
MOV
DX,ADPORT
MOV
DX,ADPORT
IN
AL,DX
PUSH
AX
CALL
CONVERS
CALL
DISP
POP
AX
CMP
AL,0EEH
JAE
LA
CALL
JINSHU
LA: MOV
DX,IOCONPT;水满,关水
MOV
AL,89H
OUT
DX,AL
MOV
DX,IOCPT
IN
AL,DX
AND
AL,0FEH
PUSH
AX
MOV
DX,IOCONPT
MOV
AL,80H
OUT
DX,AL
MOV
DX,IOCPT
POP
AX
OUT
DX,AL
POP
DX
POP
CX
POP
BX
POP
AX
RET
STEP1 ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;JINSHU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
JINSHU
PROC
;控制进水
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
MOV
DX,IOCONPT
MOV
AL,89H
OUT
DX,AL
MOV
DX,IOCPT
IN
AL,DX
OR
AL,01H
PUSH
AX
MOV
DX,IOCONPT
MOV
AL,80H
OUT
DX,AL
MOV
DX,IOCPT
POP
AX
OUT
DX,AL
POP
DX
POP
CX
POP
BX
POP
AX
JMP
ADCON
JINSHU
ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;XIANSHI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CONVERS:
;字符转换
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
MOV
AH,AL
AND
AL,0FH
DISP:
DISP0:
DISP1:
MOV
BX,077AH MOV
DS:[BX],AL INC
BX MOV
AL,AH AND
AL,0F0H MOV
CL,04H SHR
AL,CL MOV
DS:[BX],AL POP
DX POP
CX POP
BX POP
AX RET
;显示 PUSH
AX PUSH
BX PUSH
CX PUSH
DX MOV
DX,077FH MOV
AH,20H MOV
CX,00FFH MOV
BX,DX MOV
BL,DS:[BX] MOV
BH,0H PUSH
DX MOV
DX,0FF22H MOV
AL,CS:[BX+1060H] OUT
DX,AL MOV
DX,0FF21H MOV
AL,AH OUT
DX,AL LOOP
DISP1 POP
DX
DEC
DX
SHR
AH,01H
JNZ
DISP0
MOV
DX,0FF22H
MOV
AL,0FFH
OUT
DX,AL
POP
DX
POP
CX
POP
BX
POP
AX
RET
DATA1:
0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0AH
DB
86H,8EH,0FFH,0CH,89H,0DEH,0C7H,8CH,0F3H,0BFH
FORMAT:
;显示初始化
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
MOV
BX,0
MOV
WORD PTR DS:[BX+077AH],0000H
ADD
BX,2
MOV
WORD PTR DS:[BX+077AH],0009H
ADD
BX,2
MOV
WORD PTR DS:[BX+077AH],0008H
POP
DX
POP
CX
POP
BX
POP
AX
RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STEP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
STEP3 PROC
;判断水是否排干?
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX ADCON1TORL: CALL
FORMAT
ADCON1: MOV
AX,00
MOV
DX,ADPORT
OUT
DX,AL
MOV
CX,0500H
DB
DELAYSS: LOOP
DELAYSS
MOV
DX,ADPORT
IN
AL,DX
PUSH
AX
CALL
CONVERS
CALL
DISP
POP
AX
CMP
AL,08H
JBE
LAA
CALL
PAISHU
LAA: MOV
DX,IOCONPT;排干,停止排水
MOV
AL,89H
OUT
DX,AL
MOV
DX,IOCPT
IN
AL,DX
AND
AL,0FDH
PUSH
AX
MOV
DX,IOCONPT
MOV
AL,80H
OUT
DX,AL
MOV
DX,IOCPT
POP
AX
OUT
DX,AL
POP
DX
POP
CX
POP
BX
POP
AX
RET
STEP3 ENDP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;PAISHU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PAISHU PROC
;控制进水
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
MOV
DX,IOCONPT
MOV
AL,89H
OUT
DX,AL
MOV
DX,IOCPT
IN
AL,DX
OR
AL,02H
PUSH
AX
MOV
DX,IOCONPT
MOV
AL,80H
OUT
DX,AL
MOV
DX,IOCPT
POP
AX
OUT
DX,AL
POP
DX
POP
CX
POP
BX
POP
AX
JMP
ADCON1
PAISHU ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;SHUAIGAN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SHUAIGAN PROC
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
MOV
DX,DAPORT
MOV
AL,0FFH
OUT
DX,AL
MOV
CX,80H
LOOP
SHUA1
SHUA1: CALL
DELAY
MOV
AL,80H
OUT
DX,AL
POP
DX
POP
CX
POP
BX
POP
AX
RET
SHUAIGAN ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DELAY;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY:
POP
DX
POP
CX
POP
BX
POP
AX
MOV
CX,0FFFFH
DELAY1: LOOP
DELAY1
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STOP;;;;;;;;;;;;;;;;;;;;;;;;
STOP PROC
PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
MOV
CX,0FFFFH
LOOP
DE
DE: CALL
DELAY
POP
DX
POP
CX
POP
BX
POP
AX
RET
STOP ENDP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;键盘扫描;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KEY: PUSH
AX
PUSH
BX
PUSH
CX
PUSH
DX
MOV
AL,0FFH
MOV
DX,0FF22H
OUT
DX,AL
MOV
BL,00H
MOV
AH,0FEH
MOV
CX,08H
KEY1: MOV
AL,AH
MOV
DX,0FF21H
OUT
DX,AL
SHL
AL,01H
MOV
AH,AL
NOP
NOP
NOP
NOP
NOP
NOP
MOV
DX,0FF23H
IN
AL,DX
NOT
AL
NOP
NOP
AND
AL,0FH
JNZ
KEY2
INC
BL
LOOP
KEY1
JMP
KEY
KEY2: TEST
AL,01H
JE
KEY3
MOV
AL,00H
JMP
KEY6
KEY3: TEST
AL,02H
JE
KEY4
MOV
AL,08H
JMP
KEY6
KEY4: TEST
AL,04H
JE
KEY5
MOV
AL,10H
JMP
KEY6
KEY5: TEST
AL,08H
JE
KEY
MOV
AL,18H
KEY6: ADD
AL,BL
CMP
AL,10H
JNC
FKEY
MOV
BL,AL
MOV
BH,0H
MOV
AL,BYTE PTR DS:[BX+DATA2]
POP
DX
POP
CX
POP
BX
POP
AX
FKEY: RET
DATA2: DB
07H,04H,08H,05H,09H,06H,0AH,0BH
DB
01H,00H,02H,0FH,03H,0EH,0CH,0DH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CODE ENDS
END
MAIN 收获、体会
在这次微机的课程设计中进一步熟悉的汇编语言的编程方法,借助现代的网络技术,解决问题,不让问题遗留到下一天,极大地加快的进度,也让我们对汇编有了更深一层的认识,并且还让我们初步领略到计算机控制的魅力,可谓一举多得。
课程设计是我们从书本到实践非常关键的一步,当代大学生动手创新能力是社会所急需的,正因如此我们应该加强对自身动手实践能力的锻炼。当今社会计算机科学在应用上得到飞速发展,因此,学习知识必须紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最终到达胜利的彼岸。
课程设计中我们不仅培养了我们的实践能力,也培养了我们发现问题、分析问题、解决问题的能力。在学习设计过程中我查询了相关资料,也学习到了很多东西。感谢老师的谆谆教导和学校给我们提供了这么一次机会。
参考文献
微型计算机技术及应用,戴梅萼,清华大学出版社