1、红外解码单片机控制声卡采样触屏校验学士学位论文摘 要 随着家用电器种类的增加和无线遥控产品的普及,红外遥控器的使用频率越来越高,针对国内红外遥控学习技术成熟,但产品化程度低的特点,本文自主设计一种具有红外学习和触屏显示功能的红外遥控器,借此促进红外遥控学习技术在国内市场的产品化推广。 在红外解码方面,传统方法采用单片机中断或者查询方式采集红外信号,环境不理想情况下可能需要多占空比和红外二极管贯通电流影响,通过调试将38KHz 载波红外信号发射距离提高到10 米;在红外接收方面,进行了红外干扰测试;在触屏校验方面,通过实验获取触屏数据,利用matlab 参数估计lsqcurvefit 函数求得校
2、正参数,解决了触屏漂移问题;在彩屏显示方面,将遥控器所有按键简化为方向键和确认键,虚拟数码管显示按键位置,避免了单片机片上资源紧张的问题,此外,彩屏仅支持16 位R5G6B5 格式数据,一张176*220 图片占用72. 6KB 空间,造成极大浪费,本文借此讨论了适合本系统的图片压缩技术,给出了一种具体的图片压缩格式。关键词:红外学习;红外解码;单片机控制;声卡采样;触屏校验 AbstractIn the electronic world, the infrared remote control technology is widely used in our lives. Various a
3、ppliances on the market have the technology of infrared remote control system with maturity and low cost. However, to avoid different brands and between different types of equipment malfunction, people use different devices in different transport rules or identification number, which makes various t
4、ypes of remote control apply only to their remote objects and easy causes confusing results that the actual use of the remote control are many and complex. The design requirements is to achieve an intelligent learning IR remote control implementations.Keywords: Infrared remote controller;The 38KHZ c
5、arrier;Self-study;Infrared remote receiver;Infrared remote transmitter目 录1. 绪论11.1 选题的目的意义 21.2 红外学习研究现状 31.3 选题研究的内容 32 智能红外遥控学习方案设计42.1 总体方案介绍42.2 方案论证 52.21 学习方式 52.22 按键模块 52.23 显示模块 62.24 红外接收模块 62.25 微控制器选择 6 3 硬件电路设计 73.1 系统硬件基本组成73.2 主要模块电路设计73.2.1键盘和显示电路设计83.2.2 红外发射电路及其编码83.2.3红外接收电路 113.2
6、.4 存储电路 123.2.5 单片机控制电路 134 系统软件设计164.1 系统编程语言和编程工具 164.1.1编译软件Keil uVision2简介174.2软件设计 184.2.1学习功能 194.2.2数据压缩编码 255 智能红外遥控器的实现 315.1 系统硬件调试 325.1.1 元件的使用 325.1.2 整板测试 345.1.3 上电测试 345.2系统软件调试 365.2.1按键与显示模块调试 365.2.2接收模块调试 365.2.3发射模块调试 405.3调试小结 455.4 智能红外遥控器性能测试485.41 测试所使用仪器505.42 测试结果555.43 结果
7、分析58总结 60谢 辞 62参考文献 63附录1:主程序部分代码651 绪论1.1 选题的目的意义随着电子工程在产品设计中的应用日益广泛,对产品的人性化设计成为设计领域一个新的革命。遥控器主要由形成遥控信号的微处理器芯片、晶体振荡器、放大晶体管、红外发光二极管以及键盘矩阵组成。随着电子技术的飞速发展,新型大规模遥控集成电路的不断出现,使遥控技术有了日新月异的发展。遥控装置的中心控制部件已从早期的分立元件、集成电路逐步发展到现在的单片微型计算机,智能化程度大大提高。近年来,遥控技术在工业生产、家用电器、安全保卫以及人们的日常生活中使用越来越广泛。在当今社会科学技术的发展与日俱增,人们是生活水平
8、也是日益提高,为了减少人的工作量,所以是对各种家用电器、电子器件的非人工控制的要求也是越来越高,针对与这种情况,设计出一种集成度比较高的控制体系是必然的。单片机的集成度很高,它具有体积小、质量轻、价格便宜、耗电少等突出特点,尤其耗电少,又可使供电电源体积小、质量轻。所以特别适用与“电脑型产品”,它的应用已深入到工业、农业、国防、科研、教育以及日常生活用品(家电、玩具)等各种领域。单片机特别适合于把它做到产品的内部,取代部分劳师机械、电子零件或元器件。可使产品缩小体积,增强功能,实现不同程度的智能化。红外线是一种光线,具有普通光的性质,可以以光速直线传播,强度可调,可以通过光学透镜聚焦,可以被不
9、透明物体遮挡等等。特别制造的半导体发光二极管,可以发出特定波长(通常是近红外)的红外线,通过控制二极管的电流可以很方便地改变红外线的强度,达到调制的目的,因此,在现代电子工程应用中,红外线常常被用做近距离视线范围内的通讯载波,最典型的应用就是家电遥控器。使用红外线做信号载波的优点很多:成本低、传播范围和方向可以控制、不产生电磁辐射干扰,也不受干扰等等。因此被广泛地应用在各种技术领域中。带红外遥控器的家电给我们的生活带来极大的方便,但遥控器多了很容易弄混,如果有一种可对家中各种红外遥控器发射的控制信号进行识别、存储和再现的智能型红外遥控器,用这样一个遥控器控制家中所有电器该有多好。为此,我们试着
10、设计一种以单片机为核心的智能型遥控器。通过此设计可以提高我们对专业知识的运用能力,让我们把在大学三年中所学到的专业知识真正的运用到实践当中。在设计过程中使我们能够把专业知识系统的,有条理的连接起来。1.2 红外学习研究现状常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量的使用的红外发光二极管发出的红外线波长为940mm左右,外形与普通5发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色。判断红外发光二极管好
11、坏的办法与判断普通二极管一样;用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉锯法来粗略判判定。接收部分的红外接收管是一种光敏二极管。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外发光二极管一般有圆形和方形两种。由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。前些年常用pc1373H、CX20106A等红外接收专用放大集成电路。最近几年不论是业余制作还是正
12、式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。但在使用时注意成品红外接收头的载波频率。红外遥控常用的载波频率为38kHz这是由发射端所使用的455kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz1237.9kHz38kHz。也有一些遥控系统采用36 kHz、40 kHz、56 kH
13、z等,一般由发射端晶振的振荡频率来决定。红外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在加用电器、室内近距离(小于10米)遥控中得到了广泛的应用。多路控制的红外发射部分一般有许多按键,代表不同的控制功能。当发射端按下某一按键时,相应地接收端有不同地输出状态。接收端地输出状态大致可分为脉冲、电平、自馈、互锁、数据五种形式。“脉冲”输出
14、是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。“电平”输出是指发射端按下键时,接收端对应输出端输出“有效电平”消失。此处的“有效脉冲”和“有效电平”,可能是高、也可能是低,取决于相应输出脚的静态状况,如静态时为低,则“高”为有效;如静态时为高,则“低”为有效。大多数情况下“高”为有效。“自锁”输出是指发射端每按一次某一个键,接收端对应输出端改变一次状态,即原来为高电平变为低电平,原来低电平变为高电平。此种输出适合用作电源开关、静音控制等。有时亦称这种输出形式为“反相”。“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效。电视机的选台就属此种情况
15、,其他如调光、调速、音响的输入选择等。“数据”输出是指把一些发射键编上号码,利用接收端的几个输出形成一个二进制数,来代表不同的按键输入。一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便以后适时地来取数据。这种输出形式一般用于与单片机或微机接口。除以上输出形式外,还有“锁存”和“暂存”两种形式。所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。1.3 选题研究的内容该论题研究的内容主要是以下几个方面:(1),研究红外遥控信号波形;(2),设计红外遥控器信号接受系统;(3),信号转换系统设计
16、; (4),转换发送电路设计;2 红外遥控学习方案设计2.1 总体方案介绍红外遥控器的核心元器件是编码芯片,将需要实现的操作指令事先编码,设备接收后解码再控制有关部件执行相应的动作。编码是通过载波输出的,即所有的脉冲信号均调制在载波上,载波频率通常为38kHz。在发送端,载波利用电信号驱动红外发光二极管,将电信号变成光信号发射出去,发射的是红外光,波长范围在 840nm 到 960nm 之间。在接收端,通过光电二极管将红外光信号转换成电信号,经放大、整形、解调等步骤,最后还原成原来的脉冲编码信号,并根据遥控指令完成相应的动作。学习型红外遥控器通过记录各种不同类型的遥控器的编码波形,将其存储下来
17、并与某个按键关联,从而实现“学习”功能这样作不必关心编码的细节,通用性大大提高。根据课题要求初步制定了实现上述功能的基本思路。此系统主要分为6大模块:单片机控制模块、键盘模块、红外接收模块、红外发送模块、存储模块、显示模块。(其中的主要模块是单片机控制系统模块,主要的功能实现都是由单片机程序控制,键盘的扫描,液晶的显示,红外遥控信号的接收、学习以及发射都是由单片机的程序来控制。)系统原理框图如1.1所示:图1.1系统组成原理图自学习型遥控器的功能主要分为学习和发送两个部分。在学习的过程中,收电路接收到红外遥控信号以后, 经过放大并解调出TTL电平信号送至微处理器进行处理。经过微处理器处理以后存
18、储到外存储器里 。当要发射红外信号时,根据扫描键盘电路获取的键盘值,从与键值相对应的外存储器存储区中还原出相应的红外遥控编码 ,并调制到38KHz的载波信号上。最后通过放大电路驱动红外发光二极管发射红外信号。达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备的功能。2.2 方案论证2.21 学习方式从目前市场上主要出现的万能学习型遥控器看,主要分为两大阵营:(1)固定码式学习型遥控器。这类学习型遥控器采用了“不完全归纳法”,也就是说对市场上所使用的遥控器信号大量的收集总结,对收集的信号分类,然后“分而治之”对每种类别都预制一种解码程序和发射程序。这种方式的学习过程是:学习信号的采集
19、;判别信号的类别(属于那一种解码方案),编码,存储到。优点:这种学习型遥控器对硬件的要求相对简单,对主控制器(主控IC)的工作频率要求不太高,因为信号的发送频率,编码方式等等都是已知的,只要对采集的信号进行判别即可;另外对存储器的容量也比较低,因为它不存在压缩的问题,按照最原始的最简编码进行存储。缺点:只能对已知的遥器(或者说已经收集到的信号)有效,对于新开发,新型的编码格式就无能为力了。(2)波形拷贝式学习型遥控器。这类遥控器的设计思想是:把原遥控器所发出的信号进行完全拷贝,而不管遥控器是什么格式,进行适当的压缩后,存储在存储器内,当需要发射时,再由储存器内读出解压后还原原始信号。此方式的工
20、作过程分以下几步完成:对原始发射信号波形采集到主控MCU的中、分析信号,压缩信号,存储信号。发射信号波形的测量,这一步主要是将原始信号缓存储到中。分析信号,对采集到的信号进行分析,比如对信号发送的的高低电平的时间,等参数进行细致分析,便于下一步的压缩。压缩编码,根据常用高低电平的时间,特殊高低电平的时间,发送周期,对原始信号进行压缩编码。存储信号,把压缩编号后的数据存储到EEPROM中优点:可以使用任何遥控器的学习,无须更新代码程序即可使用目前所有乃至未来的所有红外线遥控的学缺点:对主控制芯片和存储器的选择都比固定式要高。整体成本上较贵于固定码式学习型遥控器由于遥控器发出的编码信号变化多样,市
21、场上成百上千的编码方式并存,并没有一个统一的国际标准,只有各芯片厂商事实上的标准,使得模拟并替换各种原厂遥控器成为难点。而且客户码、命令码也是由不同厂商自行规定的。导致采用第一种方案来设计有很大的局限性,因此第二种是较为可行的方案。即通过记录各种不同类型的遥控器的编码波形,将其存储下来并与某个按键关联,从而实现“学习”功能这样作不必关心编码的细节,通用性大大提高。因此2.22 按键模块方案1:采用独立式按键。独立式按键电路配置灵活,。软件结构简单,每个独立式按键单独占有一根I/O口线,每根I/口线上的按键工作状态不会影响其他I/O口线的工作状态。但是每个按键必须占用一个I/O口线,在按键较多时
22、,I/O口线浪费较大。故在按键数量不多时,采用这种按键电路。独立式按键与单片机接口图如2.1所示:图2.1 独立式键盘方案2:使用矩阵键盘管理专用芯片,比如HD7279。占用比较少的资源就能管理一个按键数比较多的键盘,集成了硬件消抖功能,提高了程序的执行效率。但是增加硬件成本和仪器的功耗。方案3:行列式键盘,用I/O口线组成行、列结构,按键设置在行、列线交点行,行、列线分别连接到按键开关的两端。在按键较多时,可以节省I/O口线。24加3个功能键的键盘与单片机接口图如2.2所示。图2.2 24加3个功能键的键盘设计中使用的单片机I/O口丰富,不用考虑I/O口紧张,而且通常家用电器有32个键盘,选
23、择方案3。2.23 显示模块方案1:采用数码管(LED)显示。数码管价钱较便宜,对环境因素要求较低,显示明亮,采用 BCD 编码显示数字,程序编译相对容易,资源占用少。但同时它的显示内容有限,只能显示简单的数字和字母。这种常用的液晶,耗能也高。方案2:采用液晶(LCD)显示。液晶显示屏(LCD)具有轻薄短小,耗电量低,无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强和显示形式灵活等优点。只是编程工作量较大,控制其占用资源较多,但在本系统中对控制器的资源使用中完全可以使用。综上所述,选择方案2。2.24 红外接收模块方案一:采用红外接收二极管加专用
24、的红外处理电路。接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度。红外接收二极管一般有圆形和方形两种。由于红外发光二极管的发射功率较小,红外接收二极管收到的信号较弱,所以接收端就要增加高增益放大电路。此种电路结构较复杂,现在一般不采用。方案二:采用一体化红外接收头。红外线一体化接收头是集红外接收、放大、滤波和比较器输出等的模块,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。所以,有了一体化接收头,人们不再制作接收放大电路,这样红外接收
25、电路不仅简单而且可靠性大大提高。综上所述,选择方案2。本系统所使用的红外接收头的型号是常用的HS0038,即其载波的频率是用38KHZ(37.9KHZ)。2.25 微控制器选择方案1:用常用的单片机。AT89C51等类似的单片机我们之前用过,很熟悉,用它作为主控单元,但此类单片机往往由于工作频率较低,它的内部存储器容量过小,难以满足本系统的设计需要。方案2:使用基于STC单片机,比如选择STC89C52RC型单片机是一种低功耗、高性能、采用CMOS工艺的8位微处理器,与工业标准型80C51单片机的指令系统和引脚完全兼容。片内8K Flash存储器可在线重新编程,或使用通用的非易失性存储器编程器
26、。由于一般的距离测量中,距离的变化速度并不太快,而且单片机的机器周期可达s级,则其计时精度为s级,完全可以满足系统测量的要求,并且成本较低。STC89C52RC单片机,基于STC89C51内核,是新一代增强型单片机,指令代码完全兼容传统STC89C51,速度快812倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强。综上所述,选择方案2。3 硬件电路设计3.1 系统硬件基本组成基于单片机的智能化遥控器的系统硬件结构主要有以下六部分组成: 单片机系统电路、红外接收电路、红外发送电路、存储电路、键盘电路、显示电路。3.2 主要模块电路设计3.2.1键盘和显示电路设计(1)键盘电
27、路设计24加3个功能键的键盘电路模块见图3.1所示。键盘的实现方法是给所有的列线I/O口线均置成低电平,然后将行线电平状态读入到单片机中,如果有键按下,就会有一根行线电平被拉至低电平,根据次原理就可以检测到是哪个键按下。图3.1 键盘电路(2)显示模块电路显示部分采用了1602型LCD显示模块。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD可以显示2行16个字符,有8位数据总线D0D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。1602型LCD的接口信号说明和主要技术参数分别如表3.1、3.2所示.表3.1 1602型L
28、CD的接口管脚信号编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极表3.2 1602型LCD的主要技术参数显示容量16X2个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.95X4.35(WXH)mm图3.2中的显示电路中的10针接口与单片机的P1口相连,6针的接口与单片机的P2口的高位相连。图3.2 显示电路3.2.2 红外发射电路及其编码