单片机红外遥控器设计
基于单片机的红外遥控系统设计

课程设计基于单片机的红外遥控系统设计学院:计算机与通信工程学院专业:通信工程班级:通信11-3班姓名:学号:天津理工大学摘要本设计采用51单片机作为遥控发射接收芯片,HS003B作为红外一体化接收发射管,在此基础上设计了一个简易的智能红外遥控系统。
系统包括接收和发射两大部分,发射部分有16个按键,接收部分含有8盏彩色LED灯、一片二位数码管和蜂鸣器系统。
发射部分通过键盘扫描判断哪个键被按下,经过单片机编码程序进行编码,控制红外发射电路发送信号。
接收部分解码信号,实现相应的输出。
本设计方案结合红外遥控设计简单、作方便、成本低廉等特点。
关键字:红外遥控信号调制编码解码天津理工大学目录摘要................................................................................................................................................... I I 1.绪论 (1)1.1课题目的和意义 (1)1.2红外线简介 (1)1.3红外遥控系统简介 (1)2 课题方案和设计思路 (2)2.1总体方案 (2)2.2红外发射器设计 (3)2.2.1红外发射器原理 (3)2.2.2红外编码 (3)2.3红外接收端设计 (4)3硬件结构设计与介绍 (5)3.1AT89C51系列单片机功能特点 (5)3.1.1主要特性 (5)3.1.2管脚说明 (5)3.1.3基本电路 (7)3.2红外发射电路 (8)3.3红外接收电路设计 (9)3.3.1红外接收模块 (9)3.3.2数码管 (9)3.3.3彩灯系统 (10)3.3.4蜂鸣器系统 (11)3.3.5红外接收端电路图 (12)4 软件设计 (12)4.1定时/计数器功能简介 (12)4.2遥控码的发射 (13)4.3红外接收 (14)5.课程设计总结和心得 (15)参考文献 (16)附录 (17)附录1P ROTEUS仿真图 (17)附录2发射程序 (17)附录3接收程序 (20)1.绪论1.1课题目的和意义随着科技的发展,人们生活的节奏也越来越快,随之人们对方便,快捷的要求也随之不断增高。
单片机STM32F103C8T6的红外遥控器解码系统设计

单片机STM32F103C8T6的红外遥控器解码系统设计一、本文概述本文旨在详细阐述基于STM32F103C8T6单片机的红外遥控器解码系统的设计和实现过程。
随着科技的不断进步和智能化设备的普及,红外遥控器作为一种常见的遥控设备,已经广泛应用于家电、安防、玩具等多个领域。
然而,红外遥控器发出的红外信号往往需要通过解码器才能被设备正确识别和执行,因此,设计一款高效、稳定、可靠的红外遥控器解码系统具有重要意义。
本文将首先介绍红外遥控器的基本原理和信号特点,然后详细阐述STM32F103C8T6单片机的性能特点和在红外遥控器解码系统中的应用优势。
接着,将详细介绍红外遥控器解码系统的硬件设计,包括红外接收头的选择、电路设计和PCB制作等。
在软件设计部分,将详细阐述如何通过STM32F103C8T6单片机的编程实现红外信号的接收、解码和处理,以及如何将解码后的数据通过串口或其他通信方式发送给主控制器。
本文还将对红外遥控器解码系统的性能进行测试和分析,包括信号接收距离、解码速度和稳定性等方面的测试。
将总结本文的主要工作和创新点,并对未来的研究方向进行展望。
通过本文的研究和实现,旨在为红外遥控器解码系统的设计提供一种新的思路和方法,同时也为相关领域的研究人员提供有益的参考和借鉴。
二、红外遥控器基础知识红外遥控器是一种常见的无线遥控设备,它利用红外光作为信息载体,通过发射和接收红外光信号实现对设备的远程控制。
这种遥控方式因其简单、低成本和无需视线连接等优点,在各类消费电子产品中得到了广泛应用,如电视机、空调、音响等。
红外遥控器的工作原理主要基于红外辐射和光电器件的检测。
遥控器内部通常包含一个或多个红外发射管,当按下按键时,发射管会发射出特定频率和编码的红外光信号。
接收端则配备有红外接收头,该接收头内部有一个光敏元件(如硅光敏三极管或光敏二极管),用于检测红外光信号并将其转换为电信号。
为了区分不同的按键操作,红外遥控器通常采用特定的编码方式对按键信号进行编码。
基于单片机的红外遥控设计与制作

