基于单片机红外线开关设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆三峡学院 课程设计(论文)
题目:基于单片机红外遥控开关设计
院系电子与信息工程学院
专业电子与信息工程
年级2011级3班
学生姓名
学生学号
指导教师
完成课程设计(论文)时间2014 年12 月
目录
一、系统硬件部分设计 (3)
1、系统硬件设计原理及要求 (3)
2、系统工作原理 (3)
2.1红外遥控的基本原理 (3)
2.2 遥控发射器及其编码 (4)
2.3红外解码思路 (5)
3、相关器件简介 (6)
3.1单片机STC89C51 (6)
3.2红外接收头1838 (8)
4、硬件系统相关电路图 (9)
4.1系统整体原理图 (9)
4.2单片机控制系统电路 (10)
4.4继电器触控电路 (11)
4.5关于继电器驱动的问题 (11)
二、系统软件部分设计 (12)
1、主程序流程 (12)
2、模块化程序简介 (12)
3、相关程序代码 (13)
3.1、主程序模块 (13)
3.2、红外解码程序 (14)
3.3、继电器控制程序 (15)
3.4、所用相关延时程序 (16)
三、设计调试 (17)
1、调试前不加电源的检查 (17)
2、静态检测与调试 (17)
3、动态检测与调试 (17)
四、结论 (18)
附录1 (19)
附录2 (20)
基于单片机红外遥控开关设计
一、系统硬件部分设计
1、系统硬件设计原理及要求
在进行系统硬件设计时,首先需要保证的便是整个系统的功能性与稳定性,将各个硬件电路模块进行认真仔细的分析,在通电之前,需要排除断路与短路现象的存在,以保证系统调试安全性,避免上述问题造成的硬件系统损坏等的不良结果,同时还需考虑到成本的客观因素,以使本设计简单易懂而又经济实用。
2、系统工作原理
遥控器发出的红外遥控信号经红外接收器1838接收转化成TTL信号后送给STC89C51的中断口1,单片机采集到这些数据后产生外部中断,进入解码程序,对其进行红外解码处理并获得对后置电路所需的控制信息,这些控制信息可直接从I/O口输出,当I/O输出高电平是,使得本设计电路中的三极管9012导通,继电器线圈导通形成磁场,吸住弹片,常闭断开,常开闭合,连通后置电路中的供电电源。
值得注意的是,由于继电器的控制线圈有电感,在关断的瞬间会产生较大的反电势,因此需要在继电器线圈上反向并联一个二极管,以保护驱动三极管不被击穿,该设计采用的二极管是IN4148,系统框图如图所示:
遥控发射模块:在本设计中应用到的是普通的成品遥控发射器,用来发射含有键码值的红外线,供红外接收头接收。
红外接收模块:接收遥控器发射含有键码值信息的红外线,经过接收、放大、整形之后转化成可供单片机识别的TTL电平信号,并送往单片机并被单片机解码。
单片机解码模块:单片机对红外接收头传递来的TTL电平信号进行解码处理,得到遥控器的键码值,从而执行后置继电器电路的控制功能。
继电器控制模块:单片机驱动继电器的通断工作,从而对后置电路中的供电电源实现开关通断功能控制。
2.1红外遥控的基本原理
红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波,红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。
发射机一般由指令键(或操作杆)、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令编码信号。
接收电路一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路(机构)等几部分组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制(机构)。
如图所示发射部分包括键盘矩阵、编码调制、LED 红外发送器,接收部分包括光电转换放大、解调、解码电路,而整个接收部分将完全由上述的1838红外一体化收头来完成,本设计的发射部分采用成品遥控器来发送控制信号。
红外遥控系统框图
2.2 遥控发射器及其编码
遥控发射器专用芯片很多,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以WD6122遥控发射器专用芯片组成发射电路为例说明编码原理,该芯片类型的遥控发射器成品键码值如图所示。
本设计使用的成品遥控器键码图
红外遥控器
键盘接编码和调制
红外接收头
光电放大解调 解码单
片机
当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”,其波形如图所示。
遥控编码的“0”和“1”
上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。
WD6122 产生的遥控编码是连续的32位二进制码组,所发射的一帧码含有一个引导码,16位用户编码和八位数据编码,数据编码的反码也同时被传送,编码结构如图所示:
遥控器发射的32位码组图
引导码由一个9ms的载波波形和一个4.5ms的关断时间构成,它作为随后发射码的引导码,这样当接收系统是由微处理器构成的时候,能更有效的处理码的接受与检测及其他各项控制之间的时序关系。编码采用脉冲位置调制方式(PPM),利用脉冲之间的时间间隔来区分“0”和“1”。每次8位的码被传送之后,他的反码也被传送,减少了系统的误码率,这也为后续的解码程序的编写提供了自行检测是否误码的手段。
2.3红外解码思路
遥控器将按键信息进行编码后调制到红外线的某个频率通过发光二极管发射出去,红外接收管接收到发射管发出的红外信号后对该信号进行解调原始编码信息,红外遥控接收头解调出的编码是串行二进制码,包含着遥控按键信息,但它还不便于CPU读取识别,因此需要先对这些二进制码进行解码。
当遥控器上任意一个按键按下超过36ms时,控制芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据。
解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电