全自动洗衣机单片机课程设计报告_第1页
全自动洗衣机单片机课程设计报告_第2页
全自动洗衣机单片机课程设计报告_第3页
全自动洗衣机单片机课程设计报告_第4页
全自动洗衣机单片机课程设计报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-PAGE . z一、设计目标1、全自动洗衣机用51系列单片机89C51控制全自动洗衣机的运行,使其能自动地完成进水、洗涤、漂洗、脱水等功能。不同的衣物,洗涤、漂洗、脱水和洗衣电机正反转所用的时间不同,要求设计能够实现过程选择,并在LED显示屏上显示过程代码。在运行的时候能显示完成整个过程的剩余时间。2、洗衣机主要功能:进水、洗涤、脱水、排水 具体功能有浸泡、强力洗、轻柔洗、标准洗、快速洗、单独洗、单独脱水、漂洗脱水二、设计过程洗衣机要实现衣服的洗涤、漂洗和脱水,离不开进水、电机正转、电机反转和排水这四个动作。上述四个动作,是通过单片机的P0端口,做输出端口,去控制双向可控硅通断来实现的,如下

2、列图所示。同时加上输入开关的按钮、数码管显示器、蜂鸣按警器和欠压检测保护电路等,就可以形成完整的单片机控制系统。通过软件编程到达对整个洗衣过程进展控制、检测以及与用户交互。单片机89C51进水电磁阀排水电磁阀电机正转电机反转显示屏蜂鸣器 水位开关 平安开关 程序选择/启动/暂停 可控硅* 4个220V 洗衣机单片机控制系统方框图三、设计结果1硬件局部1、电路图2、PCB幅员(2)、汇编语言洗衣机的一次洗衣过程控制过程主要为顺序控制,如先进水、洗涤(电机正转反转)、再排水脱水。将把脱水、洗涤、进水单独编为一个子程序,由主程序根据过程选择,不断调用,可以减少源程序的长度,不同的洗衣过程,三大动作的

3、时间不同,这可以通过建立数据表格,通过查表的方式获得每个洗衣过程所需时间。此外,还需编出显示子程序,延时子程序供主程序不断调用。1、流程图1、洗衣机控制系统主程序流程图开场用户选择洗衣过程是否洗涤完毕进水洗涤排水2D7秒进水是否漂洗是否脱水置注水漂洗标志置最后脱水标志间歇脱水最后长脱水是否为最后脱水完毕鸣响中间长脱水洗涤是否为注水漂洗置注水漂洗标志2洗涤动作子程序流程图开场根据过程代码获取电机正转-停顿-反转-停顿的时间周期电机动作进水处理是否进水快速洗标志?时间到否?是否暂停重启否设定快速洗时间和电机正转停顿反转停顿周期清标志暂停处理完毕 是 否 否 是 否 是 否 是 是 否3脱水子程序流

4、程图延时5秒电机动作暂停处理平安开关是否断开脱水时间到否平安开关断开暂停不平衡修正报警重置修正次数是否暂停是否暂停开场平安开关是否断开延时30秒,关闭排水阀是否瞬连续开不平衡修正3次脱水不平衡修正平安开关是否闭合显示鸣叫报警完毕束是否否是是否否是是否否是是2、程序-. zORG 0000HLJMP MAINORG 0030H;延迟10ms程序;使用R0, R1DELAY10MS:MOV R0, #100D;DELAY10MS02:MOV R1, #23DDELAY10MS01:DJNZ R1, DELAY10MS01DJNZ R0, DELAY10MS02RET;显示子程序;20H.0闪烁标志

5、位:=0不闪烁,=1在1s亮灭一次;20H.1程序开场标志:=1开场, =0选择;显示缓冲:50H;经过的时间:53H,52H,51H=分钟,秒,20ms的次数;总时间:TOTALTIME=40HTOTALTIME EQU 40HDISPLAY:PUSH ACCPUSH PSWSETB RS0JNB 20H.1, DISPLAY01MOV A, 50H ;高位是否为零CJNE A, #0AH, DISPLAY05DISPLAY05:JNC DISPLAY06*RL A, #0F0H;高位为零不显示MOV 50H, ADISPLAY06:JNB 20H.0, DISPLAY01;是否需闪烁MOV