基于单片机的红外遥控设计与制作引言:红外遥控技术已广泛应用于日常生活中,如电视机、空调、音响等家电产品的遥控控制。
本文将介绍基于单片机的红外遥控器的设计和制作过程。
一、设计方案1.硬件设计(1)红外发射模块:负责发射红外信号,通过红外LED进行。
(2)红外接收模块:负责接收外界发射的红外信号,通过对接收到的信号进行解码,判断所接收到的红外遥控码是否与预设的相同。
(3)单片机:作为中央处理单元,负责控制红外发射和接收模块的工作。
(4)按键开关:用于控制红外发射模块,当按键按下时,红外发射模块进行红外信号的发射。
2.软件设计(1)初始化:对硬件进行初始化,包括设置单片机引脚的输入输出方向、设置红外接收模块相关参数等。
(2)红外码解码:通过红外接收模块接收到的红外信号进行解码,判断接收到的红外遥控码是否与预设的相同。
(3)功能实现:根据接收到的红外码,判断所对应的功能,并执行相应的操作。
二、制作过程1.硬件制作(1)选择合适的单片机,并连接红外发射和接收模块到单片机上。
(2)按照电路图进行焊接,注意焊接时的接线是否正确。
(3)搭建电路测试台,连接电源和调试设备,进行电路的测试和调试。
2.软件开发(1)选择合适的单片机开发工具,如Keil C51等,进行软件开发环境的搭建。
(2)编写初始化代码,并将其烧录到单片机上。
(3)编写红外码解码函数和功能实现函数,通过对接收到的红外码进行判断,执行相应的功能。
三、测试与调试1.进行硬件的测试和调试,检查电路连接是否正常,并观察红外接收模块是否能正确接收到红外信号。
2.进行软件的测试和调试,观察是否能正常解码和执行功能。
四、应用与展望总结:本文介绍了基于单片机的红外遥控器的设计和制作过程,包括硬件设计、软件设计、制作过程以及测试与调试。
通过制作一个简单的红外遥控器,我们可以更好地理解红外遥控技术的原理和应用,并可以根据实际需求进行功能扩展和优化。
基于单片机的红外遥控器设计

基于单片机的红外遥控器设计摘要:随着电子技术的发展,家用电器种类的增加和无线遥控产品的普及,红外遥控器的使用越来越频繁。
本设计主要应用了AT89S52型单片机作为核心,综合运用了单片机中断系统、定时器、计数器等知识,应用红外光波长短、抗干扰、工作可靠性高的优点。
该设计主要包括红外发射和红外接收模块,然后分别对这两个模块进行软件的编程。
对于遥控操作的不同,遥控发射模块通过对红外光发射频率的控制来区别不同的操作,遥控接收模块通过对红外光接收频率的识别,判断出控制操作,来完成整个红外发射、接收过程[1]。
如今,由于嵌入式的广泛应用,促进了新一代红外遥控器的发展,将微型计算机芯片融入到遥控器中,使之使用更加方便快捷,也使人们的生活简易化。
随着时代的进步,人们对生活物品的要求也越来越高,为了满足消费者的需求,所以将先进的单片机加入到家庭中的电器遥控器中是符合大众要求的。
关键词:遥控器;红外发射;红外接收;单片机The Design of Infrared Remote Controller Based on Single-chipComputerAbstract:With the development of electronic technology, increase in the consumer electronics category and the popularity of wireless remote control products, IR remote control used with increasing frequency. This design mainly using AT89S52 microcontroller core, integrated application of a microcontroller interrupt systems, timers, counters, and other knowledge, using infrared light wave lengths and interference, the advantages of high reliability.The design includes infrared and infrared receiver module, and software programming for these two modules .For remote control of different remote control transmitter module through the infrared light emitting frequency control to distinguish between different actions, remote control receiver modules through the receiving frequency of the infrared light toidentify, determine control operation, to complete the IR transmitter and receiver process. Now, with the wide range of embedded applications, promote the development of a new generation of infrared remote controls. Micro-chip into the remote control, making it easier and faster, leaving people live simple. With the advance of time, people have an increasingly higher requirements for everyday use, in order to meet the needs of consumers, so the advanced single-chip machine joined to a household appliance remote control is in line with popular demand.Keywords:remote control; infrared; infrared receiver; single-chip microcomputer目录引言 (1)第1章课题分析与方案论证 (2)1.1课题任务分析 (3)1.2方案论证 (3)第2章系统硬件电路设计 (4)2.1 器件选择 (4)2.1.1单片机选择 (4)2.1.2显示器件选择 (11)2.1.3按键控制方式选择 (12)2.1.4门电路芯片选择 (12)2.2电路设计 (13)2.2.1遥控发射模块的电路设计 (13)2.2.2遥控接收模块的电路设计 (17)第3章系统软件设计 (21)3.1发射模块软件流程图 (21)3.2接收模块软件流程图 (22)第4章系统调试 (25)4.1硬件调试 (25)4.1.1.静态检测与调试 (25)4.1.2.动态检测与调试 (25)4.1.3.调试注意事项 (25)4.2 软件调试 (26)4.3 软硬件联调 (26)总结 (27)参考文献 (28)致谢 (30)附录1红外发射程序 (31)附录 2 红外接收程序 (40)附录 3 外文文献 (43)附录 4 实物图 (56)引言从单片机问世以来,在国外,它已广泛应用于自动控制、数据采集和处理、家用电器等各方面,同时也渗透到其它各个科技领域。
基于单片机的红外遥控设计与及制作

