• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

有偿寻求熟悉2262软件解码的单片机高手(义隆或PIC)

兄弟正在开发一个产品,硬件已经差不多了,软件迟迟编写不成.
小弟迂拙,编写的软件总也调试不过.
现在希望各位老哥大侠能够出手帮帮忙,当然也不能让各位老哥白
忙活.
要求是用义隆单片机,也可以用PIC的汇编语言编写,再转化成义隆.
最麻烦的是2262解码,其次是自学习功能(带EEPROM),剩下的就
是一些简单功能和管脚定义.
那位老哥哥能够帮忙的话,我们QQ联系.287273298
全部回复(6)
正序查看
倒序查看
2008-01-15 10:37
把要求下清楚点,我来帮你做,价格在1000元,提供程序给你烧写.QQ339241204


我的博客http://qiuquanfeilong.blog.dianyuan.com/
0
回复
hcfatjh
LV.3
3
2008-01-18 13:28
只做过51软件解码,记忆功能是用24c02完成的!
0
回复
2008-01-23 11:55
我做过的,为什么不跟我联系呢??舍不得钱??
0
回复
a2580782
LV.3
5
2008-01-24 15:56
(EM78P153SPJ)+(24C02)
软件解码程序(仿真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左右的高电平 ;
              MOV TH1,#00H ; ;设置高电平时间为8~12ms ; ;检测和等待8ms 的 低电平,70ms门限 ;
              CLR T_OVER ;
              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:      MOV 3AH,#00 ; 等待550us 后采集接收信号 ;
              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 ;
              END;
0
回复
pca03
LV.1
6
2008-02-22 15:54
@a2580782
(EM78P153SPJ)+(24C02)软件解码程序(仿真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=032H.0=1;  1  :31H.0=132H.0=1;  0  :31H.0=032H.0=0;出错:31H.0=132H.0=0;;;说明:为了能可靠检测到有效信号,建议每次接收至少检测3次,然后比较3次检测值3次值相同才认为收到了正确信号.可在主程序中如下处理:第1次检测时调用REMOTE第2、3次检测时调用REMOTES,请注意必需连续调用,否则得不到正确的数据;;注意:将T1设定为16位定时器,允许中断,否则将导致接收数据错误REMOTE:      CLRRECEIVE;;检测50ms内有没有编码接收;              MOV3AH,#55;REMOTEA:      MOV3BH,#250;REMOTEB:      JBREM,REMOTE0;有码发送则跳转              DJNZ3BH,REMOTEB;              DJNZ3AH,REMOTEA;REMOTE_END_1:CLRENABLE_DETE;REMOTE_END:  CLRREMOTING;清除探头检测标志              RET;REMOTE0:      JBENABLE_DETE,REMOTE_END_1;按键没有放开则返回REMOTES:      MOV34H,#12;接收12位编码;解码;;先找出接收码的开头即10ms左右的高电平;              MOVTH1,#00H;;设置高电平时间为8~12ms;;检测和等待8ms的低电平,70ms门限;              CLRT_OVER;              MOVTL1,#00H;              SETBTR1;REMOTE1:      MOV3AH,#50;REMOTE2:      MOV3BH,#25;REMOTE3:      JBREM,REMOTE1;              JBT_OVER,REMOTE_END;              DJNZ3BH,REMOTE3;              DJNZ3AH,REMOTE2;;;等待在4ms内接收到的高电平;              CLRT_OVER;              MOVTH1,#0F1H;              MOVTL1,#0F0H;              SETBTR1;REMOTE_4:    JBT_OVER,REMOTE_5;              JNBREM,REMOTE_4;              CLRTR1;              AJMPREMOTE6;;超出12ms接收错误返回;REMOTE_5:    AJMPREMOTE_END;REMOTE6:      MOV3AH,#00;等待550us后采集接收信号;              DJNZ3AH,$;;采集接收信号并记录;              MOVC,REM;              MOVA,33H;              RLCA;              MOV33H,A;              MOVA,31H;              RLCA;              MOV31H,A;;等待第二个上升沿,限时1.5ms;              CLRT_OVER;              MOVTH1,#0FAH;              MOVTL1,#099H;              SETBTR1;RM1:          JBT_OVER,REMOTE_END;              JBREM,RM1;              CLRTR1;;              CLRT_OVER;              MOVTH1,#0FAH;              MOVTL1,#099H;              SETBTR1;RM2:          JBT_OVER,REMOTE_END;              JNBREM,RM2;              CLRTR1;;等待550us后采集接收信号;              MOV3AH,#00;              DJNZ3AH,$;              MOVC,REM;              MOVA,30H;              RLCA;              MOV30H,A;              MOVA,32H;              RLCA;              MOV32H,A;;等待第二个码值的上升沿;              CLRT_OVER;              MOVTH1,#0FAH;              MOVTL1,#099H;              SETBTR1;RM3:          JBT_OVER,RM5;              JBREM,RM3;              CLRTR1;;              CLRT_OVER;              MOVTH1,#0FAH;              MOVTL1,#099H;              SETBTR1;RM4:          JBT_OVER,RM5;              JNBREM,RM4;              CLRTR1;              DJNZ34H,REMOTE6;;把接收的编码左移4位将8位密码放在同一字节上              MOV34H,#4;              AJMPREMOTE7;RM5:          AJMPREMOTE_END;REMOTE7:      CLRC;              MOVA,33H;              RLCA;              MOV33H,A;              MOVA,31H;              RLCA;              MOV31H,A;              CLRC;              MOVA,30H;              RLCA;              MOV30H,A;              MOVA,32H;              RLCA;              MOV32H,A;              DJNZ34H,REMOTE7;;把4位数据编码由高4位移到低4位上;              MOVA,33H;              SWAPA;              MOV33H,A;              MOVA,30H;              SWAPA;              MOV30H,A;              SETBENABLE_DETE;              SETBRECEIVE;;              AJMPREMOTE_END_1;              END;
搞定了没有,我有全套方案.love20043@163.com
0
回复
tugm
LV.1
7
2009-12-22 17:03
@pca03
搞定了没有,我有全套方案.love20043@163.com
我人也专做学习码.码密的软件解码..有成熟的C 和ASM两个版本.可以PIC.义隆.片子上运行. .有空联系.13534075557
0
回复