P3.3口输入,P1口输出
一、实验目的
掌握P3口、P1口简单使用。
二、实验内容
P3.3口输入一脉冲,P1口按16进制加一方式点亮发光二极管。
三、实验程序框图
四、实验原理图
五、实验步骤
1、用双头线将P3.3连至开关K1, 用8芯线将P1.0~P1.7连至发光二极管L1~L8;
2、运行程序HW03.asm, K1拨动一次,L1~L8发光二极管按16进制方式加一点亮。
3、修改程序,使发光二极管左移方式点亮。
六、实验结果
程序源代码
ORG 0000H
LJMP J100
ORG 0080H
J100: MOV A,#00H
J101: JB P3.3,J101
MOV R2,#10H
LCALL DELY
JB P3.3,J101 ;P3.3电平为低吗?
J102: JNB P3.3,J102
MOV R2,#10H
LCALL DELY
JNB P3.3,J102 ;P3.3电平为高吗?
INC A ;加1
PUSH ACC
CPL A ;取反
MOV P1,A ;驱动发光二极管
POP ACC
AJMP J101 ;循环
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
实验现象与截图
实验现象:在不停的拨动开关K1输出脉冲,P1口按16进制加一方式点亮发光二极管。
更改源代码,使得发光二极管以跑马灯左移方式点亮
更改程序源代码
ORG 0000H
LJMP J100
ORG 0080H
J100: MOV A,#01H
J101: JB P3.3,J101
MOV R2,#10H
LCALL DELY
JB P3.3,J101 ;P3.3电平为低吗?
J102: JNB P3.3,J102
MOV R2,#10H
LCALL DELY
JNB P3.3,J102 ;P3.3电平为高吗?
RR A
PUSH ACC
CPL A ;取反
MOV P1,A ;驱动发光二极管
POP ACC
AJMP J101 ;循环
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
六、实验体会
这次的实验修改本来是比较难得,跟另外一个班交流了一段时间也改不了,后来老师把实验修改要求改成了,向左运行的跑马灯,比较简单,只需要修改让A向左一直进位就可以了。
发表吐槽
你肿么看?
既然没有吐槽,那就赶紧抢沙发吧!