基于单片机的红外遥控设计与及制作引言:近年来,红外遥控技术已经成为了控制家电以及其他设备的一种主要方式。
在遥控器内部,最核心的部件就是单片机。
通过单片机的处理,可以将遥控信号转换为设备能够识别的红外信号。
在本文中,我们将介绍基于单片机的红外遥控器的设计与制作。
一、设计概述在本设计中,我们选用了STC89C52单片机作为中心处理器。
主要的原因是STC89C52具有较高的性价比和稳定性。
此外,我们还需要借助红外发射模块和红外接收模块来实现红外遥控的功能。
二、硬件设计1.单片机电路设计首先,我们需要完成单片机电路的设计。
主要包括单片机的供电电路和晶振电路。
为了提升系统稳定性,我们选用了陶瓷晶振。
电源电路则需要通过稳压芯片来对单片机进行供电,以确保工作电压的稳定。
2.红外发射电路设计红外发射电路主要由红外发射模块、三极管和电流限流电阻组成。
其中,红外发射模块用于发射红外信号,通常带有红外LED灯。
而三极管则起到放大红外LED灯的作用,电流限流电阻则用于限制红外LED灯的电流大小。
3.红外接收电路设计红外接收电路主要由红外接收模块、电流放大器和滤波电路组成。
红外接收模块用于接收红外信号,而电流放大器则起到放大红外接收模块产生的微弱信号的作用。
滤波电路则用于滤除无关的信号,以确保只有红外信号通过。
三、软件设计1.引入头文件首先,在编程环境中引入STC89C52的头文件,以便后续的编程操作能够正常进行。
2.定义红外发射与接收的引脚在程序中,我们需要定义红外发射和接收的引脚,以便进行相关的硬件操作。
3.红外发射信号发送在红外发射信号发送的函数中,我们需要使用红外发射模块提供的函数进行信号发送操作。
通常,发送红外信号可以通过调整信号的载波频率和占空比来实现。
4.红外接收信号处理在红外接收信号处理的函数中,我们需要使用红外接收模块提供的函数进行信号接收操作。
一般来说,接收到的信号会以特定的协议进行编码,我们需要解码后才能获取到实际的遥控信号。
基于单片机的多功能红外遥控器设计

