1、 摘 要红外遥控是20世纪70年代才开始发展起来的一种远程控制技术,其原理是利用红外线来传递控制信号,实现对控制对象的远距离控制,具体来讲,就是有发射器发出红外线指令信号,有接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远程控制。 本设计采用单片机AT89C51为红外遥控发射接收芯片,HS0038作为红外一体化接收管,在此基础上设计了一个简易的红外遥控系统。该系统包括发射和接收部分,当红外接收器接受到红外遥控信号后,将光信号转变成电信号,经放大,调解,滤波后,将信号送入单片机中进行信号识别解码,然后进行数码显示。另外本系统有16个按键,可用于扩展控制其他电路。本设计在prote
2、us上完成仿真。本设计方案以软件为主,基于市场的需求,结合红外遥控设计简单、作方便、成本低廉等特点。关键词:编码;解码;单片机;红外遥控ABSTRACTWith the kind of household appliances increased and the use of remote controller being more and more universal. Many people start to choose IR (Infra-red) remote-operated controller. But the market of IR (Infrared) learning
3、remote controller is not as well as the technology in our country. In paper a design of IR learning remote-operated controller with touch screen is to be discussed to improve the production of IR learning technology.The traditional method for IR coding is collecting the IR signal through Interrupt m
4、ode or Query mode by single-chip microcomputer. In some condition this method needs repeat for many times. In paper, PC (Personal Computer) is used to record the whole wave and optimize the wave through software, which makes it easy to finish the decoding for one time; By experiment, the infrared em
5、ission distance is turned to be affected by the duty ratio of carrier wave and the current of IR emitting diode. After debugging, the infrared emission distance is increased to 10 meters. The device is also tested by interfering signal. With the data of experiment and the functionlsqcurvefit of matl
6、ab, the wandering of touch screen is settled by the corrected parameters. In color display, every key is simplified by combination of Arrow keys、Enter key and virtual digital tubes, which successfully solve the problem of wasting the resources of single-chip microcomputer. Moreover, in system only B
7、MP (R5G6B5) is supported, and the image size is 176*220(72. 6KB), which is too large to AT89C51. So in paper, a new image compressed format is discussed and the definite format is given.From simple to complex, remote control receiver decoding device、remote control launcher coding device and universa
8、l IR learning remote controller are made . then, as a typical example as SAA3010 remote controller, the controller is vested functions as follows: IR coding and decoding, launch and receive, keyboard and touch screen, and color display. The final version of design can replace SAA3010 remote controll
9、er in function.Key words: IR learning;IR decoding;MCU control;sound card sampling;TP calibrationIIIxxx目 录第1章 绪论.21.1 选题的目的意义. 21.2 红外遥控简介.31.3 红外遥控研究现状和成果. 4第2章 红外遥控方案设计.62.1 系统设计概况.62.2 红外编码方案.72.2.1 红外遥控发射电路框图82.2.2 红外遥控接受电路框图.9第3章 红外遥控系统的硬件结构设计.103.1 AT89C51系列单片机功能特点.103.1.1 HS0038介绍.153.2 红外发射电路
10、.173.3 红外接收电路.183.4 数码管显示.193.5 4*4矩阵式键盘21第4章 红外遥控系统软件的设计.234.1 红外编码发射.234.2 红外接收解码.254.3 红外遥控仿真测试28第5章 总结.30参考文献.31 附件.32第1章绪论1.1 选题的目的意义随着科技的发展,人们生活的节奏也越来越快,随之人们对方便,快捷的要求也随之不断增高。遥控器的出现,在一定程度上满足了人们这个要求。遥控器是由高产的发明家Robert Adler在五十年代发明的1。而红外遥控是20世纪70年代才开始发展起来的一种远程控制技术,其原理是利用红外线来传递控制信号,实现对控制对象的远距离控制,具体
11、来讲,就是有发射器发出红外线指令信号,有接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远程控制。红外遥控具有独立性、物理特性与可见光相似性、无穿透障碍物的能力及较强的隐蔽性等特点。随着红外遥控技术的开发和迅速发展,很多电器都应用了红外遥控。从单纯的在家电面板上通过按钮控制,到短距离(10M以内)的遥控,虽然改变不大,但其带来的便利无疑是巨大的。而红外遥控技术的成熟,也使得遥控家电变得设计简单,价格低廉。市场的需求促使了红外遥控的发展。随着“智能化”的兴起,家电的功能也越来越多,越来越贴进人们生活。因此,对于红外遥控的开发和设计依然有着较大的实用价值。而本设计就是以家电为对象,通
12、过红外遥控实现家电的几种常用功能如开关、调速、定时等的控制,相对于传统的机械控制,体现出了更加方便快捷的优点。1.2红外遥控简介60年代初,一些发达国家开始研究民用产品的遥控技术,但由于受当时技术条件的限制,遥控技术发展很缓慢。70年代末,随着大规模集成电路和计算机技术的发展,遥控技术才得到快速的进步。在遥控方式上大体经历了从高成本的有线到成本低廉控制方便的无线控制。无论采用何种方式,准确无误传输信号,最终达到满意的控制效 果是非常重要的。最初的无线遥控装置大多采用的是电磁波传输信号,由于电磁波容易产生干扰,也易受到外界干扰,因此逐渐采用超声波和红外线媒介来传输信号。与红外线相比,超声传感器频
13、带窄,所能携带的信息量少,易受干扰而引起误动作。较为理想的是光控方式,逐渐采用红外线的遥控方式取代了超声波遥控方式,出现了红外线多功能遥控器,成为当今时代的主流。由于红外线在频谱上居于可见光之外,所以抗干扰性强,且安全。具有光波的直线传播特性,不易产生相互间的干扰,是很好的信息传输媒体。信息可以直接对红外光进行调制传输,例如,信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进调制,接收端再去掉载波,取到信息。从信息的可靠传输来说,后一种方法更好,这就是我们今天看到的大多数红外遥控器所采用的方法。红外遥控技术在这十年来得到了迅猛发展,尤其在家电领域如彩电、DVD
14、、空调、玩具等,也在其它电子领域得到广泛应用,随着人们生活水平的提高,对产品的追求是使用更方便、更具智能化,红外遥控技术正是一个重点的发展方向。 红外线是波长在760nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用红外波段内的近红外线,波长在0.76um至3.0um之间。目前广泛使用的家电遥控器几乎都是采用的近红外线传输技术。但作为无线局域网的传输方式,红外线方式的最大优点是不受无线电干扰,且它的使用不受国家无线管理委员会的限制。红外数据协会(IRDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用
15、的光波波长的范围限定在850至900nm之内。1.2红外遥控研究现状和成果常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量的使用的红外发光二极管发出的红外线波长为940mm左右,外形与普通5发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色。判断红外发光二极管好坏的办法与判断普通二极管一样;用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件
16、下只能用拉锯法来粗略判判定。接收部分的红外接收管是一种光敏二极管。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外发光二极管一般有圆形和方形两种。由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。前些年常用pc1373H、CX20106A等红外接收专用放大集成电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD)、电源负(GN
17、D)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。但在使用时注意成品红外接收头的载波频率。红外遥控常用的载波频率为38kHz这是由发射端所使用的455kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz1237.9kHz38kHz。也有一些遥控系统采用36 kHz、40 kHz、56 kHz等,一般由发射端晶振的振荡频率来决定。红外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的
18、遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在加用电器、室内近距离(小于10米)遥控中得到了广泛的应用。多路控制的红外发射部分一般有许多按键,代表不同的控制功能。当发射端按下某一按键时,相应地接收端有不同地输出状态。接收端地输出状态大致可分为脉冲、电平、自馈、互锁、数据五种形式。“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。“电平”输出是指发射端按下键时,接收端对应输出端输出“有效电平
19、”消失。此处的“有效脉冲”和“有效电平”,可能是高、也可能是低,取决于相应输出脚的静态状况,如静态时为低,则“高”为有效;如静态时为高,则“低”为有效。大多数情况下“高”为有效。“自锁”输出是指发射端每按一次某一个键,接收端对应输出端改变一次状态,即原来为高电平变为低电平,原来低电平变为高电平。此种输出适合用作电源开关、静音控制等。有时亦称这种输出形式为“反相”。“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效。电视机的选台就属此种情况,其他如调光、调速、音响的输入选择等。“数据”输出是指把一些发射键编上号码,利用接收端的几个输出形成一个二进制数,来代表不同的按键输入。一般情况下
20、,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便以后适时地来取数据。这种输出形式一般用于与单片机或微机接口。除以上输出形式外,还有“锁存”和“暂存”两种形式。所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。第2章红外遥控方案设计2.1 系统设计概况通用红外遥控系统由发射和接收两大部分组成,应用编/解码专业集成电路芯片来进行控制操作,控制部分包括键盘矩阵,编码调制,LED红外发送器;接收部分包括光,电转换放大器,解调,解码电路。红外遥控系统框图如2-1 图2-1 红外遥控系统框图红外通信的基本原理
21、实质上就是指利用红外线来作为载体传送信息。把单片机等产生的编码控制信号,经由调制电路调制为38 KHz的方波信号(提高发射效率、降低功耗)。在经由驱动电路驱动红外发光二极管(IRED)发出红外遥控信号;在接收端使用与发送端相配对的红外光电二极管,接收含有控制信号的红外信号,在将该红外信号解调为电信号后,在送入单片机进行解码,以得到相应的控制信号,从而完成红外信息的传送。2.1 红外编码方案红外编码有很多种方式,下面列举两种实现方案:方案一:脉宽调制的串行码。这种遥控码具有以下特征: 以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、
22、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。 其相关的波形图如图2-2所示: 图2-2 串行码编码方案二:码分制。采用脉冲个数编码,不同的脉冲个数代表不同的被控对象,最小为2个脉冲。为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控码数据帧间隔大于10ms,如图2-3所示。 图2-3 码分制编码波形图本设计采用方案一。 2.2.1 红外遥控发射电路框图本遥控发射器采用脉宽调制方式,脉宽调制是靠改变脉冲宽度来控制输出电压,通过改变周期来控制其输出频率。而输出频率的变化可通过改变此脉冲的调制周期来实现。当不同的指令键被按下时,指令信号电路产生不同脉冲编码的指令信号,也就是进
23、行编码,然后经AT89C51芯片进行调制从而产生不同的编码信号,再由驱动电路驱动红外发射器发射红外信号。红外发射框图如2-4所示: 图2-4 红外发射框图2.2.2 红外遥控接收电路框图红外接收电路是红外遥控系统中的指令信号及检出电路,通过一体化红外接收头(集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作)然后将接收到的信号发送给AT89C51, 然后AT89C51通过内部程序对说接收信号进行判断然后救驱动相应的外部设备进行相应的动作。此设计的遥控开关是在通用通用遥控的基础上加以改进的,其实就是将红外遥控器接收部分采用单片机AT89C5
24、1来控制。即当一体化红外接收器接收到的红红外遥控红外信号,经放大、解码滤波后,将原编码信号传送入单片机AT89C51中进行信号识别编码然后进行相应的处理,已达到控制电路的目的。红外接收框系统图如2-5所示:图2-5 红外接收框图第3章红外遥控系统的硬件结构AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。3.1 AT89C51系列单片机功能特点AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32
25、 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。AT89C51引脚 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八
26、位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内
27、部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3.0 RXD(串行输入口)P3.1 TX
28、D(串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器
29、时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 :外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。:当保持低电平时,访问外部ROM;注意加密方式1时,将内部锁定为RESET;当端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡
30、器的输出2。AT89C51一共有40个引脚,如图3-1所示。图3-1 AT89C51引脚图AT89C51的基本操作如图3-2所示,在X1和X2之间接一只石英振荡晶体构成了单片机的时钟电路,它还有另一种接法,是把外部振荡器的信号直接连接到XTAL1端,XTAL2端悬空不用。AT89C51复位引脚RST/VP通过片内一个施密特触发器(抑制噪声作用)与片内复位电路相连,施密特触发器的输出在每一个机器周期由复位电路采样一次。当振荡电路工作,并且在RST引脚上加一个至少保持2个机器周期的高电平时,就能使AT89C51完成一次复位。复位不影响RAM的内容。复位后,PC指向0000H单元,使单片机从起始地址
31、0000H单元开始重新执行程序。所以,当单片机运行出错或进入死循环时,可按复位键重新启动。MCS-51单片机通常采用上电自动复位和按钮复位两种复位方式。上电复位利用电容器充电来实现。按钮复位又分为按钮电平复位和按钮脉冲复位。前者将复位端通过电阻与Vcc相接;后者利用RC微分电路产生正脉冲来达到复位目的。复位电路参数的选择应能保证复位高电平持续时间大于2个机器周期。 图3-2 AT89C51基本操作电路3.1.1 HS0038介绍红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方
32、便使用。在本系统中我们采用红外一体化接收头HS0038,外观图如图3-1-1 所示。 图3-1-1 HS0038外观图HS0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS 电路兼容。HS0038 为直立侧面收光型。它接收红外信号频率为38 kHz,周期约26 s,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地、5 V 电源、解调信号输出端。红外一体化接收头的测试可以利用图3-1-2 所示的电路进行, 图3-1-2在HS0038 的电源端与信号输出端之
33、间接上一只二极管及一只发光二极管后,再配上规定的工作电源(为5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。只要确保遥控器工作正常,很容易判断红外接收头的优劣。3.2 红外发射电路本遥控发射器采用NEC编码方式。在确定选择AT89C51作为本设计发射电路核心芯片和点触式开关作为控制键后,加上一个简单红外发射电路和12M晶体震荡器便可实现红外发射。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便
34、是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通5发光二极管相同,只是颜色不同6。遥控发射通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在40KHz的载波上,激励红外光二极管产生不同的脉冲,通过空间的传送到受控机的遥控接收器。P1口作为按键部分,P3.6口作为发射部分。电路图如图3-3所示。图 3-3 红外发射电路3.3 红外接收电路在接收过程中,脉冲通过光学滤波器和红外二极管转换为38KHZ的电信号,此信号经过放大,检波,整形,解调,送到解码与接口电路,从而完成相应的遥控功能。P0口接数码管段选,P2口接数码管位选。P
35、3_6口作为接收部分。电路图如图3-4所示。图3-4 红外接收电路通常,红外遥控器将遥控信号调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,产生红外信号发射出去。将上述的遥控编码脉冲对频率为38KHz(周期为26s)的载波信号进行脉宽调制(PWM ),再经缓冲放大后送到红外发光管,将遥控信号发射出去。根据遥控信号编码和发射过程,遥控信号的识别即解码过程是去除38KHz载波信号后识别出二进制脉冲码中的0和1。由MCS51 系列单片机AT89C51、一体化红外接收头、还原调制与红外发光管驱动电路组成。接收部分主要元件是红外接收管,它是一种光敏二极管(实际上是三极管,基极为感光部分)。在实
36、际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。3.4 数码管显示7段数码管的结构与工作原理:由LED组成的7段发光管显示器是不太复杂的单片机应用系统常用外部设备之一。7段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成数字显示,另外一个圆形的发光二极管显示小数点。当发光二极管导通时,相应的一个点或一个笔画发光。控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。发光二极管的阳极连在一起的称为共阳极数码管,阴极连在一起的称为共阴极数码管,
37、如图3-5所示5。图3-5 7段数码管结构图如果将公共阴极接地,而在ag各段的阳极加上不同的电压,就会使各段的发光情况不同,形成不同的发光字符。加在7段阳极上的电压可以用数字量表示,如果某一段的阳极为数字量1,则这个段就发光;如为0,则不发光。数字量与段的对应关系如表3-6所示: 图3-6 数码管显示格式本设计选用8位数码管7SEG-MPX8-CA作为显示器,如图3-7所示:图3-7 7SEG-MPX8-CA7SEG-MPX8-CA是共阳极数码管显示器,它左下侧的abcdefg dp是LED数码管显示器的I/O口,是段选信号,右下侧的12345678是它的位选信号,就是从左到右分别是第一位到第
38、八位,段选信号与位选信号分别接到单片机的不同输出口。3.5 4*4矩阵式键盘4*4矩阵式键盘系统概述:矩阵式键盘模式以N个端口连接控制N*N个按键,实时在LED数码管上显示按键信息。显示按键信息,既降低了成本,又提高了精确度,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用。并且在实际应用中经常要用到输入数字、字母、符号等操作功能,如电子密码锁、电话机键盘、计算器按键等,至少都需要12到16个按键,在这种情况下如果用独立式按键的话,显然太浪费I/O端口资源,为了解决这一问题,我们使用矩阵式键盘。矩阵式键盘又称行列键盘,它是用N条I/O
39、线作为行线,N条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为N*N个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率3。最常见的键盘布局如图3-7所示。一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,本设计就采用这个键盘模式。图3-7 键盘布局矩阵式键盘电路AT89C51单片机的并行口P1接44矩阵键盘,以P1.0P1.3作输入线,以P1.4P1.7作输出线;P1口输出按键信息,在数码管上显示每个按键的值。实际电路图连接如图3-8所示。图3-8 矩阵式键盘电路当无按键闭合时,P1
40、.0-P1.3与P1.4-P1.7之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法是:第一步,置列线P1.4-P1.7为输入状态,从行线P1.0-P1.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P1.4-P1.7读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。第4章 红外遥控系统软件的设计红外遥控软件的设计分为两大部份:红外编码发射的设
41、计和红外接收解码的设计。4.1红外编码发射当某个操作按键按下时,单片机先读出键值,然后根据键值编码,再调制成38kHz方波由红外线发光管发射出去。通常,红外遥控是将遥控信号调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。为了提高抗干扰性能和降低电源消耗,将上述的遥控编码脉冲对频率为38KHz(周期为26us)的载波信号进行脉宽调制(PWM),再经缓冲放大后送到红外发光管,将遥控信号发射出去4。发射端程序流程图发射控制程序由主程序和键扫描程序、编码发送程序组成,在主程序中,采用键扫描子程序完成各个按键的功能。红外发送程序如下:void irsend(bit BT,uint x) TH0 = x8; TL0 = x; TF0=0; *定时器清0 TR0=1; *打开定时器 if(BT = 0) while(!TF0); *判断是否有按键按下 else while(1) IR = 1; if(TF0)break; if(TF0)break;