红外遥控器信号接收和显示的设计实现

合集下载

红外遥控器工作原理

红外遥控器工作原理

红外遥控器工作原理
红外遥控器是一种常见的设备,它通过发送红外信号来控制电子设备。

红外遥控器的工作原理主要有以下几个步骤:
1. 按键操作:当用户按下红外遥控器上的按钮时,按键电路会感应到按键动作,并向电路板发送指令。

2.编码和调制:电路板接收到指令后,会将指令转化为数字信号,并对其进行编码和调制。

编码和调制的目的是将数字信号转换为适合传输的红外信号。

3. 发射红外信号:编码和调制之后,红外发射二极管会根据信号的高低电平产生相应的红外光波。

红外信号的频率通常在30kHz至60kHz之间。

4.传输和接收:红外信号在空中传输,当它接近被控制的电子设备时,设备上的红外接收器会接收到信号。

5.译码和解调:被控制的电子设备中的红外接收器会对接收到的红外信号进行译码和解调。

这些信号包含控制设备的指令。

6.设备响应:一旦接收到正确的红外指令,被控制的电子设备便会执行相应的操作,比如开启/关闭、音量调节或频道切换等。

红外遥控器的工作原理基于红外线技术,红外线属于电磁波的一种,其波长较长,无法被人眼所察觉。

通过以上的步骤,红
外遥控器能够将用户的指令通过红外信号传输到被控制的电子设备,从而实现远程控制的功能。

红外 遥控器 原理

红外 遥控器 原理

红外遥控器原理
红外遥控器是一种常见的无线遥控设备,用于控制电子设备,例如电视、音响、空调等。

它通过发送和接收红外光信号来实现远程控制。

红外遥控器的工作原理是利用红外光的特性和传输方式。

红外光是我们肉眼不可见的光谱范围,具有较高的能量和穿透力。

红外遥控器内部有一个红外发射器,它能够产生红外光信号,并且能够通过遥控器上的按键进行调节和控制。

当我们按下遥控器上的按钮时,按钮对应的电路会关闭,使得电流通过红外发射器。

然后红外发射器将电流转变为红外光信号,并通过红外发射器的透镜发射出去。

这个发射出的红外光信号携带着特定编码的数据,例如控制命令和设备标识等信息。

接收端的设备(例如电视机)上有一个红外接收器,通常位于前方或顶部的位置。

红外接收器接收到发射器发射的红外光信号后,将其转换为电信号,并通过电路进行解码。

解码后的信号可以被电子设备识别,并执行相应的操作。

红外遥控器的传输距离通常较短,约在10米左右。

这是因为
红外光的传输很容易受到环境的干扰,如障碍物、光照强度等因素都会影响信号的传输质量。

总的来说,红外遥控器通过红外光信号的发射和接收来实现远程控制功能。

它是一种简单方便的控制方式,广泛应用于家庭娱乐设备和其他电子设备中。

电视遥控器红外线原理

电视遥控器红外线原理

电视遥控器红外线原理电视遥控器是我们日常生活中常用的电子设备之一。

它通过无线红外线技术来实现与电视之间的通信和控制。

本文将深入探讨电视遥控器红外线原理的工作流程以及其在电子设备中的应用。

一、红外线的介绍红外线是一种电磁辐射,其波长范围在700纳米至1毫米之间。

与可见光相比,红外线的波长更长,无法被人眼直接看到。

然而,许多电子设备都能感知和利用红外线的特性。

二、电视遥控器的工作原理1. 发射端电视遥控器的发射端包含了一个红外发射二极管(IR LED),它被用来发射红外线信号。

当我们按下遥控器上的按钮时,相应的按键电路会给红外发射二极管提供电流,使其发射脉冲的红外线信号。

2. 接收端电视机上的接收端包含了一个红外接收二极管(IR Receiver)。

当红外线信号到达接收端时,红外接收二极管会接收并将其转化为电信号。

然后,这些电信号经过一系列处理和解码,最终被传递给电视机的主板。

三、电视遥控器红外线信号编码为了实现不同按键对应不同功能的控制,电视遥控器需要将每个按键输入映射为特定的红外线编码。

这通常通过红外线编码器来实现。

红外线编码器将不同按键的信号转化为特定的红外线编码序列,以便电视机能够正确地识别并执行相应的操作。