6、 A, 51HCJNE A, #25D, DISPLAY02;DISPLAY02:JC DISPLAY01MOV 50H, #0FFH;暗显示(不亮)DISPLAY01:MOV A, 50H;显示低位ANL A, #0FH;MOV DPTR, #DISPLAYTAB;MOVC A, A+DPTR;MOV P2, A;SETB P0.6CLR P0.7LCALL DELAY10MSMOV A, 50H;显示高位SWAP AANL A, #0FH;MOV DPTR, #DISPLAYTAB;MOVC A, A+DPTR;MOV P2, A;CLR P0.6SETB P0.7LCALL DELAY1

7、0MSINC 51H;累计时间MOV A, #50D;*RL A, 51H;JNZ DISPLAY03;50次的20ms未到MOV 51H, A;INC 52H;1sMOV A, #60D;*RL A, 52H;JNZ DISPLAY03MOV 52H, A;INC 53H;1minDISPLAY03:JNB 20H.0, DISPLAY04;MOV A, TOTALTIME;计算剩余时间CLR CSUBB A, 53H;MOV B, #10D ;16进制转换到10进制DIV ABSWAP A*RL A, B;MOV 50H, A;DISPLAY04:POP PSWPOP ACCRETDISP

8、LAYTAB: ;共阳数码管反向编码DB 03H, 9FH, 25H, 0DH, 99H;01234DB 49H, 41H, 1FH, 01H, 09H;56789DB 11H, 0C1H, 63H, 85H, 61H;ABCDEDB 0FFH;暗;重算时间;入口数据:总时间分CALUTIME:MOV TOTALTIME, ACLR AMOV 52H, A;秒MOV 53H, A;经过的分钟RET;鸣叫一下, 时长120msPLAY:SETB P1.6MOV R0, #12D;PLAY1:LCALL DISPLAYDJNZ R0, PLAY1CLR P1.6RET;鸣叫六下, 时长240ms*

9、12ALARM:SETB P1.6MOV R1, #11D;ALARM2:MOV R0, #12D;ALARM3:LCALL DISPLAYDJNZ R0, ALARM3CPL P1.6DJNZ R1, ALARM2RET;洗涤用子程序;洗涤时暂停按键*DPAUSE: P0.0, *DPS01LCALL DISPLAY P0.0, *DPS01PUSH 52HPUSH 53HCLR 20H.0;不闪烁MOV A, P1PUSH ACCMOV P1, #00HLCALL PLAY*DPS02:LCALL DISPLAYJNB P0.0, *DPS02;等待按键释放*DPS03:LCALL DIS

10、PLAY P0.0, *DPS03LCALL DISPLAY P0.0, *DPS03LCALL PLAY*DPS04:LCALL DISPLAYJNB P0.0, *DPS04;等待按键释放POP ACCMOV P1, ACCSETB 20H.0POP 53HPOP 52H*DPS01:RET;洗涤时延迟0.32sDELAY320MS:MOV R2, #14D;SJMP *DELAY01;洗涤时延迟0.56s*DELAY560MS:MOV R2, #28DSJMP *DELAY01;洗涤时延迟1s*DELAY1S:MOV R2, #50DSJMP *DELAY01;洗涤时延迟1.6sDELA

11、Y1600MS:MOV R2, #80D*DELAY01:LCALL DISPLAYLCALL *DPAUSE;暂停按键LCALL IFINWATER;水位开关DJNZ R2, *DELAY01RET;洗涤前进水子程序INWATER:JNB P0.2, PI1;SETB P1.2MOV A, 53H;ADD A, #20D;MOV 59H, A; PI3:MOV A, 53H;*RL A, 59H;JNZ PI2LCALL ERRORE4SJMP INWATER PI2:JNB P0.2, PI4;LCALL DISPLAYLCALL *DPAUSESJMP PI3 PI4:CLR P1.2

12、PI1:RET;洗涤时是否再进水IFINWATER:JNB P0.2, IF1;MOV A, P1;PUSH ACCMOV P1, #00H;LCALL INWATER;进水POP ACCMOV P1, A;IF1:RET;不能进水报警ERRORE4:PUSH 52HPUSH 53HCLR 20H.0MOV A, P1;PUSH ACCMOV P1, #00H;MOV 50H, #0E4HLCALL ALARME4PK2:LCALL DISPLAYJNB P0.1, E4PK2;LCALL DISPLAYJNB P0.1, E4PK2E4PK3:LCALL DISPLAY P0.1, E4PK

