打印

跪求PT2262解码程序!!

[复制链接]
6920|11
手机看帖
扫描二维码
随时随地手机跟帖
沙发
牛皮詹秀波| | 2007-2-8 20:31 | 只看该作者

__

网上好多,你到www.pic16.com上面去看看。

使用特权

评论回复
板凳
平常人| | 2007-2-8 22:31 | 只看该作者

好久没见人跪了,有意思。。。。

使用特权

评论回复
地板
发霉的味道|  楼主 | 2007-2-9 08:43 | 只看该作者

!!

楼上的大侠见笑了.我也是没有办法...

使用特权

评论回复
5
庄庄| | 2007-2-9 09:35 | 只看该作者

PT2262解码程序?

好像没有这种程序,我用的时候都是网上抄的硬件图
然后对其数据位置位,用单片机控制其电源 就控制其发送数据了
没什么解码程序。

使用特权

评论回复
6
yewuyi| | 2007-2-9 11:13 | 只看该作者

拿匝刀,拉到午门外……







就地正法……

使用特权

评论回复
7
发霉的味道|  楼主 | 2007-2-9 11:52 | 只看该作者

??

大虾请看清楚,是用C51模拟PT2272解PT2262的码.

使用特权

评论回复
8
被磁化的铁| | 2007-2-9 12:58 | 只看该作者

__

;软件解码程序(仿真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;按键没有放开则返回
REMOTES:
        MOV     34H,#12                 ;接收12位编码
;解码                                   ;
;先找出接收码的开头即10ms 左右的高电平  ;
;设置高电平时间为8~12ms                 ;
;检测和等待8ms 的低电平,70ms门限        ;
        CLR     T_OVER                  ;
        MOV     TH1,#00H                ;
        MOV     TL1,#00H                ;
        SETB    TR1                     ;
REMOTE1:                                ;
        MOV     3AH,#50                 ;
REMOTE2:                                ;
        MOV     3BH,#25                 ;
REMOTE3:                                ;
        JB      REM,REMOTE1             ;
        JB      T_OVER,REMOTE_END       ;
        DJNZ    3BH,REMOTE3             ;
        DJNZ    3AH,REMOTE2             ;
                                        ;
;等待在4ms 内接收到的高电平             ;
        CLR     T_OVER                  ;
        MOV     TH1,#0F1H               ;
        MOV     TL1,#0F0H               ;
        SETB    TR1                     ;
REMOTE_4:                               ;
        JB      T_OVER,REMOTE_5         ;
        JNB     REM,REMOTE_4            ;
        CLR     TR1                     ;
        AJMP    REMOTE6                 ;
;超出12ms 接收错误返回                  ;
REMOTE_5:                               ;
        AJMP    REMOTE_END              ;
REMOTE6:                                ;
;等待550us 后采集接收信号               ;
        MOV     3AH,#00                 ;
        DJNZ    3AH,$                   ;
;采集接收信号并记录                     ;
        MOV     C,REM                   ;
        MOV     A,33H                   ;
        RLC     A                       ;
        MOV     33H,A                   ;
        MOV     A,31H                   ;
        RLC     A                       ;
        MOV     31H,A                   ;
;等待第二个上升沿,限时1.5ms             ;
        CLR     T_OVER                  ;
        MOV     TH1,#0FAH               ;
        MOV     TL1,#099H               ;
        SETB    TR1                     ;
RM1:    JB      T_OVER,REMOTE_END       ;
        JB      REM,RM1                 ;
        CLR     TR1                     ;
                                        ;
        CLR     T_OVER                  ;
        MOV     TH1,#0FAH               ;
        MOV     TL1,#099H               ;
        SETB    TR1                     ;
RM2:    JB      T_OVER,REMOTE_END       ;
        JNB     REM,RM2                 ;
        CLR     TR1                     ;
;等待550us 后采集接收信号               ;
        MOV     3AH,#00                 ;
        DJNZ    3AH,$                   ;
        MOV     C,REM                   ;
        MOV     A,30H                   ;
        RLC     A                       ;
        MOV     30H,A                   ;
        MOV     A,32H                   ;
        RLC     A                       ;
        MOV     32H,A                   ;
;等待第二个码值的上升沿                 ;
        CLR     T_OVER                  ;
        MOV     TH1,#0FAH               ;
        MOV     TL1,#099H               ;
        SETB    TR1                     ;
RM3:    JB      T_OVER,RM5              ;
        JB      REM,RM3                 ;
        CLR     TR1                     ;
                                        ;
        CLR     T_OVER                  ;
        MOV     TH1,#0FAH               ;
        MOV     TL1,#099H               ;
        SETB    TR1                     ;
RM4:    JB      T_OVER,RM5              ;
        JNB     REM,RM4                 ;
        CLR     TR1                     ;
        DJNZ    34H,REMOTE6             ;
;把接收的编码左移4 位将8 位密码放在同一字节上
        MOV     34H,#4                  ;
        AJMP    REMOTE7                 ;
RM5:    AJMP    REMOTE_END              ;
REMOTE7:                                ;
        CLR     C                       ;
        MOV     A,33H                   ;
        RLC     A                       ;
        MOV     33H,A                   ;
        MOV     A,31H                   ;
        RLC     A                       ;
        MOV     31H,A                   ;
        CLR     C                       ;
        MOV     A,30H                   ;
        RLC     A                       ;
        MOV     30H,A                   ;
        MOV     A,32H                   ;
        RLC     A                       ;
        MOV     32H,A                   ;
        DJNZ    34H,REMOTE7             ;
;把4 位数据编码由高4 位移到低4 位上     ;
        MOV     A,33H                   ;
        SWAP    A                       ;
        MOV     33H,A                   ;
        MOV     A,30H                   ;
        SWAP    A                       ;
        MOV     30H,A                   ;
        SETB    ENABLE_DETE             ;
        SETB    RECEIVE                 ;
                                        ;
        AJMP    REMOTE_END_1            ;

使用特权

评论回复
9
发霉的味道|  楼主 | 2007-2-12 17:15 | 只看该作者

!!

以上程序有种让人找不着北的感觉啊...........一些标识符都没有说明.

使用特权

评论回复
10
被磁化的铁| | 2007-2-13 08:41 | 只看该作者

_

如果你不懂2262的波形,什么是1,什么是0,我想标注再详细你也看不懂.

使用特权

评论回复
11
piao520| | 2008-8-21 19:14 | 只看该作者

不好意思借你的地盘发表一下

我也想请问下:
    我现在用PT2272的D1~D4和AT89C2051的P1.0~P1.3相接,那么遥控器上有四个按键,本人按下A键时PT2272D1输出高电平,理论上是可以做按键输入,但是我把D1接到P1.0时按下A键,单片机好无反应,P1.0我有试过接上拉和下接电阻都不可以.

使用特权

评论回复
12
piao520| | 2008-8-25 12:36 | 只看该作者

被磁化的铁 大师

有没有相关的电路图传一份上来?

  多谢了??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

58

帖子

0

粉丝