常见的红外线编码协议包括NEC、RC-5、RC-6等,每个协议都有自己特定的编码格式和解码规则。

四、电视遥控器的应用除了在电视机上,电视遥控器的原理和技术也被广泛应用在其他电子设备上。

例如空调遥控器、音频设备遥控器、家电遥控器等。

这些设备通常采用类似的红外线原理,使用红外线信号进行通信和控制。

电视遥控器的优势在于它的方便性和灵活性。

通过遥控器,我们可以在不需要亲身接触电子设备的情况下,轻松控制它们的各种功能。

这极大地提高了我们的生活便利性。

总结:电视遥控器通过红外线技术实现了人机交互和设备控制。

发射端的红外发射二极管发射红外线信号,接收端的红外接收二极管接收并转化为电信号。

红外线编码器将按键信号编码为特定的红外线编码序列,以实现不同按键对应不同功能的控制。

红外遥控综合实验报告

红外遥控综合实验报告

红外遥控综合实验报告一、实验目的通过本次实验,掌握红外遥控的原理和基本应用,了解红外遥控器的工作原理,并通过实际操作掌握红外遥控的编程与控制方法。

二、实验器材- STM32F103RD开发板- 红外遥控接收器- 红外遥控发射器- 电脑三、实验原理红外遥控技术基于红外线的传输和接收。

红外遥控接收器和发射器分别位于遥控器和被控制设备之间,实现信号的传输和解码。

红外遥控器通过发送不同的红外信号来控制不同的设备。

当按下遥控器上的按钮时,红外遥控发射器会发出特定的红外信号。

被控制设备上的红外遥控接收器接收到红外信号后,通过解码判断接收到的信号是什么指令,然后执行相应的操作。

四、实验步骤1. 准备实验器材,将红外遥控接收器和发射器分别连接到开发板上。

2. 在电脑上下载并安装开发板的驱动程序和编程软件。

3. 编写程序,实现红外遥控的编码和传输功能。

使用开发板的GPIO口来控制红外发射器的工作,并通过编程设置红外遥控发射时的频率和协议。

4. 编写程序,实现红外遥控的译码和执行功能。

使用开发板的GPIO口来接收红外遥控接收器的信号,并通过解码判断接收到的信号是什么指令,然后执行相应的操作。

5. 将程序烧录到开发板上,将遥控器和被控制设备连接好。

6. 进行遥控测试,按下遥控器上的按钮,检查被控制设备是否执行了相应的操作。

五、实验结果经过实验,我们成功实现了红外遥控的功能。

按下遥控器上的按钮时,被控制设备能够准确执行相应的操作,例如打开或关闭灯光、调节电风扇的风速等。

六、实验总结本次红外遥控综合实验通过理论与实际操作相结合的方式,让我们更深入地了解了红外遥控的原理和应用。

通过编程与控制的实践,我们进一步加深了对红外遥控技术的理解,提高了程序设计和调试的能力。

红外遥控技术在日常生活中广泛应用于电视、空调、音响、智能家居等各种设备上。

掌握了红外遥控的编程和控制方法,对我们今后的学习和工作都将有很大的帮助。

通过本次实验,我们学会了团队合作和解决实际问题的能力。

红外遥控原理和制作方法

红外遥控原理和制作方法

红外遥控原理和制作方法红外遥控原理是利用红外线的特性进行无线通信,通过发送和接收红外信号实现对电器设备的控制。

红外遥控主要包括三个组成部分:遥控器、红外发射器和红外接收器。

1. 遥控器:遥控器是红外遥控系统的控制中心,主要由按键、遥控电路和电源组成。

当用户按下遥控器上的按键时,遥控电路会根据按键的编码发出相应的控制信号。

2. 红外发射器:红外发射器是将遥控信号转换成红外光信号的装置。

它由LED发射管、发射电路和电源组成。

当遥控电路发出控制信号时,发射电路会使LED发射管发出红外光信号。

3. 红外接收器:红外接收器是将红外光信号转换成电信号的装置。

它主要由光电二极管、接收电路和电源组成。

当红外光信号照射到光电二极管上时,接收电路会将信号转换成电信号,并传输给被控制的设备。

制作红外遥控的方法如下:1. 建立遥控电路:根据需要控制的设备,设计并建立相应的遥控电路。

遥控电路包括按键、编码器、遥控芯片等。

