基于单片机实现遥控编码器PT2262的软件解码

发布者:火星叔叔最新更新时间:2011-12-23 关键字:单片机  遥控编码器  PT2262  软件解码 手机看文章 扫描二维码
随时随地手机看文章

1 引言


PT2262是红外遥控编码器,PT2272是其接收解码器,两者常常配对使用,现已广泛用于汽车门控、遥控门锁、门禁管理等领域,也可用于传送数字信息。PT2262具有19位二进制编码功能;PT2272的解码只有4~6位,这就限制了数据传输的应用。在此从PT2262接收的信号特征入手,利用8051F330单片机直接对接收到的信号进行解码,解释出PT2262发出的全部19位数据,从而使其应用于数字通信、智能化控制等领域。

 

2 硬件电路

 

图1是发射装置的原理图,PT2262作为编码器,当按下按键时,设定的地址码和数据码从17引脚串行输出,经红外发射元件IRED发出信号。通过电阻Rosc凋节发射频率,适当提高PT2262工作电压(2.6 V~15 V),以增大发射距离。其中A0~A12可设置为高电平、低电平、悬空三种状态,因此可以发送531441种编码组合,完全满足设计需求。

 

 
 
 

 


接收装置采用集红外线接收、放大、整形于一体的集成电路TL0038,无需任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,故适用于各种红外线遥控和红外线数据传输。译码采用8051F330D单片机,11.0592MHz晶体振荡器,接收信号送至I/O端口P1.0进行软件解码。接收和译码电路如图2所示。

 

 
 
 

 


3 解码原理

 

编码器PT2262发送的编码信号是由:地址码、数据码、同步码组成的一个完整码字,最多可以有12位(A0~A11)三态地址端引脚(悬空、高电平、低电平),任意组合可提供531 441个地址码。将编码器PT2262的A8拉高,D3拉高,D0拉高,D1拉低,其余悬空。截取一段接收模块信号输出波形如图3所示,PT2262每发射一次,至少发送4组相同编码字码。每组字码间隔(低电平)约14 ms。

 


将其截获波形每组字码放大,如图4所示,一组字码有12位A/D码,每个A/D位是由2个脉冲表示:2个窄脉冲则表示“0”;2个宽脉冲表示“1”;1个窄脉冲和1个宽脉冲表示“F”即地址码“悬空”;除此之外,每组字码之间还有1个同步码隔开,所以每组字码共计有25个宽度不同的脉冲。窄脉冲宽为200μs,宽脉冲宽为1 200μs;两个窄脉冲之间宽l 200μs;两个宽脉冲问宽200μs;宽窄脉冲间宽为200μs;在4组字码中,每组的字码间隔为14 000μs。因此,采用单片机软件解码时,只要判断出起始码,并且识别其后面的字码脉冲宽度即可。

 


4 抗干扰措施

 

常用抗干扰措施,是在硬件电路中采用电源滤波、电源稳压、数字地与模拟地隔离。在设计中,除采用上述方法外,还根据干扰信号与有效信号波形特征异同点,采用软件识别干扰信号和有效信号,从而实现“抗干扰”目的。

 

当遥控器不发射时,由于空气中各杂波干扰,接收模块的信号输出端仍然会有干扰信号,截获波形如图5所示。

 


观察其特征,低电平最长为3 000 μs,最短数十微秒;高电平最长500μs,最短数微秒。与发射时接收到的规则波形(即非有效信号)相比较,低电平为1 400μs的信号,是有效信号,而不是干扰信号。

并将A0~A34个地址焊接到高电平上作为发射编码信号的帧前码,可解决误码率和十扰问题。

5 软件解码
 

步骤1:单片机循环记录接收模块信号电平脉冲的长度,高低电平都记录。

步骤2:从记录高低电平组成的波形中,找出连续8个1200μs时长的脉冲信号为特征波形段,即帧前码。

步骤3:确认帧前码之前是否存在一个时长为14000μs的低电平,如果有(则说明不是干扰码),将解码并存储结果,然后根据指令码执行相应控制功能。如没有,则放弃记录的数据,重复步骤1,直到满足条件为止。
 

以下给出了相关软件解码的程序代码:

 


 
 

 

 
 

 


 
 
 

 

 

6 结束语


 

该软件解码部分已在8051F330D单片机(11.059 2 MHz晶体振荡器)上通过现场测试,设计方案可应用于门禁管理系统。实践表明,应用方便、可靠性好、代码识别准确。

 

关键字:单片机  遥控编码器  PT2262  软件解码 引用地址:基于单片机实现遥控编码器PT2262的软件解码

上一篇:基于51单片机控制的冲床控制器
下一篇:HI7159A和8031单片机构成的智能化数字电压表

