请帮我看一下下面的遥控接收程序问题出在哪为什么接收的每个按键的信号都是0FF,我用的是89C51,11。059M的晶振
INT1P:
CLR EA ;暂时关闭CPU的所有中断请求
MOV R6,#10
SB: ACALL YS1 ;调用882微秒延时子程序
JB P3.3,EXCIT ;延时882微秒后判断P3.3脚是否出现高电平如果有就退出解码程序
DJNZ R6, SB ;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序
;以上完成对遥控信号的9000微秒的初始低电平信号的识别。
JNB P3.3, $ ;等待高电平避开9毫秒低电平引导脉冲
ACALL YS2 ;延时4.74毫秒避开4.5毫秒的结果码
JB P3.3 ,$ ; EXCIT ;增加的
MOV R1,#1AH ;设定1AH为起始RAM区
MOV R2,#4 ;16位地址码和8位数据码和8位数据反码,共4个字节
PP: MOV R3,#8 ;一个字节有8位
JJJJ: JNB P3.3,$ ;等待地址码第一位的高电平信号
LCALL YS1 ;高电平开始后用882微秒的时间延迟去判断信号此时的高低电平状态
MOV C,P3.3 ;将P3.3引脚此时的电平状态0或1存入C中
JNC UUU ;如果为0就跳转到UUU
;LCALL DELAY10MS
;LCALL YS3
JB P3.3,$ ;增加的
UUU: MOV A,@R1 ;将R1中地址的给A
RRC A ;将C中的值0或1移入A中的最低位
MOV @R1,A ;将A中的数暂时存放在R1中
DJNZ R3,JJJJ ;接收地址码的高8位,不到8位则继续
INC R1 ;对R1中的值加1,换下一个RAM
DJNZ R2,PP ;接收完16位地址码和8位数据码和8位数据反码存放在1AH/1BH/1CH/1DHRA中
[求助]红外接收程序