红外发射单片机原理与设计程序.docx

上传人:b****2 文档编号:23187716 上传时间:2023-05-15 格式:DOCX 页数:11 大小:222.63KB
下载 相关 举报
红外发射单片机原理与设计程序.docx_第1页
第1页 / 共11页
红外发射单片机原理与设计程序.docx_第2页
第2页 / 共11页
红外发射单片机原理与设计程序.docx_第3页
第3页 / 共11页
红外发射单片机原理与设计程序.docx_第4页
第4页 / 共11页
红外发射单片机原理与设计程序.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

红外发射单片机原理与设计程序.docx

《红外发射单片机原理与设计程序.docx》由会员分享,可在线阅读,更多相关《红外发射单片机原理与设计程序.docx(11页珍藏版)》请在冰豆网上搜索。

红外发射单片机原理与设计程序.docx

红外发射单片机原理与设计程序

用AT89S51单片机制作红外电视遥控器

  一般红外电视遥控器的输出都是用编码后串行数据对38~40kHz的方波进行脉冲幅度调制而产生的。

  当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。

这种遥控码具有以下特征:

  采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。

  上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制,然后再通过红外发射二极管产生红外线向空间发射。

一般电视遥控器的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。

后16位为8位的操作码和8位的操作反码,用于核对数据是否接收准确。

  根据红外编码的格式,发送数据前需要先发送9ms的起始码和4.5ms的结果码。

  遥控串行数据编码波形如下图所示:

  接收方一般使用TL0038一体化红外线接收器进行接收解码,当TL0038接收到38kHz红外信号时,输出端输出低电平,否则为高电平。

所以红外遥控器发送红外信号时,参考上面遥控串行数据编码波形图,在低电平处发送38kHz红外信号,高电平处则不发送红外信号。

  单片机红外电视遥控器电路图如下:

 

C51程序代码:

#include

staticbitOP;       //红外发射管的亮灭

staticunsignedintcount;      //延时计数器

staticunsignedintendcount;//终止延时计数

staticunsignedcharflag;     //红外发送标志

sbitP3_2=P3^2;//红外发送端

chariraddr1; //十六位地址的第一个字节

chariraddr2; //十六位地址的第二个字节

voidSendIRdata(charp_irdata);

voiddelay();

voidmain(void)

{

 count=0;

 flag=0;

 OP=0;

 P3_2=0;

 EA=1;//允许CPU中断

 TMOD=0x11;//设定时器0和1为16位模式1

 ET0=1;//定时器0中断允许 

 TH0=0xFF;

 TL0=0xE6;//设定时值0为38K也就是每隔26us中断一次 

 TR0=1;//开始计数

 iraddr1=3;

 iraddr2=252;

 do{

     delay();

     SendIRdata(12);

 }while

(1);

}

//定时器0中断处理

voidtimeint(void)interrupt1

{

 TH0=0xFF;

 TL0=0xE6;//设定时值为38K也就是每隔26us中断一次

 count++;

 if(flag==1)

 {

   OP=~OP;

 }

 else

 {

   OP=0;

 }

 P3_2=OP;

}

voidSendIRdata(charp_irdata)