推荐阅读最新更新时间:2024-03-16 12:49

51单片机ADC0809数码管显示光照强度的仿真和源码
51单片机ADC0809 数码管 显示光照强度 源码及仿真文件请自行下载 仿真原理图如下 单片机源码如下: #include reg52.h #include intrins.h #include absacc.h #define uchar unsigned char #define uint unsigned int #define COM0808 XBYTE char code dis_code ={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0xff}; char find_co
[单片机]
51<font color='red'>单片机</font>ADC0809数码管显示光照强度的仿真和源码
未来通用MCU的方向是什么?
来源:21ic电子网 在2023年STM32峰会上,看通用MCU的未来发展方向。 从2007年发布STM32家族首款芯片——STM32F1以来,ST就开始了在通用MCU领域的传奇之旅。从2013年10亿,2020年60亿,到现在的110亿,STM32的累积出货量攀升地越来越快。而究其成功的背后原因,正是因为其每一代的产品定义都完美契合了当时当下的行业需求,并且在产品的数次迭代过程中,延续了一致的开发环境,并且伴随着一路积累,整个STM32生态越发繁盛。 在2023年,通用MCU已经不再是简单的一通百用,几个大的细分赛道也有足够大的量来支撑其通用MCU的差异化发展。而什么样的MCU才是未来行业应用趋势是什么样的?什么样
[嵌入式]
未来通用<font color='red'>MCU</font>的方向是什么?
51单片机通过esp8266和温度传感器将温度显示到手机上
需要的硬件:51单片机,ESP8266(wifi模块),DS18b20(温度传感器) 需要的软件: 手机要下载一个网络调试助手,浏览器就有。 部分代码: #include reg52.h #include intrins.h #define uint unsigned int #define uchar unsigned char sbit DQ=P2^4; sbit k1=P1^0; sbit fmq=P1^4; char receiveTable = ; char aa = ; uint temp,shi,ge,a,i,flag; void delay(uint i) //5us { do
[单片机]
51<font color='red'>单片机</font>通过esp8266和温度传感器将温度显示到手机上
基于51单片机的湿度检测系统
第1章 课题概述 1.1 课题概述 课题的设计和研究方对象,设计过程及研究内容、实际应用的背景等,针对同一课题,同组内也必须不同 本课题是以C51为基础对湿度检测系统进行简单设计,设计的主要过程为确定连接电路,根据电路原理图进行电路板的焊接,再进行湿度检测程序的设计,最终将程序烧录进单片机进行实际验证。研究内容即为主要程序设计。湿度检测的应用场景十分广大,例如在蔬菜大棚、工厂车间、实验室、药房、库房、仓库、粮仓、酒窖、图书馆、档案馆、文物室等地方。 1.2 课题要求 1)利用51单片机做控制芯片,用GY-39来实现环境湿度的检测 2)湿度值需要保留一位小数 3)湿度值通过计算后,要能够准确的显示在数码管上 第2章 系
[单片机]
51单片机常见的7种时钟电路介绍
在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式,如下图所示。 时钟电路:(a)内部方式时钟电路,(b)外接时钟电路 在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz~12MHz之间。对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz
[单片机]
51<font color='red'>单片机</font>常见的7种时钟电路介绍
AVR单片机4位数码管计数C程序
AVR单片机4位数码管计数,从0000-5000一直循环。位选端接在PC的低4位,而段选端接在PA口。程序如下: #include iom16v.h //头文件 #include macros.h //头文件 #define uchar unsigned char//宏定义 #define uint unsigned int//宏定义 uchar i;//定义变量 uint num;//定义计数变量 #pragma data:code//数组存放位置 const table ={ 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86
[单片机]
单片机控制的逆变系统框图
单片机控制的 逆变系统 框图如下所示:
[单片机]
<font color='red'>单片机</font>控制的逆变系统框图
基于MCU与DSP的双机压电捷联惯导系统
摘要 以压电陀螺及压电加速计作为惯性器件的惯性导航/制导系统,具有成本低、质量轻、抗冲击、可靠性高等优点.是惯性导航一直研究的解决方案。文章介绍基于TI公司TMS320C5410实现的压电捷联惯导系统的平台.论述系统的硬件与系统组成和设计,详细说明DSP系统中。HPI接口、串口发送数据以及程序加载自举等的使用与实现方法。 关键词 压电捷联惯导系统 DSP 捷联姿态计算 引 言 近年来,广大科研工作者研究了各种减小压电捷联惯导系统的误差方法,使压电惯性器件的精度得到了极大的提高 .本文介绍了一种实用的基于DsP实现的压电捷联惯导系统方案。 1 系统的硬件设计 整个压电捷联惯导系统分为三个部分:压电惯性组合部分;由ADS12
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved