万能红外遥控器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称:单片机原理及应用课程设计
设计题目:万能红外线遥控器的设计
系别:通信与控制工程系
专业:电子信息工程
班级:09级1班
学生姓名:
学号:09409146 09409147
起止日期:2011年12月19日~ 2011年12月30日
指导教师:谭周文田汉平
教研室主任:侯海良
摘要
本设计详细介绍了学习型万能遥控器的软硬件设计方法,并给出了具体的各单元电路设计、程序设计及主程序流程图。在硬件设计中,我们选取STC89C52型号单片机为核心器件,并给出外围电路模块如红外接收模块、红外发射模块、显示模块、以及外部控制模块等组成部分的设计实现。软件部分采用keil进行C程序设计与编译,并将编译后产生的hex文件通过STC_ISP_V479下载到单片机中,进行调试。本学习型遥控器采用最小化应用模式设计,电路简单,尤其是通过大量不同遥控码的特征分析,在遥控码的读入时选择了最佳采样间隔,使遥控码的学习成功率大大提高。
关键词:遥控学习;红外解码;单片机控制;红外遥控
目录
设计要求错误!未定义书签。
前言错误!未定义书签。
1方案论证错误!未定义书签。
方案错误!未定义书签。
方案二错误!未定义书签。
方案对比与选择错误!未定义书签。
2基本功能模块设计与说明错误!未定义书签。
初始化模块错误!未定义书签。
遥控码读入处理模块错误!未定义书签。
遥控码发射处理模块错误!未定义书签。
主模块错误!未定义书签。
3调试与操作说明错误!未定义书签。
学习型红外遥控器的仿真电路原理图的设计错误!未定义书签。程序的编译及下载错误!未定义书签。
实际电路的测试错误!未定义书签。
4课程设计心得体会错误!未定义书签。
5元器件及仪器设备明细错误!未定义书签。
6参考文献错误!未定义书签。
7致谢错误!未定义书签。
8附录错误!未定义书签。
学习型红外遥控器的设计
设计要求
学习型红外线遥控器要求可以学习不同遥控器的某个按键码功能。使用时先用原遥控器对着学习器按一下某操作键,学习器就可以实现原遥控器中该键的遥控功能。
前言
本课程设计是一个基于单片机的学习型红外遥控器,能够学习不同遥控器的某个按键功能。利用单片机STC89C52对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至扩展存储区的指定地址。当要发射红外信号时,从扩展存储区中还原出相应的红外遥控编码,并调制到40KHz的载波信号上,最后,通过三极管放大电路驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备。
1方案论证
方案
目前,市场上一般设备系统均采用专用的遥控器编码及解码集成电路,具有制作简单、间隔低廉等特点,但由功能键数及功能受到特定的限制,只适合于某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的应用设计,具有编程灵活多样,操作码个数可随意设定等优点。
为了实现遥控码的记录还原功能,系统应具有红外线的接收解码、红外线调制发射、操作按键和功能控制功能等单元。由于功能定为学习一个遥控器按键的遥控功能,因此决定采用STC89C52单片机作为控制器。STC89C52单片机中具有256字节的内存单元,可存储遥控码脉宽的数据。遥控码的脉宽数据可用红外线接收器解码后送单片机读入,发射时有单片机产生40kHZ红外调制信号送红外发射管
发射.单键学习型红外遥控器的实现方案框图如图1所示。
图1 单键学习型红外遥控器系统框图
方案二
方案二的系统由STC89C52为核心,扩展4KB的EEPROM用来存储遥控信号,系统采用12MHZ晶振,选用AT24LC32它可在线电擦除和电写入的存储器,其容量为4KB。遥控器的结构框图如图2所示。
图2 学习型红外遥控器系统框图
方案对比与选择
方案二采用EEPROM来存储遥控信号,这样需要扩展存储器。而方案一不需要扩展存储器,直接利用STC89C52中的ROM。同时,方案二必定会增加成本,同时电路较复杂。
综上所述,所以选择方案一来设计红外遥控器。
2基本功能模块设计与说明
初始化模块
初始化模块的主要任务时清存放脉宽数据单元,关闭学习及发射指示灯,关闭遥控输出口,将定时器T1设为8位自动重装模式,设置中断。
遥控码读入处理模块
遥控码的学习处理程序主要是将原遥控器发出的脉冲码宽依次存入内存单元,存放规则为偶数地址(0、2、4、6等)存放高电平脉宽数据,奇数地址(1、3、5等)存放低电平脉宽数据。定义文件中划了206个单元用于存放脉宽数据,符合常用遥控器的最大码长要求。遥控码读入程序流程图如图2所示。
本程序在编程设计中非常重要,通过大量的、不同的遥控码波形进行实验测试分析,遥控码的帧间歇位宽度均在10ms以上,起始码宽度在100us~20ms之间,编码位在100us~之间。为确保所有遥控器学习的成功,可采用以下程序实现方法。
读起始位方法:由于起始位的码宽范围较大,因此计数单元采用单独的2字节,计数周期约为15us,这样按65536*15us算,最大可存起始位脉宽为983ms。当输入为高电平时,停止起始位计数,进入高电平计数。
读遥控码的方法:采用1字节计数单元对(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将数据存入规定的地址。在高电平码计数时,当计数值大于255时(宽度大于),则判定为结束帧间隔位,在相应存储单元写入数据0x00作为结束标志。
遥控码发射处理模块
遥控码发射程序将原存于内存单元的脉冲数据还原成40KHZ方波,利用定时/计数器T1中断功能产生40KHZ载波,调制波从脚送出。利用原读入时的低电平持续时间控制产生40KHZ方波的时间,而原读入时为高电平的脉宽数据将作为停发40KHZ方波的持续时间控制。遥控码发射处理程序图如图5所示
电路原理图的设计
图3所示为该学习机遥控器的电路原理图,单片机使用STC89C52。其中:口接遥控器发射按键;
口用作状态指示,绿灯亮代表学习状态,绿灯灭代表码已读入;
口用作指示遥控键的操作,闪烁代表遥控码正在发射之中;
第9脚为单片机的复位脚,采用RC上电复位电路;
第12脚为单片机中断输入口,用于工作方式的转换控制,当INT0脚为低电平时,系统进入学习状态;
第14脚用于红外线接收解码器的输出信号输入
第15脚作为遥控码红外调制信号的输出口,输出40KHZ的方波脉冲;
第18、19脚接12M晶振。
由于采用最小化应用系统,因此控制线PSEN(片外取指控制)、ALE(地址锁存控制)不用,EA(片外存储器选择)接高电平,使用片内程序存储器。红外线接收器使用市场上用于电视机的三端一体化红外接收解调器,三极管可用9013系列,红外线发射二极管也用普通遥控器中使用的器件。