⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 洗衣机.asm

📁 单片机仿真51设计1.洗衣机控制C语言版
💻 ASM
字号:
//主程序
TIMERM  EQU 79H
TIMERS  EQU 7AH
ORG     0000
LJMP    MAIN
ORG     0003
LJMP    SINT0
ORG     000BH
LJMP    SINT1
ORG     001BH
LJMP    ST1

DISLAB:
DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH

MAIN:
CLR     F
MOV	70H,#0
MOV	71H,#3
MOV	72H,#30
MOV	73H,#5
MOV	75H,#0
MOV	76H,#1
MOV	79H,#0	
MOV	7AH,#0	
CLR	P1.0
CLR	P1.1
CLR	P1.2
CLR	P3.4
CLR	P3.5
MOV	P0,#0
MOV	P2,#0
CLR	P3.0
CLR	P3.1
MOV	TMOD,#11
MOV	TH0,#3CH
MOV	TH1,#OB0H
MOV	TL0,#3CH
MOV	TL1,#OB0H
SETB	IT0
SETB	IT1
SETB	EA
SETB	EX0

MLAB1:
JNB     F,$
MOV	A,72H
MOV	B,71H
DIV	AB
MOV	74H,A
MOV	R2,71H

LAB2:
SETB	P3.0
CLR	F
SETB	EX1
JNB	F,$
CLR	P3.0
SETB	P1.0
SETB	TR0
JB	TR0,$
SETB	P3.1
CLR	F
JNB	F,$
CLR	P3.1
DJNZ    R2,LAB2
CLR	P1.1
SETB	P1.0
SETB	TR1
JB	TR1,$
CLR	P1.0
MOV	R2,#5

ALARM:

SETB	P1.2
MOV	R3,#0
DELAY1:
NOP
DJNZ	R3,DELAY1
CLR	P1.2
DELAY2: 
NOP
DJNZ    R3,DELAY2
DJNZ	R1,ALARM
CLR	F
LJMP    MLAB1
//外中断0的服务程序
SITNT0:
SETB	P3.5
CLR	P3.4
MOV	A,P3
ANL	A,#0C0H
ORL	A,#20H
INTLAB1:
CJNE	A,#0A0H,INTLAB3
INC	76H
MOV	R0,76H
CJNE	@R0,#5,INTLAB2
MOV	76H,#1
INTLAB2:
CJNE	76H,#1,INTLAB21
CLR	P1.3
SETB	P1.4
CLR	P1.5
RETI
INTLAB21:
CJNE	76H,#1,INTLAB22
SETB	P1.3
CLR	P1.4
CLR	P1.5
MOV	R1,71H
LCALL	DISPLAY
RETI
INTLAB22:
CJNE	76H,#3,INTLAB23
SETB	P1.3
CLR	P1.4
SETB	P1.5
MOV	R1,72H
LCALL	DISPLAY
RETI
INTLAB23:
CJNE	76H,#1,INTLAB22
SETB	P1.3
SETB	P1.4
CLR	P1.5
MOV	R1,73H
LCALL	DISPLAY
RETI
INTLAB3:
CJNE	A,#6,INTLAB4
CJNE	76H,#1,INTLAB31
XRL	70H,#0FFH
CLR	P1.5
RETI
INTLAB31:
CJNE	76H,#2,INTLAB32
MOV	A,#1
ADD	A,71H
DA	A
MOV	R1,71H
LCALL	DISPLAY
RETI
INTLAB32:
CJNE	76H,#3,INTLAB33
MOV	A,#1
ADD	A,72H
DA	A
MOV	R1,72H
LCALL	DISPLAY
RETI
INTLAB33:
MOV	A,#1
ADD	A,73H
DA	A
MOV	R1,73H
LCALL	DISPLAY
RETI

INTLAB4:
CJNE	A,#8,INTLAB5
CJNE	76H,#1,INTLAB41
XRL	70H,#0FFH
CLR	P1.5
RETI
INTLAB41:
CJNE	76H,#2,INTLAB42
MOV	A,#99H
ADD	A,71H
DA	A
MOV	R1,71H
LCALL	DISPLAY
RETI
INTLAB42:
CJNE	76H,#3,INTLAB43
MOV	A,#99H
ADD	A,72H
DA	A
MOV	R1,72H
LCALL	DISPLAY
RETI
INTLAB43:
MOV	A,#99H
ADD	A,73H
DA	A
MOV	R1,73H
LCALL	DISPLAY
RETI
INTLAB5:
SETB	F
RETI
//外中断1的服务程序
SINT1:
SETB	F
RETI
//定时器0服务程序
ST0:
MOV	TH0,#3CH
MOV	TL0,#0B0H
INC	TIMERS
CJNE	TIMERS,#10,T0LAB1
MOV 	TIMERS,#0
INC	TIMERS
CJNE	TIMERS,#60,T0LAB 
MOV	TIMERS,#0
MOV	A,#99H
ADD	A,72H
DA	A
MOV	R1,#72H
LACLL	DISPLAY
CJNE    70H,#1,T0LAB2
JNB	P1.0,T0LAB21
CLR	P1.0
SETB	P1.1
LJMP	T0LAB22
T0LAB21:
SETB	P1.0
CLR	P1.1
T0LAB22:
INC	75H
MOV	A,75H,T0LAB1
CLR	TR0
T0LAB1:
RETI
//定时器1服务程序
ST1:
MOV	TH1,#3CH
MOV	TL1,#0B0DH
INC	TIMERS
CJNE	TIMERS,#10,T0LAB1
MOV 	TIMERS,#0
INC	TIMERS
CJNE	TIMERS,#60,T0LAB1
MOV	TIMERS,#0
MOV	A,#99H
ADD	A,73H
DA	A
MOV	R1,#73H
LACLL	DISPLAY
MOV	A,73H
JNZ	T1LAB1
CLR	TR1
T1LAB1:
RETI

DISPLAY:
MOV	A,R1
SWAP	A
ANL	A,#0FH
MOV	DPTR,#DISLAB
MOVC	A,@A+DPTR
MOV	P0,A
MOV	A,R1
MOV	A,#OFH
MOVC	A,@A+DPTR
MOV     P2,A
RET
END
















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -