基于单片机的红外线遥控器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计
姓名:
专业:
班级:
指导教师:
课程设计任务书
姓名:钟思
专业:自动化
班级:1301班
设计课题:基于单片机的红外线遥控器设计指导教师:
电子信息工程系印制
二○一五年十二月
目录
第一章红外发射部分 (1)
1、设计要求与指标 (1)
2、红外遥感发射系统的设计 (1)
3、红外发射电路的设计 (2)
4、调试结果及其分析 (3)
第二章红外接受部分 (4)
1、红外遥控系统的设计 (4)
2、系统的功能实现方法 (9)
3、红外接受电路图 (10)
4、软件设计: (10)
5、调试结果及分析: (10)
6、结论: (11)
参考文献 (11)
第一章红外发射部分
1.设计要求与指标
红外遥控是目前使用较多的一种遥控手段。功能强、成本低等特点。系统。设计要求利用红外传输控制指令及智能控制系统,借助微处理器强大灵活的控制功能发出脉冲编码,组成的一个遥控系统。本设计的主要技术指标如下:
(1) 遥控范围: 0 — 1 米
(2) 显示可控制的通道
(3) 灵敏可靠,抗干扰能力强
(4) 控制用电器电流最高为 2 A
红外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;多路遥控。
红外遥控系统由发射和接收两大部分组成,系统采用编 / 解码专用集成电路和单片机芯片来进行控制操作。设计的电路由几个基本模块组成:直流稳压电源,红外发射电路,红外接收电路及控制部分。发射电路,利用遥控发射利用键盘,这种代码指令信号调制在 40KH z 的载波上,激励红外光二极管产生具有脉冲串的红外波,通过空间的传送到受控机的遥控接收器。
2.红外遥感发射系统的设计
红外遥控系统由发射和接收两大部分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制操作。发射系统设计的电路由如下的几个基本模块组成:直流稳压电源,红外发射电路。
系统框图如图所示。
3.红外发射电路的设计
3.1.摇控码的编码格式
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合二进制的“1”。
3.2遥控码的发射
当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成 40kHz 方波由红外线发光管发射出去。 P3.5 端口的输出调制波如图 2 - 2 所示。
图2-2单一按键波形
图2-2连续按键波形
3.3 红外发射电路图
遥控发射通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在 40KH z 的载波上,激励红外光二极管产生不同的脉冲,通过空间的传送到受控机的遥控接收器。电路如下图所示。
4 调试结果及其分析
(1) 电路要求遥控控制距离为 0 — 1m ,在利用 38KHz 的接收头时,虽然能接收到信号,但是接收的距离很有限。经过反复调试,换用 40KHz 的接收头时基本满足了设计需求。
(2) 由于将 3ms 的接收脉冲放在 1ms 的后面,编码解调出现错误,导致接受端无信号输出。解决方法是将 3ms 的接收脉冲放在前面就可以接收到信号。单
片机进行数码帧的接收处理, 3 ms 的脉冲检验,当第一位低电平码的脉宽小于2 ms时就会错误处理。
在初始化过程中,将 P1 口全置 0 ,但是继电器仍工作,通过反复调试,将初始化的 P1口全置 1 ,通过反向使得输出全为 0 ,从而满足上电复位,继电器掉电,满足初始化要求。
第二章红外接受部分
1.红外遥控系统的设计
红外遥控系统由发射和接收两大部分组成,系统采用编 / 解码专用集成电路和单片机芯片来进行控制操作。设计的电路由如下的几个基本模块组成:红外发射电路,红外接收电路及控制部分。
1 .系统框图(如图 3 - 1 所示)
2. XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。
3. 输入 / 输出引脚 P0.0 ~ P0.7 、 P10. ~ P 1 .7 、 P2.0 ~ P2.7 和P3.0 ~ P3.7 。
① P0 端口( P0.0 ~ P0.7 ) P0 是一个 8 位漏极开路型双向 I/O 端口。作为输出口用时,
每位能以吸收电流的方式驱动 8 个 TTL 输入,对端口写 1 时,又可作高阻抗输入端用。在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位) / 数据总线,在访问期间激活了内部的上拉电阻。
② P 1 端口( P 1 .0 ~ P 1 .7 ) P 1 是一个带有内部上拉电阻的 8 位双向 I/O 端口。 P 1 的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
③ P2 端口( P2.0 ~ P2.7 ) P2 是一个带有内部上拉电阻的 8 位双向 I/O 端口。 P2 的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把端口拉到高电位, P2 作输入口使用时,因为有内部的上拉电阻,这时可用作输入口。P2作为输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器和 16 位地址的外部数据存储器 ( 如执行 MOVX @ DPTR 指令 )时, P2 送出高 8 位地址。在访问 8 位地址的外部数据存储器( 如执行 MOVX @ R i , A 指令 )时,P2口引脚上的内容,在整个访问期间不会改变。
④ P3 端口( P3.0 ~ P3.7 ) P3 是一个带有内部上拉电阻的 8 位双向 I/O 端口。 P2 的输出缓冲器可驱动 ( 吸收或输出电流方式 )4 个 TTL 输入。对端输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在 AT89C52 中, P3 端口还用于一些专门功能,这些兼用功能如下:
(1) P3.0 RXD (串行输入口)
(2) P3.1 TXD (串行输出口)
(3) P3.2 /INT0 (外部中断 0 )