基于单片机的学习型遥控器设计_第1页
基于单片机的学习型遥控器设计_第2页
基于单片机的学习型遥控器设计_第3页
基于单片机的学习型遥控器设计_第4页
基于单片机的学习型遥控器设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的学习型遥控器设计红外遥控器是日常家庭生活中十分容易见到的遥控器。红外遥控器性能良好,不仅体积小,而且耗电量低,价格也十分便宜,很符合大众的需求。本文设计的红外遥控器是基于市场上万用遥控设计的学习型红外遥控装置。Smart home-智能家居的普及,各种各样的家电的遥控器大量涌现,所以从许多遥控器选择具体的遥控器是非常的浪费时间,所以学习红外线遥控出现了。它的特点是:遥控器里面有许多套编码,不再局限于仅仅一套编码,因此学习型红外遥控器可以成为很多家用电器的控制器,让人们的生活更加快捷更加的懒人化。学习型遥控器可以复制其他遥控器的编码,并且还可以储存这些遥控器的编码。当学习新遥控器复制那些遥控器的编码的时候,它会接收到那些遥控器的信号,然后复制这些信号,并且通过这些信号的编码来控制那些家用电器。使用学习型遥控器时不需要用户输入编码,因为学习型遥控器已经复制好了原遥控器的编码,并将编码存储到学习型遥控器的存储器中,当需要遥控器控制家电的时候,学习型遥控器就会通过这些编码将信号发送出来,实现原来遥控器的功能。本文主要采用 RAM256位速率的 ATC89 C51微控制器,使用红外发射,红外接收设备等简单易用的装置发送和接收信号,是基于各种远程编码复制,学习,然后播放原有的遥控功能。电路比较简单,但是系统安全可靠,抗干扰能力强,也可以作为人们家电的控制器。本文从多个方面将学习型红外遥控器拆分,将学习型遥控器分为键盘电路、红外发射电路、红外接收电路、存储电路等,以及将系统硬件完美接合的软件程序。键盘电路作为用户端,发送信号到红外发射电路,发射电路将信号发射出去,然后信号就会被传输到红外接收电路。但是在这之后要放大跟解调电路,为什么呢?因为红外二极管的功率基本都很小,所以发出的信号都比较微弱,所以需要放大跟解调。然后对电平信号进行微处理,处理然后将其存储到外部存储器中。关键词:AT89C51;学习遥控;红外遥控;编码方式AbstractInfrared remote control is a very easy to see remote control in daily family life. Infrared remote control device has good performance, not only small size, but also low power consumption, the price is also very cheap, very in line with the needs of the public. The infrared remote controller designed in this paper is a learning infrared remote control device based on the market tens of thousands of remote control design.The popularity of Smart home- smart home, a large number of remote control of household appliances, so the choice of specific remote from many remote control is a waste of time, so the study of infrared remote control. It is characterized by: there are many sets of coding in the remote controller, no longer limited to only a set of coding, Learning infrared remote controller can become the controller of many household appliances, and make peoples life more quick and more lazy.The learning remote controller can copy the coding of other remote controls, and can also store the coding of these remote controls. When learning the new remote control to copy the coding of those remote controls, it receives signals from the remote controls, then copies them and controls the appliances by coding them. The use of learning remote control does not require user input encoding, because learning remote controller has good copy the original remote control encoding, and the encoding is stored into a memory learning remote controller, when the remote control of home appliances, learning remote control will send the signal through the encoding, realization the original remote control function.This paper mainly uses the RAM256 bit rate ATC89 C51 micro controller, using infrared transmitting, sending and receiving signals of infrared receiving equipment is simple and easy to use the device, is a variety of remote encoding replication, based on learning, and then play the original remote control function. The circuit is relatively simple, but the system is safe and reliable, anti-interference ability, but also as a controller for peoples home appliances.The learning infrared remote control split from many aspects, the learning remote controller consists of a keyboard circuit, an infrared emission circuit, an infrared receiving circuit, memory circuit, and the system hardware and software program perfect bonding. The keyboard circuit as the user terminal sends a signal to the infrared transmitting circuit, the transmitting circuit transmits the signal out, sent to the infrared receiving circuit, The signal is then transmitted to the infrared receiving circuit. But after that, we need to amplify and demodulate the circuit. Why? Because the infrared diode power is very small, so the signal is relatively weak, so we need to enlarge and demodulate. The level signal is then processed, processed, and stored in an external memory.Key Words:AT89C51;Learning remote control; infrared remote control; coding mode目录摘要 IAbstract II引言 1第一章课题研究 21.1 课题研究的背景 21.2 课题的国内外发展动态 31.3 学习型遥控器的介绍 41.4 论文内容及各章节安排 5第二章学习型遥控器的工作原理 72.1 工作原理 72.2 本章小结 9第三章系统硬件电路设计 103.1 AT89C52单片机 103.2键盘电路的设计 113.3红外接收电路 123.4红外发射电路 123.5存储电路 133.6 硬件总原理图 143.7 本章小结 15第四章系统软件设计 164.1键盘扫描程序 164.2 红外解码程序 164.3 AT2402存储程序 174.3.1 I2C总线技术原理及其工作特点 174.3.2 AT2402存储程序 204.4 红外编码程序 224.4.1读取EEPROM数据到单片机RAM中 224.4.2红外编码发射程序 234.4.338KHz方波程序 244.5 学习与发射的切换程序 254.6 本章小结 26第五章结果分析 7第六章结论与展望 27参考文献 28致谢 46引言什么是学习型红外遥控器?普通的遥控器只能控制单一的家用电器,而学习型红外遥控器因此遥控器内不止一套编码,而是许多套编码,因此可以对多种家用电器进行控制。因此学习型遥控器还可以对其他遥控器进行学习,复制其他遥控器里面的编码,然后可以发挥该遥控器的功用。要形成一个红外遥控系统,它应该有信号发射器,信号接收器以及相应的处理器和外围电路。 例如信号发射器,指令键位、产生信号的电路、调制解调电路、红外二极管加上驱动电路构成了信号发射器。在按下指令键的时候,指令的信号发生电路就会发射特定的控制指令信号,然后调制电路调制控制信号,经由驱动电路让红外发射器工作,发射出红外遥控信号。对于信号接收器来说,红外接收器、放置在前面的发达电路、调制解调电路、负责检测出信号的电路、执行信号的电路、存储电路、加上驱动电路构成信号接收器。当红外发射器发出的红外信号发射到红外接收器、并且红外接收器接收到了的时候,红外接收器会将光信号转变为电信号,因为这时候的信号一般很微弱,所以要经由前置的放大电路放大,然后被解调器解调,再经由信号检出电路检出,然后经过存储之后,传送到驱动电路,驱动电路驱动执行新号的电路,完成信号的执行。另外,无线遥控器可以分为无线电波型,声控型,超声波型和红外型四种。由于无线电干扰其他电视产品和无线电通信设备很容易,并且无线电本身的抗干扰性差,容易误操作,不能大量使用。超声波波段小,易受噪声干扰,系统抗干扰能力差,声音识别难度低,未被广泛应用。红外遥控模式使用红外线作为载波来传输控制信息。随着科学技术的高速发展,单片机的出现加快了红外遥控数字编码方式的快速发展。现在,无线遥控方式基本上都是使用红外遥控器。计算机跟网络的发展,从多个方面改变了人们的生活方式,智能家居就是其中最典型的例子,既然谈到家居,那么就不得不说对于家居中不可或缺的家用电器了, 而对家用电器最有影响用户体验的,那么就一定是遥控器了。所以,一个良好的遥控器会十分影响用户的体验。遥控器中,用到的系统中最稳定也最满足大众需求的就是红外遥控系统,其抗干扰能力强、系统稳定、节约电源、价格便宜的诸多优点使人们对它十分青睐,因此它在很多领域都有应用,比如电视机、空调、录影机等。学习型红外遥控器一般以单片机为核心,通过红外发射二极管发射信号,然后经过红外接收器接收信号,保存在存储器中,然后将信号经过处理,通过执行信号的电路实现遥控器的功能。第一章课题研究1.1 课题研究的背景二十世纪八十年代以后,日本电视产品的飞速发展,红外遥控技术在这方面得到了广泛的应用,为了实现远程代码发布,他们采用了集成发射芯片,这种芯片的特点是:单控制(内置预设遥控器编码只有一种)。当智能家居如初升骄阳升起的时候,家电行业里的竞争也进行的如火如荼。而遥控器作为家用电器的重要组成部分,它的竞争的激烈性也是十分的。红外遥控器是用户在几米甚至几十米外可以控制各种电器的操作装置,大量应用于家用电器,但是有些家用电器还是不用遥控器的,在随着家电增多遥控器也越来越多的时候,人们经常在使用时感到麻烦。另外,如果遥控器不小心遗失,那么找到匹配的遥控器很麻烦。智能遥控器具有学习功能,以低成本为核心,可解码远程存储编码,并且仿真发射,并且智能遥控器可以控制多个设备而不是一个设备。现在流行的学习型遥控器只能在一定范围内控制一些家用电器,而无法做到控制所有的家用电器。本文使用普通MCU测量遥控信号的波形,然后重播测量数据。只用到高电平、低电平的传输信号波形,无论如何编码,都可以使其真正“通用”,成本更低。学习型红外遥控器也应用于很多其他的领域:1、工业行车:工业行车是目前最广泛使用红外遥控的现场遥控系统之一,例如在德国,约占遥控系统年产量的40左右; 特别是炼金、汽车制造业、造纸厂、仓库物料等新兴业务几乎都在使用工业无线遥控器2、汽车吊、随车吊:一般来说,大型的起重设备的控制系统都有能把数据返回来的功能,数据返回来之后,用户可以在显示屏上查看数据(如负载、吊杆长度、负载转矩、温度、压力、角度),工作人员可以根据数据来监控起重机的状况;3、混凝土泵车:因为控制台离作业面的距离很高,有的几十米还有的上百米,这里传统的操作方式需要与人数齐备,因为效率低,混凝土泵的性能极限受到了局限;泵长距离大,排量大,矛盾更加突出;工业无线遥控器可以将整机性能极大的发挥出来,泵车司机只需要在工作场所,每个动作都可以在泵操作的遥控系统里面进行,如左右旋转布杆,多级杆提升变幅。操作人员可以将发射系统从泵车控制台上拿下,直接靠近软管喷嘴,控制分配杆的动作和混凝土泵的运行;4、矿山机械:在某些矿井中,能见度很低,所以必须要有反馈装置的遥控器,这样即使在很难看清的矿井下也能控制机械,还有某些环境恶劣的地区,也可轻松控制重型钻凿钻机的钻孔。操作人员可以选择最近的钻孔位置,而不必留在钻探位置10米远的钻机的操作平台上。无线电控制系统采用IP65保护标准,完全适用于潮湿和盐水环境。大大提高操作安全性,舒适性和准确性,节省投资,提高效率;5、专用机械:其中的钢厂渣装载机,也是用无线遥控系统改造的,仍然依靠手动操作,但是其他的功能,比如机械功率性能和运行模拟功能,全部原装履带式装载机,实现无人操作,以完成清渣的作业。操作员使用轻型变送器可自由选择最佳的视觉位置,远程装载机在除渣操作中平稳运行。遥控装载机的成功应用让工作人员的环境变好了,不会再因为无法看清工作环境,导致高温渣形成,从而是工作人员置于危险中,使操作人员摆脱恶劣环境,提高工作效率,改善冶金渣的工作环境,降低工人的劳动强度;6、建筑塔吊:在欧洲和北美,超过60的建筑物使用无线遥控旋转起重机,不仅在设备制造成本节约(无空气站),安全性得到大大的保证,工人的工作效率也越来愈高。7、其它方面:工业无线遥控技术的快速发展,在分流机车、装载机、液压机械和港口船舶机械等设备中,广泛的应用工业无线遥控,市场前景非常良好。1.2 课题的国内外发展动态通信和遥控最广泛使用的手段是红外遥控。在彩色电视机和录像机之后,红外遥控器也被用于其他小型电气设备,如录音机、音响设备、空调和玩具。 现在,工业设备也得到了广泛的应用。目前,中国大部分学习遥控器都采用复制编码和波形的方式工作的。但是,由于使用专用的遥控芯片,所以整合性高,成本也很高。现在国内外有几个产品比较好:1、出产于上海慧居智能电子的HJ-JYWC,这种遥控器的主要特点是:触摸屏键组合输入;具有红外学习功能;可以识别载波频率,可以精准识别出各种各样的复杂的红外代码。2、出产于BREMAX公司的NRC-304网络多功能遥控器,这种遥控器的主要特点为:有可以与机器相连情况下自护学习、脱离主机的自主学习两种模式;具有USB接口,当进入到该公司的网站时,可以下载这种家电的遥控器编码,有很强的兼容性。3、Sunwave公司的SRC1600,这种遥控器的主要特点为:具有巨大集合设定功能,单一按键巨大集合设定可记忆60多个指令;可以进行红外学习,并且有USB接口,可预先设置遥控编码和升级遥控器的系统。4、罗技Harmony 1100,这种遥控器主要特点为:铝合金外壳是黑色的,触摸屏的大小是3.5英寸;人们可以依据具体个人的情况增加或者删除屏幕上的功能键;装置可以通过USB进行连机,获取罗技公司的在线数据库配置文件。1.3 学习型遥控器的介绍学习型遥控器和复印式遥控器是两种无线工业控制产品。学习型遥控器,实际上其就是对芯片内部的存储器进行了扩展,其可以复制其他的遥控器的编码,然后将编码储存在内部的存储器中。学习型遥控器不需要自己进行编码,只需要将所要用到的遥控器的编码复制到学习型遥控器的内部存储器中。所需要用到的遥控器的功能就可以被学习型遥控器完全发挥出来。表1.1 学习型红外遥控的分类分类优点缺点使用频段编码格式适用场合固定码格式学习硬件要求简单,存储量小对其他不用编码的遥控器无效低简单单一遥控器波形拷贝方式学习对不用种类的遥控器都可以学习对RAM的要求有点大高复杂多种遥控器如表1.1所示,学习型遥控器有两种类型:第一种:编码是固定的学习型遥控器,这种遥控器会对其他的遥控器编码进行复制,然后分类,因为编码必须要有发射跟编码解码的程序。这种遥控器的优点是系统硬件不用很好,所以相对便宜,并且对主机的工作频率的要求比较小,因为已经知道发送信号的频率、编码方式等,所以只需要判定采集到的信号就可以了。还有这种遥控器对存储器的大小要求也较低,不需要压缩,将最简单的编码存储。缺点就是只能对已经收到的信号有效果,无法识别新型的编码格式。第二种:拷贝波形的学习型遥控器,这种遥控器会完全copy原来遥控器的信号,然后进行一定的压缩,会存储到存储器中。需要时,再从存储器内读取然后解压还原原始信号。这种遥控器的优点是可以学习任何遥控器,不需要更新程序,可以拷贝现在将来的所有遥控器的编码。缺点是它对主控制芯片和存储器的大小的要求都比较高,成本十分的高。红外遥控系统分两部分:发射和接收:红外发射二极管为发射的中心。实际上它就是一个特殊的二极管。它的材料跟不同的不一样,当它工作时,它发出的红外光是不可见的。红外发光二极管形状跟普通的5二极管基本相同,但是红外发光二极管有蓝色、黑色、透明三种颜色。如果想要找出红外发光二极管,只需要用用万用表测量一下红外发光二极管的正反电阻就可以了-正向电阻很小,反向电阻特别大。光敏二极管是红外接收部分的主要部分。它一般有两种:正方形跟圆形两种。因为二极管的特性,它必须要反向才能正常的工作,只有这样灵敏度才会比较高。因为发光二极管的功率都很小,所以信号都很弱,所以要经由前置的放大电路放大,近年来大部分的红外接收头已经完成了应用。1.4论文内容及各章节安排学习型红外遥控器相对于传统遥控器是一种因人们需求而产生的变革,它更加的方便,也更加使用。本文从多个方面详细写了学习型遥控器的工作原理、系统的硬件电路、系统的软件的设计,这些部分组成了学习型遥控器。本论文的章节安排如下:(1)第二章阐述了学习型遥控器的工作原理(2)第三章具体的写出了学习型遥控器的硬件电路的设计,分为:键盘电路、红外发射电路、红外接收电路以及存储电路等(3)第四章则是详细的写了学习型遥控器的系统软件的设计,也就是系统的程序(4)第五章进行了论文的总结并进行了展望第二章学习型红外遥控器的工作原理2.1 工作原理在学习型遥控器的学习过程中,遥控器复制人们所需要遥控器的红外信号。当遥控器接收到红外信号的时候,红外遥控器会放大和解调电路,来处理红外信号。最后,处理TTL电平信号需要进行微处理,处理后存储在外部存储器中。当要传输红外信控制信号时,根据键盘中按下的按键的值,将键盘按键的值存储到存储器中,然后将频率调到38KHz。因为遥控器的频率一般是38KHz,455KHz晶体振荡器作为发射机芯片使用。38到40KHz载波调制成红外信号,调制后的信号的宽度大约为1us。但是必须先解调载波信号,然后记录编码信号的宽度,否则会有很大的误差。当载波为38 KHZ时,波形解码由红外接收器进行,38KHz的载波解码比接收器的解码要高,如图2.1所示图2.1 红外遥控器的调制解调信号在编码中,二进制“0”由脉冲宽度为0.565 ms,间隔为0.56 ms,组合表示为1.125 ms周期,二进制“1”脉冲宽度为0.565 ms,间隔为1.685 ms和周期2.25 ms,其波形可以看图2.2:图2.2 “0”“1”编码方式一般来说红外发射器的编码脉冲有好几种,比如说:起始码、系统码、功能码还有其反码,这几个编码的频率都是37KHz。在功能反码之后基本上是一段23ms的高电平。如图2.3所示:图2.3 NEC遥控器的码型为了让耗电能力降低,提高信号发射的效率,42位二进制码由0、1组成,38KHz的载波调制。红外发射二极管会产生辐射到这片区域里。为了设计不一样的学习型红外遥控器,必须将信号的长度和编码进行区分,然后由微处理器处理TTL信号(解调过的信号)和红外信号(经过放大和接收的信号),所以要想执行不同的功能,那么红外接收器接收信号的识别、微处理器和NEC编码就要不一样。2.2 本章小结:这一章具体介绍了学习型遥控器具体的工作原理,通过遥控器的编码方式,频率等等方法,具体的阐述了学习型遥控器是如何工作的,可以让我们清楚地了解到遥控器的原理。其次本章介绍了学习型遥控器的两大功能,分别是学习还有发送,并且绘制了红外遥控器的调制解调信号,从编码以及耗电等等不同的角度解释了学习型遥控器到底是什么,让本文条理更加清晰。第三章系统的硬件电路设计矩阵键盘、红外发射器、红外接收器、存储器以及学习发射之间的切换电路等组成了系统的基本硬件,这些均围绕着AT89C51单片机,总体框图如图3.1所示:图3.1 设计总体框图3.1 AT89C51单片机单片机是一种集成电路芯片,是中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O口、中断系统和定时器/计数器等具备处理数据能力的器件通过超大规模集成电路技术集成到一小块芯片上的微型计算机系统。而AT89C51单片机又被简称51单片机,是单片机的始祖之一。1971年,单片机被生产出来,经过了许许多多代的改革,然后英特尔生产出了8051单片机,单片机得到了飞速的发展,慢慢的由开始的4位或者8位发展到了现在的32位。现在嵌入式系统的开发与应用更是极大的改革了单片机,也让它开始进入windows和linux系统。单片机有许多分类,比如通用型、总线型、控制型等等。从单片机使用的范围可以得出单片机的通用型,通用型中的51单片机是比较好的,51单片机有许许多多的用途,可以用在许多领域,所以51单片机通用型。从单片机的总线类型可以得出总线型单片机,这种类型一般都设置了地址总线、数据总线、控制总线等,其他与其相连的器件通过引脚来与单片机连接。除此之外,有些单片机把需要相接的器件和接口集中在一片里,这样的被称为非总线型单片机。按照单片机的应用的领域区分出单片机的控制型,比如说用于家电的专用型,或者工业生产的工控型等等。3.2键盘电路的设计在这里本文将键盘做成4*4的矩阵键盘,将其接在单片机的P2口。(1) 矩阵键盘就是将键盘上的按键按照矩阵的形式进行排列,这样可以减少I/O口的占用,如图3.2示:图3.2 按键电路图不直接将键盘的垂直和水平线和交叉路口的每条线连接,而是通过按钮连接到原来的开路。所以,P1端口可以形成16(=4*4)个按钮,比如说,如果添加另一行,那么就可以使用20个键形成键盘,只能使用一个按钮(9个键)直接与端口线一起使用。比端口直接连接键盘的方法多一倍,线条越多,差距越明显,所以最好将键盘做成矩阵的形式,这样是最合理的。2) 想要查看键盘上是否有按键按下的方法是:本文通过被称为行扫描法的方法来检测键盘是否有键按下,行扫描法是现在查看按键是否按下的最流行的方法之一。首先,本文查探键盘中是否按键按下, Y0- Y3线路设置状态为低电平,第二步是检测线路,根据只要有一个列的电平状态为低电平,那么显示矩阵键盘键中有键被按下,并且,按下的那个按键是电平是低电平的线与四个行线交叉的的四个键位,假如所有的竖着的线的电平都是高电平,那么这个矩阵键盘就是没有按键;最后一步就是确定关闭位置,按下按钮进行确认,可以确定具体的按钮关闭步骤,该方法包括以下步骤:使行线一个接一个变为低电平,意思是说在一条行线上为低电平,那么其他的列线必须是高电平的,确认一条行线后,如果是低电平,那么就一个接一个的测试每一列线,看它是高电平还是低电平。如果竖着的线的电平是高电平,那么竖线跟电平是低电平的横线交叉的键没有按下,反之就是按下了。3.3红外接收电路红外接收芯片是红外接收电路的主要部分,本论文中选用的是TSOP1238,TSOP1238又叫做一体化红外接收头,它的作用是接入到单片机中,但是TSOP1238有反向作用,所以要想输入变低电平,必须是在没红外信号的高电平情况下,是查探到有红外信号。然后将编码存到单片机的内存中。如图3.3所示:图3.3 红外接收电路3.4红外发射电路在红外发射电路中,三极管控制红外发射二极管,如图3.4所示:图3.4 红外发射电路当红外遥控器进行红外发射的时候,因为要识别相对应的按键的信号,所以必须要通过51单片机来检查矩阵键盘,找出被按下的键位,然后从内存中中找出该按键的键位值,通过接口输出该键位值,因为红外发射二极管必须由三极管驱动,所以红外发射二极管被9013驱动后发射红外信号,然后信号就这样的发射出来了。3.5存储电路AT24C04芯片,它支持I2C总线编程。在遥控器学习过程中,首先扫描键盘电路,将暂存在单片机RAM中的数据送入到EEPROM的相应地址单元进行存储通过按键按下的不同信号;与之一样的是,在发射时,以不一样的键位值为中心,把单元地址数据取出来,然后进行控制。图3.5是它的电路:图3.5 存储电路3.6 硬件总原理图3.7 本章小结第三章写的是组成学习型遥控器的硬件电路的设计,分为键盘电路、红外发射、接收电路,以及存储电路等多个电路的设计。从硬件方面将遥控器拆分,使其更加直观的被感受到。在这之前,本章介绍了什么是51单片机,从单片机的历史到现在单片机的状况还有分类具体而又清晰的解释了51单片机。本章画出了键盘电路、红外发射电路、红外接收电路等的程序框图和电路图,并且在后面总结并画出了总的电路图。第四章系统软件设计软件设计从第三章的硬件电路推出,本章主要讲述本设计系统的软件的设计。与第三章相对应的是,键盘程序、红外发射器程序、红外接收器程序、存储器的程序还有学习跟发射之间的切换程序组成遥控器的系统软件。4.1 键盘扫描程序键盘指令要传达出去,就需要扫描键盘的程序,程序根据第三章的电路图得出,下面是键盘扫描程序的程序框图:程序初始化P1=0F0HP1=0F0H?依次给列线置0判断哪个键按下YN 图4.1 键盘扫描程序流程框图4.2 红外解码程序红外信号发射到红外接收器中,红外遥控器会放大和解调红外信号,但是这个信号的电平状态是不确定的,有可能是高电平,也可能是低电平,所以需要对信号进行解码。解码的程序流程框图如图4.2所示。9.12+4.74ms延时等待高电平之后延时0.88ms将此时P3.2上数据赋给C,并移位至A进行保存继续对后面的数据码及其反码进行解码将解码后的数据存入3435H中26位系统引导码传完?将此26位系统识别码存入3033H中NY图4.2 解码程序流程框图4.3 AT2402存储程序学习型红外遥控器复制其他遥控器的编码,将其存储到存储器中,这就需要相应的存储程序。在这器件会用到一种总线技术,叫做 I2 C总线技术,这个技术能让存储以及读取数据变得十分简单,可以使遥控器的效率有极大的提高。4.3.1 I2C总线技术以及相关特点。(1) I2C总线特点I2C总线有很多优点,其中简单、有效是I2C总线最主要的特点。I2C总线占地空间很少,因为它只需要两根线(数据线和时钟线),I2C总线简单化了硬件需要的线的数量,让系统变得更加稳定。可以多主控制(multimastering)是I2C总线的另一个优点,假如不止一个主机要传输数据,I2C总线会通过检测冲突以及仲裁防止数据出现损毁,但是在同一时间,只允许有一个主机。(2) I2C总线的基本工作原理I2C总线又叫做串行总线,它由数据线跟时钟线组成,可以用来传输信息。如果把主机必做一个国家,那么I2C总线就是国家里面的运输工具,它们可以传送信息,如果要传输很多数据,那么就要就要有更多的线路,来完成通信。在传送信号的过程中,主机还有信号发射器是 I2 C总线与每个模块电路连接组成,具体上是由它的功能决定的。来自CPU的控制信号分为两部分:寻址、定位,通过地址码和控制码判断控制类型,以此将控制信号传到,让其控制控制电路。当总线空余时,信号发射器驱动总线,将信号发出来。与总线相连的器件在接受到跟自己相符的信号后,就会执行相应的命令。一般来说,I2C总线分为三种:地址总线、控制总线和数据总线。有时候在一些遥控器中,总线中的地址总线还有数据总线用的是一条线,所以有些时候信号是合在一起的,有些时候是分开的,51单片机的地址总线跟数据总线就是共用的。(3) 总线的操作 I2C总线有两个方向的功能,一是主方向,二是从方向。通过红外接收器接收发出的信号,然后将信号通过信号发射器发送到总线上。在双状态下工作的有主器件和从器件。I2C总线必须由主器件控制,当数据线是高电平的时候,开始或者停止由时钟线电平状态来影响,如图4.3所示图4.3 串行总线上的数据传送顺序3.1) 控制字节控制字节必须处于初始状态,高4位作为事物的标识符(不同类型的芯片具有不同的含义,但是一般来说存储单元应该是1010),那么低3位为片选。如图4.4所示。图4.4 控制字节配置3.2) 写操作页写跟字节写是写操作的两种类型。对于页写,它的不一样来自于芯片字节加载的不同。关于数据传送的时序、字节写的地址和应答传送的时序如图4.5所示。图4.5 字节写3.3) 读操作顺序、随机以及当前地址读取就是读取操作有三个操作。本文中读操作在第九个时钟周期内不是“不在乎”,为了结束读操作,必须通过主机将 SDA保持在高电平状态,持续第9个时钟周期,然后停止动作。图4.6是当前地址读取的时序图。图4.6 当前地址读4.3.2 AT24CO2存储程序通过第三章的存储电路,本文有相应的程序流程框图,详细可见图4.7:根据键值进行数据传送,并存入相应单元程序初始化键盘扫描程序起始条件满足?YN图4.7 存储程序流程图下面是数据传送单字节的程序:/发送单字节子程序BITS:MOV R0,#08HLOOP: CLR SCLRLC AMOV SDA,CNOPSETB SCLCALL DELAYI2CDJNZ R0,LOOP ;循环8次送8个bitCLR SCL;CALL DELAYI2CSETB SCLREP: MOV C,SDAJC REP ;判应答到否,未到则等待CLR SCLRET4.4 红外编码程序因为在编码前要进行扫描按键,所以要删除EEPROM中已经存储的数据,并将其发送到微控制器 RAM,然后根据 RAM数据以低电平“0”,“1”编码,将脉冲信号减弱在解码之前,并且使用定时器 T0方波生成38 KHZ,然后放到输出编码的口上,发出信号。4.4.1 读取EEPROM数据到单片机RAM中在编码前,先要在单片机片内RAM中将学习型遥控器复制的编码存入,程序流程框图见图4.8所示调用发射子程序将其中的数据传送到单片机的4045H单元根据键值从EEPROM取出地址及其里面的数据调用键盘扫描程序图4.8 读取EEPROM程序流程图由此,写出读EEPROM的程序如下:/读串行E2PROM子程序I2CREAD:I2CREAD: MOV R1,RAMADDRESSSETB SCLSETB SDACLR SDA ;发开始信号MOV A,#MACHINEAD ;送器件地址CALL BITS ;调发送单字节子程序MOV A,I2CADDRESS ;送片内字节地址CALL BITSSETB SCLSETB SDACLR SDA ;再发开始信号MOV A, #MACHINEADSETB ACC.0 ;发读命令CALL BITSCALL BITRMOV R1,ACLR SDACALL DELAYI2CSETB SCLCALL DELAYI2CSETB SDA ;送停止信号RET/接受单字节子程序:BITR: MOV R0,#08HLOOP2: SETB SCLCALL DELAYI2CMOV C,SDARLC ACLR SCLCALL DELAYI2CDJNZ R0,LOOP2SETOK: CALL DELAYI2CSETB SCLCALL DELAYI2CCLR SCLCALL DELAYI2CSETB SDA ;应答毕,SDA置1RET4.4.2 红外编码发射程序当EEPROM数据传输到微控制器中的RAM时,可以通过RAM中的内容恢复红外信号脉冲,程序流程框图见图4.9进入发射状态调用键盘扫描程序,根据键值从EEPROM相应单元取出数据将4043H中字节的前26位依次传送到C先后发送9.12ms的低电平和4.5ms的高电平C=1?调用“1”码发射波形调用“0”码发射波形发射完毕,回到主程序26位传送完?调用“0”码发射波形调用“1”码发射波形C=1?YN将44和45H中的数据依次传送到C中YNNY图4.9 红外发射程序框图4.4.3 38KHZ方波程序本设计中,为了提高效率,采用38KHz的方波,下面是方波的程序38KHZ:ORG 0000HLJMP STARTORG 000BHLJMP T0INTORG 0040HSTART:MOV SP,#60HMOV TMOD,#00HMOV TH0,#0F7HMOV TL0,#19HSETB TR0SETB EASETB ET0SJMP $TOINT:MOV TH0,#0F7HMOV TL0,#19HCPL P2.5RETI4.5 学习与发射的切换程序要想使学习型遥控器更加的智能,那么本文就在学习电路跟发射电路加入了切换电路,程序流程框图见图4.10:对应程序如下:LOOP1:JB P2.7,SENDLCALL D088MSJB P2.7,SENDLJMP STUDYSEND:JB P2.6,LOOP1LCALL D088MSJB P2.6,LOOP1LJMP MAINSENDP2.7按下?程序初始化进入学习子程序P2.6按下?进入发射子程序,发射完毕。NYNY学习完毕?图4.10 发射与学习之间的切换程序框图4.6 系统的总程序框图下面是系统总程序图4.11:图4.11系统总程序框图4.6本章小结第四章阐述的是系统软件的设计,也就是系统的发射、接收、存储,红外编码、解码等的程序,通过其来实现软件与硬件的接合,是遥控器完美的工作。另外还阐述的了总线的定义。同时具体阐述了各个部分的程序框图还有各个部分需要用到的程序,因为从编码发射出去然后在接收之后,需要解码,所以又在本章中加入了红外解码程序,是遥控器更加的完美。第五章结果分析首先,本设计中,通过使用单片机作为芯片,以矩阵键盘、红外发射电路、红外接收电路、存贮电路等电路系统作为外围,实现了学习型遥控器的基本硬件电路。在这硬件电路中,以矩阵键盘作为用户端,通过矩阵键盘按键按下的信号,传输到信号发射电路,然后经由信号发射电路将信号发射出去,因为信号很微弱,所以要把信号经过调制解调,再发射到信号接收电路,信号接收电路接收到信号时,会发送到存储电路,这时信号会存储到电路中,然后存储电路会将信号发射到驱动电路,驱动电路驱动执行信号的电路对信号进行执行第六章结论与展望从学习型红外遥控器的出现与发展,可以发现,求越多,那么随之相应的供给也越来越先进。本文中设计的学习型遥控器,就是基于人们对方便生活的追求而诞生出来的。它不再局限于传统遥控器的单一,能够控制多种多样的家用电器,这样人们就可以从选择遥控器的麻烦中解脱出来,让我们的生活变得更加懒人化。由于本设计中的硬件部分基本都是做好的,所以通过软件处理信号十分完美,本设计设计的遥控器可以对任何其他的遥控器进行编码复制,所以本设计的遥控器能对很多家用电器进行控制,能够让用户十分方便的控制家电。但是由于本人的技术不是很到位,所以做出来的遥控器还有很多瑕疵,所以接下来会更加努力的学习,从而对遥控器做出更好的改进。本设计的遥控器虽然可以学习其他所有的遥控器,但是由于技术不到位,一次只能学习一个遥控器,并且复制这一个遥控器的编码后,上一个遥控器的编码就无法实行,所以编码共存

温馨提示

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

评论

0/150

提交评论