2. 选择合适的红外发射器:根据遥控电路的输出信号特性,选择合适的红外发射器。

通常使用红外LED发射管来发射红外信号。

3. 连接发射电路:将发射电路与遥控电路连接,确保能够正确发射红外信号。

发射电路通常由驱动芯片和发射LED组成。

4. 选择合适的红外接收器:根据需要接收红外信号的设备特性,选择合适的红外接收器。

通常使用光电二极管作为红外接收器。

5. 连接接收电路:将接收电路与被控制设备连接,确保能够正确接收红外信号并控制设备。

接收电路通常由解码器和驱动芯片组成。

6. 测试与调试:完成以上步骤后,进行测试与调试,确保遥控信号的正常发送和接收。

电子红外线遥控器工作原理

电子红外线遥控器工作原理

电子红外线遥控器工作原理红外线遥控器是我们生活中常见的一种电子设备,它能够以无线方式控制电器设备的开关、模式选择等功能。

本文将详细介绍电子红外线遥控器的工作原理及其应用。

一、概述电子红外线遥控器是通过发射和接收红外线信号来实现控制的。

一般来说,遥控器由两部分组成:发射器和接收器。

发射器负责发射红外线信号,接收器则接收信号并解码后转化为相应的控制信号。

二、发射器部分发射器中的主要元件是红外发射二极管,其内部结构是PN结。

当二极管外加正向电压时,电流通过PN结时会产生光。

这种光被称为红外线,它的波长在0.7微米至1000微米之间,我们所用的红外遥控器发射二极管主要发射波长为940纳米的红外线。

发射器通常由发射二极管和相关电路组成。

电路中的振荡器可以产生高频信号,通过驱动电路将高频信号加在二极管上。

二极管进行整流和调制等处理后,发射出经过编码的红外线信号。

三、接收器部分红外线遥控的接收器部分主要由红外接收二极管和解码器组成。

红外接收二极管是一种特殊的二极管,它只对特定波长的光敏感。

当遥控器发射的红外线照射到接收二极管上时,其内部PN结会发生电流变化。

解码器是接收器中的重要组成部分,它能够解析接收到的红外信号并按照特定的编码方式将其转化为相应的二进制码。

一般来说,红外遥控器采用脉冲宽度编码(PWM)或脉冲位置编码(PPM)来实现信号的传输与解码。

解码完成后,信号被转化为数字信号,用于控制电器设备的不同功能。

四、工作原理当我们按下遥控器上的按键时,发射器会发出编码后的红外信号。

该信号经过空气中的传播后,被接收器接收到。

接收器中的红外接收二极管会感应到信号,并将信号转化为电流变化。

经过解码器的解析和转换,最终得到用于控制设备的数字信号。

五、应用电子红外线遥控器广泛应用于家庭电器、音频设备等领域。

通过使用遥控器,我们可以方便地遥控电视、空调、音响等设备,实现开关、音量调节、模式选择等功能。

此外,红外线遥控技术还被应用于安防系统、自动门禁系统等领域。

红外遥控原理和制作方法

红外遥控原理和制作方法

红外遥控原理和制作方法一、引言红外遥控技术是一种常见的无线通信技术,广泛应用于家电、电子设备等领域。

本文将介绍红外遥控的原理和制作方法。

二、红外遥控原理红外遥控原理基于红外线的发射和接收。

遥控器发射器中的红外发射二极管会产生红外光信号,信号经过编码后发送给接收器。

接收器中的红外接收二极管会接收到红外光信号,并进行解码。

解码后的信号通过微处理器进行处理,最终转化为对应的控制信号,控制设备的操作。

三、红外遥控制作方法1. 硬件设计制作红外遥控器的第一步是设计硬件。

需要准备的材料有红外发射二极管、红外接收二极管、编码解码芯片、微处理器等。

在电路设计中,需要根据具体的遥控器功能,选择合适的编码解码芯片和微处理器,并按照电路原理图进行连接。

2. 程序编写制作红外遥控器的第二步是编写程序。

根据遥控器功能需求,编写相应的程序代码。

程序代码可以使用C、C++、Python等编程语言进行编写,通过对按键的扫描和编码解码的处理,将控制信号转化为红外光信号。

3. 硬件连接将硬件电路和程序进行连接。

将编写好的程序通过编程器下载到微处理器中,将红外发射二极管和红外接收二极管连接到电路中的相应位置。

