找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4545|回复: 11
收起左侧

单片机解码PT2262与1602显示

  [复制链接]
ID:72088 发表于 2019-5-8 17:48 | 显示全部楼层 |阅读模式
本帖最后由 新乡家电维修 于 2019-5-29 21:48 编辑

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

1557730697842.jpg 1557730487123.jpg 1557730644791.jpg
超外差模块驱动能力很强,可以直接联接单片机I口,

集成晶振模块驱动能力有限,无法驱动单片机IO口,需要加驱动三极管组成射集跟随器驱动

同步头是一个高电平脉冲和一个长的低电平组成,图片是9.3ms左右的同步头,要连续检测到

两个同步头(绕开中间24个脉冲)相同才能确认是正确的信号。解码成功后,蜂鸣器响一声
第一排显示同步头时间:XX.Xms
第二排显示密码和数据:F1000010   1001

常见密码大家都熟悉:00=0、01=F、11=1,还有遥控有10,开始以为我解码错误

后来电脑分析波形才知道,特增加了10=D,扩大解码范围,这种波形出现在电动车遥控比较多。
1557730543249.jpg

1557730609990.jpg
电脑采集信号分析如图所示: 315波形.jpg

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


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

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

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

UUUU:
        JNB S1,A2
        JB K1,UUUU   ;有按键就发送遥控码
        CLR EA        ;关闭中断,让遥控码发送完成不受干扰
        MOV A,2CH
        CPL A
        MOV 2CH,A
        LCALL TTTT
        SETB EA
        JMP UUUU
;============================按键程序====================================
A2:        LCALL DELAY_10MS
        JB S1,A2_EN
        CPL SSR                ;开关动作一次
A2_EN:
        RET
DELAY_10MS:
        MOV R6,#25
XX0:        MOV R7,#20        
XX1:        DJNZ R7,$
        DJNZ R6,XX0
        RET
;=========================读出24C02数据==================
copy:
        mov r0,#2Ah        ;r0作为间接寻址
        mov address,#00h;地址清零

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

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

;----------------------------------
read:        lcall start                ;启动总线
        mov         a,r2
        lcall send
        lcall ack
        jc         read                ;               
        mov         a,address
        lcall send
        lcall ack
read_a:
        lcall start
        mov         a,r4
        lcall send
        lcall ack
        jc         read_a
rece:
        lcall receive
        mov         @r0,a                ;读到数据存储到@R0指定地址
        lcall ack
        lcall stop
        ret

部分程序

下面的烧写文件,晶振选4M,单片机STC89C52RC接线按照主程序上面的引脚定义接线就行,保证成功
为了防止不法人员利用程序偷盗别人遥控器码,程序我做了修改,只能解码一次就需要从新启动
发送数据也是发送一次就不能再发送信号了,需要重启,

2262解码测试51记忆2402.zip (1.29 KB, 下载次数: 101)
回复

使用道具 举报

ID:72088 发表于 2019-5-13 15:49 | 显示全部楼层
我的程序没有网上说的要在接收模块后面加倒相才能单片机中断解码
而是直接驱动单片机解码,不过用了LM358跟随器,增加模块驱动能力
回复

使用道具 举报

ID:72088 发表于 2019-5-13 15:58 | 显示全部楼层
本帖最后由 新乡家电维修 于 2019-5-24 21:00 编辑

我的程序对于震荡电阻1M---8.2M范围都能解码,对震荡电阻大小都能解码,现在研究解码后,还能发射遥控码功能,保存遥控码,成为学习型多功能遥控解码发射功能
回复

使用道具 举报

ID:517235 发表于 2019-6-24 15:27 | 显示全部楼层
新手请教:
2262的引脚不是只有三种状态吗?0,1,F。
那么10是什么状态呢?
回复

使用道具 举报

ID:72088 发表于 2019-6-27 14:53 | 显示全部楼层
ealoo 发表于 2019-6-24 15:27
新手请教:
2262的引脚不是只有三种状态吗?0,1,F。
那么10是什么状态呢?

有个别电动车遥控器不是标准的2262类型发射芯片,有10状态,加入D类型,解码更宽泛,不影响正常的01F信号解码的
回复

使用道具 举报

ID:60026 发表于 2019-7-5 15:07 | 显示全部楼层
这个有空折腾下!谢谢!
回复

使用道具 举报

ID:517235 发表于 2019-7-6 09:12 | 显示全部楼层
新乡家电维修 发表于 2019-6-27 14:53
有个别电动车遥控器不是标准的2262类型发射芯片,有10状态,加入D类型,解码更宽泛,不影响正常的01F信号 ...

请教,那个波形是什么样的呢?
另外,看到说把波形传到电脑上查看,这个怎么实现的?
回复

使用道具 举报

ID:72088 发表于 2019-9-25 20:24 | 显示全部楼层
ealoo 发表于 2019-7-6 09:12
请教,那个波形是什么样的呢?
另外,看到说把波形传到电脑上查看,这个怎么实现的?

波形是用315M接收头输出信号到电脑耳机插孔,用音频采集软件录音就能看到波形了,
回复

使用道具 举报

ID:702292 发表于 2020-10-22 15:33 | 显示全部楼层
需要1000米遥控器要怎么制作?
回复

使用道具 举报

ID:686858 发表于 2022-3-27 00:19 | 显示全部楼层
请问这个能解EV1527吗,支持多少IC
回复

使用道具 举报

ID:72088 发表于 2022-4-13 10:13 | 显示全部楼层
winsinzhao 发表于 2022-3-27 00:19
请问这个能解EV1527吗,支持多少IC

能解码,
回复

使用道具 举报

ID:72088 发表于 2022-4-13 10:14 | 显示全部楼层
dzltlgq 发表于 2020-10-22 15:33
需要1000米遥控器要怎么制作?

1000M遥控是买的,网上还有3000米的遥控,就是发射功率大的遥控
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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