请那大哥帮帮忙我的程序有点问题!!!!!!!!!!!!!!
最近在在校想学红外线摇控(bl9148)请问那位大哥有红外线摇控芯片BL9148解码程序给我一份参考一下,我自己写的有点问题不能用以下是我编写的程序:(前12位解码):
ORG 0000H
AJMP MAIN;转入主程序
ORG 30H
MAIN:
MOV P3,#0FFH
mov tmod,#01h
clr F0
MOV R6,#60;检测引导码
SB:
ACALL YS3;
DJNZ R6, SB;前60a
JB P3.2,main
MOV R7,#3
SB1:
JNB P3.2, $
lcall ys3;开始解码
lcall ys3
JB P3.2,dd1
jb f0,decodeK
DJNZ R7,cucode2
setb f0
CLR c
RRC A
CJNE A,#10100000B,MAIN
clr a
AJMP SB1
decodeK:,0的处理
INC R5
CJNE R5,#9,SB5
mov r5,#0
ajmp sb6
dd1:;以下是1的解码
jB P3.2,$
jb f0,decodeA
DJNZ R7,cudecode1
setb f0
SETB c
RRC A
CJNE A,#10100000B,用户码识别
clr a
ajmp SB1
cucode2:前三位用户码的识别
clr c
rrc a
ajmp sb1
cudecode1:
SETB C
RRC A
AJMP SB1
decodeA:
INC R5
CJNE R5,#9,SB3
mov r5,#0
ajmp sb4
SB5:
CLR C
RRC A
ajmp sb1
SB3:
setb c
RRC A
AJMP SB1
SB6:
CLR C
MOV 21H,C
clr p2.2
lcall ys3
lcall ys3
setb P2.2
MOV P1,A
MOV R1,#50
TT:LCALL YS3
DJNZ R1,TT
AJMP exit
sb4:
setb c
MOV 20h,c;第12位放在位20h 里面
mov 40h,a
CLR p2.2
lcall ys3
setb p2.2
MOV P1,A
MOV R2,#50
I:LCALL YS3
DJNZ R2,i
AJMP exit
exit:
mov p1,A
ajmp main
退出解码子程序
YS3: ;0.42ms;422微秒定时
mov th0,#high(65536-422)
mov tl0,#low(65536-422)
jnb tf0,$
clr tf0
clr tr0
ret
end
请哪位高手看一看单片机是用51的
发表时间:2006年7月12日3:24:08