确保电路连接正确无误。

4. 测试与调试完成硬件连接后,进行测试与调试。

使用万用表等工具检查电路连接是否正常,确保红外发射和接收二极管工作正常。

通过按下遥控器按键,检查接收器是否可以正确解码,并将信号转化为对应的控制信号。

四、红外遥控的应用红外遥控技术广泛应用于各种家电和电子设备中,例如电视、空调、DVD播放器等。

通过红外遥控器,用户可以方便地控制设备的开关、音量、频道等功能。

五、红外遥控技术的发展趋势随着科技的不断进步,红外遥控技术也在不断发展。

目前,一些新型的红外遥控技术已经出现,例如基于无线网络的红外遥控技术,可以通过手机等设备进行远程控制。

此外,一些智能家居系统也开始使用红外遥控技术,实现对家中各种设备的集中管理。

六、结论红外遥控技术是一种常见且实用的无线通信技术,通过红外线的发射和接收,可以实现对各种设备的远程控制。

红外发射和接收原理

红外发射和接收原理

红外发射和接收原理红外发射和接收是指将信号通过红外辐射进行无线传输的过程。

它是基于物质对于电磁辐射的吸收和发射性质以及红外光的特性而实现的。

一、红外发射原理:红外发射是指通过一定的发射器件,将电能转化为红外辐射并传输的过程。

发射器件一般采用红外发光二极管(IR LED)。

发光二极管具有发射红外光的特性,其工作原理为:当通过发光二极管的正向电压大于其导通电压时,正向电流流过发光二极管,在外部场强的驱动下,电子与空穴相遇并重新组合,释放出能量,激发发射材料中的电子由高能级跃迁到低能级,产生光辐射,从而发出红外光信号。

发射的红外光信号通常位于波长为700纳米到1毫米之间,主要集中在近红外光(700纳米到1.4微米)和远红外光(1.4微米到1毫米)两个波段。

二、红外接收原理:红外接收是指通过一定的接收器件,将红外辐射转化为电能并进行信号解码的过程。

接收器件一般采用红外接收二极管(IR Receiver)。

接收二极管是一种特殊的光电二极管,其工作原理是利用PN结管,在外部光的作用下,能够产生一定的反向电流。

当接收二极管被红外辐射照射时,红外辐射能量被吸收,导致PN 结区域的电荷状态发生变化,进而产生反向电流。

这个反向电流信号随着光的变化而变化,可以通过电路进行放大和解码,以获取原始信号。

红外接收一般分为两种工作方式:1. 数字式红外接收:此种方式需要通过红外解码芯片对接收到的红外光进行解码和处理,输出结果为数字信号。

在这种方式下,红外接收器件接收到的光信号会通过滤波、放大和二极管反向电流的检测,经过解码芯片的处理后,输出对应的数字信号,常用于红外遥控器等应用中。

2. 模拟式红外接收:此种方式下,红外接收器件输出的信号一般为模拟电压信号。

红外接收器件通过负载电阻将接收到的反向电流转换为电压信号,然后经过放大和滤波电路处理后,输出的电压信号可以直接用于后续的模拟电路处理。

常见应用有反光控制、红外热成像等。

综上所述,红外发射和接收原理基于发射器件和接收器件的工作机制,通过将电能转化为红外辐射和将红外辐射转化为电能来实现无线红外信号的传输和解码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子电路综合设计实验报告题目:红外遥控器信号接收和显示的设计实现(选题十四)班级:08-0441姓名:简杰学号:2008044127日期:2011.4.6—2011.4.13成绩:摘要:随着电子技术的发展,红外遥控器越来越多的用到电器设备中,为电器用户提供了极大的方便。

但是,对于电器生产厂家来说,各种型号的遥控器的大量使用带来的遥控器的大批量多品种的生产检测却是一个难题。

目前市场上对遥控器的检测还是使用比较落后的手动方式逐一进行,使得一线的检测工人既费时费力而又效率低下;另外,在电器产品的调试过程中,当出现控制故障时,很难判断到底是遥控器的发射故障还是电器上的接收故障。

因此,研制一种智能红外遥控器检测装置,以改变生产一线的这种状况成为一种迫切的需要。

