ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:249.30KB ,
资源ID:12694770      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-12694770.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全自动洗衣机单片机课程设计.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

全自动洗衣机单片机课程设计.docx

1、全自动洗衣机单片机课程设计 Document number【980KGB-6898YT-769T8CB-246UT-18GG08】全自动洗衣机单片机课程设计一、设计目标1、全自动洗衣机用51系列单片机89C51控制全自动洗衣机的运行,使其能自动地完成进水、洗涤、漂洗、脱水等功能。不同的衣物,洗涤、漂洗、脱水和洗衣电机正反转所用的时间不同,要求设计能够实现过程选择,并在LED显示屏上显示过程代码。在运行的时候能显示完成整个过程的剩余时间。2、洗衣机主要功能:进水、洗涤、脱水、排水 具体功能有浸泡、强力洗、轻柔洗、标准洗、快速洗、单独洗、单独脱水、漂洗脱水二、设计过程洗衣机要实现衣服的洗涤、漂洗和

2、脱水,离不开进水、电机正转、电机反转和排水这四个动作。上述四个动作,是通过单片机的P0端口,做输出端口,去控制双向可控硅通断来实现的,如下图所示。同时加上输入开关的按钮、数码管显示器、蜂鸣按警器和欠压检测保护电路等,就可以形成完整的单片机控制系统。通过软件编程达到对整个洗衣过程进行控制、检测以及与用户交互。 水位开关 安全开关 程序选择/启动/暂停 可控硅X 4个220V 洗衣机单片机控制系统方框图三、设计结果(1)硬件部分1、电路图2、PCB版图(2)、汇编语言 洗衣机的一次洗衣过程控制过程主要为顺序控制,如先进水、洗涤(电机正转反转)、再排水脱水。将把脱水、洗涤、进水单独编为一个子程序,由

3、主程序根据过程选择,不断调用,可以减少源程序的长度,不同的洗衣过程,三大动作的时间不同,这可以通过建立数据表格,通过查表的方式获得每个洗衣过程所需时间。此外,还需编出显示子程序,延时子程序供主程序不断调用。 1、流程图(1)、洗衣机控制系统主程序流程图(2)洗涤动作子程序流程图 是 否 否 是 否 是 否 是 是 否(3)脱水子程序流程图 是否否是是否否是是否否是是2、程序ORG 0000H LJMP MAIN ORG 0030H;延迟10ms程序;使用R0, R1DELAY10MS: MOV R0, #100D;DELAY10MS02: MOV R1, #23DDELAY10MS01: DJ

4、NZ R1, DELAY10MS01 DJNZ R0, DELAY10MS02 RET;显示子程序;闪烁标志位:=0不闪烁,=1在1s内亮灭一次;程序开始标志:=1开始, =0选择;显示缓冲:50H;经过的时间:53H,52H,51H=分钟,秒,20ms的次数;总时间:TOTALTIME=40H TOTALTIME EQU 40HDISPLAY: PUSH ACC PUSH PSW SETB RS0 JNB , DISPLAY01 MOV A, 50H ;高位是否为零 CJNE A, #0AH, DISPLAY05DISPLAY05: JNC DISPLAY06 XRL A, #0F0H ;高

5、位为零不显示 MOV 50H, ADISPLAY06: JNB , DISPLAY01 ;是否需闪烁 MOV A, 51H CJNE A, #25D, DISPLAY02;DISPLAY02: JC DISPLAY01 MOV 50H, #0FFH ;暗显示(不亮)DISPLAY01: MOV A, 50H ;显示低位 ANL A, #0FH; MOV DPTR, #DISPLAYTAB; MOVC A, A+DPTR; MOV P2, A; SETB CLR LCALL DELAY10MS MOV A, 50H ;显示高位 SWAP A ANL A, #0FH; MOV DPTR, #DIS

6、PLAYTAB; MOVC A, A+DPTR; MOV P2, A; CLR SETB LCALL DELAY10MS INC 51H ;累计时间 MOV A, #50D ; XRL A, 51H ; JNZ DISPLAY03 ;50次的20ms未到 MOV 51H, A ; INC 52H ;1s MOV A, #60D; XRL A, 52H ; JNZ DISPLAY03 MOV 52H, A ; INC 53H ;1minDISPLAY03: JNB , DISPLAY04; MOV A, TOTALTIME ;计算剩余时间 CLR C SUBB A, 53H ; MOV B, #

