基于51单片机的无线通信设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

红外线遥控器设计

内容提要

无线遥控是指利用无线电波、红外线、超声波等作为载体,不用导线,而在空间传输,实现对以家用电器为代表的中小型电器的遥控方法,主要有无线电遥控和红外线遥控。红外光波的波长远小于无线电波的波长,因此红外线遥控信号不会影响其它家用电器和邻近的无线电设备;另外,红外线遥控不具有无线电遥控那样穿透障碍物去控制被控对象的能力,在设计家用电器的红外线遥控器时,不必要像无线电遥控那样,每套发射器和接收器要有不同的遥控频率或编码,否则,就会隔墙控制或干扰邻居的家用电器,所有同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况,这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方便。

本设计由通用红外遥控编码芯片SC9012构建红外发射系统,由89C51单片机和一体化红外接收头构建红外接收系统。

关键词

红外线遥控;红外线发射;红外线接收;单片机

主要内容

一、课程设计的目的

目前,单片机已广泛应用到国民经济建设和日常生活的许多领域,成为测控技术现代化必不可少的重要工具。1、进一步熟悉和掌握单片机的结构及工作原理。2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5、通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应的工作打下基础。

二、设计过程

2.1 红外线遥控系统结构

红外线遥控系统是由发射端和接收端两部分组成,如图C.1和C.2所示。

红外线遥控系统是由发射端和接收端两部分组成,红外线发射端就是红外遥控器,主要包括键盘、编码调制芯片、红外线发射LED。当按下某一按键后,遥控器上的编码调制芯片便进行编码,并结合载波电路的载波信号而成为合成信号,再经红外线发射二极管,将红外线信号发射出去。

红外线接收端主要包括红外线接收模块、解码单片机。其中红外线接收模块里包括光、电转换放大器、解调电路。当红外线发射信号进入接收模块后,在其输出端便可以得到原先的数字控制编码,再经过单片机解码程序进行解码,便可以得知按下了哪一按键,从而完成红外线遥控的动作。

功能说明:选用一种电视机遥控器,再利用接收模块结合单片机解码,控制P1端口所接的8个LED亮或灭。因此,8个LED的亮或灭的状态,即是显示红外遥控器的按键值。

8个LED视为8位二进制数,其中LED亮视为0,LED灭视为1。

2.2 单片机的选用

红外线发射端采用通用的一种红外遥控器(芯片SC9012)。接收端采用89C51单片机和一体化红外接收头,红外接收头只有3个引脚:引脚1 为数字信号输出端(OUT),引脚2 为接地端(GND),引脚3 为电源输入(VCC)。

红外接收头与单片机连接非常简单,只需将信号输出端(OUT)与单片机一个I/O 引脚连接(P3.2),然后接上电源即可。单片机主要用于解码,P1端口所接的8个LED用来显示解码后红外遥控器的按键值。单片机的P2.4引脚通过限流电阻R 与三极管基极相接,三极管的集电极接有蜂鸣器。

2.4 红外遥控的解码问题

SC9012一帧完整的发射码是由引导码、用户编码和键数据码3部分组成。编码的格式如图C.3所示。

引导码由一个4.5ms 的高电平脉冲及4.5ms的低电平脉冲组成。八位的用户编码被连续发送两次,八位的键数据码也被发送两次,第一次发送的是键数据码的原码,第二次发送的是键数据码的反码,所以,整个数据编码占用32 位。

数据编码方式是通过脉宽调制来实现的,以脉宽为0.56ms,间隔为0.56ms,周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.56ms,间隔为1.69ms,周期为2.25ms 的组合表示二进制的“1”,其接收端波形如图

单片机解码的关键是如何识别“0”和“1”,从上面遥控码“0”和“1”的波形图中可以发现“0”、“1”均以0.56ms 的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,即“1”的高电平宽度是“0”的高电平宽度的3 倍。如果延时0.56ms,则读到的电平为低,说明该位为“0”,反之则为“1”。或者设计一精确的延时时间,例如以0.093ms 延时时间当作基础时间,以调用基础延时时间的次数来计数实际的波形宽度,若读值为6 表示波形宽度为0.56ms,若读值为18 则表示波形宽度为

1.68ms,因此,可以直接通过判断高电平的宽度的计数值是6 或是18,来判断接收的原编码为0 或1。

三、设计原理图和流程图

根据上面的设计过程,绘制的原理图如下:

红外线发送电路

四、编程如下:

①.主要标号说明

MAIN:主程序。

IR_IN:解码子程序。

IR_ZX:遥控执行子程序。

FS_SPK:发声子程序。

DE:短暂延时子程序。

DELAY05_R5:延时子程序,总延时时间为0.5ms × R5。

DEL:用于解码延时子程序,延时时间为0.093ms。

②.程序清单

汇编语言编写的LED 显示红外线遥控器按键值源程序IR01.ASM 代码如下:

01 ;程序名:IR01.ASM

02 ;程序功能:显示红外遥控器按键值

03 ;---------------------------- 程序初始化

04 SPK EQU P2.4 ; 压电喇叭信号输入位

05 IRIN EQU P3.2 ; 红外线IR 信号输入位

06 IRDZ EQU 20H ; 解码数据放置起始地址

07 DZ3 EQU 22H ; 比较第3字节

08 ;------------------------------- 主程序

09 MAIN:

10 ACALL FS_SPK ; 调用发声子程序(79),响一声

11 SETB IRIN ; IR 输入位设置为高电平

12 LOOP:

相关文档
最新文档