안녕하세요
다시 한번 올립니다. ㅠㅠ
ORG 0000H
START: MOV A, P2
MOV B, 3
SUBB A, 255
JNZ GREEN
MOV P1, #11111101B
MOV P1, #11111011B
CALL DELAY
GREEN: MOV P1, #11111110B
CALL DELAY
DELAY: MOV R0, #05H
DELAY1: MOV R1, #00H
DELAY2: MOV R2, #00H
DELAY3: NOP
DJNZ R2, DELAY3
DJNZ R1, DELAY2
DJNZ R0, DELAY1
AJMP START
END
먼저 프로그램 입력 후 결과 부터 말씀드리자면 P1.1과 P1.2에만 전류가 흐릅니다.
압력센서 FSR을 이용하여 Vout을 P2에 넣습니다.
압력센서를 누르면 Vout이 증가하여 A=High가 되고
압력센서를 누르지 않으면 Vout이 없어서 A=Low이 되어야 합니다.
실험 결과 압력센서의 Vout은 정확한 결과값을 출력합니다
하지만 이것을 위의 프로그램대로 8051에 넣고 돌리면 P1.1, P1.2에만 전류가 흐릅니다.
위의 소스에서 무엇이 잘못된 것일까요 ㅜㅠ?
또한 압력센서를 누를때 SUBB A, 255에서 255을 빼야 A=0이 되는것이 맞는지 궁금합니다.
*참고로 8051은 Hi-Low로 입-출력 됩니다*