电子技术论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
下载方法|用单线程|避免多扣帖子规范|求助必读|发帖建议积分策略|勋章介绍|新人必读获取金币|推广论坛|出售帖子基本礼节|致会员信|版规总则
禁涉政治|反对低俗|举报专帖征集相片|留下足迹|推荐精华上传附件|制作分卷|使用网盘禁发qq群|恶意灌水|纯表情帖加入团队|监督机制|安全上网
查看: 7585|回复: 7

单片机解码PT2262与1602显示

[复制链接]
发表于 2019-7-30 21:03:46 | 显示全部楼层 |阅读模式

注册家电维修技术论坛,与同行畅聊维修技术,享更多技术论坛功能。

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
看看我的帖子,介绍配遥控方法
单片机解码PT2262与1602显示

最近研究315M解码最下面增加了发送遥控码功能,记忆功能

单片机解码PT2262与1602显示-1.jpg
单片机解码PT2262与1602显示-2.jpg
单片机解码PT2262与1602显示-3.jpg

超外差模块驱动能力很强,可以直接联接单片机I口,集成晶振模块驱动能力有限,无法驱动单片机IO口,需要加驱动三极管组成射集跟随器驱动同步头是一个高电平脉冲和一个长的低电平组成,图片是9.3ms左右的同步头,要连续检测到两个同步头(绕开中间24个脉冲)相同才能确认是正确的信号。解码成功后,蜂鸣器响一声
第一排显示同步头时间:XX.Xms
第二排显示密码和数据:F1000010   1001

常见密码大家都熟悉:00=0、01=F、11=1,还有遥控有10,开始以为我解码错误,后来电脑分析波形才知道,特增加了10=D,扩大解码范围,这种波形出现在电动车遥控比较多。

单片机解码PT2262与1602显示-4.jpg
单片机解码PT2262与1602显示-5.jpg
单片机解码PT2262与1602显示-6.jpg
单片机解码PT2262与1602显示-7.jpg
电脑采集信号分析如图所示.jpg

如果多人跟帖,有兴趣,我会继续更新贴新加入了发射接收到的315M遥控信号功能,并保存到24C02中
下次开机直接读取24C02数据作为比较信号和接收的信号比较,控制SSR输出
按下K1发射存储在24C02中的信号(最少发送5遍信号)
按下S1手动控制SSR输出
按下S0记忆当前接收到的信号到24C02中
下图是新程序,增加的功能显示

单片机解码PT2262与1602显示-8.jpg

