单片机红外遥控开关系统设计_第1页
单片机红外遥控开关系统设计_第2页
单片机红外遥控开关系统设计_第3页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计题目红外控制接收系统红外遥控接收系统设计摘要:本文设计了一种基于AT89S5单片机的红外遥控系统,可用于 控制多种电器的开关, 交流电机的转速及启停等方面。 阐述了发射 部分和接收部分的设计原理和工作过程, 介绍了一种红外遥控解码 程序的实现方法,并用流程图表示了程序的设计过程。1 引言红外线波长远小于无线电波的波长, 所以红外遥控不会干扰其他 无线设备的工作; 其次其无法穿透墙壁, 故不同房间的家用电器可使 用通用的遥控器而不会产生相互干扰; 再次红外线电路调试简单, 只 要按给定电路连接无误, 一般不需任何调试即可投入工作, 并且编解 码容易,可进行多路遥控;另外红外遥控器作

2、为控制系统的输入设备, 具有成本低、 灵活方便的特点。 红外遥控的这些优点可为用户提供方 便的操控手段,因此该技术被广泛应用于各种家电产品、娱乐设施、 现代化仪器仪表和工业控制中, 为现代家居和生产生活增添了一丝亮 色。单片机集CPU RAM,R0M,l/8、中断和定时器于一体,具有体积 小,重量轻,控制灵活方便,价格低廉等优点,广泛应用于工业自动 化、仪器仪表、家用电器、信息和通信产品以及军事装备等方面。采 用单片机进行红外遥控系统设计, 具有编程灵活多样, 操作码数可随 意设定等优点。单片机经过不断地更新换代, 其性能也在不断的提升, 其中闪速存储器单片机芯片STC89C52R是 一种低功

3、耗,高性能的CMOS位微控制器,本设计以STC89C52RD片机为核心,附以相应的 外围电路,构成基于单片机控制的红外遥控系统。2系统硬件设计本文所设计的红外遥控系统分为两个部分:即遥控发射部分和接 收控制部分(整个系统原理框图如图1,图2所示)。整个系统需要 解决的关键问题是实现红外信号的有效发射与接收,本设计将采用脉 冲个数编码,和单片机软件解码的方式来实现红外遥控器对继电器的 开和关,从而控制电器设备。图1红外接收电路2.1遥控发射部分:由红外发射遥控器6122做为遥控发射部分。实现一旦有键按下,发射相应的键号控制红外发射管发射相应的脉冲。实现相应的继电器的通断。红外遥控器的输出都是用编

4、码后串行数据对 38 40kHz的方波进 行脉冲幅度调制而产生的。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的 0”以脉宽为0.565ms、间隔1.685ms、 周期为2.25ms的组合表示二进制的1”上述0”和1”组成的32位二进制码经38kHz的载频进行二次调 制,然后再通过红外发射二极管产生红外线向空间发射。一般电视遥控器的遥控编码是连续的32位二进制码组,其中前16位为用户识别 码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后 1

