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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

万能红外遥控器设计.docx

1、万能红外遥控器设计课程设计报告课程名称:单片机原理及应用课程设计设计题目: 万能红外线遥控器的设计 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 09级1班 学生姓名: 学 号: 09409146 09409147 起止日期: 2011年12月19日 2011年12月30日 指导教师: 谭周文 田汉平 教研室主任: 侯海良 指导教师评语:指导教师签名: 年 月 日成绩评定项目权重成绩1、设计过程中出勤、学习态度等方面2、课程设计质量与答辩3、设计报告书写及图纸规范程度总 成 绩教研室审核意见:教研室主任签字: 年 月 日教学系审核意见:主任签字: 年 月 日摘 要本设计详细介绍

2、了学习型万能遥控器的软硬件设计方法,并给出了具体的各单元电路设计、程序设计及主程序流程图。在硬件设计中,我们选取STC89C52型号单片机为核心器件,并给出外围电路模块如红外接收模块、红外发射模块、显示模块、以及外部控制模块等组成部分的设计实现。软件部分采用keil进行C程序设计与编译,并将编译后产生的hex文件通过STC_ISP_V479下载到单片机中,进行调试。本学习型遥控器采用最小化应用模式设计,电路简单,尤其是通过大量不同遥控码的特征分析,在遥控码的读入时选择了最佳采样间隔,使遥控码的学习成功率大大提高。关键词:遥控学习;红外解码;单片机控制;红外遥控学习型红外遥控器的设计设计要求学习

3、型红外线遥控器要求可以学习不同遥控器的某个按键码功能。使用时先用原遥控器对着学习器按一下某操作键,学习器就可以实现原遥控器中该键的遥控功能。前言 本课程设计是一个基于单片机的学习型红外遥控器,能够学习不同遥控器的某个按键功能。利用单片机STC89C52对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至扩展存储区的指定地址。当要发射红外信号时,从扩展存储区中还原出相应的红外遥控编码,并调制到40KHz的载波信号上,最后,通过三极管放大电路驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备。 1方案论证方案目前,市场上

4、一般设备系统均采用专用的遥控器编码及解码集成电路,具有制作简单、间隔低廉等特点,但由功能键数及功能受到特定的限制,只适合于某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的应用设计,具有编程灵活多样,操作码个数可随意设定等优点。为了实现遥控码的记录还原功能,系统应具有红外线的接收解码、红外线调制发射、操作按键和功能控制功能等单元。由于功能定为学习一个遥控器按键的遥控功能,因此决定采用STC89C52单片机作为控制器。STC89C52单片机中具有256字节的内存单元,可存储遥控码脉宽的数据。遥控码的脉宽数据可用红外线接收器解码后送单片机读入,发射时有单片机产生40kHZ红外调制

5、信号送红外发射管发射.单键学习型红外遥控器的实现方案框图如图1所示。 图1 单键学习型红外遥控器系统框图方案二方案二的系统由STC89C52为核心,扩展4KB的EEPROM用来存储遥控信号,系统采用12MHZ晶振,选用AT24LC32它可在线电擦除和电写入的存储器,其容量为4KB。遥控器的结构框图如图2所示。 图2 学习型红外遥控器系统框图方案对比与选择方案二采用EEPROM来存储遥控信号,这样需要扩展存储器。而方案一不需要扩展存储器,直接利用STC89C52中的ROM。同时,方案二必定会增加成本,同时电路较复杂。综上所述,所以选择方案一来设计红外遥控器。 2基本功能模块设计与说明初始化模块初

6、始化模块的主要任务时清存放脉宽数据单元,关闭学习及发射指示灯,关闭遥控输出口,将定时器T1设为8位自动重装模式,设置中断。遥控码读入处理模块遥控码的学习处理程序主要是将原遥控器发出的脉冲码宽依次存入内存单元,存放规则为偶数地址(0、2、4、6等)存放高电平脉宽数据,奇数地址(1、3、5等)存放低电平脉宽数据。定义文件中划了206个单元用于存放脉宽数据,符合常用遥控器的最大码长要求。遥控码读入程序流程图如图2所示。本程序在编程设计中非常重要,通过大量的、不同的遥控码波形进行实验测试分析,遥控码的帧间歇位宽度均在10ms以上,起始码宽度在100us20ms之间,编码位在100us之间。为确保所有遥