本实验中的红外遥控器信号的接收和显示电路以单片机和一体化红外接收器为核心技术,具体由单片机最小系统、单片机与PC机间的通信模块、红外接收模块、数码管显示模块和流水灯模块组成。

在实验的设计中,采用HS0038塑封一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而且体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。

整个电路分为四个模块:单片机最小系统、通信模块、红外接收模块以及数码管显示模块。

根据输入信号的不同,在数码管显示电路上显示相应的按键数字或音量调节表现出的流水灯功能,并通过串口调试助手,在遥控器有按键按下时,将其键值显示在PC机上。

一.设计任务与要求:结合单片机最小电路和红外线接收接口电路共同设计一个基于单片机的红外遥控信号接收与转发系统,用普通电视机遥控器控制该系统,使用数码管显示信号的接收结果。

1.当遥控器重复按下某数字键时,数码管显示不变。

2.当遥控器按下某数字键时,在数码管上显示其键值。

如按下数字键1,则在数码管上显示号码“01”。

3.当遥控器按下音量加减键时,用两位数码的周围段实现顺时针或者逆时针旋转的流水灯功能。

4.运用串口调试助手,当遥控器有按键按下时,将其键值显示在PC机上。

二.系统概述1 设计方案为了实现系统整体功能,红外解码部分是核心,红外解码指将遥控发射器所产生的红外遥控编码脉冲所对应的键值翻译出来的过程。

下面将系统方案做一论证,通常有硬件解码和软件解码两种方案。

方案一: 硬件解码此方案中,使用专用遥控器作为控制信号发出装置,当按下遥控器的按键后,一体化红外接收装置接收到遥控器发出的设置控制信号,然后将信号送到专用的解码芯片中进行解码,解码后将信号送到单片机,由单片机查表判断这个信号是按键数值信号或控制音量、频道等信号,当确认是何种信号后,启动子程序,然后进行查询。

每次红外接收头接收到红外信号传到解码器中,解码器解码完毕后送到单片机,单片机再通过查表确定这些数值并进行相应功能的控制。

设计原理图如图1所示。

图1 方案一原理图方案二:软件解码此方案中,采用普通的家用遥控器作为控制信号发出装置,当按下遥控器的按键后,一体化红外接收装置接收到遥控器发出的红外线控制信号,然后把这个信号转换成电信号,传到单片机中,利用单片机对这个信号进行解码,解码完成后查表确定是按键数值信号或控制音量、频道等信号,启动子程序,进行相应的显示数字等功能。

然后查询,重复上述流程。

设计原理图如图2所示。

图2 方案二设计原理图2 方案比较与选取方案一为硬件解码方案,硬件解码需要使用与遥控器相配套的专用的解码器芯片,而解码芯片一般不易得到,价格也较贵,或者自行开发解码电路(但电路太复杂,性能欠佳)。

方案二为软件解码方案,软件解码可以不考虑遥控器的芯片是什么型号的,因为我们只需检测到它的发射编码,然后用软件方式来对它进行处理,从而得到所要的信息。

软件解码具有灵活、硬件精简(仅需集成红外接收头和一片单片机)、可靠性高,成本低等特点。

基于以上特点,选取方案二作为实验方案。

3 系统框图系统框图如图3所示。

图3 系统框图遥控器为控制信号的发出装置,用一体化红外接收装置HS0038接收遥控器发出的红外线控制信号,并与单片机相连实现数据传输,通过单片机编程将接收到的数字编码在数码管上显示出来,当按下左右键时,数码管将实现流水灯现象。

使用MAX232芯片、串口及若干电容来完成串口模块,以实现单片机和PC机的通信功能并且达到可以使用串口调试助手的目的。

三.单元电路设计与分析1 单片机最小系统单片机选用STC89C51,主要负责整个系统的控制及数据的存储和处理。

放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。

外接晶体谐振器以及电容构成并联谐振电路,接在放大器的反馈回路中。

根据情况本设计中选择11.0592MHz的晶振,补偿电容选择30pF左右的电容。

单片机最小系统电路图如图4所示。

图4单片机最小系统2通信模块通信模块用于将编写好的程序下载至单片机中,采用MAX232与串口相连组成了通信下载电路。

MAX232是MAXIM公司专门为PC视RS-232标准串口设计的电平转换电路。

该芯片与TTL/COMS电平兼容,片内有2个发送器,2个接收器,且使用+5 V单电源供电。

