电视遥控器使用的是专用集成发射芯片来实现遥控码的发射,如东芝TC9012,飞利浦SAA3010T等,通常彩电遥控信号的发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列),调制在38KHz的载波上,然后经放大、驱动红外发射管将信号发射出去。不同公司的遥控芯片,采用的遥控码格式也不一样。较普遍的有两种,一种是NEC标准,一种是PHILIPS 标准。
NEC标准:遥控载波的频率为38KHz(占空比为1:3);当某个按键按下时,系统首先发射一个完整的全码,如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。 一个完整的全码=引导码+用户码+用户码+数据码+数据反码。 其中,引导码高电平4.5ms,低电平4.5ms;系统码8位,数据码8位,共32位;其中前 16 位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后 16 位为 8 位的操作码和 8位的操作反码,用于核对数据是否接收准确。收端根据数据码做出应该执行什么动作的判断。连发代码是在持续按键时发送的码。它告知接收端,某键是在被连续地按着。
NEC标准下的发射码表示
发射数据时0用“0.56ms高电平+0.565ms低电平=1.125ms”表示,数据1用“高电平0.56ms+低电平1.69ms=2.25ms”表示
即发射码“0”表示发射38khz的红外线0.56ms,停止发射0.565ms,发射码“1”表示发射38khz的红外线0.56ms,停止发射1.69ms
需要注意的是:当一体化接收头收到38kHz 红外信号时,输出端输出低电平,否则为高电平。所以一体化接收头输了的波形是与发射波形是反向的,如图
PHILIPS标准:载波频率为38KHz;没有简码,点按键时,控制码在1和0之间切换,若持续按键,则控制码不变。一个全码=起始码‘11’+控制码+用户码+用户码,如图所示。
数据0用“低电平1.778ms+高电平1.778ms”表示;数据1用“高电平1.778ms+低电平1.778ms”表示。 连续码重复延时114ms。
NEC、TOSHIBA、SAMSONG公司的编码格式有其共通之处:遥控全码都由“引导码+系统码+系统码(或系统码取反)+数据码+数据码取反”组成;数据“0”和“1”的定义相同;不同的只是引导码高低电平的持续时间不同,系统码位数有长有短,第一个简码和全码最后一位之间的延时不同,简码的引导脉冲不同等;所以可以把相同的部分做成通用子程序,包括产生数据“0”和“1”的子程序“ONE”和“ZERO”,9ms、4.5ms、2.25ms、22ms、45ms等时间控制子程序。
键值处理,可采用外中断的方式,有键按下时,就向CPU发出中断请求,当然这里面还包括了去抖动、多键同时按时只处理一键的处理部分。
机芯的不同状态由单片机P3口的P3.5、P3.4、P3.1、P3.0四位的输入数值来区分判断,比如“0000”表示工作于东芝TC90××系列状态,“0001”则表示要求工作于NEC公司的PD61××系列状态。
判断了是哪一只键按下以及处于机芯的哪种状态以后,程序就严格按照相应的遥控编码方式来进行遥控码的发射,也就是说将一定时段、一定数值的电平脉冲调制在38KHz载波上,逐一发射出去。
流程图如图所示
关键字:51单片机 解码 红外遥控器
引用地址:
51单片机解码红外遥控器原理
推荐阅读最新更新时间:2024-03-16 15:03
51单片机自学笔记(四)——点亮LED灯、流水灯
LED灯 LED全称为半导体发光二极管,是采用半导体材料制成的,是一种直接将电能转换为光能,电信号转换为光信号的发光器件。其特点是功耗低、高亮度、色彩艳丽、抗振动、寿命长(正常发光时长8—10万小时)、冷光源等,是真正的“绿色照明”。实物图: LED在电路图中的符号为: 它具有二极管的基本特性,即正向导通,反向截止。要想点亮LED需要从正向流过工作电流。 不同LED小灯的工作压降不同,普通发光二极管的工作压降范围为:1.6—2.1V。工作电流为:1—20mA。 点亮单片机中LED灯 单片机中LED模块原理图: 通过观察电路原理图可以得出:要点亮开发板上LED小灯只需要控制P2口输出低电平即可(即给P2口赋值“0
[单片机]
如何使用Keil3开发51单片机程序
1.双击图标打开Keil软件 2.单击菜单栏 - 3.将新工程保存到一个文件夹 4.选择一款 CPU 芯片,这里STC89C52RC对应着Philips的P89V51RD2 5.提示是否复制8051的启动代码到文件夹,这里选择“否” 6.完成后,在Project Workspace中可以看到Source Group1 7.新建一个代码文件 8.以“*.c”作为后缀名保存 9.将刚刚保存的文件 led .c添加到工程中来 10.选中源代码文件,添加 11.可以看到led.c已经在Source Group1中 12.添加代码如下 13.单击 工具 栏上的“Op
[单片机]
基于51单片机的电子密码锁设计-- 1602显示
一.硬件方案 本系统由STC89C52单片机、44矩阵键盘,蜂鸣器,复位电路和晶振电路、继电器等组成,44键盘主要用于密码的输入和修改,蜂鸣器报警,复位电路和晶振电路与STC89C52单片机组成单片机最小系统。它具有设置、修改6位用户密码、输错报警、密码错误报警等功能。 主要由51单片机+最小系统+LCD1602液晶显示模块+蜂鸣器模块+LED指示灯模块+继电器驱动模块+矩阵键盘模块+AT24C02芯片模块;如图: 二.设计功能 (1)采用AT24C02芯片可以实现存储的密码掉电保存。密码为1-16位,开锁时可以随意输入虚假密码掩人耳目可以随意更改,更改时要输入两遍确认; (2)采用矩阵按键输入、1602液晶显示、继电器模
[单片机]
mouse.h头文件下载( 51单片机ps2 鼠标 驱动)
/****************************************************** 演示鼠标引脚定义 CLK : 白色 SDA : 绿色 GND: 橙色 VCC: 蓝色 *******************************************************/ #include delay52.h #ifndef MOUSE_H #define MOUSE_H sbit mouse_SDA=P3^4;//数据线P3_5 sbit mouse_CLK=P3^3;//时钟线P3_3 unsigned char bdata mouse_
[单片机]
基于51单片机的秒表和数显时钟
刚刚学过51单片机最重要的两个部分,定时器和中断,学完后应用定时器和数码管,首先,我们可以做出一个秒表程序,做出后,我们再在秒表的基础上,做一个数显时钟 #include reg52.h sbit k1=P3^1; //定义四个按键 sbit k2=P3^0; sbit k3=P3^2; sbit k4=P3^3; sbit LSA=P2^2; //38译码器数码管位选 sbit LSB=P2^3; sbit LSC=P2^4; typedef unsigned char u8; //对数据类型进行声明定义 typedef unsigned int u16; u8 code smgduan ={0x3f,0x0
[单片机]
51单片机P0口使用上拉电阻的作用
P0口作为I/O口输出的时候时,输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态,也就是说P0 口不能真正的输出高电平)。给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。P0作输入时不需要上拉电阻,但要先置1。因为P0口作一般I/O口时上拉场效应管一直截止,所以如果不置1,下拉场效应管会导通,永远只能读到0。因此在输入前置1,使下拉场效应管截止,端口会处于高阻浮空状态,才可以正确读入数据。 由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。 1.一般51单
[单片机]
UM3758-108编/解码器在串行通信中的应用
摘要:介绍一种基于编/解码器的PC机与多单片机之间的串行通信方法,并对智能卡的设计进行了说明。该编/解码器通信方案,软好地解决了多机系统中作为上位机的工控机对各下位机的寻址问题。
关键词:编/解码器 双口RAM PC 串行通信 UM3758-108
在遥测、遥控领域中,常常使用工业PC机与单片机组成的多机系统完成测控任务。PC机因其丰富的软硬件资源和友好的人机界面而被用作上位机,而单片机则因其优越的性价比和灵活的功能配置而被用作下位机。上位 机和下位机之间通过串行数据总线(如CAN总线、RS485总线等)连接,具体结构如图1所示。在进行数据传输时,一般先由上位机发出地址帧对指定的下位机寻址,在得到确认以后向选中的下位机发送命
[应用]
80c51单片机的基本配置有哪些 80c51单片机各个引脚及功能
80c51单片机的基本配置有哪些 80C51单片机的基本配置包括: CPU:80C51单片机的CPU由一个8位的ALU(算术逻辑单元)、一个8位的累加器、一个8位的B寄存器、一个16位的程序计数器和一个8位的状态寄存器组成。 存储器:80C51单片机的存储器包括程序存储器(ROM)、数据存储器(RAM)和特殊功能寄存器(SFR)。 时钟源:80C51单片机支持多种时钟源,包括外部晶体、外部时钟信号、内部振荡器等。 中断系统:80C51单片机支持多种中断源和中断优先级设置,可以灵活处理各种外部事件。 IO端口:80C51单片机的IO端口由多个可编程的输入输出引脚组成,可以连接各种外部设备。 通信接口:
[单片机]