历史上的今天
返回首页

历史上的今天

今天是:2024年12月18日(星期三)

正在发生

2019年12月18日 | 51单片机红外线接收系统设计文档

2019-12-18 来源:51hei

红外线接收系统,是基于51单片机的普通红外线接收器,

图1 红外线接收器原理图


2.1.首先我们先解释一下红外线:

人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线.红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。


2.2 对于红外接收器而言  

红外接收设备是由红外接收电路、红外解码、电源和应用电路组成。红外遥控接收器的主要作用是将遥控发射器发来的红外光信好转换成电信号,再放大、限幅、检波、整形,形成遥控指令脉冲,输出至遥控微处理器。近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VOUT)。在使用时注意成品红外接收头的载波频率,另外在遥控编码芯片输出的波形与接收头端收到的波形。


2.3我们此次的红外线接收系统主要是对于遥控器所发出的红外线,对她进行接收和解码从而发送到数码管、小灯、蜂鸣器等等让其做出相应的反应。


①发送:通常的红外遥控通常为了提高抗干扰性能和降低电源消耗,红外遥控器常用载波的方式传送二进制编码,常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9kHz≈38kHz。也有一些遥控系统采用36kHz、40 kHz、56 kHz等,一般由发射端晶振的振荡频率来决定。所以,通常的红外遥控器是将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。


②接收:二进制脉冲码的形式有多种,其中最为常用的是PWM码(脉冲宽度调制码)和PPM码(脉冲位置调制码,脉冲串之间的时间间隔来实现信号调制)。如果要开发红外接收设备,一定要知道红外遥控器的编码方式和载波频率,我们才可以选取一体化红外接收头和制定解码方案。

发送端接收端


图2.红外原理图

我们通过对发送端进行编码进行合理控制从而发出数据让接收端收到一定的波形图送到数码管因为接收之后解码出来是ASC||码所以我们需要进行一定的转换。


2.4单片机只能识别二进制数字所以我们对于数据的发送的传输以及接受需要很谨慎。接收和发送的数据码格式一共分为四组:原码、原码的反码、数据码、数据反码。

图3.时序图


在起始码之前我们需要先给一定的延时(大约七到八毫秒)判断是否已经开始接收到真正的信号然后定义一个延时子函数让他自加如果大约十毫秒左右没有反应说明发送出了问题,如果接收到真正的信号同时之前的延时子函数也没有到达十毫秒就开始之后的起始码让其等待九毫秒的低电平然后再等待之后的四点五毫秒的高电平开始接受之后的字符串存入我们定义好的数组中。对于单片机的延时误差可能会很多我们在此考虑的是对于每一次的延时我们的下一都进行判断直到精确接受到为止。


3.硬件电路设计:

图4.单片机元器件分布


因为基于单片机的操作所以以51单片机为主,其中的硬件电路连接。

图5单片机原理图


本次设计我们主要用到的模块有以下几个:

图6.51单片机最小系统

这是我们所使用的51单片机的最小系统的原理图,我们通过编码对它的I/O口进行高低电平的控制,从而控制他的一些外设模块初始化完成一系列的操作十分方便,但是51单片机的处理速度较慢以及较少的I/O口和少的模块控制、内存问题只能处理一些简单一些的问题。

图7.蜂鸣器


蜂鸣器风味有源蜂鸣器和无源蜂鸣器,因为有源和无源的操作以及工作方式是不一样的,市面上以及单片机上配置蜂鸣器以无源蜂鸣器为主必须用交流电高低电平的来回转换控制它的发声,有源蜂鸣器是直流电源即可,大部分都是用来警报和音乐播放,其中我们用来报警。

 

图8数码管               图9.译码器


用的51单片机本身配置为七段数码管能显示数字和极个别文字分别为a,b,c,d,e,f,g,dp这八段dp为小数点位,给与高电平则亮同时八段也符合16进制来取值,控制显示。译码器则为三八线译码器,用P2.2,P2.3,P2.4来控制数码管的选择一共八位数码管从000-111来控制位选,则P0口用来控制段选。

#include "reg52.h"                                         

typedef unsigned int u16;               

