找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8955|回复: 14
收起左侧

PT2262与pt2272 Proteus完全仿真 附单片机源程序

  [复制链接]
ID:340047 发表于 2018-5-28 20:43 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png 0.png

此文件有左右两个仿真cpu和对应按键,可以一个设置为发射一个设置为接收,
验证发送的数据是否正确。

0.png

//程序功能:pt2272与2262完全仿真程序,并可以搜索全0到全1的地址码和各种振荡电阻
//可以仿真2262振荡电阻范围为500k到6M, 并仿真2272检测该值;
//对应的2262波形的窄脉冲宽度为从50us到610us。相当于振荡电阻470k到5.7M

/*
键盘接口,共4个按键,
P30: 光标移动
P31:数值修改
P32:功能设置  2272与2262功能与搜索功能之间切换,
     搜索状态下,正在搜索时,有暂停搜索的功能,
     非搜索时,可以在2272,2262与搜索状态间切换
P33:发射/接收/开始搜索

显示接口:
P2口与P1.5 P1.6 P1.7口
数据接口:
2262数据送出:P14
2272数据输入:P10
*/


显示说明
--------------------------------
|地址码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芯片,实现数据保存和提取功能,掉电不丢失。(已经完成)

单片机源程序如下:
  1. L0001:     LJMP  L0169                        
  2.            AJMP  L0119                        
  3. L0002:     MOV   R7,#40H                     
  4.            ACALL L0171                        
  5.            MOV   R3,#0FFH                     
  6.            MOV   R2,#06H                     
  7.            MOV   R1,#0CH                     
  8.            ACALL L0148                        
  9.            SETB  21H.5                        
  10.            LCALL L0014                        
  11.            CLR   A                           
  12.            MOV   32H,A                        
  13.            MOV   P3,#0FFH                     
  14.            MOV   R7,32H                       
  15.            ACALL L0171                        
  16. L0003:     MOV   A,25H                        
  17.            XRL   A,#02H                       
  18.            JZ    L0004                        
  19.            AJMP  L0013                        
  20. L0004:     ACALL L0151                        
  21.            MOV   08H,R7                       
  22.            MOV   A,08H                        
  23.            JZ    L0003                        
  24.            MOV   A,08H                        
  25.            CJNE  A,#0EH,L0005                 
  26.            ACALL L0137                        
  27.            SJMP  L0003                        
  28. L0005:     MOV   A,08H                        
  29.            CJNE  A,#0DH,L0006                 
  30.            ACALL L0104                        
  31.            SJMP  L0003                        
  32. L0006:     MOV   A,08H                        
  33.            CJNE  A,#07H,L0003                 
  34.            CLR   21H.5                        
  35. L0007:     JNB   21H.5,L0008                  
  36.            AJMP  L0012                        
  37. L0008:     MOV   R7,#4AH                     
  38.            ACALL L0171                        
  39.            MOV   R3,#0FFH                     
  40.            MOV   R2,#06H                     
  41.            MOV   R1,#1AH                     
  42.            ACALL L0148                        
  43.            JB    21H.4,L0010                  
  44.            MOV   R7,3AH                       
  45.            ACALL L0158                        
  46.            MOV   3AH,R7                       
  47.            MOV   A,3AH                        
  48.            XRL   A,#88H                       
  49.            JNZ   L0009                        
  50.            MOV   R7,39H                       
  51.            ACALL L0158                        
  52.            MOV   39H,R7                       
  53.            MOV   A,39H                        
  54.            XRL   A,#88H                       
  55.            JNZ   L0009                        
  56.            MOV   R7,38H                       
  57.            ACALL L0158                        
  58.            MOV   38H,R7                       
  59.            MOV   A,38H                        
  60.            XRL   A,#88H                       
  61.            JNZ   L0009                        
  62.            MOV   R7,37H                       
  63.            ACALL L0158                        
  64.            MOV   37H,R7                       
  65.            MOV   A,37H                        
  66.            XRL   A,#88H                       
  67.            JNZ   L0009                        
  68.            MOV   R7,36H                       
  69.            ACALL L0158                        
  70.            MOV   36H,R7                       
  71.            MOV   A,36H                        
  72.            CJNE  A,#88H,L0009                 
  73.            MOV   R7,35H                       
  74.            ACALL L0158                        
  75.            MOV   35H,R7                       
  76.            MOV   A,35H                        
  77.            CJNE  A,#88H,L0009                 
  78.            MOV   R7,34H                       
  79.            ACALL L0158                        
  80.            MOV   34H,R7                       
  81.            MOV   A,34H                        
  82.            CJNE  A,#88H,L0009                 
  83.            MOV   R7,33H                       
  84.            ACALL L0158                        
  85.            MOV   33H,R7                       
  86. L0009:     ACALL L0142                        
  87.            SJMP  L0007                        
  88. L0010:     MOV   R7,3AH                       
  89.            ACALL L0161                        
  90.            MOV   3AH,R7                       
  91.            MOV   A,3AH                        
  92.            XRL   A,#0EEH                     
  93.            JNZ   L0011                        
  94.            MOV   R7,39H                       
  95.            ACALL L0161                        
  96.            MOV   39H,R7                       
  97.            MOV   A,39H                        
  98.            XRL   A,#0EEH                     
  99.            JNZ   L0011                        
  100.            MOV   R7,38H                       
  101.            ACALL L0161                        
  102.            MOV   38H,R7                       
  103.            MOV   A,38H                        
  104.            XRL   A,#0EEH                     
  105.            JNZ   L0011                        
  106.            MOV   R7,37H                       
  107.            ACALL L0161                        
  108.            MOV   37H,R7                       
  109.            MOV   A,37H                        
  110.            XRL   A,#0EEH                     
  111.            JNZ   L0011                        
  112.            MOV   R7,36H                       
  113.            ACALL L0161                        
  114.            MOV   36H,R7                       
  115.            MOV   A,36H                        
  116.            CJNE  A,#0EEH,L0011               
  117.            MOV   R7,35H                       
  118.            ACALL L0161                        
  119.            MOV   35H,R7                       
  120.            MOV   A,35H                        
  121.            CJNE  A,#0EEH,L0011               
  122.            MOV   R7,34H                       
  123.            ACALL L0161                        
  124.            MOV   34H,R7                       
  125.            MOV   A,34H                        
  126.            CJNE  A,#0EEH,L0011               
  127.            MOV   R7,33H                       
  128.            ACALL L0161                        
  129.            MOV   33H,R7                       
  130. L0011:     ACALL L0142                        
  131.            AJMP  L0007                        
  132. L0012:     LCALL L0014                        
  133.            AJMP  L0003                        
  134. L0013:     RET                                
  135. L0014:     MOV   R7,#4AH                     
  136.            ACALL L0171                        
  137.            MOV   R3,#0FFH                     
  138.            MOV   R2,#06H                     
  139.            MOV   R1,#15H                     
  140.            ACALL L0148                        
  141.            RET                                
  142. L0015:     ACALL L0134                        
  143.            ACALL L0166                        
  144.            MOV   R7,#04H                     
  145.            MOV   R0,#33H                     
  146.            MOV   A,#88H                       
  147. L0016:     MOV   @R0,A                        
  148.            INC   R0                           
  149.            DJNZ  R7,L0016                     
  150.            MOV   R7,#04H                     
  151.            MOV   R0,#37H                     
  152.            MOV   A,#8EH                       
  153. L0017:     MOV   @R0,A                        
  154.            INC   R0                           
  155.            DJNZ  R7,L0017                     
  156.            MOV   R7,#03H                     
  157.            MOV   R0,#3CH                     
  158.            MOV   A,#88H                       
  159. L0018:     MOV   @R0,A                        
  160.            INC   R0                           
  161.            DJNZ  R7,L0018                     
  162.            MOV   3BH,#0EEH                    
  163.            CLR   A                           
  164.            MOV   R7,A                        
  165. L0019:     MOV   A,#3FH                       
  166.            ADD   A,R7                        
  167.            MOV   R0,A                        
  168.            MOV   @R0,#03H                     
  169.            MOV   A,#43H                       
  170.            ADD   A,R7                        
  171.            MOV   R0,A                        
  172.            CLR   A                           
  173.            MOV   @R0,A                        
  174.            INC   R7                           
  175.            CJNE  R7,#03H,L0019               
  176.            MOV   42H,#80H                     
  177.            MOV   25H,#01H                     
  178.            ACALL L0090                        
  179. L0020:     MOV   A,25H                        
  180.            JNZ   L0030                        
  181.            MOV   R7,#40H                     
  182.            ACALL L0171                        
  183.            MOV   R3,#0FFH                     
  184.            MOV   R2,#05H                     
  185.            MOV   R1,#0F1H                     
  186.            ACALL L0148                        
  187. L0021:     JB    21H.0,L0026                  
  188.            MOV   A,25H                        
  189.            JNZ   L0026                        
  190. L0022:     JB    21H.2,L0023                  
  191.            ACALL L0098                        
  192.            MOV   A,25H                        
  193.            JZ    L0022                        
  194. L0023:     MOV   C,21H.1                     
  195.            JNB   P1.0,L0024                  
  196.            CPL   C                           
  197. L0024:     JNC   L0021                        
  198.            MOV   C,P1.0                       
  199.            MOV   21H.1,C                     
  200.            JNB   21H.1,L0025                  
  201.            SETB  TR0                          
  202.            ACALL L0081                        
  203.            SJMP  L0021                        
  204. L0025:     ACALL L0115                        
  205.            SJMP  L0021                        
  206. L0026:     JNB   21H.0,L0027                  
  207.            ACALL L0063                        
  208. L0027:     ACALL L0090                        
  209.            MOV   R7,#40H                     
  210.            ACALL L0171                        
  211.            MOV   R3,#0FFH                     
  212.            MOV   R2,#05H                     
  213.            MOV   R1,#0FAH                     
  214.            ACALL L0148                        
  215. L0028:     JNB   P3.3,L0029                  
  216.            MOV   A,25H                        
  217.            JZ    L0028                        
  218. L0029:     ACALL L0134                        
  219.            SJMP  L0020                        
  220. L0030:     MOV   A,25H                        
  221.            CJNE  A,#01H,L0031                 
  222.            ACALL L0110                        
  223.            SJMP  L0020                        
  224. L0031:     ACALL L0002                        
  225.            SJMP  L0020                        
  226. L0032:     CJNE  R3,#01H,L0033               
  227.            MOV   A,DPL                        
  228.            ADD   A,R1                        
  229.            MOV   DPL,A                        
  230.            MOV   A,DPH                        
  231.            ADDC  A,R2                        
  232.            MOV   DPH,A                        
  233.            MOVX  A,@DPTR                     
  234.            RET                                
  235. L0033:     JNC   L0034                        
  236.            MOV   A,R1                        
  237.            ADD   A,DPL                        
  238.            MOV   R0,A                        
  239.            MOV   A,@R0                        
  240.            RET                                
  241. L0034:     CJNE  R3,#0FEH,L0035               
  242.            MOV   A,R1                        
  243.            ADD   A,DPL                        
  244.            MOV   R0,A                        
  245.            MOVX  A,@R0                        
  246.            RET                                
  247. L0035:     MOV   A,DPL                        
  248.            ADD   A,R1                        
  249.            MOV   DPL,A                        
  250.            MOV   A,DPH                        
  251.            ADDC  A,R2                        
  252.            MOV   DPH,A                        
  253.            CLR   A                           
  254.            MOVC  A,@A+DPTR                    
  255.            RET                                
  256. L0036:     CJNE  R4,#00H,L0037               
  257.            CJNE  R6,#00H,L0040               
  258.            MOV   A,R7                        
  259.            MOV   B,R5                        
  260.            DIV   AB                           
  261.            MOV   R7,A                        
  262.            MOV   R5,B                        
  263.            RET                                
  264. L0037:     CLR   A                           
  265.            XCH   A,R4                        
  266.            MOV   R0,A                        
  267.            MOV   B,#08H                       
  268. L0038:     MOV   A,R7                        
  269.            ADD   A,R7                        
  270.            MOV   R7,A                        
  271.            MOV   A,R6                        
  272.            RLC   A                           
  273.            MOV   R6,A                        
  274.            MOV   A,R4                        
  275.            RLC   A                           
  276.            MOV   R4,A                        
  277.            MOV   A,R6                        
  278.            SUBB  A,R5                        
  279.            MOV   A,R4                        
  280.            SUBB  A,R0                        
  281.            JC    L0039                        
  282.            MOV   R4,A                        
  283.            MOV   A,R6                        
  284.            SUBB  A,R5                        
  285.            MOV   R6,A                        
  286.            INC   R7                           
  287. L0039:     DJNZ  B,L0038                     
  288.            CLR   A                           
  289.            XCH   A,R6                        
  290.            MOV   R5,A                        
  291.            RET                                
  292. L0040:     MOV   A,R5                        
  293.            MOV   R0,A                        
  294.            MOV   B,A                          
  295.            MOV   A,R6                        
  296.            DIV   AB                           
  297.            JB    OV,L0044                     
  298.            MOV   R6,A                        
  299.            MOV   R5,B                        
  300.            MOV   B,#08H                       
  301. L0041:     MOV   A,R7                        
  302.            ADD   A,R7                        
  303.            MOV   R7,A                        
  304.            MOV   A,R5                        
  305.            RLC   A                           
  306.            MOV   R5,A                        
  307.            JC    L0042                        
  308.            SUBB  A,R0                        
  309.            JNC   L0043                        
  310.            DJNZ  B,L0041                     
  311.            RET                                
  312. L0042:     CLR   C                           
  313.            SUBB  A,R0                        
  314. L0043:     MOV   R5,A                        
  315.            INC   R7                           
  316.            DJNZ  B,L0041                     
  317. L0044:     RET                                
  318. L0045:     MOV   R7,#88H                     
  319.            ACALL L0046                        
  320.            MOV   R7,#88H                     
  321. L0046:     MOV   20H,R7                       
  322.            MOV   C,20H.7                     
  323.            MOV   P1.4,C                       
  324.            MOV   R7,31H                       
  325. L0047:     DEC   R7                           
  326.            MOV   A,R7                        
  327.            JZ    L0048                        
  328.            NOP                                
  329.            NOP                                
  330.            SJMP  L0047                        
  331. L0048:     MOV   C,20H.6                     
  332.            MOV   P1.4,C                       
  333.            MOV   R7,31H                       
  334. L0049:     DEC   R7                           
  335.            MOV   A,R7                        
  336.            JZ    L0050                        
  337.            NOP                                
  338.            NOP                                
  339.            SJMP  L0049                        
  340. L0050:     MOV   C,20H.5                     
  341.            MOV   P1.4,C                       
  342.            MOV   R7,31H                       
  343. L0051:     DEC   R7                           
  344.            MOV   A,R7                        
  345.            JZ    L0052                        
  346.            NOP                                
  347.            NOP                                
  348.            SJMP  L0051                        
  349. L0052:     MOV   C,20H.4                     
  350.            MOV   P1.4,C                       
  351.            MOV   R7,31H                       
  352. L0053:     DEC   R7                           
  353.            MOV   A,R7                        
  354.            JZ    L0054                        
  355.            NOP                                
  356.            NOP                                
  357.            SJMP  L0053                        
  358. L0054:     MOV   C,20H.3                     
  359.            MOV   P1.4,C                       
  360.            MOV   R7,31H                       
  361. L0055:     DEC   R7                           
  362.            MOV   A,R7                        
  363.            JZ    L0056                        
  364.            NOP                                
  365.            NOP                                
  366.            SJMP  L0055                        
  367. L0056:     MOV   C,20H.2                     
  368.            MOV   P1.4,C                       
  369.            MOV   R7,31H                       
  370. L0057:     DEC   R7                           
  371.            MOV   A,R7                        
  372.            JZ    L0058                        
  373.            NOP                                
  374.            NOP                                
  375.            SJMP  L0057                        
  376. L0058:     MOV   C,20H.1                     
  377.            MOV   P1.4,C                       
  378.            MOV   R7,31H                       
  379. L0059:     DEC   R7                           
  380.            MOV   A,R7                        
  381.            JZ    L0060                        
  382.            NOP                                
  383.            NOP                                
  384.            SJMP  L0059                        
  385. L0060:     MOV   C,20H.0                     
  386.            MOV   P1.4,C                       
  387.            MOV   R7,31H                       
  388. L0061:     DEC   R7                           
  389.            MOV   A,R7                        
  390.            JZ    L0062                        
  391.            NOP                                
  392.            NOP                                
  393.            SJMP  L0061                        
  394. L0062:     RET                                
  395. L0063:     MOV   R7,#04H                     
  396.            MOV   R0,#33H                     
  397.            CLR   A                           
  398. L0064:     MOV   @R0,A                        
  399.            INC   R0                           
  400.            DJNZ  R7,L0064                     
  401.            MOV   R7,#04H                     
  402. L0065:     CLR   C                           
  403.            MOV   A,#07H                       
  404.            SUBB  A,R7                        
  405.            ADD   A,ACC                        
  406.            MOV   R6,A                        
  407.            MOV   A,2AH                        
  408.            MOV   R0,06H                       
  409.            INC   R0                           
  410.            SJMP  L0067                        
  411. L0066:     CLR   C                           
  412.            RRC   A                           
  413. L0067:     DJNZ  R0,L0066                     
  414.            ACALL L0145                        
  415.            CJNE  R7,#08H,L0065               
  416.            MOV   R7,#08H                     
  417. L0068:     CLR   C                           
  418.            MOV   A,#0BH                       
  419.            
  420. ……………………

  421. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
