P1口转弯灯实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P1口转弯灯实验
一、实验目的
了解P1口的使用,学习汇编语言编程方法与调试技巧。 二、实验内容
P1.0开关接5V 时右转弯灯闪亮,P1.1开关接5V 时左转弯灯闪亮,P1.0、P1.1开关同时接5V 或接地时,转弯灯均不闪亮。标志位为1表示现在有灯亮。
四、实验接线图
7047
五、实验步骤
P1.0,P1.1分别接拨动开关JP40的某两位,P1.4~P1.7依次接LED 指示灯JP32的某四位,连续运行本程序;应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序(例如可把延时程序第一个字节改成返回指令22H ),
以便观察。
六、实验程序
ORG 0000H
LJMP PX00
ORG 0C30H
PX00: MOV P1, #0FFH ;初始化
PX03: MOVA,P1
MOV B,A
ANL A,#03H
CJNE A, #01H, PX01 ;满足只是P1.0为高条件吗?
JB 00H, PX04 ;闪烁标志位
CLRP1.4
CLR P1.5 ;开右灯
SETB P1.6
SETB P1.7 ;关左灯
MOV R2,#20H
LCALL DELY ;延时
SETB 00H ;置标志位
LJMP PX03 ;继续查状态
PX04: SETB P1.4
SETBP1.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 ;继续
ORG 0213H
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
七、实验现象与结论
实验现象:P1.0开关接5V时右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.0、P1.1开关同时接5V或接地时,转弯灯均不闪亮。标志位为1表示现在有灯亮。
心得体会:通过本次试验掌握了单片机IO口的应用。能够熟练的操作I/0 口,使其输入输出。进一步了解了延时子程序的编写,以及它在程序中的意义。