通信模块电路如图5所示。

图5 通信模块电路图3 红外接收模块本电路采用HS0038塑封一体化红外线接收器,它是一种集红外线接收、放大、整形于一体的集成电路,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,没有红外遥控信号时为高电平,收到红外信号时为低电平,而且体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。

电路图如图6所示。

图6 红外接收电路4 数码管显示电路数码管显示电路采用两位共阳数码管LG5022BH,由单片机的P3^2和P3^3作为位选口,输出低电平时数码管被选中;P1口作为段选。

选用三极管S8550驱动,e极与VCC相连,b极接电阻后与单片机的P3^2和P3^3口相连,c极与数码管的位选口相连。

数码管显示电路如图7所示。

图7 数码管显示电路四安装调试及测量数据分析总体电路一次组装完毕后,首先采用分块调试,采用这种调试的方法,可以缩小问题出现的范围,可及时发现,易于解决。

首先进行单片机最小系统的测试,将单片机的VCC与电源正极相连,连接完成后用示波器观察晶振两端起振,且30管脚有波形。

单片机最小系统正常工作。

其次测试通信模块,测试单片机与PC机之间能否正常通信,单片机与PC机之间正常通信,通信模块测试正常。

再次对数码管显示电路进行测试,首先将数码管动态显示的程序下载至单片机中对数码管显示电路进行测试,数码管显示正常。

之后进行程序下载调试。

主函数软件流程图如图8所示。

图8 主函数软件流程图将编写好的程序下载到最小系统中后,数码管的按键和流水灯显示正常,在使用串口调试助手实现单片机与PC机之间的通信时,PC 机接收到得数据有误,后经程序修正及调节串口调试助手的比特率,使得两机之间的通信顺利进行。

至此,电路和程序全部调试完毕。

五.结束语本实验设计结束后满足设计要求,实现了遥控器按下数字键时,在数码管上显示其键值。

如按下数字键1,则在数码管上显示号码“01”;当遥控器按下左键及右键时,两位数码的周围段实现顺时针或者逆时针旋转的流水灯功能;运用串口调试助手,在遥控器有按键按下时,能将其键值显示在PC机上。

本设计仍然存在着一些不足之处,例如只能实现对遥控器少量按键在数码管上的显示情况,而对于其他按键的显示大多没有规律或显示乱码,在此方面有待提高和改进。

通过此次试验的整个设计,焊接以及调试的完成,使我了解了常用红外接收器的原理并基本掌握了其设计和使用的方法,了解了实际遥控器编码的数据格式,掌握了数码管显示电路的实际构建方法,了解了单片机最小系统的构成及应用设计,熟悉了单片机串行通信模块的设计。

以往的各类实验课实验中,多数为单元实验且电路模式比较固定,调试也较容易,多数实验没能培养出我们对整个电子电路系统的整体认识,而通过这次的实验,不仅使我学到了有关红外接收方面的知识,而且,提高了对整个电子电路系统从设计到调试整体的系统性认识,培养了综合运用多学科相关知识进行初步工程设计与实际装调系统电路的能力,收获颇多。