13、3LCALL DISPLAY P0.1, E4PK3SETB 20H.0POP ACCMOV P1, ACC;POP 53HPOP 52HRET;排水时延迟1sDELAY1000MS:MOV R2, #50D;DLY51:LCALL DISPLAYLCALL *DPAUSE;暂停按键DJNZ R2, DLY51;RET;排水子程序OUTWATER:CLR ASETB P1.3 P0.2, OUTW1MOV R7, #60DOUTW2:LCALL DELAY1000MS P0.2, OUTW4DJNZ R7, OUTW2LCALL ERRORE1SJMP OUTWATEROUTW4:CLR CM

14、OV A, #60DSUBB A, R7OUTW1:ADD A, #60DMOV R7, AOUTW3:LCALL DELAY1000MSDJNZ R7, OUTW3RET;不能排水报警ERRORE1:PUSH 52HPUSH 53HCLR 20H.0MOV A, P1;PUSH ACCMOV P1, #00H;MOV 50H, #0E1HLCALL ALARME1PK2:LCALL DISPLAYJNB P0.1, E1PK2;LCALL DISPLAYJNB P0.1, E1PK2E1PK3:LCALL DISPLAY P0.1, E1PK3LCALL DISPLAY P0.1, E1PK

15、3SETB 20H.0POP ACCMOV P1, ACC;POP 53HPOP 52HRET;脱水时暂停按键TPKEY: P0.0, TPK1;LCALL DISPLAY P0.0, TPK1;PUSH 52HPUSH 53HCLR 20H.0LCALL PLAYMOV A, P1;PUSH ACCJNB ACC.0, TPK6CLR P1.0MOV R0, #250;延迟秒TPK5:LCALL DISPLAYDJNZ R0, TPK5TPK6:MOV P1, #00H;TPK2:LCALL DISPLAYJNB P0.0, TPK2;TPK3:LCALL DISPLAY P0.0, TPK

16、3LCALL DISPLAY P0.0, TPK3LCALL PLAYSETB 20H.0SETB P1.3MOV R0, #250;延迟秒TPK4:LCALL DISPLAYDJNZ R0, TPK4POP ACCMOV P1, ACC;POP 53HPOP 52HTPK1:RET;脱水时开盖, 脱水时平安报警IFOPEN:ERRORE2:JNB P0.1, TTPK1;LCALL DISPLAYJNB P0.1, TTPK1;PUSH 52HPUSH 53HCLR 20H.0MOV A, P1;PUSH ACC;LCALL ALARMJNB ACC.0, TTPK6CLR P1.0MOV

17、R0, #250;延迟秒TTPK5:LCALL DISPLAYDJNZ R0, TTPK5TTPK6:MOV P1, #00H;MOV 50H, #0E2HTTPK2:LCALL DISPLAY P0.1, TTPK2;TTPK3:LCALL DISPLAY P0.1, TTPK2LCALL DISPLAY; P0.1, TTPK3SETB 20H.0SETB P1.3MOV R0, #250;延迟秒TTPK4:LCALL DISPLAYDJNZ R0, TPK4POP ACCMOV P1, ACC;POP 53HPOP 52HTTPK1:RET;脱水时延迟4sDELAY4S:MOV R2,

18、#200D; DLY431:LCALL DISPLAYLCALL TPKEY;暂停按键LCALL IFOPEN;平安开关DJNZ R2, DLY431;RET;脱水时延迟3sDELAY3S:MOV R2, #150D;DLY321:LCALL DISPLAYLCALL TPKEY;暂停按键LCALL IFOPEN;平安开关DJNZ R2, DLY321;RET;主程序开场;选择程序:30H, 程序开场20H.1=1MAIN:MOV SP, #60H;CLR 20H.0CLR 20H.1MOV A, #00H;MOV P1, A;MOV 50H, A;MOV 51H, A;MOV 52H, A;