typedef unsigned char u8;

sbit beep=P1^5;

sbit k4=P3^3; 

sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

sbit led1=P2^0;

sbit IRIN=P3^2;

//#define led P2

u8 IrValue[6];

u8 Time;

u8 m;

u8 DisplayData[8];

u8 code smgduan[17]={

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0X76};

void delay(u16 i)

{

              while(i--);                  //10us                                                                                      延时函数

}

void DigDisplay()

{

              u8 i;

              for(i=0;i<3;i++)

              {

                            switch(i)             

                            {

                                          case(0):

                                                        LSA=0;LSB=0;LSC=0; break;

                                          case(1):                                                                                                                                            数码管

                                                        LSA=1;LSB=0;LSC=0; break;                                             的选择

                                          case(2):

                                                        LSA=0;LSB=1;LSC=0; break;             

                            }

                            P0=DisplayData[2-i];//发送数据

                            delay(100); //间隔一段时间扫描             

                            P0=0x00;//消隐

              }                           

}

/*void DigDisplay()

{

              P1=0;

              P0=0x01;                                                                                                        适合于老

              P1=m;                                                                                                                                   师的程序

              delay(1);

} */  //shi yong yu lao shi ban zi



void IrInit()

{

              IT0=1;//下降沿触发

              EX0=1;//打开中断0允许

              IT1=1;//跳变沿出发方式(下降沿)                                          红外线

              EX1=1;//打开INT1的中断允许。                                                        传输打

              EA=1;              //打开总中断              开初始

              IRIN=1;//初始化端口              化函数

}

void main()