最后,感谢高敬鹏老师在整个实验过程中给我们的指点和帮助!六.附录附录一:元件表附录二:参考文献1. 《实用电子系统设计基础》姜威. 北京理工大学出版社.2. 《电子线路设计实验测试》罗杰,谢自美. 电子工业出版社.3. 《单片机实验与应用系统设计》范蟠果. 国防工业出版社.4. 《红外遥控在节能和无线操作方面的应用》王伟生,郑小真. 河南工业大学5. 《单片机C语言开发技术》龚运新. 清华大学出版社6. 《51单片机及其C语言程序开发实例》戴仙金北京-清华大学出版社附录三:程序#include<reg51.h>#define uchar unsigned char#define uint unsigned int//宏定义sbit a=P3^3;sbit b=P3^2;int read,bj,result,yiweiresult,nuresult,k=0;uchar table[4]={0};//定义数组用来存放用户码和数据码uchar dis[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x 8e};//数码管显示编码uchar tablea[3]={0xef,0xdf,0xfe}; //{0xef,0xdf,0xfe};uchar tableb[4]={0xfe,0xfd,0xfb,0xf7};//{0xfe,0xfd,0xfb,0xf7};uchar tableaf[2]={0xef,0xf7}; //{0xef,0xf7};uchar tablebf[2]={0xfe,0xdf}; //{0xfe,0xdf};//数码管流水灯顺时针逆时针数组void delay_9000us(){uint i,j;for(i=0;i<5;i++)for(j=0;j<308;j++);} //延时9.0msvoid delay_5000us(){uint i,j;for(i=0;i<2;i++)for(j=0;j<308;j++);} //延时5.0msvoid delay_100us(){uint i,j;for(i=0;i<1;i++)for(j=0;j<11;j++);} //延时100usvoid delay_6ms(){uint i,j;for(i=0;i<1;i++)for(j=0;j<660;j++);} //延时6msvoid delay_500ms(){uint j;for(j=0;j<12850;j++){ read=P3;if((read&0x10)==0)break;}} //延时500msvoid start_t0(){TH0=0;TL0=0;TR0=1;} //定时计数器初始化/*解码子函数*/uchar jiema(){uchar i,j,rd,pd,dat=0;for(i=4;i>0;i--){for(j=8;j>0;j--){dat>>=1;dord=P3;while(!(rd&0x10));//等待高电平start_t0();//初始化定时器dord=P3;while(rd&0x10);//等待低电平TR0=0;//关闭定时器pd=TH0;if(pd>0x03)dat=(dat|0x80); //接收1并存储elsedat=(dat&0x7f); //接收0并存储}table[i]=dat;//接收8位数据完毕}//接受32位数据完毕return(table[2]);//返回数据码}//流水灯子函数(zheng)两位数码管外围段顺时针转void liushuideng(){int i=0;while(1){for(i=0;i<3;i++){b=1;a=0;P1=tablea[i];delay_500ms() ;}for(i=0;i<4;i++){a=1;b=0;P1=tableb[i];delay_500ms();}for(i=0;i<1;i++){a=0;b=1;delay_500ms() ;P1=0xf7;}delay_6ms();read=P3;//查询if((read&0x10)==0)break;}}//流水灯子函数(fan) 两位数码管外围段逆时针转void fanliushuideng(){int i=0;while(1){for(i=0;i<2;i++){b=1;a=0;P1=tableaf[i];delay_500ms();}for(i=3;i>=0;i--){a=1;b=0;P1=tableb[i];delay_500ms();}for(i=0;i<2;i++){a=0;b=1;P1=tablebf[i];delay_500ms();}delay_6ms();read=P3;//查询if((read&0x10)==0)break;}}//显示子函数void display(uchar dat){while(1){a=0;b=1;if(dat<=9){P1=0xc0;delay_5000us();P1=0xff;}if(dat<=9){ a=1;b=0;P1=dis[dat];delay_5000us();P1=0xff;}a=1;b=0;delay_100us();read=P3;//查询if((read&0x10)==0)break;}nuresult=dat;}/*************串口发送子程序*****************/ void init(void){TMOD=0x20;TH1=0xf4;TL1=0xf4;PCON=0x00;TR1=1;SCON=0x50;}void checkout(unsigned int para){ unsigned int paracheck;paracheck=para;SBUF=paracheck;while(TI==0);TI=0;}void sent(unsigned int i){checkout(i);//+48);}/*******************************************/ /************************/void chuankou(uint f){/********串口发送*******/ init();sent(table[0]);//sent(0);TI=0;init();sent(table[1]);//sent(0);TI=0;init();sent(table[2]);//sent(0);TI=0;init();sent(table[3]);//sent(0);TI=0;//init();//sent(f);//sent(f);//TI=0;TMOD=0x01;/*********************/}/**********************//*解码主函数*/void main(){TMOD=0x01; //选择方式1,定时器工作模式jj:do read=P3;while(read&0x10);//等待低电平delay_100us();//消抖100usdoread=P3;while(!(read&0x10));//等待高电平start_t0();doread=P3;while(read&0x10);//等待低电平TR0=0;//关闭定时器bj=TH0;if(bj>0x0c)//判断正常码和数据码result=jiema(); //调用解码函数chuankou(result);if(result==0x5f) //1a音量增加按键{liushuideng();goto jj;}if(result==0x5b) //1e音量减少按键{fanliushuideng();goto jj;}// for(s=0;s<4;s++)delay_9000us(); //显示延时display(result); //显示//chuankou(result);goto jj; //等待再次发送数据}。

相关文档
最新文档