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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全自动洗衣机单片机课

程设计

Document number【980KGB-6898YT-769T8CB-246UT-18GG08】

一、设计目标

1、全自动洗衣机

用51系列单片机89C51控制全自动洗衣机的运行,使其能自动地完成进水、洗涤、漂洗、脱水等功能。不同的衣物,洗涤、漂洗、脱水和洗衣电机正反转所用的时间不同,要求设计能够实现过程选择,并在LED显示屏上显示过程代码。在运行的时候能显示完成整个过程的剩余时间。

2、洗衣机主要功能:进水、洗涤、脱水、排水

具体功能有浸泡、强力洗、轻柔洗、标准洗、快速洗、单独洗、单独脱水、漂洗脱水

二、设计过程

洗衣机要实现衣服的洗涤、漂洗和脱水,离不开进水、电机正转、电机反转和排水这四个动作。上述四个动作,是通过单片机的P0端口,做输出端口,去控制双向可控硅通断来实现的,如下图所示。同时加上输入开关的按钮、数码管显示器、蜂鸣按警器和欠压检测保护电路等,就可以形成完整的单片机控制系统。通过软件编程达到对整个洗衣过程进行控制、检测以及与用户交互。

三、设计结果

(1)硬件部分

1、电路图

2、PCB版图

(2)、汇编语言

洗衣机的一次洗衣过程控制过程主要为顺序控制,如先进水、洗涤(电机正转反转)、再排水脱水。将把脱水、洗涤、进水单独编为一个子程序,由主程序根据过程选择,不断调用,可以减少源程序的长度,不同的洗衣过程,三大动作的时间不同,这可以通过建立数据表格,通过查表的方式获得每个洗衣过程所需时间。此外,还需编出显示子程序,延时子程序供主程序不断调用。

1、流程图

(1)、洗衣机控制系统主程序流程图

(2)洗涤动作子程序流程图

(3)脱水子程序流程图

2、程序

ORG 0000H

LJMP MAIN

ORG 0030H

;延迟10ms程序

;使用R0, R1

DELAY10MS:

MOV R0, #100D;

DELAY10MS02:

MOV R1, #23D

DELAY10MS01:

DJNZ R1, DELAY10MS01

DJNZ R0, DELAY10MS02

RET

;显示子程序

;闪烁标志位:=0不闪烁,=1在1s 内亮灭一次

;程序开始标志:=1开始, =0选择;显示缓冲:50H

;经过的时间:53H,52H,51H=分钟,秒,20ms的次数

;总时间:TOTALTIME=40H

TOTALTIME EQU 40H DISPLAY:

PUSH ACC

PUSH PSW

SETB RS0

JNB , DISPLAY01

MOV A, 50H ;高位是否为零

CJNE A, #0AH, DISPLAY05 DISPLAY05:

JNC DISPLAY06

XRL A, #0F0H ;高位为零不显示

MOV 50H, A

DISPLAY06:

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, #DISPLAYTAB;

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

;1min

DISPLAY03:

JNB , DISPLAY04;

MOV A, TOTALTIME ;计算剩余时间

CLR C

SUBB A, 53H ;

MOV B, #10D

;16进制转换到10进制

DIV AB

SWAP A

XRL A, B ;

MOV 50H, A ; DISPLAY04:

POP PSW

POP ACC

RET

DISPLAYTAB: ;共阳数码管反向编码

DB 03H, 9FH, 25H, 0DH, 99H

;01234

DB 49H, 41H, 1FH, 01H, 09H

;56789

DB 11H, 0C1H, 63H, 85H, 61H ;ABCDE

DB 0FFH ;暗

;重算时间

;入口数据:A=总时间(分)CALUTIME:

MOV TOTALTIME, A

CLR A

MOV 52H, A ;秒

相关文档
最新文档