基于PIC单片机的主从红外通信系统设计

发布者:asdfrewqpp最新更新时间:2011-12-20 关键字:单片机  主从红外通信系统 手机看文章 扫描二维码
随时随地手机看文章

1、引言

  红外通信是目前比较常用的一种无线数据传输手段,其具有无污染、信息传输稳定、信息安全性高以及安装使用方便等优点,并且可以在很多场合应用,如家电产品,工业控制、娱乐设施等领域。红外通信是利用950nm近红外波段的红外线作为传递信息的载体,通过红外光在空中的传播来传递信息,由红外发射器和接收器实现。发射端将二进制数字信号调制成某一频率的脉冲序列,经电光转换电路,驱动红外发射管以光脉冲的形式发送到空中。接收端将接收到的光脉冲转换成电信号,再经解调和译码后恢复出原二进制数字信号。本文设计了一种基于单片机PIC18F248的主从式红外通信系统,主要设计了红外接口电路以及主机和从机通信软件流程。

2、系统硬件电路设计

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

2.1 红外发射电路设计

  红外发射器电路主要由单片机,驱动管Q1和Q2、红外发射管D1等组成,电路如下:

红外发射器工作原理为:单片机通过I/O端口控制整个发射过程。其中,红外载波信号采用频率为38KHz的方波,由PIC18F248的CCP模块的PWM功能实现,并由CCP1端口传输到三极管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红外发射二极管,其实现将电信号转变成一定频率的红外光信号,它发射一种时断时续的高频红外脉冲信号,由于脉冲串时间长度是恒定的,根据脉冲串之间的间隔大小就可以确定传输的数据是“0”还是“1”。

2.2 红外接收电路设计

  红外接收电路主要采用Vishay公司的专用红外接收模块HS0038B。接收电路及HS0038B内部结构如下:

[page]

接收电路工作原理为:当接收到载波频率为38KHz的脉冲调制信号时,首先,HS0038B内的红外敏感元件将脉冲调制红外光信号转换成电信号,再由前置放大器和自动增益控制电路进行放大处理,然后通过带通滤波器进行滤波,滤波后的信号由解调电路进行解调,最后由输出电路进行反向放大并输出低电平;未接收到载波信号时,电路则输出高电平。这样就可以将断断续续的红外光信号解调成一定周期的连续方波信号,并通过单片机的串口输入单片机,由单片机处理后便可以恢复出原始数据信号。

3、主从式红外通信软件设计

  主从式红外通信中主机红外接收、发送电路与从机的电路完全相同,红外线的载波频率也相同。在红外通信系统中,若采用不同载波频率来区分主机及从机之间的通信可以通过改善红外发射和接收电路的频率特性,但是这样会大大提高硬件成本,本系统通过配置适当的通信协议来降低硬件成本。为了避免发射时造成对本机的干扰,系统采用异步半双工通信模式,在同一时间内可以是主机发送,从机接收;也可以是从机发射,主机接收。主机及从机通信流程如下:

主机通信过程为:(1) 上电初始化,完成UART的工作模式、波特率的设置(系统波特率为2400bps);CCU模块PWM工作模式、PWM频率设定。CCU模块工作在对称的、非反向的PWM模式,频率38KHz,占空比50%;(2) 等待数据发送控制信号到来;(3) 若接收到发送控制信号,则立即通过红外串行发送16字节数据;(4) 通过红外接口接收从机返回的16字节数据;(5) 比较接收到的16字节与发送到16字节数据,若一致则发送下一个数据,否则重发该数据。

  从机通信过程为:(1) 上电初始化,完成UART的工作模式、波特率设置;CCU模块PWM工作模式、PWM频率设定;(2) 通过红外接口从主机接收16字节数据;(3) 判断是否为重发数据,若是则覆盖前次接收到的数据。

  主机和从机通信过程包括的函数主要有系统初始化函数UART_Init(),向串口发送数据函数UART_SendByte()、 串口接收红外信号数据 UART_RcvByte( )等。部分函数程序代码如下:

UART_SendByte(unit8 dat) //向串口发送数据
{ SBUF = dat; //发送数据
while(TI = =0; // 等待发送完毕
TI = 0;
}
unit8 UART_RcvByte() //接收串口数据
{if(RI = =0) return(0); //若没有接收到数据,则返回0
*dat = SBUF;
RI = 0;
return(1);
}

4、结束语

  红外通信可用于许多需短距离及非接触式传输数据的场合。本文设计的主从式红外通信接口具有硬件电路简单、成本低、通信可靠等特点,实现了主机及从机双方非接触式的数据传输。适当修改通信软件就可以让系统用于红外抄表、遥控、遥测等许多场合。

 

关键字:单片机  主从红外通信系统 引用地址:基于PIC单片机的主从红外通信系统设计

上一篇:dsPIC33F:CerebotMC7马达控制方案
下一篇:采用混合信号高电压单片机实现LED降压-升压驱动电路

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

单片机学习记录——蜂鸣器
硬件连接 从图中可知,蜂鸣器只有一个接口与外部相连接。我们通过跳线把J8接口与单片机的P0.0接口相连接。 蜂鸣器发声原理 有源蜂鸣器,也称压电式压蜂鸣器,主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。 其中最重要的就是它的压电蜂鸣片,通常这是一种压电陶瓷,能进行电能与机械能的转换。 发声过程为:外部提供恒定直流电压,提供能量给多谐振荡器,多揩振荡器起振,并提供变化的电压和频率给压电陶瓷,压电陶瓷将电能转化为机械能,也就发出了声音。 无源蜂鸣器,也称电磁式蜂鸣器,主要由永磁体,线圈,振荡片构成。 发声过程为:外部按一定频率提供驱动一个振荡信号(一定占空比的方波,该信号作用于线圈,产生的磁声与永
[单片机]
<font color='red'>单片机</font>学习记录——蜂鸣器
51单片机入门——数码管
1.数码管 1.1.什么是数码管? 数码显示器简称数码管,是一种可以显示数字和其他信息的电子设备。它在数字式显示系统中是不可缺少的器件,应用极其广泛,发展速度很快,数码管朝着小型化、 平面化、多功能化和低耗电方面发展。 1.2.数码管的种类 数码管主要有下列三大类。 字形重叠式数码管。这种数码管的特点是将不同的数字、字母等符号的电极重叠起来,当需要哪一个符号显示时,就驱动该符号的电极,使之发光显示,此时其他符号电极不发光。 这种数码管有辉光放电管和边光显示管等。 分段式数码管。这种数码管的特点是将一个数字分成若干个笔画,通过驱动相应的笔画发光来显示某一个数字,如荧光数码管就是这种类型的。 分段式数码管有八段式和七段式两种。
[单片机]
51<font color='red'>单片机</font>入门——数码管
单片机keil-c51语言乘除法和取膜超范围问题
注意:计算式,能不写成一大行的就分开写,只要保证了精度就可以了!!写一大行有时候反而影响精度! 例如:unsigned long int X; double AD; AD=AD/50.0; X=AD*5000.0000/1023.00; 最好先局部计算一下,X=AD*100/1023.00; 1。浮点类型的不能做 模 运算。 例如:float a=1234.56; a=a%10; 这是错误的。只有整形才能做 模 int a=12345; a=a%10; 2.如果你想做普通的四则运算。那肯定是浮点数的运算。整形的除法叫取模,不是我们平时的除法,它是舍去了余数,即小数部分。例如:int a=1; a=a/10;
[单片机]
51单片机之串口通讯应用实例(逻辑分析仪调试)
硬件:STC89C52RC 开发工具:Keil uVision4 前言:8051是一款很经典的、历史悠久的单片机,作为一款入门级的单片机8051受到很多初学者的欢迎。89c52是8051系列的成员之一,拥有8K字节程序存储空间,512字节随机数据存储空间;I/O口控制端口、中断功能、定时器及串行接口。下面详细讲述串行接口功能的使用。 不管你用的芯片是不是STC89C52RC,只要你看完这篇文章,就能自行运用到不同的芯片上;因为一种串口通信协议的传输原理在任何芯片上都是统一的;所以它可以作为不同芯片一起协作的通信媒介。 目前普遍的单片机都有串行通信的接口,因为它依赖的硬件比较简单,一条串行数据输出线(TX)、一条串行数据接收
[单片机]
51<font color='red'>单片机</font>之串口通讯应用实例(逻辑分析仪调试)
基于SST89C54/58的单片机仿真器的设计
1 概 述 SST89C54/58(简称89C54/58)是美国SST公司推出的多用途51系列单片机,片内集成了20 kB/36 kB的SuperFlashE"PROM程序存储器,分为BLOCK0(16kB/32kB)和BLOCKl(4kB)两块。其中,BLOCKl可以映射(Mapping)到64kB存储空间的最高端或最低端,而且,对于程序计数器来说可以是不可见的。由于其存储结构上独特的优点,使得89C54/58非常适合于用做单片机仿真器。 2 SST89C54/58的程序存储结构 2.1 存储器结构 89C54/58片内的存储块BLOCK0占据从0000H到3FFFH/7FFFH的存储空间,BLOCKl
[应用]
采用Cortex-M3单片机设计的WiFi物联网小车
  WiFi物联网小车设计方案,采用电脑上位机软件通过无线WiFi 控制小车的运动,采集小车的信息。与传统的“智能小车”相比,主要特点在于使用32 位高性能单片机控制、互联网通信机制和电脑上位机软件控制。此方案融合了电脑软件、网络通信、图像处理、图形显示、运动控制、速度采集和温度采集等技术,具有“物联网”的相关特点。传统的小车控制大多使用红外通信,使用遥控器进行控制,不但受到距离的限制,而且远没有电脑软件直观美观。互联网通信使小车具备远程控制的能力,这是红外通信望尘莫及的。此外,本方案小车控制芯片采用Cortex-M3单片机,该单片机具有极丰富的外设,这给小车以后功能升级和扩展奠定了基础。   1 总体设计方案   WiFi 物联
[电源管理]
采用Cortex-M3<font color='red'>单片机</font>设计的WiFi物联网小车
51单片机C编程(十二、LM016L液晶显示)
#include reg51.h #define uchar unsigned char #define uint unsigned int #define LCDPORT P0 uchar code tab = I LIKE MCU! ; uchar code tab1 = HELLO! ; sbit LCDE=P3^5; sbit LCDRW=P3^6; sbit LCDRS=P3^7; void WriteCMD(uchar); void init(); void WriteData(uchar); void Delay(); void mydelay(int); void main() { uint
[单片机]
51单片机P0口的特性及使用方法解析
一、P0口特性: P0口为三态双向I/O口。对于内部有程序存贮器的单片机基本系统(如定制的8051),P0口可以作为输入/输出口使用,直接连外部的输入/输出设备;也可以作为系统扩展的地址/数据总线口。对于内部没有程序存贮器的单片机(如8031),P0口只能作为地址/数据总线口使用。 1、P0口的输出驱动器中也有一个多路电子开关。输出驱动器转接至口锁动器的Q端时,P0口作为双向I/O口使用。 这时,CPU发来的控制信号为低电平,使输出驱动电路的上拉场效应管T1截止。P0口的锁存器为“1”时,输出驱动器中的两个场效应管均截止,引脚浮空;由于P0口输出电路是漏极开路的电路,必须外接10kΩ拉高电阻才能有高电平输出。而写入“0”时,下
[单片机]
51<font color='red'>单片机</font>P0口的特性及使用方法解析
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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