;软件解码程序(仿真PT2272) ;
;晶体频率为11.0592Mhz
;本程序中的时间定位关系只适用于接3.3M振荡电阻的PT2262解码
;使用其它阻值电阻时,应将定位时间按电阻比例缩放
;下面的程序中 REM 为信号输入端
;RECEIVE 检测到有效信号标志位
;ENABLE_DETE 连续按键标志
;3AH,3BH用作定时器 ;
;PT2262共12根地址线 ;
;31H,32H:接收的前8 位地址编码 ;
;33H,30H:接收的后4 位地址编码(若最后4位用作数据端,则只须读第33H单元的内容即可)
;当用作数据端时,PT2262对应脚悬空被认为是低电平。
;地址数据说明 ;
;以31H.0 和32H.0 为例 ;
;悬空 : 31H.0=0 32H.0=1 ;
; 1: 31H.0=1 32H.0=1 ;
; 0: 31H.0=0 32H.0=0 ;
;出错 31H.0=1 32H.0=0 ;
;
;说明:为了能可靠检测到有效信号,建议每次接收至少检测3次,然后比较3次检测值
;3次值相同才认为收到了正确信号。可在主程序中如下处理:第1次检测时调用REMOTE
;第2、3次检测时调用REMOTES,请注意必需连续调用,否则得不到正确的数据
;
;注意:将T1设定为16位定时器,允许中断,否则将导致接收数据错误
;---------------------------------------;
REMOTE: ;
CLR RECEIVE ;
;检测50ms 内有没有编码接收 ;
MOV 3AH,#55 ;
REMOTEA: ;
MOV 3BH,#250 ;
REMOTEB: ;
JB REM,REMOTE0 ;有码发送则跳转
DJNZ 3BH,REMOTEB ;
DJNZ 3AH,REMOTEA ;
REMOTE_END_1: ;
CLR ENABLE_DETE ;
REMOTE_END: ;
CLR REMOTING ;清除探头检测标志
RET ;
REMOTE0: ;
JB ENABLE_DETE,REMOTE_END_1;按键没有放开则返回
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.

