《万能红外遥控器设计Word版》由会员分享,可在线阅读,更多相关《万能红外遥控器设计Word版(23页珍藏版)》请在金锄头文库上搜索。
1、课程设计报告课程名称:单片机原理及应用课程设计设计题目: 万能红外线遥控器的设计 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 09级1班 学生姓名: 学 号: 09409146 09409147 起止日期: 2011年12月19日 2011年12月30日 指导教师: 谭周文 田汉平 教研室主任: 侯海良 指导教师评语:指导教师签名: 年 月 日成绩评定项目权重成绩1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩教研室审核意见:教研室主任签字: 年 月 日教学系审核意见:主任签字: 年 月 日摘 要本设计详细介绍
2、了学习型万能遥控器的软硬件设计方法,并给出了具体的各单元电路设计、程序设计及主程序流程图。在硬件设计中,我们选取STC89C52型号单片机为核心器件,并给出外围电路模块如红外接收模块、红外发射模块、显示模块、以及外部控制模块等组成部分的设计实现。软件部分采用keil进行C程序设计与编译,并将编译后产生的hex文件通过STC_ISP_V479下载到单片机中,进行调试。本学习型遥控器采用最小化应用模式设计,电路简单,尤其是通过大量不同遥控码的特征分析,在遥控码的读入时选择了最佳采样间隔,使遥控码的学习成功率大大提高。关键词:遥控学习;红外解码;单片机控制;红外遥控目 录设计要求1前言11方案论证1
3、1.1方案11.2方案二21.3方案对比与选择32基本功能模块设计与说明42.1初始化模块42.2遥控码读入处理模块42.3遥控码发射处理模块42.4 主模块43调试与操作说明83.1学习型红外遥控器的仿真电路原理图的设计错误!未定义书签。3.2 程序的编译及下载83.3实际电路的测试94课程设计心得体会105元器件及仪器设备明细116参考文献117致谢128附录12学习型红外遥控器的设计设计要求学习型红外线遥控器要求可以学习不同遥控器的某个按键码功能。使用时先用原遥控器对着学习器按一下某操作键,学习器就可以实现原遥控器中该键的遥控功能。前言 本课程设计是一个基于单片机的学习型红外遥控器,能够
4、学习不同遥控器的某个按键功能。利用单片机STC89C52对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至扩展存储区的指定地址。当要发射红外信号时,从扩展存储区中还原出相应的红外遥控编码,并调制到40KHz的载波信号上,最后,通过三极管放大电路驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备。 1方案论证1.1方案目前,市场上一般设备系统均采用专用的遥控器编码及解码集成电路,具有制作简单、间隔低廉等特点,但由功能键数及功能受到特定的限制,只适合于某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的
5、应用设计,具有编程灵活多样,操作码个数可随意设定等优点。为了实现遥控码的记录还原功能,系统应具有红外线的接收解码、红外线调制发射、操作按键和功能控制功能等单元。由于功能定为学习一个遥控器按键的遥控功能,因此决定采用STC89C52单片机作为控制器。STC89C52单片机中具有256字节的内存单元,可存储遥控码脉宽的数据。遥控码的脉宽数据可用红外线接收器解码后送单片机读入,发射时有单片机产生40kHZ红外调制信号送红外发射管发射.单键学习型红外遥控器的实现方案框图如图1所示。 图1 单键学习型红外遥控器系统框图1.2方案二方案二的系统由STC89C52为核心,扩展4KB的EEPROM用来存储遥控
6、信号,系统采用12MHZ晶振,选用AT24LC32它可在线电擦除和电写入的存储器,其容量为4KB。遥控器的结构框图如图2所示。 图2 学习型红外遥控器系统框图1.3方案对比与选择方案二采用EEPROM来存储遥控信号,这样需要扩展存储器。而方案一不需要扩展存储器,直接利用STC89C52中的ROM。同时,方案二必定会增加成本,同时电路较复杂。综上所述,所以选择方案一来设计红外遥控器。 2基本功能模块设计与说明2.1初始化模块初始化模块的主要任务时清存放脉宽数据单元,关闭学习及发射指示灯,关闭遥控输出口,将定时器T1设为8位自动重装模式,设置中断。2.2遥控码读入处理模块遥控码的学习处理程序主要是
7、将原遥控器发出的脉冲码宽依次存入内存单元,存放规则为偶数地址(0、2、4、6等)存放高电平脉宽数据,奇数地址(1、3、5等)存放低电平脉宽数据。定义文件中划了206个单元用于存放脉宽数据,符合常用遥控器的最大码长要求。遥控码读入程序流程图如图2所示。本程序在编程设计中非常重要,通过大量的、不同的遥控码波形进行实验测试分析,遥控码的帧间歇位宽度均在10ms以上,起始码宽度在100us20ms之间,编码位在100us3.5ms之间。为确保所有遥控器学习的成功,可采用以下程序实现方法。读起始位方法:由于起始位的码宽范围较大,因此计数单元采用单独的2字节,计数周期约为15us,这样按65536*15u
8、s算,最大可存起始位脉宽为983ms。当输入为高电平时,停止起始位计数,进入高电平计数。读遥控码的方法:采用1字节计数单元对(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将数据存入规定的地址。在高电平码计数时,当计数值大于255时(宽度大于3.825ms),则判定为结束帧间隔位,在相应存储单元写入数据0x00作为结束标志。2.3遥控码发射处理模块遥控码发射程序将原存于内存单元的脉冲数据还原成40KHZ方波,利用定时/计数器T1中断功能产生40KHZ载波,调制波从P3.5脚送出。利用原读入时的低电平持续时间控制产生40KHZ方波的时间,而原读入时为高电平的脉宽数据将作为停发40KHZ方波
9、的持续时间控制。遥控码发射处理程序图如图5所示2.4电路原理图的设计图3所示为该学习机遥控器的电路原理图,单片机使用STC89C52。其中: P1.2口接遥控器发射按键; P1.6口用作状态指示,绿灯亮代表学习状态,绿灯灭代表码已读入; P1.7口用作指示遥控键的操作,闪烁代表遥控码正在发射之中;第9脚为单片机的复位脚,采用RC上电复位电路;第12脚为单片机中断输入口,用于工作方式的转换控制,当INT0脚为低电平时,系统进入学习状态;第14脚用于红外线接收解码器的输出信号输入第15脚作为遥控码红外调制信号的输出口,输出40KHZ的方波脉冲;第18、19脚接12M晶振。由于采用最小化应用系统,因
10、此控制线PSEN(片外取指控制)、ALE(地址锁存控制)不用,EA(片外存储器选择)接高电平,使用片内程序存储器。红外线接收器使用市场上用于电视机的三端一体化红外接收解调器,三极管可用9013系列,红外线发射二极管也用普通遥控器中使用的器件。图3 单键遥控码学习控制器电路原理图2.5 程序流程图主程序在完成上电初始化后进行按键查询,当确认有键按下时将编码发出去。主程序流程图6所示图4 遥控码读入程序流程图 图5 遥控码发射处理程序图 图6 主程序流程图 3调试与操作说明3.1 程序的编译及下载1、创建工程并选择AT89C52型号芯片。2、新建remote.c文件。3、编写源程序并编译,如图7所
11、示。图7 学习型遥控器的程序编译图4、打开STC-ISP下载软件,选择STC89C52RC型号的芯片,选择串口1并导入编译生成的hex文件。5、将单片机与计算机的串口相连,并将程序下载至单片机,如图7所示。图8 学习型红外遥控器程序下载图3.2实际电路的测试 程序下载进单片机后,打开单片机开发板上电源接口开关以及P1口电源切换开关,按下中断0控制键,待绿色的流水灯亮后,将电视遥控器对准单片机开发板上的红外接收头按下某个按键,当绿灯熄灭时,此时代表学习完成了,然后关闭P1口电源切换开关按下单片机开发板上的发射键对电视机进行遥控操作。测试可知,本次设计的学习型遥控器完全符合要求,达到了预期目的。4
12、课程设计心得体会 本次课程设计的基于单片机学习型红外遥控器,在keil软件上进行了进行C程序的设计、编译,并将输出的的hex文件通过STC_ISP_V479下载到单片机中,最后在单片机开发板上进行调试,测试硬件电路功能。经过实践验证,本设计是正确的。测试中,我们选取了电视机的遥控器作为学习对象,通过学习遥控器上某个键的功能,能实现单片机对电视机的控制。达到预期目的, 设计完全成功。本文给出的设计思想也适用于其他基于单片机的系统设计。我们这次课程设计是通过小组的讨论与实验所完成的,在进行过程中碰到了一些困难。首先,本次设计是采用keil与STC_ISP_V479软件来完成的。因此对于这两种软件的
13、使用也提出了一定的要求。其次,由于在设计遥控码的码宽时,参数设置不够恰当,导致单片机无法成功对遥控器的按键功能进行学习。再次,在硬件电路功能测试过程中,由于实际的单片机开发板的电路连接与本课程设计的硬件电路不完全一致,导致无法进行调试。通过修改信号输入输出端口,并结合实际的单片机开发板硬件连接进行外部控制,最终成功实现了学习型遥控器的学习功能。通过这次实验我们感觉到动手能力及思维方式得到很大的加强。在这次课程设计中,我们学会了怎样去根据课题的要求运用学过的知识去设计电路和调试电路。从中我们发现了实践的重要性,在以后的学习中我们要加强理论与实际的结合。而且这次实验也体现了团队合作的重要性与探索精神的必要性。5元器件及仪器设备明细表1 元器件及仪器设备明细表名称 数量备注微计算机一台