实验二十三 P1口转弯灯实验(设计性实验)
一、实验目的
    进一步了解P1口的使用,学习汇编语言编程方法与调试技巧。
二、实验内容
    P1.0开关接5V时,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮, P1.OP1.1开关同时接5V或接地时,转弯灯均不闪亮。
三、程序框图
                   
汇编语言指导书
四、实验电路
                 
五、实验步骤
P1.0K1 P1.1K2 P1.4-P1.7L1 L5 L9 L13连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令22H),以便观察。
实验参考程序:
ORG 0060H
MOV P1,#OFFH ;初始化
PX03: MOV A,P1
MOV B,A
ANL A,#03H
CJNE A,#01H,PX01 ;满足只是P1.0为高条件吗?
JB 00H,PX04 ;闪烁标志位
SETB P1.4
SETB P1.5 ;关左灯
CLR P1.6
CLR P1.7 ;开右灯
LCALL DELY ;延时
SETB 00H ;置标志位
LJMP PX03 ;继续查状态
PX04: SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7 ;关灯
LCALL DELY ;延时
CLR 00H ;清标志位
LJMP PX03 ;继续查状态
PX01: CJNE A,#02H,PX02 ;满足只是P1.1为高条件吗?
JB 01H,PX05 ;判标志位
CLR P1.4
CLR P1.5 ;开左灯
SETB P1.6
SETB P1.7 ;关右灯
LCALL DELY ;延时
SETB 01H ;置标志位
LJMP PX03 ;继续查状态
PX05: SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7 ;关灯
LCALL DELY ;延时
CLR 01H ;清标志位
LJMP PX03 ;继续查状态
PX02: SETB P1.4
SETB P1.5
SETB P1.6
SETB P1.7 ;关灯
LJMP PX03 ;继续
ORG 0170H
DELY: MOV R4,#0FFH
DELY1: MOV R5,#0FFH
DELY2: DJNZ R5,DELY2 ;延时
DJNZ R4,DELY1
RET
END

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。