5、6位为8位的操作码和8位的操作反码,用于核对数据是否接收准确。根据红外编码的格式,发送数据前需要先发送 9ms的起始码和4.5ms的结果码。遥控串行数据编码波形如下图所示:rinnnmnwinnnnnniuinjioniinnjinnnnni-固俯丄 I I 丨 I I II |j I il I 1 丨 I ! i I I I !| II |i I ( 111 Illi li I I II I I il 丨 I t I 4 H I 11 I 4 丨 I I I ll III I I 1 I 1 I il II接收方一般使用SM0038-体化接收头进行接收解码,当SM0038接收 到38kHz红

6、外信号时,输出端输出低电平,否则为高电平。所以红外 遥控器发送红外信号时,参考上面遥控串行数据编码波形图, 在低电 平处发送38kHz红外信号,高电平处则不发送红外信号。图2:红外发射遥控器2 2接收控制部分(电路原理图如图 3):主要由STC89C52F单片机、红外接收电路、数码显示电路、继电 器控制电路和电源电路组成。 遥控器发射的信号经红外接收处理传递 给单片机, 单片机根据不同的信息码进行相应的继电器的控制, 并完 成相应的现实功能。2.2.1 STC89C52F单片机STC89C52RDD片机为控制核心,外加12MHZ勺晶振。 2.2.2红外接收电路红外光波不可见,峰值波长940nm

7、左右,属红外波段。红外接收 管将接收到的红外线光波转换成电信号, 黑色的树脂封装将700nm以 下波长勺光线滤除。 红外一体化接收头是由红外接收管和放大电路组 成的,能够接收脉冲编码调制的红外光信号, 具有体积小, 密封性好, 灵敏度高,价格低廉等优点。本设计采用 SM0038-体化接收头,其 解调频率为38KHZ当接收到38KHZ的红外脉冲信号时输出为低电平, 反之输出高电平。 经其解调后的信号输入单片机的中断口。 通过单片 机的中断查询可进行下一步操作。2.2.3数码显示电路为方便识别发射的按键号码, 以及显示受控制的电路, 在接收部 分设置数码显示电路 ,它所驱动对象是共阴极 LED 数

8、码管。2.2.4继电器控制电路继电器控制电路可由单片机的 P0和P2 口输出,一共可以有16 个支路,即可以控制 16个电器,而这 1 6个支路的电路形式完全相同, 在本次设计模型中, 选择其中的两个支路来演示。 以 P2.0 和 P2.1 口 为例,将其连接到继电控制电路中三极管 9012的基极,三极管的射 极接继电器 ,使整个控制部分接到交流电器中。 当 P2.1 输出低电平时,三极管导通,继电器吸合,对应的电器设备电源接通,设备开启 工作;否则P0或P2 口相应引脚输出为高电平,三极管截止,继电器断开,对应的电器设备因断电而不能工作亍矗丄磐* 图4 :接收控制部分的电路原理图3系统软件设

9、计本设计的软件分为接收部分。接收部分工作原理为:系统上电初始化后,对单片机的INT1 口 进行检测,当其为高电平时,系统处于等待状态;当其为低电平时, 将启动中断服务程序。红外接收器输出脉冲帧数据时,第一位码的下 降沿触发中断程序,实时接收数据帧,并对第一位码的码宽进行验证。 若第一位的低电平码的脉宽小于 2ms,将作为错误帧处理。当间隔位 的高电平脉冲宽大于3ms时,结束接收,然后根据累加器A中的脉冲 数,在单片机P1. O-P1. 3 口输出相应的二进制数据,经译码器的 译码后驱动数码显示管显示相应按键, 同时P0或P2 口的某一对应引脚输出控制信号, 使继电器原有状态发生改变, 此时即完

10、成一次数据 的接收处理。4 程序设计。程序#include <reg51.h>#include <intrins.h> #define uchar unsigned char#define uint unsigned int uchar distemp;void delay(uchar x); /x*0.14MS void delay1(int ms);sbit IRIN = P3A3; sbit relayO=P2A。; sbit relay1=P2A1;/红外接收器数据线/继电器 0 控制端口/继电器 1 控制端口P1= tabledistemp; delay(20

11、);uchar IRCOM7;/数码管的段码编码uchartable160x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/*/main()IE = 0x84;TCON = 0x10;/允许总中断中断 ,使能 INT1 外部中断 /触发方式为脉冲负边沿触发IRIN=1;/I/O 口初始化delay1(10);relay0=1;relay1=1;/延时/继电器 0 断开/继电器 1 断开while(1) /end main /* void IR_IN() interrupt 2 usin

12、g 0 unsigned char j,k,N=0; EX1 = 0; delay(15); if (IRIN=1) EX1 =1;/确认 IR 信号出现while (!IRIN)/等 IR 变为高电平,跳过 9ms 的前导低电平信号。for (j=0;j<4;j+)for (k=0;k<8;k+)while (IRIN)delay(1);while (!IRIN)delay(1);while (IRIN)delay(1);N+;if (N>=30) EX1=1;return;IRCOMj=IRCOMj >> 1;/收集四组数据/每组数据有 8 位/等 IR 变为

13、低电平,跳过/等 IR 变为高电平/计算 IR 高电平时长4.5ms 的前导高电平信号/0.14ms 计数过长自动离开。/高电平计数完毕/数据最高位补0”delay(1);/ 数据最高位补“ 1if (N>=8) IRCOMj = IRCOMj | 0x80; N=0;if (IRCOM2!=IRCOM3) EX1=1;return; switch(IRCOM2)case 0x16: distemp = 0; break;case 0x0c: distemp = 1; break;case 0x18: distemp = 2; break;case 0x5e: distemp = 3;

14、break;case 0x08: distemp = 4; break;case 0x1c: distemp = 5; break;case 0x5a: distemp = 6; break;case 0x42:distemp = 7; break;case 0x52: distemp = 8; break;case 0x4a: distemp = 9; break;switch(distemp)case 0:relay0=relay0;break;/ 继电器 0 闭合或断开 case 1:relay1=relay1;break;/ 继电器 1 闭合或断开 default:break;EX1 = 1;/*void delay(unsigned char x)/x*0.14MSunsigned char i;while(x-)for (i = 0; i<13; i+) /* void delay1(int ms)unsigned char y;while(ms-)for(y = 0; y<250; y+)_nop_();_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论