ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:306.73KB ,
资源ID:3575369      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3575369.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的红外线遥控器设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的红外线遥控器设计.docx

1、基于单片机的红外线遥控器设计毕业设计姓 名: 专 业: 班 级: 指导教师:课程设计任务书姓 名: 钟思专 业: 自动化 班 级: 1301班 设计课题:基于单片机的红外线遥控器设计指导教师: 电子信息工程系印制二一五年十二月 第一章 红外发射部分1.设计要求与指标红外遥控是目前使用较多的一种遥控手段。功能强、成本低等特点。 系统。设计要求利用红外传输控制指令 及智能控制系统 ,借助 微处理器 强大灵活的控制功能发出 脉冲编码 ,组成的一个遥控系统。本设计的主要技术指标如下:(1) 遥控范围: 0 1 米(2) 显示可控制的通道(3) 灵敏可靠,抗干扰能力强(4) 控制用电器电流最高为 2 A

2、红外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰; 多路遥控。红外遥控系统由发射和接收两大部分组成,系统采用编 / 解码专用集成电路和单片机芯片来进行控制操作。设计的电路由几个基本模块组成:直流稳压电源,红外发射电路,红外接收电路及控制部分。发射电路,利用遥控发射利用键盘, 这种代码指令信号调制在 40KH z 的载波上,激励红外光二极管产生具有脉冲串的红外波 ,通过空间的传送到受控机的遥控接收器。2.红外遥感发射系统的设计 红外遥控系统由发射和接收两大部分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制

3、操作。发射系统设计的电路由如下的几个基本模块组成:直流稳压电源,红外发射电路。系统框图如图所示。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 红外发射电路图 遥控发射

4、通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在 40KH z 的载波上,激励红外光二极管产生不同的脉冲,通过空间的传送到受控机的遥控接收器。电路如下图所示。4 调试结果及其分析(1) 电路要求遥控控制距离为 0 1m ,在利用 38KHz 的接收头时,虽然能接收到信号,但是接收的距离很有限。经过反复调试,换用 40KHz 的接收头时基本满足了设计需求。(2) 由于将 3ms 的接收脉冲放在 1ms 的后面,编码解调出现错误,导致接受端无信号输 出。解决方法是将 3ms 的接收脉冲放在前面就可以接收到信号。 单片机进行数码帧的接收处理, 3 ms 的脉冲检验,当第一

5、位低电平码的脉宽小于 2 ms时就会错误处理。在初始化过程中,将 P1 口全置 0 ,但是继电器仍工作,通过反复调试,将初始化的 P1口全置 1 ,通过反向使得输出全为 0 ,从而满足上电复位,继电器掉电,满足初始化要求 。 第二章 红外接受部分1.红外遥控系统的设计 红外遥控系统由发射和接收两大部分组成,系统采用编 / 解码专用集成电路和单片机芯片来进行控制操作。设计的电路由如下的几个基本模块组成:红外发射电路,红外接收电路及控制部分。 1 .系统框图(如图 3 1 所示)2. XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬

6、浮不连接。 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 的输出缓冲器可驱动(吸收或输出电流方

7、式) 4 个 TTL 输入。对端口写 1 时,通过内部的上拉 电阻把端口拉到高电位,这时可用作输入口。因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 P2 端口 ( P2.0 P2.7 ) P2 是一个带有内部上拉电阻的 8 位双向 I/O 端口。 P2 的输出缓冲器可驱动(吸收或输出电流方式) 4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把端口拉到高电位, P2 作输入口使用时,因为有内部的上拉电阻,这时可用作输入口。P2作为输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和 16 位地址的外部数据存储器 ( 如执行

8、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 (串行输出口)

9、(3) P3.2 /INT0 (外部中断 0 )(4) P3.3 /INT1 (外部中断 1 )(5) P3.4 T0 (记时器 0 外部输入)(6) P3.5 T1 (记时器 1 外部输入)(7) P3.6 /WR (外部数据存储器写选通)(8) P3.7 /RD (外部数据存储器读选通)(9) P3 口同时为闪烁编程和编程校验接收一些控制信号4. 振荡器特性:XTAL1 和 XTAL2 分别为反向放大器,该反向放大器可以配置为片内振荡器。石英震荡和陶瓷震荡均可采用。如采用外部时钟源驱动器件, XTAL2 应不接。 由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何

10、要求,但必须保证脉冲的高低电平要求的宽度。 5. 芯片擦除:整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合, ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写 “ 1 ” 且在任何非空存储字节被重复编程以前,该操作必须被执行。主控制器采用ATMEL公司的8位单片机AT89C52。AT89C52是一个低功耗,高性能 CMOS 8位单片机,片内含 8k Bytes ISP(In-system programmable) 的可反复擦写 1000 次的 Flash只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS -5

11、1指令系统。图3-9:主控制器电路原理图2.系统的功能实现方法2.1摇控码的编码格式采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0” ;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合二进制的“1” ,其波形如图4所示。 图4 遥控码的“1”和“0”红外遥控发射芯片采用 PPM 编码方式,当发射器按键按下后 , 将周期性地发出同一种32位二进制码,周期约为108ms 的编码脉冲。遥控编码脉冲由前导码、16 位地址码(8 位地址码、 8 位地址码的反码)和16 位操作码(8 位操作码、 8 位操作码的反码)组成。通过

12、对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效地防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。前导码是一个遥控码的起始部分,由一个 9ms 的高电平 ( 起始码 ) 和一个 4. 5ms 的低电平 ( 结果码 ) 组成,作为接受数据的准备脉冲。 图5 发送一组完整的编码脉冲上述“0”和“1”组成的32位二进制码经38khz的载频进行二次调制以提高发射频率,然后再通过红外发射二极管产生红外线向空间发射。2.2遥控码的发射当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成 40kHz 方波由红

13、外线发光管发射出去。 P3.5 端口的输出调制波如图 4 1 所示。 2.3数码帧的接收处理当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序实时接收 数据帧。在数据帧接收时,将对第一位码的码宽进行验证。若第一位低电平码的 的脉宽小于2ms ,将作为错误码处理。当间隔位的高电平脉宽大于 3ms 时,结束接收,然后根据累加器 A 中的脉冲个数,执行相应输出口操作。图4 2 就是红外线接收器输出的一帧遥控码波形图。3.红外接受电路图在接收过程中,脉冲通过光学滤波器和红外二极管转换为40KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路。如图 5 1 所示 。通常,红外

14、遥控器将遥控信号(二进制脉冲码) 调制在40KHz的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。 将上述的遥控编码脉冲对频率为 40 KHz( 周期为26.3ms) 的载波信号进行脉幅调制 (PAM ) ,再经缓冲放大后送到红外发光管,将遥控信号发射出去。4.软件设计: 本系统的软件程序主要包括主程序、接收解码程序、发射程序、遥控器学习识别程序几个大的模块程序。5.调试结果及分析:本电路总共设计了21个输入按键,其中11个为特殊按键,其他键均为数字键。当输入一个按键0时,通过红外发射和接收电路,对应的继电器 1 的设备工作,液晶显示十六进制代码。当按下按键 1 时,数码管显示

15、不同的十六进制代码 。以此类推09号数字键功能同上,特殊按键,根据按的特殊按键的不同,会实现不同功能,如快进。本设计在调试过程中也遇到很多问题。1. 电路要求遥控控制距离为0 1m ,在利用 38KHz 的接收头时,虽然能接收到信号,但是接收的距离很有限。经过反复调试,换用 40KHz 的接收头时基本满足了设计需求。在初始化过程中,将 P1 口全置 0 ,但是继电器仍工作,通过反复调试,将初始化的 P1口全置 1 ,通过反向使得输出全为 0 ,从而满足上电复位,继电器掉电,满足初始化要求 。6.结论:由于目前的遥控装置大多对某一设备进行单独控制,而在本设计中的红外遥控电路设计了多个控制按键,可

16、以对不同的设备,也可以对同一设备的多个功能进行不同的控制。基本符合技术要求。但是本电路也有不完 , 它只能单通道实现对多个设备的控制 , 即它不能同时控制两个或者两个以上的设备。在设计过程中,通过大量的查阅资料,认真研究材料,对单片机有了更为深刻的理解,在设计软件时,须仔细的分析硬件电路,画出程序流程图,培养了我的耐性和刻苦钻研的精神。参考文献1 全国大学生电子设计竞赛组委会.第五届全国大学生电子设计竞赛获奖作品选编,第 1版,北京理工大学出版社, 2005 年, P10-17.2 康华光,陈大钦.电子技术基础模拟部分,第 4 版,高等教育出版社, 1999 年,第四 版,P 82 - 155

17、 .3 康华光 , 邹寿彬 . 电子技术基础数字部分,第 4 版,高等教育出版,2000 年 , 第四版 ,P 83 - 155 .附录:主程序: #include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include#include#define TURE 1#define FALSE 0sbit IR=P22; /红外接口标志/定义液晶接口sbit RS = P35;/Pin4sbit E = P34;/Pin6#define Data P1/数据端口unsigned int hour,minute,second,count;char code Tab16=01

18、23456789ABCDEF;char data TimeNum= ;char data Test1= ;/*/* 变量声明 */*/unsigned char irtime;/红外用全局变量bit irpro_ok,irok;unsigned char IRcord4; /处理后的红外码,分别是 客户码,客户码,数据码,数据码反码unsigned char irdata33; /33个高低电平的时间数据/*/* 函数声明 */*/void Ir_work(void);void Ircordpro(void);void ShowString (unsigned char line,char *

19、ptr);/*/* 定时器0中断服务函数 */*/void tim0_isr (void) interrupt 1 using 1/定时器0中断服务函数 irtime+; /用于计数2个下降沿之间的时间/*/* 外部中断0函数 */*/void ex0_isr (void) interrupt 0 using 0/外部中断0服务函数 static unsigned char i; /接收红外信号处理 if(irtime=33)/引导码 TC9012的头码,9ms+4.5ms i=0; irdatai=irtime;/存储每个电平的持续时间,用于以后判断是0还是1 irtime=0; i+; i

20、f(i=33) irok=1; i=0; /*/* 屏蔽数码管程序 */*/*/* 定时器0初始化 */*/void TIM0init(void)/定时器0初始化 TMOD=0x02;/定时器0工作方式2,TH0是重装值,TL0是初值 TH0=0x00; /重载值 TL0=0x00; /初始化值 ET0=1; /开中断 TR0=1; /*/* 外部中断初始化 */*/void EX0init(void) IT0 = 1; /指定外部中断0下降沿触发,INT0 (P3.2) EX0 = 1; /使能外部中断 EA = 1; /开总中断/*/* 红外键值处理 */*/ void Ir_work(v

21、oid) /红外键值散转程序 TimeNum5 = TabIRcord0/16; /处理客户码并显示 TimeNum6 = TabIRcord0%16; TimeNum8 = TabIRcord1/16; /处理客户码并显示 TimeNum9 = TabIRcord1%16; TimeNum11 = TabIRcord2/16; /处理数据码并显示 TimeNum12 = TabIRcord2%16; TimeNum14 = TabIRcord3/16; /处理数据反码并显示 TimeNum15 = TabIRcord3%16; ShowString(1,TimeNum);/显示处理过后的码值

22、 irpro_ok=0; /处理完成后清楚标志位 /*/* 红外解码函数处理 */*/void Ircordpro(void)/红外码值处理函数 unsigned char i, j, k; unsigned char cord,value; k=1; for(i=0;i4;i+) /处理4个字节 for(j=1;j7)/大于某值为1,这个和晶振有绝对关系,这里使用12M计算,此值可以有一定误差 value=value|0x80; else value=value; if(j1; k+; IRcordi=value; value=0; irpro_ok=1;/处理完毕标志位置1 /*/* 微秒

23、延时函数 */*/void DelayUs(unsigned char us)/delay us unsigned char uscnt; uscnt=us1;/* Crystal frequency in 12MHz*/ while(-uscnt);/*/* 毫秒函数声明 */*/void DelayMs(unsigned char ms)/delay Ms while(-ms) DelayUs(250); DelayUs(250); DelayUs(250); DelayUs(250); /*/* 写入命令函数 */*/void WriteCommand(unsigned char c) DelayMs(5);/操作前短暂延时,保证信号稳定 E=0; RS=0; _nop_(); E=1; Data=c; E=0;/*/* 写入数据函数 */*/void WriteData(unsigned char c) DelayMs(5); /操作前短暂延时,保证信号稳定 E=0; RS=1; _nop_(); E=1; Data=c; E=0; RS=0;/*/* 写入字节函数 */*/void ShowChar(unsigned char pos,unsigned char c) unsigned char p

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1