19、MOV 53H, A;MOV 30H, A;LP1:;有无按键LCALL DISPLAY P0.0, LP1;LCALL DISPLAY;按键去抖动 P0.0, LP1;LP3:INC 30HMOV A, #0AH ;共有九种可选择*RL A, 30H;JNZ LP2MOV 30H, #01H;LP2:LCALL PLAYMOV 50H, 30H;LP4:LCALL DISPLAYJNB P0.0, LP4;等待按键释放CLR AMOV 52H, A;LP5:LCALL DISPLAYMOV A, 52H;*RL A, #03H ;3秒延迟到否JZ START;开场洗衣 P0.0, LP5;S

20、JMP LP3;重选洗衣程序START:LCALL ALARMSETB 20H.1CLR AMOV 52H, A;MOV A, 30H;DEC AMOV B, #03H;MUL ABMOV DPTR, #PROCTAB;JMP A+DPTRPROCTAB:LJMP PROC1;洗衣程序LJMP PROC2;洗衣程序LJMP PROC3;洗衣程序LJMP PROC4;洗衣程序LJMP PROC5;洗衣程序LJMP PROC6;洗衣程序LJMP PROC7;洗衣程序LJMP PROC8;洗衣程序LJMP PROC9;洗衣程序PROC1:MOV A, #59DLCALL CALUTIMESETB 2

21、0H.0LCALL INWATER;进水MOV A, #57DLCALL CALUTIME;洗涤3分钟MOV R7, #42D;*IDI0:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL *DELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL *DELAY560MSDJNZ R7, *IDI0MOV R6, #01D;共4次*3分钟=12分钟MOV R7, #30D;停2分钟*IDI01:LCALL *DELAY1SDJNZ R7, *IDI01MOV R7, #14D;洗涤1分钟*IDI03:SETB P1.0LC

22、ALL DELAY1600MSCLR P1.0LCALL *DELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL *DELAY560MSDJNZ R7, *IDI03DJNZ R6, *IDI02MOV R7, #30D;停2分钟*IDI04:LCALL *DELAY1SDJNZ R7, *IDI04LJMP PROC3;以下同过程PROC2:;(待完成)LJMP overPROC3:MOV A, #42DLCALL CALUTIMESETB 20H.0LCALL INWATER;进水MOV A, #40DLCALL CALUTIME;洗涤15分钟

23、MOV R7, #8D; *IDI:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL *DELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL *DELAY560MSDJNZ R7, *IDI;快速洗涤15秒MOV R7, #11DQ*IDI:SETB P1.0LCALL DELAY320MSCLR P1.0LCALL DELAY320MSSETB P1.1LCALL DELAY320MSCLR P1.1LCALL DELAY320MSDJNZ R7, Q*IDIMOV A, #25DLCALL CALUTIME;排水L

24、CALL OUTWATERMOV A, #23DLCALL CALUTIME;第一次脱水MOV R7, #04D;间隙脱水30秒TS1:SETB P1.0LCALL DELAY4SCLR P1.0LCALL DELAY3SDJNZ R7, TS1SETB P1.0;长脱水秒MOV R7, #10D; TS2:LCALL DELAY4SDJNZ R7, TS2CLR P1.0MOV R7, #250;延迟秒TS25:LCALL DISPLAYDJNZ R7, TS25CLR P1.3MOV A, #20DLCALL CALUTIME;第一次漂洗LCALL INWATERMOV A, #18DLC

25、ALL CALUTIME;洗涤2分钟MOV R7, #08D;*IDI1:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL *DELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL *DELAY560MSDJNZ R7, *IDI1;快速洗涤15秒MOV R7, #11DQ*IDI1:SETB P1.0LCALL DELAY320MSCLR P1.0LCALL DELAY320MSSETB P1.1LCALL DELAY320MSCLR P1.1LCALL DELAY320MSDJNZ R7, Q*IDI1MOV A, #16DLCALL CALUTIME;排水LCALL OUTWATERMOV A, #14DLCALL CALUTIME;第二次脱水MOV R7, #04DTS21:SETB P1.0LCALL DELAY4SCLR P1.0LCALL DELAY3SDJNZ R7, TS21SETB P1.0MOV R7, #10D; TS22:LCALL DELAY4SDJNZ R7, TS22CLR P1.0MOV R7, #250;延迟秒TS26:LCALL DISPLAYDJNZ R7, TS26CLR P1.3MOV A, #12DLCALL CAL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论