基于单片机的多功能红外遥控器设计随着科技的发展,物联网的概念逐渐成为现实。
在这个信息化的时代,人们对于便捷的智能化设备也有了更高的需求。
尤其是对于红外遥控器,人们希望能够实现更多的功能,从而使得操作更加简单方便。
因此,设计一款基于单片机的多功能红外遥控器就显得尤为重要和必要。
首先,我们需要了解红外遥控器的原理。
它通过红外线控制电器的开关,现在已广泛应用于电视机、空调、DVD等家用电器的控制。
多功能遥控器是指可以控制多种电器,而基于单片机的多功能红外遥控器就可以实现更加多样化的功能。
在设计之初,需要考虑到多种电器的控制方案。
通常我们会选择采用通用的红外码库,也就是红外码与电器的对应关系表。
在程序中,会将不同的红外遥控码存入代码中,通过单片机MOSI口发送给红外发射器。
接收到红外信号的电器即可进行开关控制等操作。
而在实现多功能的控制方案中,则需要涉及到多个模块的开发和整合,例如LED的控制、语音模块和蓝牙模块等,使得我们的遥控器可以通过多种方式进行控制。
另外,在设计中常常会遇到红外码与设备的不匹配问题。
通常我们可以通过原始的遥控器保存红外命令来进行二次生成,或者私人定制生成红外码,从而保证不同品牌、不同型号的电器可以匹配使用。
这种方式也方便用户进行二次开发,实现更加个性化的控制方式。
最后,在红外遥控器的设计过程中,还需要考虑安全性和便携性。
在遥控器的物理设计上,需要考虑人体工学和抗摔性能,使得我们的遥控器可以更加舒适和耐用。
此外,为了保证遥控器的安全性,通常会添加密码保护功能,限制非法使用。
以上就是基于单片机的多功能红外遥控器的设计原理和要点,通过运用单片机技术和物联网技术相结合,我们可以实现更加丰富多彩的遥控器功能,使得人们的生活变得更加智能和便捷。
最新单片机红外遥控器设计

单片机红外遥控器设计单片机红外遥控器设计红外线遥控是目前使用很广泛的一种通信和遥控技术。
由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
红外线是太阳光线中众多不可见光线中的一种,由德国科学家霍胥尔于1800年发现,又称为红外热辐射,他将太阳光用三棱镜分解开,在各种不同颜色的色带位置上放置了温度计,试图测量各种颜色的光的加热效应。
结果发现,位于红光外侧的那支温度计升温最快。
因此得到结论:太阳光谱中,红光的外侧必定存在看不见的光线,这就是红外线。
也可以当作传输之媒界。
太阳光谱上红外线的波长大于可见光线,波长为0.75~1000μm。
红外线可分为三部分,即近红外线,波长为0.75~1.50μm之间;中红外线,波长为1.50~6.0μm之间;远红外线,波长为6.0~l000μm 之间。
真正的红外线夜视仪是光电倍增管成像,与望远镜原理全完不同,白天不能使用,价格昂贵且需电源才能工作。
【红外遥控系统】通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。
发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。
图1a《红外发射原理图》图1b 《红外接受原理图》【遥控发射器及其编码】红外遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。
当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。
这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。
基于单片机的红外线遥控器设计毕业设计