7、10D ;16进制转换到10进制 DIV AB SWAP A XRL A, B ; MOV 50H, A ;DISPLAY04: POP PSW POP ACC RETDISPLAYTAB: ;共阳数码管反向编码 DB 03H, 9FH, 25H, 0DH, 99H ;01234 DB 49H, 41H, 1FH, 01H, 09H ;56789 DB 11H, 0C1H, 63H, 85H, 61H ;ABCDE DB 0FFH ;暗;重算时间;入口数据:总时间(分)CALUTIME: MOV TOTALTIME, A CLR A MOV 52H, A ;秒 MOV 53H, A ;经过的分

8、钟 RET;鸣叫一下, 时长120msPLAY: SETB MOV R0, #12D;PLAY1: LCALL DISPLAY DJNZ R0, PLAY1 CLR RET;鸣叫六下, 时长240ms*12ALARM: SETB MOV R1, #11D;ALARM2: MOV R0, #12D;ALARM3: LCALL DISPLAY DJNZ R0, ALARM3 CPL DJNZ R1, ALARM2 RET;洗涤用子程序;洗涤时暂停按键XDPAUSE: JB , XDPS01 LCALL DISPLAY JB , XDPS01 PUSH 52H PUSH 53H CLR ;不闪烁 M

9、OV A, P1 PUSH ACC MOV P1, #00H LCALL PLAYXDPS02: LCALL DISPLAY JNB , XDPS02 ;等待按键释放XDPS03: LCALL DISPLAY JB , XDPS03 LCALL DISPLAY JB , XDPS03 LCALL PLAYXDPS04: LCALL DISPLAY JNB , XDPS04 ;等待按键释放 POP ACC MOV P1, ACC SETB POP 53H POP 52HXDPS01: RET;洗涤时延迟DELAY320MS: MOV R2, #14D; SJMP XDELAY01;洗涤时延迟XD

10、ELAY560MS: MOV R2, #28D SJMP XDELAY01;洗涤时延迟1sXDELAY1S: MOV R2, #50D SJMP XDELAY01;洗涤时延迟DELAY1600MS: MOV R2, #80DXDELAY01: LCALL DISPLAY LCALL XDPAUSE ;暂停按键 LCALL IFINWATER ;水位开关 DJNZ R2, XDELAY01 RET;洗涤前进水子程序INWATER: JNB , PI1; SETB MOV A, 53H; ADD A, #20D; MOV 59H, A; PI3: MOV A, 53H; XRL A, 59H; J

11、NZ PI2 LCALL ERRORE4 SJMP INWATER PI2: JNB , PI4; LCALL DISPLAY LCALL XDPAUSE SJMP PI3 PI4: CLR PI1: RET;洗涤时是否再进水IFINWATER: JNB , IF1; MOV A, P1; PUSH ACC MOV P1, #00H; LCALL INWATER ;进水 POP ACC MOV P1, A;IF1: RET;不能进水报警ERRORE4: PUSH 52H PUSH 53H CLR MOV A, P1; PUSH ACC MOV P1, #00H; MOV 50H, #0E4H

12、LCALL ALARME4PK2: LCALL DISPLAY JNB , E4PK2; LCALL DISPLAY JNB , E4PK2E4PK3: LCALL DISPLAY JB , E4PK3 LCALL DISPLAY JB , E4PK3 SETB POP ACC MOV P1, ACC; POP 53H POP 52H RET;排水时延迟1sDELAY1000MS: MOV R2, #50D;DLY51: LCALL DISPLAY LCALL XDPAUSE ;暂停按键 DJNZ R2, DLY51; RET;排水子程序OUTWATER: CLR A SETB JB , OU

13、TW1 MOV R7, #60DOUTW2: LCALL DELAY1000MS JB , OUTW4 DJNZ R7, OUTW2 LCALL ERRORE1 SJMP OUTWATEROUTW4: CLR C MOV A, #60D SUBB A, R7OUTW1: ADD A, #60D MOV R7, AOUTW3: LCALL DELAY1000MS DJNZ R7, OUTW3 RET;不能排水报警ERRORE1: PUSH 52H PUSH 53H CLR MOV A, P1; PUSH ACC MOV P1, #00H; MOV 50H, #0E1H LCALL ALARME1

