没有合适的资源?快使用搜索试试~ 我知道了~
基于AT89C52单片机的全自动洗衣机控制系统的设计
3星 · 超过75%的资源 需积分: 14 35 下载量 13 浏览量
2009-05-16
21:29:27
上传
评论 4
收藏 71KB DOC 举报
温馨提示
试读
11页
AT89C52单片机以其体积小,功能强大的特性完全可以满足全自动洗衣机控制系统的要求。本次设计的全自动洗衣机不仅可以全自动的完成进水、洗涤、漂洗、排水、脱水等普通洗衣机的功能,它还具有预约、浸泡的功能。
资源推荐
资源详情
资源评论
TIMERM EQU 79H
TIMERS EQU 7AH
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP SINT0
ORG 000BH
LJMP ST0
ORG 0013H
LJMP SINT1
ORG 001BH
LJMP ST1
ORG 0030H
DISLAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
MAIN: CLR F0 ;清标志位
MOV P1,#0 ;关指示灯
MOV P0,#0 ;关显示
MOV P2, #0
CLR P3.0 ;关进水电磁阀
CLR P3.1 ;关排水电磁阀
MOV 70H,#1 ;用于保存标准洗,强力洗,轻柔洗标志
MOV 71H,#3 ;用于保存用户设定的洗衣次数
MOV 72H,#3 ;用于保存用户设定的洗衣时间
MOV 73H,#5 ;用于保存用户设定的脱水时间
MOV 75H,#0 ;定时器 0 对每次洗衣时间计数
MOV 76H,#1 ;用于保存"功能选项"键的值
MOV 78H,#0 ;用于保存电机转动时间
MOV 79H,#0 ;用于保存定时器 0,1 记录的定时秒数
MOV 7AH,#0 ;用于保存定时器 0,1 记录的 0.5s 数
MOV 7DH,#0 ;用于保存电机正,反转标志,0 位正转,1 为反
转
MOV 7EH,#0 ;用于保存用户设置的预约时间
MOV 7FH,#0 ;用于保存用户设置的浸泡时间
MOV TMOD,#11H ;设置定时器 0,1 工作在方式 1
MOV TH0,#3CH ;给定时器设置初值,定时为 0.5S
MOV TL0, #0B0H
MOV TH1, #3CH
MOV TL1, #0B0H
SETB IT0 ;定时器设置为跳变触发方式
SETB IT1
SETB EA ;开总中断
SETB ET0 ;开定时器 0 中断
SETB ET1 ;开定时器 1 中断
SETB EX0 ;开外不中断 0
MLAB1: JNB F0, $ ;等待启动键按下
MOV P1,#0 ;关指示灯
CLR EX0
MOV A, 7EH
JZ LAB2 ;7EH 中内容为 0 则转移,即没有设置预约时间
MOV R1, 7EH
LCALL DISP
TY1: MOV P1,#0A0H ;预约指示灯点亮
LCALL DELAY ;调用 1 分钟子程序
MOV A, #99H
ADD A,7EH ;预约时间减 1
DA A
MOV 7EH, A
MOV R1, 7EH
LCALL DISP ;显示预约时间
CJNE R1, #0, TY1
LAB2: MOV A, 72H
MOV B, 71H
DIV AB
MOV 74H,A ;计算出每次洗衣时间
MOV B, 71H
MUL AB
MOV 72H,A ;调整洗衣总时间
SETB P3.0 ;打开进水电磁阀
CLR F0 ;标志位清 0,作为水位标志
SETB EX1
JNB F0,$ ;等待进水完成
CLR EX1
CLR P3.0 ;关进水电磁阀
MOV A, 7FH
JZ TY3 ;7FH 中的内容为 0 则转移,即没有设置浸泡时间
MOV R1, 7FH
LCALL DISP
TY2: MOV P1,#20H ;浸泡指示灯点亮
LCALL DELAY ;调用 1 分钟子程序
MOV A, #99H
ADD A, 7FH
DA A
MOV 7FH, A
MOV R1, 7FH
LCALL DISP
CJNE R1,#0,TY2 ;浸泡时间未到继续转移
TY3: MOV A, 70H
CJNE A, #0, TY4
MOV P1,#60H ;;轻柔洗灯点亮
LJMP TY6
TY4: CJNE A, #1, TY5
MOV P1,#10H ;标准洗灯点亮
LJMP TY6
TY5: MOV P1,#0E0H ;强力洗灯点亮
TY6: SETB P1.2
SETB P1.0 ;点亮洗衣剩余时间指示灯
MOV R1, 72H
LCALL DISP
SETB TR0 ;启动定时器 0
JB TR0,$ ;等待一次洗衣结束
CLR P1.2
CLR P1.3
SETB P3.1 ;打开排水电磁阀
CLR F0
LCALL DELAY ;延时之后再开中断以免引起误中断
SETB EX1
JNB F0,$ ;等待水排完
CLR P3.1
MOV P1,#0 ;关闭指示灯
SETB P1.2 ;开始脱水,电机正转
SETB P3.1 ;打开排水电磁阀
SETB P1.1 ;脱水剩余时间指示灯点亮
MOV R1, 73H
LCALL DISP ;显示最初脱水时间
SETB TR1 ;开定时器 1 的中断
JB TR1,$ ;等待脱水结束
CLR P1.2 ;脱水结束,关电机
CLR P1.1 ;关闭脱水剩余时间指示灯
MOV R4, #100
ALARM: SETB P0.7
MOV R3, #200
DELAY1: NOP
NOP
DJNZ R3, DELAY1
CLR P0.7
MOV R3, #120
DELAY2: NOP
NOP
DJNZ R3, DELAY2
DJNZ R4, ALARM
CLR P3.1 ;关排水电磁阀
CLR F0
剩余10页未读,继续阅读
资源评论
- shuiyuan902012-02-23洗衣机控制程序的全部汇编代码,不错,缺点是只是代码,没有理论部分如原理设计等。
yunxizi2008
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功