课程设计学习型红外遥控器的设计要点
- 格式:doc
- 大小:496.50 KB
- 文档页数:19
低压电器(2009№22)现代建筑电气篇・智能家居・高恭娴(1961—),女,高级工程师,副教授,从事电力电子产品设计工作。
低成本学习型红外遥控器的设计高恭娴(南京信息职业技术学院,江苏南京 210016)摘 要:提出了一种用于智能家居的低成本学习型遥控器解决方案。
利用被控设备自备的红外接收器,无需内置任何被控设备的红外控制指令集,采用脉宽测量与模仿可完全实现自动学习的功能。
同时还对测量数据进行了编码压缩,用软件模拟38kHz 载波信号的发送,节省了数据存储空间和设计成本。
结果表明,该设计价格低廉,使用方便,完全具备自学习功能,可以代替各种遥控器实现智能家居遥控器一体化的要求。
关键词:红外遥控;载频;编码状态转换;自学习功能中图分类号:TP274.2 文献标识码:B 文章编号:100125531(2009)2220024203D esi gn of Self 2L earn i n g I nfrared Con troller W ith L ow CostGAO Gongxian(Nanjing College of I nf or mati on Technol ogy,Nanjing 210016,China ) Abstract:A s oluti on of self 2learning infrared contr oller for intelligent household with l ow costwas put for ward .It made use of infrared receivers that was put inside contr olled device without any built 2in infrared instructi on set of contr olled device,and use pulse width measurement and i m itati on t o realize self 2learning functi on comp letely .A t the same ti m e,the measured data was encoded and comp ressed,and s oft w are was used t o si m ulate the send of 38kHz carrier signal which save the data st orage and the design cost .Results showed that the infrared contr oller had l ow cost,easily use and self 2learning functi on,s o it could rep lace any kind of remote contr ol t o realize the integra 2ti on of intelligent household and re mote contr ol .Key words:i n frared re m ote con trol ;carr i er frequency;cod i n g conversi on st a te chart ;self 2study func 2ti on0 引 言智能家居的实现改变了人们的生活方式。
河南大学物理与电子学院学习型红外遥控器的设计河南大学物理与电子学院电子开放实验室目录1 设计要求及原理 (1)2 方案论证与对比 (2)2.1 方案一简易红外遥控电路 (2)2.2 方案二利用STC68C52单片机控制电路 (2)2.3 方案对比与选择 (3)3 遥控器硬件与程序设计 (3)3.1 遥控器硬件结构组成 (3)3.2 系统硬件电路设计 (4)3.3 初始化程序 (4)3.4遥控器读入程序处理 (5)3.5 遥控码发送处理程序 (6)3.6主程序 (6)3.7 程序延时 (6)4 系统功能调试及整体指标分析 (6)4.1 程序调试 (6)4.2 整体指标分析 (7)5 详细仪器清单 (9)6总结、思考与致谢 (9)附录1:单键学习型红外遥控器原理图(proteus仿真): (10)附录2:单片机C源程序: (11)学习型红外遥控器设计1 设计要求及原理利用单片机作为控制核心,要求可以学习不同遥控器的某个按件功能。
使用时先用原遥控器对着学习器按一下某操作键,学习器就可实现原遥控器中该键的遥控功能。
具体要求如下:基本部分:(1)最大学习码长:206位。
(2) 学习码识别范围:起始位为15us~983ms,编码位为15us~3.825ms。
(3) 读码误差:±15us。
扩展部分:学习型红外遥控器在按下K键待绿色指示灯亮后,用遥控器对着红外接收头按下某个功能键,当绿灯灭说明学习完毕,再按发射键就可以进行遥控操作。
当红外遥控器的某个按键按下时,发射出一组串行二进制遥控编码脉冲。
该脉冲由引导码、系统码、功能码和反码组成,通过设置这些编码以及码长便可区分不同的红外遥控器。
红外接收器负责红外信号的接收和放大并解调出TTL电平信号送至微处理器进行处理,微处理器通过比较和识别接收来的红外遥控编码便可执行相应的遥控功能[1]。
本系统的设计思想是不考虑红外编码方式,仅利用单片机AT89C52对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至扩展存储区的指定地址。
摘要单片机遥控系统是将红外遥控技术和单片机应用技术相结合的一种方案。
本系统为红外遥控电子密码锁的控制管理部分,只要再连接上不同用途的电磁锁即可成为一个完整的红外遥控电子密码锁系统应用到各种领域中。
而且本系统还设计有学习NEC红外编码遥控器的功能,通过红外接收解码电路,把遥控器的键码还原并储存起来,再利用查找对比的方法便能够识别不同的遥控器,大大提高了系统的灵活性和实用性。
本系统以单片机作为核心元件将电子密码锁和无线遥控技术结合起来,使其具有修改密码、报警锁定等功能,不仅能进行远距离遥控解锁,还能实现近距离按键密码初始化及复位解除报警。
同时采用E2PROM作为存储单元,方便用户存储、修改密码和遥控器键码;采用LCD显示令使用更加方便直观。
红外线遥控电子密码锁能实现多种控制功能,改善了传统机械锁的各种缺点,有较好的市场发展前景和技术应用价值。
而且本系统的红外接收解码部分延时计数准确,并且有错误校验,所以整个接收解码的准确性非常高。
设计电路主要由红外线解码学习电路、密码修改和存储电路、声光提示报警电路、LCD 显示电路组成。
系统能完成输入密码开锁、出错报警、超次锁定、修改用户密码等基本的密码锁的功能,并且还能实现远距离遥控、按键密码初始化、掉电存储、声光提示、遥控器学习识别等附加功能。
关键词:电子密码锁红外遥控单片机NEC编码遥控器学习目录1 设计目的意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 在线编程电路和实物图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1在线编程电路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2实物图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 设计方案. . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 3.1发射模块的方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 3.2接收模块的方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 4硬件分析及设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 4.1发射模块原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 4.1.1红外发送系统原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 4.1.2 NEC编码格式介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 4.2接收模块原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 4.2.1接收解码原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 4.2.2该模块的硬件电路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 4.3存储模块原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144.4液晶显示模块原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 软件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.1编程语言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 5.2主要程序说明及流程图.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 5.2.1主程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 5.2.2接收解码程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 5.2.3密码判断、报警及修改程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 5.2.4主函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 6功能分析及总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 7具体操作流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 附录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 设计目的意义随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其重要。
红外遥控解码课程设计一、课程目标知识目标:1. 学生能理解红外遥控器的基本原理,掌握红外编码和解码的基础知识。
2. 学生能描述红外信号的特性,了解红外通信在日常生活和科技领域的应用。
3. 学生能解释不同品牌和型号遥控器之间的红外信号差异。
技能目标:1. 学生能够使用红外接收器和发射器进行基本的数据传输实验。
2. 学生能够通过编程实现对红外信号的解码,并运用到实际控制中。
3. 学生能够设计并制作一个简单的红外遥控装置,实现对电器的开关控制。
情感态度价值观目标:1. 学生培养对电子技术和遥控技术的兴趣,激发创新意识和探索精神。
2. 学生通过实践活动,增强团队合作意识和解决问题的能力。
3. 学生认识到红外遥控技术在智能家居、物联网等领域的重要性,培养对科技发展的关注和责任感。
课程性质:本课程为信息技术与电子技术的跨学科综合实践活动,注重理论知识与实践操作的结合。
学生特点:学生处于初中年级,具备一定的物理知识和动手能力,对新鲜事物充满好奇心。
教学要求:结合学生的认知水平和动手能力,以实践为主,理论联系实际,培养学生的创新思维和实际操作能力。
在教学过程中,注重引导学生主动探究、合作交流,实现知识、技能和情感态度价值观的全面发展。
通过具体的学习成果,对教学设计和评估提供明确依据。
二、教学内容1. 红外遥控原理介绍:包括红外遥控器的工作原理、红外信号的发射与接收过程。
- 教材章节:《电子技术》第三章第三节“红外遥控技术”2. 红外编码和解码基础:学习红外信号的编码方式,如NEC编码,以及解码方法。
- 教材章节:《信息技术》第二章第五节“数字信号的编码与解码”3. 红外接收与发射器使用:介绍红外接收器、发射器的功能与使用方法,进行基础实验操作。
- 教材章节:《电子技术》第三章第四节“红外接收与发射器的应用”4. 红外信号编程解码:通过编程软件,实现对红外信号的捕捉、解析和运用。
- 教材章节:《信息技术》第四章第一节“编程基础与应用”5. 实践制作红外遥控装置:分组合作设计并制作一个简单的红外遥控装置,实现对电器的控制。
多路红外遥控器课程设计一、课程目标知识目标:1. 学生能理解红外遥控器的基本原理,掌握红外遥控信号的发送与接收过程。
2. 学生能掌握多路红外遥控器的电路组成,了解各部分功能及相互关系。
3. 学生能了解并运用红外编码和解码技术,实现不同设备的遥控功能。
技能目标:1. 学生能运用所学知识设计并搭建简单的多路红外遥控器电路。
2. 学生能通过编程实现对红外遥控信号的编码与解码,实现设备的遥控功能。
3. 学生能在实践中培养动手能力、团队协作能力和问题解决能力。
情感态度价值观目标:1. 学生对红外遥控技术产生兴趣,提高对电子技术的热情。
2. 学生在课程学习过程中,培养探究精神、创新意识和实践能力。
3. 学生能认识到红外遥控技术在生活中的应用,增强学以致用的意识。
课程性质:本课程为电子技术课程,以实践操作为主,结合理论讲解,培养学生的动手能力和创新能力。
学生特点:本课程针对初中生,学生对电子技术有一定的基础,对新事物充满好奇,喜欢动手实践。
教学要求:教师应注重理论与实践相结合,引导学生主动参与,关注学生个体差异,鼓励学生相互协作,培养解决问题的能力。
通过本课程的学习,使学生能够达到上述课程目标,并在后续教学设计和评估中,对学生的学习成果进行有效检测。
二、教学内容1. 红外遥控器原理及电路组成- 红外遥控基本原理- 红外发射与接收电路的组成- 红外编码和解码技术2. 多路红外遥控器设计与搭建- 多路红外遥控器的电路设计- 选择适当的元器件和工具- 搭建与调试多路红外遥控器电路3. 红外遥控信号编程与解码- 学习红外遥控信号的编程方法- 了解红外解码芯片的工作原理- 编程实现对红外信号的编码与解码4. 实践应用与拓展- 设计并实现一个简单的红外遥控器控制系统- 了解红外遥控器在实际应用中的优缺点- 探讨红外遥控技术的未来发展教学内容安排与进度:第一课时:红外遥控器原理及电路组成第二课时:多路红外遥控器设计与搭建第三课时:红外遥控信号编程与解码第四课时:实践应用与拓展本教学内容根据课程目标,结合课本相关章节,系统地组织和安排教学,旨在使学生掌握红外遥控技术的基本原理、设计方法和实际应用,培养其创新能力和实践能力。
学习型红外线遥控器项目设计方案1.1本设计的研究背景和研究目的随着社会的发展各种家用电器已经进入了千家万户,各式各样、琳琅满目的家用电器,空调、电视、音响系统等传统意义上的家电早已成为普通百姓生活不可或缺的一部分,甚至连投影机、数字机顶盒,电子监控(防盗)系统等新兴电器也正迅速步入现代家庭,我们家里的遥控器越来越多,不同型号的遥控器控制不同的家电。
遥控器,想来大家并不陌生,遥控作为众多现代家电的一种基本控制方式,几乎所有的家电产品都配备了遥控器,甚至现在连电风扇,台灯这样的设备都配备了遥控器。
可是,随着家里的电器越来越多,电器产品的遥控器也越来越多,这就产生比较多的麻烦,日常生活中,很多人都会遇到随手拿错放在茶几上各种遥控器的麻烦,不仅使用起来不方便而且茶几上摆放一堆遥控器也很不好看。
设计出一种具有学习功能的并能代替各种数目繁多的遥控器的学习型红外遥控器成为一种需要。
1.2国外研究现状目前国学习型遥控器大部分采用复制遥控器红外波形的思想,也有部分采用下载存储遥控编码的学习思想。
但是由于采用专用遥控发射芯片,集成度高但成本也高。
现有自主学习型红外遥控器,其核心MCU 主要有以下几种:MCS-51 系列、Microchip PIC16 系列、Winbond W741 系列、Holtek HT48 系列以及ARM(Advanced RISC Machines)系列。
目前国外比较成熟的产品主要有:1、慧居智能电子的HJ-JYWC,它的主要特点为:触屏按键组合输入;具有红外学习功能;具有载波频率识别功能,能准确识别各种复杂的红外代码[2],如图1.2.1所示。
图 1.4 慧居智能电子HJ-JYWC2、BREMAX 公司的NRC-304 网络多功能遥控器,它的主要特点为:联机自学习、脱机自学习两种模式;具有USB 口,通过INTERNET 登陆BREMAX 公司,搜寻并下载相应型号家电的遥控器编码,兼容各种品牌和型号[3],如图 1.5 所示:图 1.5 NRC-304 网络多功能遥控器。
第五课红外遥控器一、教学目标1、知识与技能●了解可见光谱和红外线的相关知识。
●学会使用红外遥控器的编程实现相应的功能。
2、过程与方法●在可见光谱的学习中,学习联系生活实际解决问题的方法。
3、情感、态度、价值观●在红外遥控器的编程控制学习中,体验运用编程思维解决问题的乐趣。
二、教学重、难点重点:红外遥控器的编程控制学习。
难点:红外遥控器的编程。
三、教学准备教师准备:教师视频、教学PPT、一套教具(电池、电池盒、控制主板、直流减速电机、红外遥控器)、手机或IPAD若干部学生准备:学生课本、电池、电池盒、控制主板、直流减速电机、红外遥控器四、教学过程设计视频环节说明:1.学什么?此环节中,教师询问学生:大家知道我们用编程控制机器人是通过蓝牙连接,那如果我们要用遥控控制机器人,是通过什么原理呢?并提问:哪位同学有玩过遥控车、遥控飞机,我们知道按前进的按钮,小车就会前进,那实际上原理是什么?对于学生的回答,以肯定、鼓励为主,增强学生归纳总结的能力。
提问的最后,教师将回答引导到物理层次上的电磁波,并告知学生:这堂课我们将要学习的是遥控的红外线控制,提醒学生要认真听讲。
2.STEM乐园本环节中,主要简单介绍可见光谱的波长范围和红外线的波长。
根据PPT、课本简单介绍即可,注意总结出红外线波长不在可见光的波长范围内,属于非可见光。
介绍完红外线后,引导学生回到红外遥控的学习上,阐述红外遥控的优点。
3.Robot世界本环节中,主要介绍红外遥控的使用方法和红外遥控上按键与功能的对应关系。
在介绍按键对应的功能前,教师可以顺带复习一下控制主板的一点内容,提问学生:请问有哪个同学还记得我们第一节课上过的内容,红外线信号接收器在控制主板的哪个位置?确定了红外线信号接收器后教师讲解红外遥控与机器人的连接方法。
教师注意调动课堂气氛,保持学生的课堂注意力:逐个介绍按键对应的功能。
4.一起来!教师引导学生编程用遥控器控制电机顺逆时针运动以及停止运动等动作。
红外遥控实验课程设计一、课程目标知识目标:1. 让学生掌握红外遥控的基本原理,了解红外遥控信号的发送与接收过程;2. 使学生掌握红外遥控器的功能及其在生活中的应用;3. 引导学生了解红外传感器的工作原理及其在智能控制系统中的应用。
技能目标:1. 培养学生动手操作能力,学会使用红外遥控器进行信号发送与接收;2. 培养学生运用红外传感器设计简单的智能控制系统,提高解决问题的能力;3. 培养学生团队协作能力,学会在小组合作中共同分析问题、解决问题。
情感态度价值观目标:1. 培养学生对红外遥控技术的兴趣,激发学习热情;2. 增强学生的创新意识,鼓励学生敢于尝试,勇于探索;3. 培养学生关注科技发展,认识到红外遥控技术在实际生活中的重要性。
课程性质:本课程为科学实验课程,结合理论知识与实践操作,注重培养学生的动手能力、创新意识和团队合作精神。
学生特点:六年级学生具备一定的科学知识基础,对新鲜事物充满好奇,动手能力强,喜欢探索未知领域。
教学要求:结合学生特点,采用启发式教学,引导学生主动参与实验过程,注重培养学生的实际操作能力和问题解决能力。
在教学过程中,关注学生的情感态度,激发学习兴趣,提高学习积极性。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 红外遥控基本原理:介绍红外遥控信号的发送与接收过程,红外遥控器的工作原理,以及红外传感器在智能控制系统中的应用。
教材章节:《科学》六年级下册第四章第三节“光的应用”。
2. 红外遥控器功能与应用:分析红外遥控器在日常生活用品中的应用,如电视、空调等,了解红外遥控器的功能及操作方法。
教材章节:《科学》六年级下册第四章第四节“生活中的光”。
3. 红外传感器工作原理:介绍红外传感器的工作原理,以及在智能控制系统中的应用实例。
教材章节:《科学》六年级下册第四章第五节“光传感器”。
4. 实践操作:设计红外遥控实验,让学生动手操作,体验红外遥控信号的发送与接收过程,运用红外传感器设计简单的智能控制系统。
河南大学物理与电子学院学习型红外遥控器的设计河南大学物理与电子学院电子开放实验室目录1 设计要求及原理 (1)2 方案论证与对比 (2)2.1 方案一简易红外遥控电路 (2)2.2 方案二利用STC68C52单片机控制电路 (2)2.3 方案对比与选择 (3)3 遥控器硬件与程序设计 (3)3.1 遥控器硬件结构组成 (3)3.2 系统硬件电路设计 (4)3.3 初始化程序 (4)3.4遥控器读入程序处理 (5)3.5 遥控码发送处理程序 (6)3.6主程序 (6)3.7 程序延时 (6)4 系统功能调试及整体指标分析 (6)4.1 程序调试 (6)4.2 整体指标分析 (7)5 详细仪器清单 (9)6总结、思考与致谢 (9)附录1:单键学习型红外遥控器原理图(proteus仿真): (10)附录2:单片机C源程序: (11)学习型红外遥控器设计1 设计要求及原理利用单片机作为控制核心,要求可以学习不同遥控器的某个按件功能。
使用时先用原遥控器对着学习器按一下某操作键,学习器就可实现原遥控器中该键的遥控功能。
具体要求如下:基本部分:(1)最大学习码长:206位。
(2) 学习码识别范围:起始位为15us~983ms,编码位为15us~3.825ms。
(3) 读码误差:±15us。
扩展部分:学习型红外遥控器在按下K键待绿色指示灯亮后,用遥控器对着红外接收头按下某个功能键,当绿灯灭说明学习完毕,再按发射键就可以进行遥控操作。
当红外遥控器的某个按键按下时,发射出一组串行二进制遥控编码脉冲。
该脉冲由引导码、系统码、功能码和反码组成,通过设置这些编码以及码长便可区分不同的红外遥控器。
红外接收器负责红外信号的接收和放大并解调出TTL电平信号送至微处理器进行处理,微处理器通过比较和识别接收来的红外遥控编码便可执行相应的遥控功能[1]。
本系统的设计思想是不考虑红外编码方式,仅利用单片机AT89C52对多个红外遥控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至扩展存储区的指定地址。
当要发射红外信号时,从扩展存储区中还原出相应的红外遥控编码,并调制到40KHz的载波信号上,最后,通过三极管放大电路驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备。
2 方案论证与对比2.1方案一 简易红外遥控电路在不需要多路控制的应用场合下,可以使用由常规电路组成的单通道红外遥控电路[1]。
这中遥控电路不需要使用较贵的专用便译码器,因此成本较低。
图 1方案一系统方框图考虑到本方案电路是简单的单通道控制器,可直接产生一个控制功能的震荡频率,再通过红外发光二极管发射出去。
当红外接收头接收到控制频率时,由一个电路对其进行产生相应的控制功能。
2.2方案二 利用STC89C52单片机控制电路用单片机制作一个红外遥控器,并可通过程序控制记忆按键功能,达到学习记忆功能。
图 2 方案二系统方框图当按下遥控器按钮时,单片机产生相应的控制脉冲,由红外发光二极管发射出去。
当红外就收器接收到控制脉冲时,经单片机处理由显示设备显示出当前受控电器的序号,并判断是否对某一功能进行的操作。
2.3方案对比与选择以上方案:方案一未采用单片机,功能过于单一,仅能对一路电器进行简单遥控;方案二不仅可以用控制按键实现对电器的控制,而且可记忆学习按键功能,达到复制的功能,方便使用,且成本设计用STC89C52也比较便宜实用。
显然本设计采用方案二作为设计蓝本。
3遥控器硬件与程序设计3.1遥控器硬件结构组成为了实现遥控码的记录还原功能,系统应具有红外线的接收解码、红外线的调制发射、操作按键和功能控制单元。
由于功能定位学习一个遥控按键的遥控的功能,因此决定采用STC89C52RC单片机作为控制器。
STC89C52RC单片机中具有256字节的内存单元,可存储遥控码脉宽的数据。
遥控码的脉宽数据可以用红外线接收解码后送单片机读入,发射时由单片机产生40kHz红外调制信号送红外线发管发射。
学习型红外遥控器由红外接收电路、单片机控制器、红外发送电路、E2PROM 存储器、操作键盘及LED遥控指示灯构成,如图2所示。
单片机STC89C52构成红外遥控的处理器,其数据存储器RAM(258B)用来存储学习过程中编码信号的脉冲宽度和编码。
(1)红外发射电路[5]:40 kHz方波直接由单片机模拟产生,经过三极管放大后,驱动红外发光二极管(注意:40 kHz载波不能用STC89C52定时器产生,因为40 kHz载波信号的周期只有26 μs,考虑到有载波时的占空比为1/3,即定时器的最小中断时间间隔只有8 μs,在执行中断时中断处理过程(如保护现场等)实际运行时间根据中断点的不同需要的时间也不同,有时会大于8 μs,这样不能保证40 kHz信号的稳定性),在软件处理过程中应用延时程序模仿40 kHz 的红外载波信号。
(2)红外接收头:在与单片机连接时,将接收来的红外遥控信号反相,其正向信号接外部中断0,反相信号接外部中断1。
通过记录2个中断间的间隔时间来测量红外遥控信号的高低电平的脉宽值。
(3)外接E PROM存储器:用于存放学习到的控制命令的编码和高低电平信号的脉宽值。
(4)按键盘:启动一个学习过程。
(5)LED指示灯:用于显示遥控器的工作状态。
3.2 系统硬件电路设计【附录1】为该学习型遥控器的原理图,其中:P1.0口接遥控码发射按键;P1.6口用作状态指示,绿灯亮代表学习状态,绿灯灭代表码已读入。
P1.7口用于指示控制键的操作,闪烁时代表遥控码正在发射之中,在学习状态,绿灯灭代表码已读入。
第9脚为单片机的复位脚,采用简单的RC上电复位电路,第12脚为中断输入口,用于工作方式的转换控制,当INTO脚为低电平时,系统进入学习状态。
第14脚用于红外线接收头的输出信号输入,第15脚作为遥控码的输出口,用于输出40KHz的遥控码。
第18、19脚接12MHZ晶振。
由于采用最小化应用系统,控制线PSEN(片外取指控制)、ALE(地址锁存控制)不用,EA(片外存储器选择)接高电平,使低8K的E2PROM地址(0000H-1FFFH)指向片内。
3.3初始化程序内容包括P0、P1、P3端口置位,P2口清零,清08H—6EH共103个工作寄存器,设置堆栈基址(70H),设置计数器计数模式、控制字,开外中断允许等等。
3.4遥控器读入程序处理完成遥控码起始位的识别、脉宽计数功能,完成遥控码编码位的宽度计数功能,完成结束位的认别功能(流程图见图3)。
本程序模块在编程设计中非常重要,通过大量的不同种类的遥控码波形实验测试分析,遥控码的帧间歇位宽度均在10 ms以上,起始位码宽度在100μs—20ms之间,编码位在100μs—5ms之间,为确保所有遥控器学习的成功,采用以下设计方法:寻找起始位方法:用16位DPTR计数器对高电平进行宽度计数,计数采样周期为21μs,当高电平结束时,如高8位计数器为非零,则说明高电平宽度超过5.35ms(255×21μs),紧接来的低电平码就是起始位,否则重新开始。
图 3 遥控码读入处理程序流程图图4 主程序流程图读起始位方法[3]:采用16位DPTR对低电平进行宽度计数(最大可读宽度为1.376s),当高电平跳变时结束计数,并将DPTR的高8位、低8分别存入R 4,R5寄存器。
读遥控编码的方法:采用DPTR低8位计数器对码(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将值存入规定的地址,在高电平码计数时,如DPTR高8位计数器为非零(宽度大于5.35ms),则判定为结束帧间隔位,在相应存储单元写入数据#OOH作为结束标志。
3.5遥控码发送处理程序利用计数器计数中断功能,实现40KHz载波的发送,利用接收时接收的低电平位时间控制载波的发送时间。
3.6主程序主程序在上电初始化后进行端口按键扫描,当确认有键按下时将编码发出去(见图3流程图)。
3.7程序延时主要用于读键时消抖。
时间约为1ms。
4 系统功能调试及整体指标分析4.1 程序调试调试学习状态和发射状态下计数器的循环间隙时间是C程序中较为重要的内容,在汇编语言下可以精确地算出循环时间,这样在C编程时能在E磁盘目录下产生1个REMOTE.ASM的汇编源程序[4],在汇编程序清单中可以精确地算出循环时间,这样才能保证读入时的脉宽与发射时的脉宽一样,另外,也可以通过示波器观察比对原遥控器解码波形及学习器产生的波形,结合调试循环延时的间隔达到精确还原脉宽的目的。
4.2 整体指标分析学习型遥控器的设计性能及实现与其软件设计编写具有密切的关系,在设计中采用内部定时器对信号高低电平计时的方法来采集数据并保存。
当系统识别到起始码的低电平时,系统启动内部定时器对输入低电平计时,当起始码的低电平结束时保存定时器此时的值,记录下起始码的低电平信号脉冲宽度值;然后依次保存采集到的编码信号脉冲宽度值,如果采集到编码信号位数大于设定值M(程序中设定值),就认为编码采集已经结束,即学习子程序结束。
在软件设计过程中,使用了2个外部中断和2个内部定时器,外部中断0启动定时器0停止定时器1计数并保存定时器1的数据,外部中断1启动定时器1停止定时器0计数并保存定时器0的数据,用定时器0记录红外解调信号的高电平时长。
用定时器1记录红外解调信号的低电平时长,本文采用12 MHz晶振,1个机器周期是1 μs,计数器采用16位计数器。
如果在外部中断0和外部中断1之间不发生内部定时器中断,可以记录的最大时间间隔为65.5 ms;如果在外部中断0和外部中断1之间发生内部定时器中断则可以记录的最大时间间隔是n ×65.5 ms,其中n为中断次数。
其值保存在设定的数据存储器中,然后写入到外部E2PROM存储器中。
发射过程再从外部的E2PROM存储器读出,通过用软件模仿40 kHz载波信号发送编码信息。
在设计过程中研究发现:尽管遥控器存在帧格式多样、码型多样、编码长短不同、发送方式不同等问题,但对于某一个独立的遥控器还是有规律可依的。
在系统设计方案时,选择通用性好的就能解决这个问题。
例如测得一款遥控器的1个命令码如下:低电平(有红外发送载波)信号码时长数据是:0x7368 0x0578 0x0577 0x0563 0x0555 0x0584 0x0564 0x0545 0x0572 0x0554……高电平(无红外发送载波)信号码时长数据是:0x0578 0x1377 0x0563 0x0555 0x1384 0x0564 0x0545 0x1382 0x0554 0x01345……尽管码型有帧头、系统码、操作码、同步码、帧间隔码、帧尾,但不论是低电平(有红外发送载波)信号码时长或是高电平(无红外发送载波)信号码时长其结构都相对简单。