51单片机 P1口转弯灯实验程序(青岛大学)小白发布
;====================P1口转弯灯实验 ====================
ORG 0C30H
PX00: MOV P1,#0FFH ;初始化
PX03: MOV A,P1
MOV B,A
ANL A,#03H
CJNE A,#01H,PX01 ;满足只是P1.0为高条件吗?
JB 00H,PX04 ;闪烁标志位
CLR P1.4
CLR P1.5 ;开右灯
SETB P1.6
SETB P1.7 ;关左灯
MOV R2,#20H
LCALL DELY ;延时
SETB 00H ;置标志位
LJMP PX03 ;继续查状态
PX04: SETB P1.4
SETB P1.5
SETB P1.6 ;关灯
SETB P1.7
MOV R2,#20H
LCALL DELY ;延时
CLR 00H ;清标志位
AJMP PX03 ;继续查状态
PX01: CJNE A,#02H,PX02 ;满足只是P1.1为高条件吗?
JB 01H,PX05 ;判标志位
SETB P1.4
SETB P1.5 ;开左灯
CLR P1.6
CLR P1.7 ;关右灯
MOV R2,#20H ;延时
LCALL DELY
SETB 01H ;置标志位
LJMP PX03 ;继续查状态
PX05: SETB P1.4
SETB P1.5
SETB P1.6 ;关灯
SETB P1.7
MOV R2,#20H
LCALL DELY ;延时
CLR 01H ;清标志位
LJMP PX03 ;继续查状态
PX02: SETB P1.4
SETB P1.5
SETB P1.6 ;关灯
SETB P1.7
LJMP PX03 ;继续
;---------------------------------------------
DELY: PUSH 02H
DEL2: PUSH 02H
DEL3: PUSH 02H ;延时
DEL4: DJNZ R2,DEL4
POP 02H
DJNZ R2,DEL3
POP 02H
DJNZ R2,DEL2
POP 02H
DJNZ R2,DELY
RET
;--------------------------------------------
END
实验1-3
ORG 0810H
J100:MOV A,#00H
J101:JB P3.3,J101
MOV R2,#20H
LCALL DELY
JB P3.3,J101
J102:JNB P3.3,J102
MOV R2,#20H
LCALL DELY
JNB P3.3,J102
INC A
PUSH ACC
CPL A
MOV P1,A
POP ACC
AJMP J101;
;------------------------------------------------
DELY:PUSH 02H
DEL2:PUSH 02H
DEL3:PUSH 02H
DEL4:DJNZ R2