7、控器学习的成功,可采用以下程序实现方法。读起始位方法:由于起始位的码宽范围较大,因此计数单元采用单独的2字节,计数周期约为15us,这样按65536*15us算,最大可存起始位脉宽为983ms。当输入为高电平时,停止起始位计数,进入高电平计数。读遥控码的方法:采用1字节计数单元对(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将数据存入规定的地址。在高电平码计数时,当计数值大于255时(宽度大于),则判定为结束帧间隔位,在相应存储单元写入数据0x00作为结束标志。遥控码发射处理模块遥控码发射程序将原存于内存单元的脉冲数据还原成40KHZ方波,利用定时/计数器T1中断功能产生40KHZ载波

8、,调制波从脚送出。利用原读入时的低电平持续时间控制产生40KHZ方波的时间,而原读入时为高电平的脉宽数据将作为停发40KHZ方波的持续时间控制。遥控码发射处理程序图如图5所示电路原理图的设计图3所示为该学习机遥控器的电路原理图,单片机使用STC89C52。其中: 口接遥控器发射按键; 口用作状态指示,绿灯亮代表学习状态,绿灯灭代表码已读入; 口用作指示遥控键的操作,闪烁代表遥控码正在发射之中;第9脚为单片机的复位脚,采用RC上电复位电路;第12脚为单片机中断输入口,用于工作方式的转换控制,当INT0脚为低电平时,系统进入学习状态;第14脚用于红外线接收解码器的输出信号输入第15脚作为遥控码红外

9、调制信号的输出口,输出40KHZ的方波脉冲;第18、19脚接12M晶振。由于采用最小化应用系统,因此控制线PSEN(片外取指控制)、ALE(地址锁存控制)不用,EA(片外存储器选择)接高电平,使用片内程序存储器。红外线接收器使用市场上用于电视机的三端一体化红外接收解调器,三极管可用9013系列,红外线发射二极管也用普通遥控器中使用的器件。图3 单键遥控码学习控制器电路原理图 程序流程图主程序在完成上电初始化后进行按键查询,当确认有键按下时将编码发出去。主程序流程图6所示图4 遥控码读入程序流程图 图5 遥控码发射处理程序图 图6 主程序流程图 3调试与操作说明 程序的编译及下载1、创建工程并选

10、择AT89C52型号芯片。2、新建文件。3、编写源程序并编译,如图7所示。图7 学习型遥控器的程序编译图4、打开STC-ISP下载软件,选择STC89C52RC型号的芯片,选择串口1并导入编译生成的hex文件。5、将单片机与计算机的串口相连,并将程序下载至单片机,如图7所示。图8 学习型红外遥控器程序下载图实际电路的测试 程序下载进单片机后,打开单片机开发板上电源接口开关以及P1口电源切换开关,按下中断0控制键,待绿色的流水灯亮后,将电视遥控器对准单片机开发板上的红外接收头按下某个按键,当绿灯熄灭时,此时代表学习完成了,然后关闭P1口电源切换开关按下单片机开发板上的发射键对电视机进行遥控操作。

11、测试可知,本次设计的学习型遥控器完全符合要求,达到了预期目的。4课程设计心得体会 本次课程设计的基于单片机学习型红外遥控器,在keil软件上进行了进行C程序的设计、编译,并将输出的的hex文件通过STC_ISP_V479下载到单片机中,最后在单片机开发板上进行调试,测试硬件电路功能。经过实践验证,本设计是正确的。测试中,我们选取了电视机的遥控器作为学习对象,通过学习遥控器上某个键的功能,能实现单片机对电视机的控制。达到预期目的, 设计完全成功。本文给出的设计思想也适用于其他基于单片机的系统设计。我们这次课程设计是通过小组的讨论与实验所完成的,在进行过程中碰到了一些困难。首先,本次设计是采用ke

12、il与STC_ISP_V479软件来完成的。因此对于这两种软件的使用也提出了一定的要求。其次,由于在设计遥控码的码宽时,参数设置不够恰当,导致单片机无法成功对遥控器的按键功能进行学习。再次,在硬件电路功能测试过程中,由于实际的单片机开发板的电路连接与本课程设计的硬件电路不完全一致,导致无法进行调试。通过修改信号输入输出端口,并结合实际的单片机开发板硬件连接进行外部控制,最终成功实现了学习型遥控器的学习功能。通过这次实验我们感觉到动手能力及思维方式得到很大的加强。在这次课程设计中,我们学会了怎样去根据课题的要求运用学过的知识去设计电路和调试电路。从中我们发现了实践的重要性,在以后的学习中我们要加

13、强理论与实际的结合。而且这次实验也体现了团队合作的重要性与探索精神的必要性。5元器件及仪器设备明细表1 元器件及仪器设备明细表名称 数量备注微计算机一台keil软件一套STC_ISP_V749软件一套STC89C52单片机一片电视机一台电视机遥控器一个电阻三个10K电阻两个电阻一个电阻一个电容一个电容一个轻触开关两个三极管三个红外接收器一个红外发射器一个6参考文献1 舒经文. 最新彩电机芯及其遥控系统的原理与维修M. 北京: 电子工业出版社, 19932 李华. MCS-51系列单片机实用接口技术M. 北京: 航天航空大学出版社,19993 麦山.基于单片机的协议红外遥控系统.电子技术M: 1

14、9984 何立民.MCS-51系列单片机应用系统设计,系统配置与接口技术M.北京:航空航天大学出版社,19955 刘宁生周哨山.脉冲与数字电路M.北京:中国广播电视出版社,19956 康光华,陈大钦. 电子技术基础(模拟部分)M.高等教育出版社.第四版7李建华. 实用遥控器原理与制作M.北京: 人民邮电出版社,19967致谢本次课程设计主要由我们两人共同完成,其间当然老师也同样是付出了大量的时间和精力来帮助我们。不论结果怎样,我们都会欣然接受,因为我们努力过了。同时我们也要衷心地感谢我们所有的老师,以及帮助我们的同学,要是没你们的帮助我们是不能这么好的完成这次课程设计的。8附录/*/ / 学习

15、型遥控器/ 使用keil c51 /*/使用AT89C52单片机,12MHZ晶振,#include #include /_nop_();延时函数用#define uchar unsigned char#define uint unsigned intsbit studylamp=P17; /学习状态指示灯sbit lamp=P12; /发射指示灯sbit studykey=P32; /学习键(中断口)sbit remotein=P11; /遥控信号输入口 sbit remoteout=P10; / 遥控输出口sbit txkey=P33 ; /发射键/uint i,j,m=255,n,k,s,

16、t;uchar idata remotedata206;/存肪冲宽度数据用uint head,tou; /存起始位用uint remdata;/*1毫秒延时程序*/delay1ms(uint t)for(i=0;it;i+) for(j=0;j120;j+) ;return -1; /*初始化函数*/clearmen()studylamp=1; /关学习灯lamp=1; /关发射指示remoteout=1; /关遥控输出remotein=1; /for(i=0;i0;i-);ET1=0;TR1=0;remoteout=0; /发起始码 低电平 for(i=tou;i0;i-)_nop_();_

17、nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); while(1) remoteout=1;ET1=1;TR1=1; /发高电平 for(i=remotedatan;i0;i-); ET1=0;TR1=0; n+; remoteout=0; if(remotedatan=0x00)delay1ms(10);break;/ for(i=remotedatan;i0;i-)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_no

18、p_(); n+; return -1; /*主函数*/main()n=0;head=0;tou=0;remdata=0x00;clearmen(); /初始化 while(1) keywork(); /按键扫描 /*40KHZ发生器*/定时中断T1void time_intt1(void) interrupt 3 remoteout=remoteout;/*学习函数 */外中断0void intt0(void) interrupt 0 while(studykey=0); /等待键释放 下降沿触发EA=0;for(i=0;im) /高电平5毫 remotedatan=0x00;EX0=1;EA=1;goto end; remotedatan=remdata;n+; /存高电平脉while(remotein=1); /确定接收完 remdata=0x00; /脉宽计数器清 end: lamp=0;studylamp=1; /*结束/*/

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2