2262仿真.rar (19.79 KB, 下载次数: 168)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:296837 发表于 2018-6-4 16:50 | 显示全部楼层
汇编写的啊,这要一会看。
回复

使用道具 举报

ID:461665 发表于 2019-1-23 17:00 | 显示全部楼层
学习学习,十分感谢
回复

使用道具 举报

ID:38792 发表于 2019-4-25 10:30 | 显示全部楼层
非常给力,刚好有人需要我转告他。
回复

使用道具 举报

ID:517235 发表于 2019-5-15 13:55 | 显示全部楼层
这个看着还挺详细,适合新手学习
回复

使用道具 举报

ID:99987 发表于 2019-5-15 20:26 | 显示全部楼层
汇编太好啦!增加一个24c芯片有发布吗?哪里可以下载学习?
回复

使用道具 举报

ID:147950 发表于 2019-5-16 22:11 | 显示全部楼层
哈哈哈 。。。。无意中看到,本人十几年前写的程序。我来给个c源码吧。。。。
回复

使用道具 举报

ID:447637 发表于 2019-6-17 10:48 | 显示全部楼层
学习学习
回复

使用道具 举报

ID:679392 发表于 2020-1-2 10:00 | 显示全部楼层
这个看着不做,学习学习啊
回复

使用道具 举报

ID:731012 发表于 2020-4-16 23:49 | 显示全部楼层
很有用!
回复

使用道具 举报

ID:149799 发表于 2020-9-14 09:39 | 显示全部楼层
真的很详细,谢谢。
回复

使用道具 举报

ID:997172 发表于 2021-12-26 20:11 | 显示全部楼层
感谢大佬,赶紧学习
回复

使用道具 举报

ID:337823 发表于 2022-9-26 14:00 来自手机 | 显示全部楼层
希望能够学到知识
回复

使用道具 举报

ID:304785 发表于 2023-6-14 22:12 | 显示全部楼层
xxz51hei 发表于 2019-5-16 22:11
哈哈哈 。。。。无意中看到,本人十几年前写的程序。我来给个c源码吧。。。。

这是你写得?
回复

使用道具 举报

ID:1085538 发表于 2023-6-24 19:14 | 显示全部楼层
源程序是汇编的,无法看懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表