{             

    unsigned int temp;

              IrInit();

              //zhongduan();

              while(1)

              {             

                            DisplayData[0] = smgduan[m];                            数码管

                            DisplayData[1] = smgduan[m];                            送位

                            DisplayData[2] = smgduan[m];

                  DigDisplay();

                            temp++;

                            delay(100);

                 if(m==1)

                  {

                    beep=~beep;

                  }

                  if(temp>10)                                                                                    完成一系

                            {                                                                                                                              列的动作

推荐阅读

史海拾趣

Alliance Fiber Optics Products Inc公司的发展小趣事

随着产品质量的不断提升和市场需求的扩大,AFOP开始积极拓展国内外市场。公司通过与各大电信运营商、设备制造商等建立合作关系,将产品应用于长途通信、大都会网络以及最后一里接入等领域。同时,AFOP还积极参与国际光纤通信展览会等活动,加强与国际同行的交流与合作,提升了公司在国际市场的知名度。

Everbuild公司的发展小趣事

Everbuild深知人才是企业发展的核心。因此,公司注重人才培养和团队建设。公司建立了完善的培训体系,为员工提供各种技能培训和职业发展机会。同时,Everbuild还鼓励员工参与创新项目和技术研发,激发员工的创造力和工作热情。这些努力使Everbuild拥有一支高素质、专业化的团队,为公司的持续发展提供了强有力的保障。

C&H Technology公司的发展小趣事

随着智能手机市场的快速发展,C&H Technology意识到单纯的芯片制造已经不能满足市场需求。于是,公司开始加大研发投入,致力于在5G通信、人工智能等前沿技术领域取得突破。经过多次试验和失败,C&H Technology的研发团队终于成功开发出了一款集成5G通信功能的手机芯片,并获得了多项专利。这一技术突破不仅提升了公司在行业内的地位,也为公司的未来发展奠定了坚实的基础。

Hoffman_Enclosures__Inc.公司的发展小趣事

1945年,一位名叫Harry Hoffman的年轻人凭借对工厂安全的深刻关注,发明了压力机安全保护装置。这一装置能够在操作人员的手处于危险区域时迅速停止机器,有效保护了工人的安全。这一创新不仅为Hoffman公司奠定了技术基础,也标志着公司正式步入工业电气机柜和温控产品的研发与制造领域。Harry Hoffman的这项发明不仅解决了当时工厂安全的一大难题,也为公司后续的发展奠定了坚实的基础。

Aptina (ON Semiconductor)公司的发展小趣事

在被ON Semiconductor收购后,Aptina作为ON Semiconductor的一部分,继续保持其技术优势和市场竞争力。ON Semiconductor对Aptina进行了整合与发展,将其纳入公司的整体战略中。通过资源共享、技术互补和市场协同,Aptina在ON Semiconductor的支持下实现了更快速的发展,并继续为全球客户提供高质量的图像传感器产品。

综上所述,Aptina (ON Semiconductor)公司的发展历程充满了挑战与机遇。从初创时期的艰难起步到技术突破与专利积累,再到与索尼的专利交叉许可和被ON Semiconductor收购,每一个阶段都见证了公司的成长与蜕变。如今,作为ON Semiconductor的重要一员,Aptina将继续在图像传感器领域深耕细作,为全球消费者带来更多优质的产品和服务。

Deltron公司的发展小趣事

在竞争激烈的电子市场中,品质是Deltron公司的生命线。公司始终坚持以客户为中心,注重产品质量和服务的提升。通过严格的质量控制体系和完善的售后服务,Deltron赢得了客户的信任和好评。同时,公司还积极参与行业标准的制定和修订工作,推动行业向更高水平发展。

问答坊 | AI 解惑

我爱龙芯

    很关注自己国家的芯片的动态,特别让我们感动的是我们自己的芯------龙芯。关于龙芯,对于我而言,了解的也许只是浅在的,并不是从技术层面的。我是学电子的,所对对于中国的电子业发展状况,绝对比一般的局外人看的清楚一些,可以豪 ...…

查看全部问答>

小小一片,大大学问——谈谈滤光片

各位有没有想过, 到底CCD上那片玻璃片是干嘛用的?--- 那片滤光片,正确名称叫”光学低通滤波器” (OLPF)! 啊!不就是片破玻璃片嘛! 且听我道来: 滤光片的功用:1.滤除红外线. 2.修整进来的光线 滤除红外线: 彩色CCD也可感应红外线,就是因为会感应 ...…

查看全部问答>

PCB技术---资料集

PCB技术---资料集…

查看全部问答>

2440VGA输出配置

我用CH7005将LCD信号转换成VGA输出,在640*480分辨率下能在VGA输出,但是在800*600分辨率下不能输出。 640*480分辨率的相关注册表配置如下:(谢谢知道的大侠指点下这些该怎么配置,下面的配置是借别人的配置)\"Clkval_TFT\"= DWORD:1 \"vbpd\" ...…

查看全部问答>

keil uvision3 device list 里面没有LPC2148 想自己添加

keil uvision3 device list 里面没有LPC2148 想自己添加,但是在添加菜单里面不知道,最后options 应该怎么写,我是菜鸟高手帮帮忙,谢谢各位…

查看全部问答>

ST裸机开发能用malloc吗?

                                 纠结的一个问题。。裸机开发没有系统的话,能不能用malloc()函数呢?如果能用,是谁在管理堆区呢?…

查看全部问答>

STM8 硬件I2C问题

如题,最近在调STM8的 硬件I2C来读写24C16,不知道是不是用7位模式?要用7位模式或10位模式要怎么配置?…

查看全部问答>

这是什么零件有什么作用

如下这颗零件是用在开关电源上的应该是共模电感起EMI滤波用的,但上面有颗零件 【红色的】 不知道是何作用,量测为导通的…

查看全部问答>

Mbus主站接受电路的问题!!!!!!!!!

这个电路的主要作用就是检测SR两端的电压波动,通过U1差动输入和U2的比较作用,从而实现光耦的通断 我想问的是电容C1和C2起的作用是什么? 哪位大神给指点一下吧 跪谢…

查看全部问答>

让低功耗 MSP430 的功耗更低 — 第 2 部分

在上次(https://bbs.eeworld.com.cn/thread-440392-1-1.html)我们探讨了特别有趣的 MSP430 属性:尽管 MSP430 的电源电压范围很宽(1.8 至 3.6V),但功耗会随提供给 MCU 的特定电压变化而变化。换句话说,电源电压从 1.8V 提高到 3.6V 会明显增 ...…

查看全部问答>