Professional Documents
Culture Documents
Code Dktuxa
Code Dktuxa
MOV P1,#0
MOV P2,#00000111B
LCALL LONG_DELAY ; cho tn hi?u d?u tin nh?n du?c nh?n du?c ko b? sai
MAIN:
SETB P3.3 ; P3.3 lm d?u vo nh?n tn hi?u
MOV A,#01000000B ; sau 7 l?n quay ph?i A th C=1 d? ki?m tra
RP1: JB P3.3, RP1 ; ch? cho tn hi?u di xu?ng
RP2: JNB P3.3, RP2 ; ch? cho tn hi?u di ln
RP3: JB P3.3, RP3 ; ch? cho tn hi?u di xu?ng
LCALL DELAY ; t?o tr? 900 us
MOV C,P3.3 ; Ghi tn hi?u thu du?c vo C d? do
JC BIT0 ; n?u tn hi?u l bit cao th bit nh?n du?c l bit 0
SETB C ; tn hi?u m?c th?p , bit nh?n du?c l bit 1
RRC A ; ghi t?ng bit m l?nh vo trong A
JC END_SIGNAL ; n?u C =1 th nh?n d? 7 bit m l?nh , k?t thc
; nh?n
; k?t thc qu trnh nh?n tn hi?u
SJMP RP2 ; n?u C=0 th quay l?i nhn RP2
BIT0:
CLR C ; tn hi?u m?c cao bit nh?n du?c l bit 0
RRC A
JC END_SIGNAL ; n?u C =1 th nh?n d? 7 bit m l?nh , k?t thc
; k?t thc qu trnh nh?n tn hi?u
SJMP RP3 ; n?u C=0 th quay l?i nhn RP3
BIT0:
END_SIGNAL: ; k?t thc qu trnh nh?n tn hi?u
LCALL LONG_DELAY ; t?o tr? d? ch?ng nhi?u
; 7 bit tri c?a A dang ch?a m l?nh , bit LSB = 0
RR A ; 7 bit ph?i c?a A dang ch?a m l?nh, bit MSB = 0