部分程序:
  1.         SPK        EQU        P3.7        ;蜂鸣器
  2.         RS        bit        P2.7        ;引脚定义
  3.         RW        bit        P2.6        
  4.         E        bit        P2.5
  5.         LCD        EQU        P0
  6.         IRIN        BIT        P3.2        ;315M信号输入端
  7.         FAST        BIT        P3.5        ;315M信号发射端
  8.         K1        BIT        P1.0        ;开关控制发射
  9.         S0        BIT        P1.1        ;学习按键(解码正确后,按键按下就学习成功)
  10.         S1        BIT        P3.3        ;手动开关,控制输出
  11.         sda         BIT        p3.4   ;5脚
  12.         scl         BIT        p3.3   ;6脚
  13.         address        equ        40h    ;256字节地址数
  14.         cdate        equ        2Ah    ;数据暂时存放单元
  15.         SSR        BIT        P3.0        ;输出端

  16.         ORG        00H
  17.         LJMP        MAIN
  18.         ORG         03H         ;外部中断INT0入口地址
  19.         LJMP        INT_0
  20.         ORG         40H
  21. ;====================================主程序==================================
  22. MAIN:
  23.         CLR        FAST
  24.         SETB        IRIN
  25.         LCALL        COPY        ;读取24C02中的数据作为遥控开关比较数据
  26.         MOV        3AH,#20                ;控制蜂鸣器时间
  27.         LCALL        FS_SPK                ;蜂鸣器响一声(没有检测到24C02,蜂鸣器开机不响)
  28. WU2402:
  29.         MOV        LCD,#00000001B        ;清屏并复位光标
  30.         LCALL        WR_COMM                ;调用写指令子程序
  31.         LCALL        INIT_LCD        ;调用初始化子程序
  32.         MOV        SP,#60H
  33.         LCALL DISP        ;显示

  34.         SETB        EA                 ;打开CPU总中断请求
  35.         MOV        TMOD,#00010001B        ;模式1定时模式
  36.         MOV        TH0,#00H
  37.         MOV        TL0,#00H
  38.         SETB        IT0                 ;设定INT0的触发方式为脉冲负边沿触发
  39.         SETB        EX0

  40. UUUU:
  41.         JNB S1,A2
  42.         JB K1,UUUU   ;有按键就发送遥控码
  43.         CLR EA        ;关闭中断,让遥控码发送完成不受干扰
  44.         MOV A,2CH
  45.         CPL A
  46.         MOV 2CH,A
  47.         LCALL TTTT
  48.         SETB EA
  49.         JMP UUUU
  50. ;============================按键程序====================================
  51. A2:        LCALL DELAY_10MS
  52.         JB S1,A2_EN
  53.         CPL SSR                ;开关动作一次
  54. A2_EN:
  55.         RET
  56. DELAY_10MS:
  57.         MOV R6,#25
  58. XX0:        MOV R7,#20        
  59. XX1:        DJNZ R7,$
  60.         DJNZ R6,XX0
  61.         RET
  62. ;=========================读出24C02数据==================
  63. copy:
  64.         mov r0,#2Ah        ;r0作为间接寻址
  65.         mov address,#00h;地址清零

  66. ;        mov 2Ah,#0        ;清零准备装入上次24C02存储的数据
  67. ;        mov 2Bh,#0        ;读出的数据放在2AH/2BH/2CH中
  68. ;        mov 2Ch,#0
  69. ;        mov 2Dh,#0

  70.         mov         r5,#4         
  71. s:        mov         r2,#10100000b        ;写存储器1010(为24c系列统一识别码)001(为芯片地址码A2/A1/A0)最后一位是读写位        
  72.         mov         r4,#10100001b        ;读存储器
  73.         MOV R3,#50
  74.         Lcall         read                ;调用读存储器程序
  75.         inc         address                ;地址加1
  76.         inc        r0
  77.         djnz         r5,s                ;减1后不为0继续返回S
  78.         ret

  79. ;----------------------------------
  80. read:        lcall start                ;启动总线
  81.         mov         a,r2
  82.         lcall send
  83.         lcall ack
  84.         jc         read                ;               
  85.         mov         a,address
  86.         lcall send
  87.         lcall ack
  88. read_a:
  89.         lcall start
  90.         mov         a,r4
  91.         lcall send
  92.         lcall ack
  93.         jc         read_a
  94. rece:
  95.         lcall receive
  96.         mov         @r0,a                ;读到数据存储到@R0指定地址
  97.         lcall ack
  98.         lcall stop
  99.         ret
复制代码


下面的烧写文件,晶振选4M,单片机STC89C52RC接线按照主程序上面的引脚定义接线就行,保证成功
为了防止不法人员利用程序偷盗别人遥控器码,程序我做了修改,只能解码一次就需要从新启动
发送数据也是发送一次就不能再发送信号了,需要重启。
我的程序没有网上说的要在接收模块后面加倒相才能单片机中断解码,而是直接驱动单片机解码,不过用了LM358跟随器,增加模块驱动能力。我的程序对于震荡电阻1M---8.2M范围都能解码,对震荡电阻大小都能解码,现在研究解码后,还能发射遥控码功能,保存遥控码,成为学习型多功能遥控解码发射功能。
发表于 2019-9-10 18:25:56 | 显示全部楼层
厉害,偷车神器啊!!!!
发表于 2019-10-24 22:57:44 来自手机 | 显示全部楼层
用c后汇编已经忘了
发表于 2021-4-21 10:12:57 | 显示全部楼层
上个完整的电路看看好不好?
发表于 2021-6-2 21:18:42 | 显示全部楼层
专业编程啊
发表于 2021-11-5 12:13:56 | 显示全部楼层
学习学习学习学习学习
发表于 2022-4-4 16:09:19 | 显示全部楼层
学习了学习了学习了学习了
发表于 2022-7-23 19:26:19 | 显示全部楼层
能对拷吗?想要有个集成遥控器。
平时使用的遥控器比较多。想集成在一个上。类似于我这个:(见付件)

遥控器·

遥控器·
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|家电维修技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2024-5-9 12:21 , Processed in 0.079431 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

CopyRight © 电子技术论坛
电子邮箱:8794149@qq.com | 联系 QQ:3081868839 | 官方网址:www.dzdu.com

Qiji. All Rights Reserved


服务条款 | 站长声明

Wuhan Qiji Technology Co., Ltd.武汉奇迹科技有限公司版权所有


鄂ICP备09003585号-2鄂公网安备42010602000420号

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