实验内容与实验原理:
本实验将p1.0口作为输入口,连接一个按键,不断检测 p1.0口的电平状态(按键状态)。
1.初始状态p1口各位为高电平,当键按下时,给p1.0口低电平,通过MOV A,P1获取P1口数据,此时应为P1=11111110B。
2.然后JNB ACC.0,LED判断寄存器A的最低位是否为0,为0则跳转到LED执行。(JB dst,src 判断dst是否为1,是则跳转到src指定位置)
3.LED按键处理程序:将连接led的io口p2设为高电平,led灯发光
main.asm
$MOD52 ; This includes 8052 definitions for the Metalink assembler
; Please insert your code here.
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV P2,#00H;let P2 = 0
JMP TEST
TEST:
MOV A,P1
JNB ACC.0,LED;JB if the lowest of A is 1,jump to LED
MOV P2,#00H;if the key is up
JMP TEST
LED:
MOV P2,#0FFH;if key is down
JMP TEST;continue test the state of key
END
电路图
作者:黑暗中的一束光