{

 inti;

 charirdata=p_irdata;

 //发送9ms的起始码

 endcount=223;

 flag=1;

 count=0;

 do{}while(count

 //发送4.5ms的结果码

 endcount=117

 flag=0;

 count=0;

 do{}while(count

 //发送十六位地址的前八位

 irdata=iraddr1;

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

 {

    //先发送0.56ms的38KHZ红外波(即编码中0.56ms的低电平)

    endcount=10;

   flag=1;

   count=0;

   do{}while(count

//停止发送红外信号(即编码中的高电平)

     if(irdata-(irdata/2)*2) //判断二进制数个位为1还是0

    {

     endcount=41; //1为宽的高电平

   }

   else

   {

   endcount=15;  //0为窄的高电平

    }

   flag=0;

   count=0;

   do{}while(count

   irdata=irdata>>1;

 }

 //发送十六位地址的后八位

 irdata=iraddr2;

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

 {

    endcount=10;

    flag=1;

    count=0;

    do{}while(count

    if(irdata-(irdata/2)*2)

   {

       endcount=41;

   }

    else

    {

     endcount=15;

   }

   flag=0;

    count=0;

   do{}while(count

    irdata=irdata>>1;

 }

 //发送八位数据

 irdata=p_irdata;

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

 {

    endcount=10;

    flag=1;

    count=0;

    do{}while(count

    if(irdata-(irdata/2)*2)

    {

        endcount=41;

    }

    else

    {

     endcount=15;

    }

    flag=0;

    count=0;

    do{}while(count

    irdata=irdata>>1;

 }

 //发送八位数据的反码

 irdata=~p_irdata;

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

 {

    endcount=10;

    flag=1;

    count=0;

    do{}while(count

    if(irdata-(irdata/2)*2)

    {

       endcount=41;

    }

    else

    {

      endcount=15;

    }

   flag=0;

    count=0;

    do{}while(count

    irdata=irdata>>1;

 }

  endcount=10;

 flag=1;

 count=0;

 do{}while(count

 flag=0;

}

voiddelay()

{

 inti,j;

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

 {

   for(j=0;j<100;j++)

   {

   }

 }

}

  制作的实物如下图所示:

 

 1、引言

  红外通信是目前比较常用的一种无线数据传输手段,其具有无污染、信息传输稳定、信息安全性高以及安装使用方便等优点,并且可以在很多场合应用,如家电产品,工业控制、娱乐设施等领域。

红外通信是利用950nm近红外波段的红外线作为传递信息的载体,通过红外光在空中的传播来传递信息,由红外发射器和接收器实现。

发射端将二进制数字信号调制成某一频率的脉冲序列,经电光转换电路,驱动红外发射管

发射管

  发射管也称振荡管,是一种产生或放大高频功率的静电控制电子管。

一直以来发射管是电视及音频系统中用作末级功放的原件,如今因其优良的性能和所在的米波频段,应用范围不断得到扩展。

[全文]

以光脉冲的形式发送到空中。

接收端将接收到的光脉冲转换成电信号,再经解调和译码后恢复出原二进制数字信号。

本文设计了一种基于单片机

单片机

  单片机是单片微型计算机(Single-ChipMicrocomputer)的简称,是一种将中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)采用超大规模集成电路技术集成到一块硅片上构成的微型计算机系统。

[全文]

PIC18F248的主从式红外通信系统,主要设计了红外接口电路以及主机和从机通信软件流程。

  2、系统硬件电路设计

  在主从式红外通信系统中,主机及从机的红外发射电路相同,红外线的载波频率都为38KHz,在同一时间内,可以是主机发射,从机接收;或者从机发射,主机接收。

  2.1红外发射电路设计

  红外发射器电路主要由单片机,驱动管Q1和Q2、红外发射管

红外发射管

  红外发射管就是发射红外线的二极管,主要用于红外控制系统的发射源。

波长有940nm和850nm两种,材料都是GaAlAs,工作电流一般在50mA,发射信号经频率调制后一般接收距离可超过10米,无干扰时可超过30米。

[全文]

D1等组成,电路如下:

 

  红外发射器工作原理为:

单片机通过I/O端口控制整个发射过程。

其中,红外载波信号采用频率为38KHz的方波,由PIC18F248的*模块的PWM功能实现,并由*1端口传输到三极管

三极管

  三极管是一种半导体电子器件,有3个引脚,晶体三极管分别为集电极(c),基极(b),发射极(e),电子三极管分别为屏极、栅极、阴极。

能够把微弱信号放大成辐值较大的电信号,也称双极型晶体管,晶体三极管。

[全文]

T2的基极。

待发送到数据由单片机的TX端口以串行方式送出并驱动三极管Q1,当TX为“0”时使Q1管导通,通过Q2管采用脉宽调制(PWM)方式调制成38KHz的载波信号,并由红外发射管D1以光脉冲的形式向外发送。

当TX为“1”时使Q1管截止,Q2管也截止,连接Q1和Q2的两个上拉电阻

电阻

  电阻,物质对电流的阻碍作用就叫该物质的电阻。

电阻小的物质称为电导体,简称导体。

电阻大的物质称为电绝缘体,简称绝缘体。

[全文]

R1和R3把三极管的基极拉成高电平,分别保证两个三极管可靠截止,红外发射管D1不发射红外光。

因此通过待发送数据的“0”或“1”就可控制调制后两个脉冲串之间的时间间隔,即调制PWM的占空比。

比如若传送数据的波特率为1200bps,则每个数位“0”就对应32个载波脉冲调制信号。

红外发射管D1采用TSAL6200红外发射二极管

二极管

  二极管又叫半导体二极管、晶体二极管,是最常用的基本电子元件之一。

二极管只往一个方向传送电流,由p型半导体和n型半导体形成的p-n结构成,在其界面处两侧形成空间电荷层,并建有自建电场。

当不存在外加电压时,由于p-n结两边载流子浓度差引起的扩散电流和自建电场引起的漂移电流相等而处于电平衡状态。

[全文]

,其实现将电信号转变成一定频率的红外光信号,它发射一种时断时续的高频红外脉冲信号,由于脉冲串时间长度是恒定的,根据脉冲串之间的间隔大小就可以确定传输的数据是“0”还是“1”。

  2.2红外接收电路设计

  红外接收电路主要采用Vishay公司的专用红外接收模块

接收模块

  接收模块的工作电压为5伏,静态电流4毫安,它为超再生接收电路,接收灵敏度为-105dbm,接收天线最好为25~30厘米的导线,最好能竖立起来。

接收模块本身不带解码集成电路,因此接收电路仅是一种组件,只有应用在具体电路中进行二次开发才能发挥应有的作用,这种设计有很多优点,它可以和各种解码电路或者单片机配合,设计电路灵活方便。

[全文]

HS0038B。

接收电路及HS0038B内部结构如下:

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1