14、PK2: LCALL DISPLAY JNB , E1PK2; LCALL DISPLAY JNB , E1PK2E1PK3: LCALL DISPLAY JB , E1PK3 LCALL DISPLAY JB , E1PK3 SETB POP ACC MOV P1, ACC; POP 53H POP 52H RET;脱水时暂停按键TPKEY: JB , TPK1; LCALL DISPLAY JB , TPK1; PUSH 52H PUSH 53H CLR LCALL PLAY MOV A, P1; PUSH ACC JNB , TPK6 CLR MOV R0, #250 ;延迟秒TPK5:

15、 LCALL DISPLAY DJNZ R0, TPK5TPK6: MOV P1, #00H;TPK2: LCALL DISPLAY JNB , TPK2;TPK3: LCALL DISPLAY JB , TPK3 LCALL DISPLAY JB , TPK3 LCALL PLAY SETB SETB MOV R0, #250 ;延迟秒TPK4: LCALL DISPLAY DJNZ R0, TPK4 POP ACC MOV P1, ACC; POP 53H POP 52HTPK1: RET;脱水时开盖, 脱水时安全报警IFOPEN:ERRORE2: JNB , TTPK1; LCALL D

16、ISPLAY JNB , TTPK1; PUSH 52H PUSH 53H CLR MOV A, P1; PUSH ACC; LCALL ALARM JNB , TTPK6 CLR MOV R0, #250 ;延迟秒TTPK5: LCALL DISPLAY DJNZ R0, TTPK5TTPK6: MOV P1, #00H; MOV 50H, #0E2HTTPK2: LCALL DISPLAY JB , TTPK2;TTPK3: LCALL DISPLAY JB , TTPK2 LCALL DISPLAY; JB , TTPK3 SETB SETB MOV R0, #250 ;延迟秒TTPK4

17、: LCALL DISPLAY DJNZ R0, TPK4 POP ACC MOV P1, ACC; POP 53H POP 52HTTPK1: RET;脱水时延迟4sDELAY4S: MOV R2, #200D; DLY431: LCALL DISPLAY LCALL TPKEY ;暂停按键 LCALL IFOPEN ;安全开关 DJNZ R2, DLY431; RET;脱水时延迟3sDELAY3S: MOV R2, #150D;DLY321: LCALL DISPLAY LCALL TPKEY ;暂停按键 LCALL IFOPEN ;安全开关 DJNZ R2, DLY321; RET;主程

18、序开始;选择程序:30H, 程序开始=1MAIN: MOV SP, #60H; CLR CLR MOV A, #00H; MOV P1, A; MOV 50H, A; MOV 51H, A; MOV 52H, A; MOV 53H, A; MOV 30H, A;LP1: ;有无按键 LCALL DISPLAY JB , LP1; LCALL DISPLAY ;按键去抖动 JB , LP1;LP3: INC 30H MOV A, #0AH ;共有九种可选择 XRL A, 30H; JNZ LP2 MOV 30H, #01H;LP2: LCALL PLAY MOV 50H, 30H;LP4: LC

19、ALL DISPLAY JNB , LP4 ;等待按键释放 CLR A MOV 52H, A;LP5: LCALL DISPLAY MOV A, 52H; XRL A, #03H ;3秒延迟到否 JZ START ;开始洗衣 JB , LP5; SJMP LP3 ;重选洗衣程序START: LCALL ALARM SETB CLR A MOV 52H, A; MOV A, 30H; DEC A MOV B, #03H; MUL AB MOV DPTR, #PROCTAB; JMP A+DPTRPROCTAB: LJMP PROC1 ;洗衣程序 LJMP PROC2 ;洗衣程序 LJMP PRO

