//可以仿真2262振荡电阻范围为500k到5M, 并仿真2272检测该值;
//对应的2262波形的窄脉冲宽度为从50us到610us。相当于振荡电阻470k到5.0M
/*
键盘接口,共4个按键,
P30: 光标移动
P31:数值修改
P32:功能设置 2272与2262功能与搜索功能之间切换,
搜索状态下,正在搜索时,有暂停搜索的功能,
非搜索时,可以在2272,2262与搜索状态间切换
P33:发射/接收/开始搜索
显示接口:
P2口与P1.5 P1.6 P1.7口 lcm1602
数据接口:
2262数据送出:P14
2272数据输入:P10
*/
显示说明
1602:
--------------------------------
|地址码8位 数据码4位 搜索方向1位 脉冲宽度3位 |
|-------------------------------
|功能状态8位 搜索时发码状态4位 脉宽循环搜索1位 搜索间隔时间1位 |
--------------------------------
地址码8位 从左到右分别为2262脚1到脚8的接口,0为接地,f为悬空,1为接正
数据码4位 从左到右分别为2262脚10到脚13的接口,0为接地,f为悬空,1为接正
搜索方向1位 ->:地址码增加的搜索方向 <-:地址码减小的搜索方向
脉冲宽度3位 从50到610,相当于振荡电阻470k到5.0M,
脉冲宽度换算到2262振荡电阻的计算方法:
电阻=(显示的宽度/8)×1000 欧姆
即R T窄=4a
470k 58us
1.2M 150us
3.3M 400us
4.7M 580us
2.5M 312us
功能状态8位 send:2262发码功能,此时可以修改任何一个地址和数据码
scandata:地址码和数据码搜索功能,从当前显示的地址开始搜索
receive :2272解码功能,接收成功,显示ok,此时不能再收码。
再按一次接收键,显示receive则,又可以收码。
搜索时发码状态4位 :stop:没有发码,暂停搜索。go:正在发码
脉宽循环搜索1位:显示@:考虑到大多数的2262配套电阻为1.2,3.3,4.7M,所以在搜码时
每个搜索的地址数据码都用这几个脉冲发送一次
显示*:固定一个脉冲搜索,该脉冲可以自行设置大小。
搜索间隔时间1位 每发送一次地址数据码后,延时一定的时间再发送下一个地址数据码
该时间为从0到7,分别对应于2到200ms。
功能说明
//开机显示send,直接进入2262功能。
//2262功能实现:非搜索状态下,按下设置键,显示send,
//按下移动键移动光标,修改键修改光标所在位置的数据。
//按下发射键,则发射所显示的数据一次,
//2272功能实现:非搜索状态下,按下设置键,显示RECEIVE
//一旦成功收到数据,显示ok,再按下接收键,重新进入接收状态,显示receive
//搜索功能实现:非搜索状态下,按下设置键,
//进入搜索状态后,显示scandata,stop;
//按下移动键和修改键修改搜索的起始地址、脉冲宽度、循环脉宽搜索、搜索间隔时间。
//按下搜索键,显示go,开始搜索,此时进入正在搜索状态,一旦听到接收机发出搜索成功的信号,
//按下停止搜索键(设置键),则在该位置停止搜索,显示stop,
//然后调整搜索时间更大一点,方向反向,继续搜索
//再次听到搜索成功的信号,继续本步骤,获得数据。
//搜索码发出的间隔时间从2ms到200ms,显示的值为从0到7,第一次搜索时,设置为0,
//此时搜索速度最快,一旦成功搜索,则按下停止键,但是,由于人的反应速度可能较慢,停下来时已经又过了几个搜索码了,此时可以修改间隔时间为较大的值,反向再搜索。
//显示搜索方向,地址码增加 显示-> 或地址码减小显示<- ;显示位置12
//
//
参数说明:
/*
脉宽参数从50到610us,每个值对应一个窄脉冲宽度,即如下图一个“地址码0”的1/8宽度。
地址码初始值为0000 ffff,键值码为1000,可以修改,脉冲宽度初始为333us。
|~|_______________________________|~~~|_|~~~|_|~|___|~|___|....重复....键值码
|--------开始码---- -|--地址码1--|--地址码0--|1 0 1 0 1 0 键值码
*/
因为该设计为帮他人设计,已经承诺不发表源代码,所以,各位对不住,只能给一个测试版
的hex文件供各位仿真看看。该版的地址码前4位屏蔽。
声明:
该程序适用于使用2262芯片的遥控器丢失或损坏后的代码搜索,也可以用于遥控器备份,禁止违法使用,否则后果自负,与作者没有任何关系,该设备是摩托车与电动车维修店的遥控器维修用的得力工具。欢迎各位与我交流。
版本:1.0
计划升级:增加一个24c芯片,实现数据保存和提取功能,掉电不丢失。(已经完成)
L0001: LJMP L0169
AJMP L0119
L0002: MOV R7,#40H
ACALL L0171
MOV R3,#0FFH
MOV R2,#06H
MOV R1,#0CH
ACALL L0148
SETB 21H.5
LCALL L0014
CLR A
MOV 32H,A
MOV P3,#0FFH
MOV R7,32H
ACALL L0171
L0003: MOV A,25H
XRL A,#02H
JZ L0004
AJMP L0013
L0004: ACALL L0151
MOV 08H,R7
MOV A,08H
JZ L0003
MOV A,08H
CJNE A,#0EH,L0005
ACALL L0137
SJMP L0003
L0005: MOV A,08H
CJNE A,#0DH,L0006
ACALL L0104
SJMP L0003
L0006: MOV A,08H
CJNE A,#07H,L0003
CLR 21H.5
L0007: JNB 21H.5,L0008
AJMP L0012
L0008: MOV R7,#4AH
ACALL L0171
MOV R3,#0FFH
MOV R2,#06H
MOV R1,#1AH
ACALL L0148
JB 21H.4,L0010
MOV R7,3AH
ACALL L0158
MOV 3AH,R7
MOV A,3AH
XRL A,#88H
JNZ L0009
MOV R7,39H
ACALL L0158
MOV 39H,R7
MOV A,39H
XRL A,#88H
JNZ L0009
MOV R7,38H
ACALL L0158
MOV 38H,R7
MOV A,38H
XRL A,#88H
JNZ L0009
MOV R7,37H
ACALL L0158
MOV 37H,R7
MOV A,37H
XRL A,#88H
JNZ L0009
MOV R7,36H
ACALL L0158
MOV 36H,R7
MOV A,36H
CJNE A,#88H,L0009
MOV R7,35H
ACALL L0158
MOV 35H,R7
MOV A,35H
CJNE A,#88H,L0009
MOV R7,34H
ACALL L0158
MOV 34H,R7
MOV A,34H
CJNE A,#88H,L0009
MOV R7,33H
ACALL L0158
MOV 33H,R7
L0009: ACALL L0142
SJMP L0007
L0010: MOV R7,3AH
ACALL L0161
MOV 3AH,R7
MOV A,3AH
XRL A,#0EEH
JNZ L0011
MOV R7,39H
ACALL L0161
MOV 39H,R7
MOV A,39H
XRL A,#0EEH
JNZ L0011
MOV R7,38H
ACALL L0161
MOV 38H,R7
MOV A,38H
XRL A,#0EEH
JNZ L0011
MOV R7,37H
ACALL L0161
MOV 37H,R7
MOV A,37H
XRL A,#0EEH
JNZ L0011
MOV R7,36H
ACALL L0161
MOV 36H,R7
MOV A,36H
CJNE A,#0EEH,L0011
MOV R7,35H
ACALL L0161
MOV 35H,R7
MOV A,35H
CJNE A,#0EEH,L0011
MOV R7,34H
ACALL L0161
MOV 34H,R7
MOV A,34H
CJNE A,#0EEH,L0011
MOV R7,33H
ACALL L0161
MOV 33H,R7
L0011: ACALL L0142
AJMP L0007
L0012: LCALL L0014
AJMP L0003
L0013: RET
L0014: MOV R7,#4AH
ACALL L0171
MOV R3,#0FFH
MOV R2,#06H
MOV R1,#15H
ACALL L0148
RET
L0015: ACALL L0134
ACALL L0166
MOV R7,#04H
MOV R0,#33H
MOV A,#88H
L0016: MOV @R0,A
INC R0
DJNZ R7,L0016
MOV R7,#04H
MOV R0,#37H
MOV A,#8EH
L0017: MOV @R0,A
INC R0
DJNZ R7,L0017
MOV R7,#03H
MOV R0,#3CH
MOV A,#88H
L0018: MOV @R0,A
INC R0
DJNZ R7,L0018
MOV 3BH,#0EEH
CLR A
MOV R7,A
L0019: MOV A,#3FH
ADD A,R7
MOV R0,A
MOV @R0,#03H
MOV A,#43H
ADD A,R7
MOV R0,A
CLR A
MOV @R0,A
INC R7
CJNE R7,#03H,L0019
MOV 42H,#80H
MOV 25H,#01H
ACALL L0090