万能型学习型遥控器的设计_第1页
万能型学习型遥控器的设计_第2页
万能型学习型遥控器的设计_第3页
万能型学习型遥控器的设计_第4页
万能型学习型遥控器的设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南人文科技学院课程设计报告课程名称: 单片机原理及应用 设计题目: 学习型红外线遥控器的设计 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 07级电信一班 学生姓名: 傅雨晴 胥小波 学 号: 07409113 07409127 起止日期: 2010-6-12 2010-6-28 指导教师: 谭 周 文 刘 湛 教研室主任: 侯 海 良 指导教师评语:指导教师签名: 年 月 日成绩评定项目权重成绩胥小波傅雨晴1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩教研室审核意见:教研室主任签字: 年 月 日教学系审核意见:主任签字: 年 月 日摘 要当今社会科学技术的发展与日俱增,人们的生活水平也是日益提高,为了减少人的工作量,所以对各种家用电器、电子器件的非人工控制的要求也是越来越高,针对这种情况,设计出一种集成度比较高的控制体系是必然的。单片机的集成度很高,它具有体积小、质量轻、价格便宜、耗电少等突出特点,尤其耗电少,又可使供电电源体积小、质量轻。本课程设计介绍了基于单片机的一种学习型万能遥控器的设计与实现,可以对各种红外线遥控器发射的信号进行识别、存储和再现等功能,从而实现对各类家电的控制。学习型万能遥控器由单片机、红外线接收、红外线发射、显示、存储、按键和欠电压指示等部分组成。本设计详细介绍了学习型万能遥控器的软硬件设计方法,并给出了具体的各单元电路设计、程序设计及主程序流程图。在硬件设计中,我们选取STC89C52型号单片机为核心器件,并给出外围电路模块如红外接收模块、红外发射模块、显示模块、以及外部控制模块等组成部分的设计实现。软件部分采用keil进行C程序设计与编译,并将编译后产生的hex文件通过STC_ISP_V479下载到单片机中,进行调试。本学习型遥控器采用最小化应用模式设计,电路简单,尤其是通过大量不同遥控码的特征分析,在遥控码的读入时选择了最佳采样间隔,使遥控码的学习成功率大大提高。关键词:遥控学习;红外解码;单片机控制;红外遥控目 录设计要求1前言11、方案论证12、基本功能模块设计与说明22.1.初始化模块22.2遥控码读入处理模块22.3遥控码发射处理模块32.4 主模块33、调试与操作说明431学习型红外遥控器的电路原理图的设计432 程序的编译及下载633实际电路的测试74、课程设计心得体会85、元器件及仪器设备明细96、参考文献107、致谢118、附录1215学习型红外遥控器的设计设计要求学习型红外线遥控器要求可以学习不同遥控器的某个按键码功能。使用时先用原遥控器对着学习器按一下某操作键,学习器就可以实现原遥控器中该键的遥控功能。前言 本课程设计是一个基于单片机的学习型红外遥控器,能够学习不同遥控器的某个按键功能。利用单片机STC89C52对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至扩展存储区的指定地址。当要发射红外信号时,从扩展存储区中还原出相应的红外遥控编码,并调制到40KHz的载波信号上,最后,通过三极管放大电路驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备。 1、方案论证为了实现遥控码的记录还原功能,系统应具有红外线的接收解码、红外线调制发射、操作按键和功能控制功能等单元。由于功能定为学习一个遥控器按键的遥控功能,因此决定采用STC89C52单片机作为控制器。STC89C52单片机中具有256字节的内存单元,可存储遥控码脉宽的数据。遥控码的脉宽数据可用红外线接收器解码后送单片机读入,发射时有单片机产生40kHZ红外调制信号送红外发射管发射.单键学习型红外遥控器的实现方案框图如图1所示。图1 单键学习型红外遥控器系统框图2、基本功能模块设计与说明2.1.初始化模块初始化模块的主要任务时清存放脉宽数据单元,关闭学习及发射指示灯,关闭遥控输出口,将定时器T1设为8位自动重装模式,设置中断。2.2遥控码读入处理模块遥控码的学习处理程序主要是将原遥控器发出的脉冲码宽依次存入内存单元,存放规则为偶数地址(0、2、4、6等)存放高电平脉宽数据,奇数地址(1、3、5等)存放低电平脉宽数据。定义文件中划了206个单元用于存放脉宽数据,符合常用遥控器的最大码长要求。遥控码读入程序流程图如图2所示。本程序在编程设计中非常重要,通过大量的、不同中来的遥控码波形实验测试分析,遥控码的帧间歇位宽度均在10ms以上,起始码宽度在100us20ms之间,编码位在100us3.5ms之间。为确保所有遥控器学习的成功,可采用以下程序实现方法。读起始位方法:由于起始位的码宽范围较大,因此计数单元采用单独的2字节,计数周期约为15us,这样按65536*15us算,最大可存起始位脉宽为983ms。当输入为高电平时,停止起始位计数,进入高电平计数。读遥控码的方法:采用1字节计数单元对吗(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将数据存入规定的地址。在高电平码计数时,当计数值大于255时(宽度大于3.825ms),则判定为结束帧间隔位,在相应存储单元写入数据0xOO作为结束标志。2.3遥控码发射处理模块遥控码发射程序将原存于内存单元的脉冲数据还原成40KHZ方波,利用定时/计数器T1中断功能产生40KHZ载波,调制波从P3.5脚送出。利用原读入时的低电平持续时间控制产生40KHZ方波的时间,而原读入时为高电平的脉宽数据将作为停发40KHZ方波的持续时间控制。遥控码发射处理程序图如图3所示。2.4 主模块主程序在完成上电初始化后进行按键查询,当确认有键按下时将编码发出去。主程序流程图4所示图2 遥控码读入程序流程图 图3 遥控码发射处理程序图 图4 主程序流程图 3、调试与操作说明31学习型红外遥控器的电路原理图的设计图5所示为该学习机遥控器的电路原理图,单片机使用STC89C52。其中: P1.2口接遥控器发射按键; P1.6口用作状态指示,绿灯亮代表学习状态,绿灯灭代表码已读入; P1,7口用作指示遥控键的操作,闪烁代表遥控码正在发射之中;第9脚为单片机的复位脚,采用RC上电复位电路;第12脚为单片机中断输入口,用于工作方式的转换控制,当INT0脚为低电平时,系统进入学习状态;第14脚用于红外线接收解码器的输出信号输入第15脚作为遥控码红外调制信号的输出口,输出40KHZ的方波脉冲;第18、19脚接12M晶振。由于采用最小化应用系统,因此控制线PSEN(片外取指控制)、ALE(地址锁存控制)不用,EA(片外存储器选择)接高电平,使用片内程序存储器。红外线接收器使用市场上用于电视机的三端一体化红外接收解调器,三极管可用9013系列,红外线发射二极管也用普通遥控器中使用的器件。图5 单键遥控码学习控制器电路原理图32 程序的编译及下载1、创建工程并选择AT89C52型号芯片。2、新建remote.c文件。3、编写源程序并编译,如图6所示。图6 学习型遥控器的程序编译图3、打开STC-ISP下载软件,选择STC89C52RC型号的芯片,选择串口1并导入编译生成的hex文件。4、将单片机与计算机的串口相连,并将程序下载至单片机,如图7所示。图7 学习型红外遥控器程序下载图33实际电路的测试 程序下载进单片机后,打开单片机开发板上电源接口开关以及P1口电源切换开关,按下中断0控制键,待绿色的流水灯亮后,将电视遥控器对准单片机开发板上的红外接收头按下某个按键,当绿灯熄灭时,此时代表学习完成了,然后关闭PI口电源切换开关按下单片机开发板上的发射键对电视机进行遥控操作。测试可知,本次设计的学习型遥控器完全符合要求,达到了预期目的。4、课程设计心得体会 本次课程设计的基于单片机学习型红外遥控器,在keil软件上进行了进行C程序的设计、编译,并将输出的的hex文件通过STC_ISP_V479下载到单片机中,最后在单片机开发板上进行调试,测试硬件电路功能。经过实践验证,本设计是正确的。测试中,我们选取了电视机的遥控器作为学习对象,通过学习遥控器上某个键的功能,能实现单片机对电视机的控制。达到预期目的, 设计完全成功。本文给出的设计思想也适用于其他基于单片机的系统设计。我们这次课程设计是通过小组的讨论与实验所完成的,在进行过程中碰到了一些困难。首先,本次设计是采用keil与STC_ISP_V479软件来完成的。因此对于这两种软件的使用也提出了一定的要求。其次,由于在设计遥控码的码宽时,参数设置不够恰当,导致单片机无法成功对遥控器的按键功能进行学习。再次,在硬件电路功能测试过程中,由于实际的单片机开发板的电路连接与本课程设计的硬件电路不完全一致,导致无法进行调试。通过修改信号输入输出端口,并结合实际的单片机开发板硬件连接进行外部控制,最终成功实现了学习型遥控器的学习功能。通过这次实验我们感觉到动手能力及思维方式得到很大的加强。在这次课程设计中,我们学会了怎样去根据课题的要求运用学过的知识去设计电路和调试电路。从中我们发现了实践的重要性,在以后的学习中我们要加强理论与实际的结合。而且这次实验也体现了团队合作的重要性与探索精神的必要性。5、元器件及仪器设备明细表1 元器件及仪器设备明细表器件名称型号/版本数量备注微型计算机联想一台keil软件一套STC_ISP_V479软件一套单片机开发板STC89C52一套电视机TCL一台电视机遥控器TCL一台6、参考文献1 舒经文. 最新彩电机芯及其遥控系统的原理与维修. 北京: 电子工业出版社, 19932 李华. MCS-51系列单片机实用接口技术. 北京: 航天航空大学出版社,19993 麦山.基于单片机的协议红外遥控系统.电子技术: 19984 何立民.MCS-51系列单片机应用系统设计,系统配置与接口技术.北京:航空航天大学出版社,19955 刘宁生周哨山.脉冲与数字电路.北京:中国广播电视出版社,19956 康光华,陈大钦. 电子技术基础(模拟部分).高等教育出版社.1999.6.第四版7李建华. 实用遥控器原理与制作.北京: 人民邮电出版社,19967、致谢本次课程设计主要由我们两人共同完成,其间当然老师也同样是付出了大量的时间和精力来帮助我们。不论结果怎样,我们都会欣然接受,因为我们努力过了。同时我们也要衷心地感谢我们所有的老师,以及帮助我们的同学,要是没你们的帮助我们是不能这么好的完成这次课程设计的。8、附录/*学习型遥控器C程序清单*/#pragma src(E:remote.asm)#include reg51.h#include intrins.h /_nop_();延时函数用#define uchar unsigned char#define uint unsigned intsbit studylamp=P16; /学习状态指示灯sbit lamp=P17; /发射指示灯sbit studykey=P32; /学习键(中断口)sbit remotein=P34; /遥控信号输入口 sbit remoteout=P35; / 遥控输出口sbit txkey=P12 ; /发射键uint i,j,m=255,n,k,s;uchar idata remotedata206;/存肪冲宽度数据用uint head; /存起始位用uint remdata;/*1毫秒延时程序*/delay1ms(uint t)for(i=0;it;i+) for(j=0;j120;j+) ;/*初始化函数*/clearmen()studylamp=0; /关学习灯lamp=0; /关发射指示remoteout=0; /关遥控输出remotein=1; /for(i=0;i0;i-);remoteout=0;ET1=0;TR1=0;n=0;while(1)if(remotedatan=0x00)delay1ms(10);break;/数据为0结束 for(i=remotedatan;i0;i-)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); lamp=lamp;n+;/偶地址不发脉冲 ET1=1;TR1=1; /奇地址发调制脉冲 for(i=remotedatan;i0;i-); remoteout=0;ET1=0;TR1=0;n+; /*主函数*/main()clearmen(); /初始化 while(1) keywork(); /按键扫描 /*40KHZ发生器*/定时中断T1void time_intt1(void) interrupt 3 remoteout=remoteout;/*学习函数 */外中断0void intt0(void) interrupt 0 ET1=0;TR1=0;EX0=0;EA=0;head=0;studylamp=1;lamp=0;while(studykey=0); /等待键释放while(remotein=1); /等待遥控码输入head=0; /读入起始位while(remotein=0)_nop_();_nop_();_nop_();_nop_();_nop

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论