毕业设计设计课题:基于单片机的红外线遥控器设计摘要随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。
传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。
本设计主要应用了AT89C51单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点。
遥控操作的不同,遥控发射器通过对红外光发射频率的控制来区别不同的操作。
遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程。
其优点硬件电路简单,软件功能完善,性价比较高等特点,具有一定的使用和参考价值。
关键词:单片机,红外遥控,中断,定时,计数,频率AbstractWith the development of our society and the gradual improvement of science and technology, various kinds of help remote control systems have began to enter people’s life. The traditional remote controllers adopt special remote control code and decode integrated circuits, though this kind of method is simply and easily, it is only the practical application ofsome certain special electric equipments because of the counted functional keys is counted and the restricted function, so the range of application is limited. But the remote controllers which adopt the microprocessors have many advantages such as flexible operating and unceremonious manipulative keys.The design has used AT89C2051 microprocessor as core, integratively apply the interruptive system, timer , counter ,etc. mainly to design originally and also take the advantage of the infrared light. The remote control launcher distinguishes different operation through the control on frequency of infrared emission of light. The remote control receiver judges control operation by adopting the discerned frequency of the received infrared light to finish the whole launching and receiving course.Its advantage is that the hardware circuit is simple, the software is with perfect function, have certain use and reference valueKeywords: Microprocessor, Infrared remote control,Interrupt,Timing,Counting,Frequency目录绪论 (7)第一章红外发射部分 (8)1、引言 (8)2、设计要求与指标 (9)3 红外遥感发射系统的设计 (9)4、红外发射电路的设计 (10)5 调试结果及其分析 (15)6、结论 (16)第二章红外接受部分 (16)1、引言 (16)2、设计要求及指标 (17)3、红外遥控系统的设计 (17)4、系统的功能实现方法 (21)5、红外接受电路图 (23)6、软件设计: (24)7、调试结果及分析: (26)8、结论: (26)参考文献 (27)绪论人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机红外遥控器设计红外线遥控是目前使用很广泛的一种通信和遥控技术。
由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
红外线是太阳光线中众多不可见光线中的一种,由德国科学家霍胥尔于1800年发现,又称为红外热辐射,他将太阳光用三棱镜分解开,在各种不同颜色的色带位置上放置了温度计,试图测量各种颜色的光的加热效应。
结果发现,位于红光外侧的那支温度计升温最快。
因此得到结论:太阳光谱中,红光的外侧必定存在看不见的光线,这就是红外线。
也可以当作传输之媒界。
太阳光谱上红外线的波长大于可见光线,波长为0.75~1000μm。
红外线可分为三部分,即近红外线,波长为0.75~1.50μm之间;中红外线,波长为1.50~6.0μm之间;远红外线,波长为6.0~l00 0μm 之间。
真正的红外线夜视仪是光电倍增管成像,与望远镜原理全完不同,白天不能使用,价格昂贵且需电源才能工作。
【红外遥控系统】通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。
发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。
图1a《红外发射原理图》图1b 《红外接受原理图》【遥控发射器及其编码】红外遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。
当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。
这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。
上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。
然后再通过红外发射二极管产生红外线向空间发射,如图3所示,连发波形如图4所示。
UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。
该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。
UPD6121G最多额128种不同组合的编码。
当遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。
一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。
当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。
如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。
代码格式(以接收代码为准,接收代码与发射代码反向)①位定义②单发代码格式③连发代码格式注:代码宽度算法:16位地址码的最短宽度:1.12×16=18ms 16位地址码的最长宽度:2.24ms×16=36ms已知8位数据代码及其8位反代码的宽度和不变:(1.12ms+2.24ms)×8=27ms∴32位代码的宽度为(18ms+27ms)~(36ms+27ms)1.解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。
如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56 ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0. 84ms最为可靠,一般取0.84ms左右均可。
2.根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。
【红外遥控解码实验硬件】一体化红外线接收器是一种集红外线接收和放大整形于一体,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积又很小巧,它适合于各种红外线遥控和红外线数据传输,广泛用于电视机、卫星接收机、VCD、DVD、音响、空调等家用电器中接收红外信号,图5是一体化接收头的引脚排列图,图6是本站产品配套的采用屏蔽线焊接的一体化红外接收头,采用屏蔽线焊接,抗干扰能力强,接收更可靠。
没有购买实验板配套的一体化红外接收头的网友可以根据图2所示接收头引脚排列图自己焊接一个。
图5:一体化红外接收头(引脚排列图)图6:本站产品配套一体化红外接收头(已经用屏蔽线焊接好,抗干扰能力强,插入实验板即可使用)下面就是我们将要进行红外遥控解码实验所要用到的硬件设备:S51增强型实验板、ISP编程器、AT89S51实验芯片、豪华型多功能红外线遥控器。
图7:S51增强型单片机实验板及防插反红外遥控接口图8:豪华型多功能红外遥控器+高灵敏度一体化红外接收头(23元)图9:32键豪华型红外遥控器原理图图10:ISP编程器烧写实验单片机芯片AT89S51【红外遥控解码实验】我们经过对前面的遥控编解码知识的学习,对红外遥控有了基本的了解,下面我们马上进行解码实验。
本红外遥控解码实验的的功能是:程序对遥控器发射的遥控码进行解码,解码成功时蜂鸣器发出"嘀嘀"的解码成功提示音,如果按压的是数字键"0~9"就将按键值在实验板上的5位数码管上显示出按键值,同时将按键的十六进制值用P1口的8位发光二极管指示出来;如果按压的不是数字键"0~9",就直接从P1口输出键值;下面是遥控解码汇编源程序。
实验时将先连接好硬件设备,将配套的一体化红外遥控接收头插入实验板上的"红外遥控"接口内,在Keil单片机集成开发环境中新建工程,通过Keil将源程序编译得到HEX格式目标文件yk.hex,最后使用ISP编程器将目标文件烧写到AT89S51单片机中,插到S51增强型实验板上运行,拿出配套的红外遥控器进行解码测试,看看实验结果是否和程序相同。
>>> 点此下载HEX格式目标文件yk.hex >>>>>> 点此下载遥控解码源程序和Keil工程文件>>>ORG0000HMAIN:MOV SP,#60HMOV P0,#0FFHMOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHJNB P3.2,$;等待遥控信号出现MOV R6,#10SB: ACALL YS1;调用882微秒延时子程序JB P3.2,MAIN;延时882微秒后判断P3.2脚是否出现高电平如果有就退出解码程序DJNZ R6, SB;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序;以上完成对遥控信号的9000微秒的初始低电平信号的识别。
JNB P3.2, $ ;等待高电平避开9毫秒低电平引导脉冲ACALL YS2 ;延时4.74毫秒避开4.5毫秒的结果码MOV R1,#1AH ;设定1AH为起始RAM区MOV R2,#4PP: MOV R3,#8JJJJ: JNB P3.2,$;等待地址码第一位的高电平信号LCALL YS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态MOV C,P3.2;将P3.2引脚此时的电平状态0或1存入C中JNC UUU;如果为0就跳转到UUUJB P3.2,$;如果为1就等待高电平信号结束UUU: MOV A,@R1;将R1中地址的给ARRC A;将C中的值0或1移入A中的最低位MOV@R1,A;将A中的数暂时存放在R1中DJNZ R3,JJJJ;接收地址码的高8位INC R1;对R1中的值加1,换成下一个RAMDJNZ R2,PP ;接收完16位地址码和8位数据码和8位数据反码,存放在1AH/1BH/1CH/1DH 的RAM中;以下对代码是否正确和定义进行识别MOV A,1AH;比较高8位地址码XRL A,#00000000B;判断1AH的值是否等于00000000,相等的话A为0JNZ MAIN;如果不相等说明解码失败退出解码程序MOV A,1BH;比较低8位地址XRL A,#11111111B;再判断高8位地址是否正确JNZ MAIN;如果不相等说明解码失败退出解码程序MOV A,1CH;比较数据码和数据反码是否正确?CPL AXRL A,1DH ;将1CH的值取反后和1DH比较不同则无效丢弃,核对数据是否准确JNZ MAIN;如果不相等说明解码失败退出解码程序LCALL SOUND;解码成功,声音提示MOV A,1AHCPL AMOV P1,A;遥控码十六进制值通过P1口LED显示出来;-------- 下面为0~9键码判断并在实验板的5位数码管中显示键值--------JZPD: MOV A,1AHIRD0: CJNE A,#00H,IRD1;按键"0"判断显示MOV P0,#0C0HMOV P2,#11100000BAJMP MAINIRD1: CJNE A,#01H,IRD2;按键"1"判断显示MOV P0,#0F9HMOV P2,#11100000BAJMP MAINIRD2:CJNE A,#02H,IRD3;按键"2"判断显示MOV P0,#0A4HMOV P2,#11100000BAJMP MAINIRD3:CJNE A,#03H,IRD4;按键"3"判断显示MOV P0,#0B0HMOV P2,#11100000BAJMP MAINIRD4: CJNE A,#04H,IRD5;按键"4"判断显示MOV P0,#99HMOV P2,#11100000BAJMP MAINIRD5: CJNE A,#05H,IRD6;按键"5"判断显示MOV P0,#92HMOV P2,#11100000BAJMP MAINIRD6: CJNE A,#06H,IRD7;按键"6"判断显示MOV P0,#82HMOV P2,#11100000BAJMP MAINIRD7:CJNE A,#07H,IRD8;按键"7"判断显示MOV P0,#0F8HMOV P2,#11100000BAJMP MAINIRD8: CJNE A,#08H,IRD9;按键"8"判断显示MOV P0,#80HMOV P2,#11100000BAJMP MAINIRD9:CJNE A,#09H,IRDOR;按键"9"判断显示MOV P0,#90HMOV P2,#11100000BAJMP MAINIRDOR:MOV P2,#0FFH;关闭数码管使能。