20、C3 ;洗衣程序 LJMP PROC4 ;洗衣程序 LJMP PROC5 ;洗衣程序 LJMP PROC6 ;洗衣程序 LJMP PROC7 ;洗衣程序 LJMP PROC8 ;洗衣程序 LJMP PROC9 ;洗衣程序PROC1: MOV A, #59D LCALL CALUTIME SETB LCALL INWATER ;进水 MOV A, #57D LCALL CALUTIME;洗涤3分钟 MOV R7, #42D;XIDI0: SETB LCALL DELAY1600MS CLR LCALL XDELAY560MS SETB LCALL DELAY1600MS CLR LCALL XD

21、ELAY560MS DJNZ R7, XIDI0 MOV R6, #01D ;共4次*3分钟=12分钟 MOV R7, #30D ;停2分钟XIDI01: LCALL XDELAY1S DJNZ R7, XIDI01 MOV R7, #14D ;洗涤1分钟XIDI03: SETB LCALL DELAY1600MS CLR LCALL XDELAY560MS SETB LCALL DELAY1600MS CLR LCALL XDELAY560MS DJNZ R7, XIDI03 DJNZ R6, XIDI02 MOV R7, #30D ;停2分钟XIDI04: LCALL XDELAY1S D

22、JNZ R7, XIDI04 LJMP PROC3 ;以下同过程PROC2: ;(待完成) LJMP overPROC3: MOV A, #42D LCALL CALUTIME SETB LCALL INWATER ;进水 MOV A, #40D LCALL CALUTIME;洗涤15分钟 MOV R7, #8D; XIDI: SETB LCALL DELAY1600MS CLR LCALL XDELAY560MS SETB LCALL DELAY1600MS CLR LCALL XDELAY560MS DJNZ R7, XIDI;快速洗涤15秒 MOV R7, #11DQXIDI: SETB

23、 LCALL DELAY320MS CLR LCALL DELAY320MS SETB LCALL DELAY320MS CLR LCALL DELAY320MS DJNZ R7, QXIDI MOV A, #25D LCALL CALUTIME;排水 LCALL OUTWATER MOV A, #23D LCALL CALUTIME;第一次脱水 MOV R7, #04D ;间隙脱水30秒TS1: SETB LCALL DELAY4S CLR LCALL DELAY3S DJNZ R7, TS1 SETB ;长脱水秒 MOV R7, #10D ; TS2: LCALL DELAY4S DJNZ

24、 R7, TS2 CLR MOV R7, #250 ;延迟秒TS25: LCALL DISPLAY DJNZ R7, TS25 CLR MOV A, #20D LCALL CALUTIME;第一次漂洗 LCALL INWATER MOV A, #18D LCALL CALUTIME;洗涤2分钟 MOV R7, #08D ;XIDI1: SETB LCALL DELAY1600MS CLR LCALL XDELAY560MS SETB LCALL DELAY1600MS CLR LCALL XDELAY560MS DJNZ R7, XIDI1;快速洗涤15秒 MOV R7, #11DQXIDI1

25、: SETB LCALL DELAY320MS CLR LCALL DELAY320MS SETB LCALL DELAY320MS CLR LCALL DELAY320MS DJNZ R7, QXIDI1 MOV A, #16D LCALL CALUTIME;排水 LCALL OUTWATER MOV A, #14D LCALL CALUTIME;第二次脱水 MOV R7, #04DTS21: SETB LCALL DELAY4S CLR LCALL DELAY3S DJNZ R7, TS21 SETB MOV R7, #10D ; TS22: LCALL DELAY4S DJNZ R7,

26、TS22 CLR MOV R7, #250 ;延迟秒TS26: LCALL DISPLAY DJNZ R7, TS26 CLR MOV A, #12D LCALL CALUTIME;第二次漂洗 LCALL INWATER MOV A, #10D LCALL CALUTIME;洗涤2分钟 MOV R7, #08D ; XIDI2: SETB LCALL DELAY1600MS CLR LCALL XDELAY560MS SETB LCALL DELAY1600MS CLR LCALL XDELAY560MS DJNZ R7, XIDI2;快速洗涤15秒 MOV R7, #11DQXIDI2: SETB LCALL DELAY320MS CLR LCALL DELAY320MS SETB LCALL DELAY320MS CLR LCALL DELAY320MS DJNZ R7, QXIDI2PROC8: SETB ;过程需要闪烁 MOV A, #08D LCALL CALUTIME;排水 LCALL OUTWATER MOV A, #06D LCALL CALUTIME

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2