基于单片机的红外遥控设计与制作
基于单片机的红外遥控设计
基于单片机的红外线遥控电机设计――― 信息与控制工程系1、摘要:本文是经过实际制作和调试而来介绍基于单片机的红外线遥控电机的设计。
在设计和制作过程中,采样的芯片有AT89C51、74LS00、红外线接受头等。
同时还介绍设计、制作和调试过程中遇到的问题是如何解决的。
该系统可以实现的功能:检测功能,自动判别功能,无线控制功能。
2、工作原理在实际的工程操作过程中,有一些地方是我们不希望其他的非工作人员到达的地方时,高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
我们就要需要对这些地方施行一定的措施,对一些特定的装置施行无线遥控。
实施无线遥控的优点有很多的,例如:可以实现无线操作,智能操作,操作人员活动范围大,使用方便,操控精准,无操作盲点。
既可以省钱,又可以节省劳动力,同时,还可以对特定的人群和特定的设备实施保护;但无线遥控同样也有其缺点:遥控距离不可以太远,信号的错误接收,遥控的接收和发射范围受到一定的限制等,虽然这些缺点通过一定的软件和硬件可以得到改善,但效果并不是很明显。
单片机是一种智能化的芯片,在处理信号方面有其特大的优点。
本设计,采样了两片AT89C51单片机芯片,这种芯片在市场上随处都可以买到的,价格也不是很贵,性能还算稳定,其芯片有40个引脚,4个I/O口,2个中断口,2个定时/计数器,芯片内有4KB的存储,基本上可以满足一些小产品的开放。
基于单片机的红外线控制,其系统框图如下图1-1:遥控器发射端有8个可以自由设置的按键,一旦按键确定下来,其对应的单片机的端口功能也就确定下来了,这也将是软件设计的基础。
当操作者按下发射端上对应的功能键键时,首先对应按键的脉冲信号传送给单片机的输入/输出口,触发相应的功能,按照对应的程序发出相应的脉冲个数,进而发射给遥控器接收端,接收端采样中断的处理的方法,对接收到的脉冲信号立即进行动作处理,之所以不采样查询的方式,是因为,可能会存在这样的一个状态,当脉冲信号来的时候,我就要执行器立即动作,可是现在的程序并没有执行到这里,那导致的后果就是已经传送过来的脉冲信号“失效”。
基于单片机的红外遥控电路设计
基于单片机的红外遥控电路设计引言近年来,在多媒体教学系统的使用、开发和研制中,经常遇到同时使用多种设备,如:数字投影机、DVD、VCD、录像机、电视机等,由于各种设备都自带遥控器,而且不同的设备所遵循的红外传输规约也不尽相同,操纵这些设备得使用多种遥控器,给使用者带来了诸多不便。
本次设计的主题就是红外遥控电路设计。
红外遥控的特点是利用红外线进行点对点通信的技术,不影响周边环境,不干扰其他电器设备。
室内近距离(小于10米),信号无干扰、传输准确度高、体积小、功率低的特点,遥控中得到了广泛的应用。
常用的红外遥控系统分发射和接收两个部分。
发射部分的主要元件为红外发光二极管。
它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。
红外发光二极管一般有黑色、深蓝、透明三种颜色。
接收部分的红外接收管是一种光敏二极管。
在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。
红外发光二极管一般有圆形和方形两种。
由于红外发光二极管的发射功率一般都较小,所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。
最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。
成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。
均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VO 或OUT)。
红外接收头的引脚排列因型号不同而不尽相同,红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管,非常方便。
设计要求及指标红外遥控是目前使用较多的一种遥控手段。
红外线遥控装置具有体积小、功耗低、功能强、成本低等特点。
在家庭生活中,录音机、音响设备、空调彩电都采用了红外遥控系统。
设计要求利用红外传输控制指令及智能控制系统,借助微处理器强大灵活的控制功能发出脉冲编码,组成的一个遥控系统。
基于51单片机的红外遥控小车设计和制作
基于51单片机的红外遥控小车设计和制作红外遥控小车设计和制作是一个有趣且实用的项目。
本文将介绍一个基于51单片机的红外遥控小车的设计方案和制作过程。
设计方案:1.硬件设计:-采用STC89C52单片机作为控制核心,具有良好的性能和稳定性。
-红外接收器模块:用于接收红外信号并将其转换为电信号。
-直流电机:用于驱动小车的轮子,实现前进、后退、转弯等动作。
-驱动电路:将单片机的输出信号转换为合适的电流和电压来驱动电机。
-电源:使用锂电池作为电源,提供所需的电能。
2.软件设计:-红外信号解码:将接收到的红外信号进行解码,并判断是前进、后退、转弯等命令。
-控制逻辑:根据解码结果产生相应的电信号,驱动电机实现小车的相应动作。
-响应机制:处理红外信号的时延和干扰,避免误操作或信号丢失。
制作过程:1.连接电路:-将STC89C52单片机与电源、红外接收器模块和驱动电路连接。
确保连接正确、稳定。
-连接直流电机和驱动电路,通过电路板或者线缆进行连接,确保电机可以正确驱动。
2.烧录程序:- 使用Keil C编译器编写控制程序,并将程序通过编程器烧录到STC89C52单片机中。
3.完善控制逻辑:-在控制程序中添加红外信号解码和控制逻辑代码,使小车能够根据接收到的红外信号做出相应动作。
4.调试和测试:-将红外遥控器对准红外接收器模块,发送不同的红外信号,确保小车能够正确接收和处理信号。
-确保小车能够根据接收到的信号做出正确的动作,如前进、后退、转弯等。
5.完善功能:-可以根据实际需求添加其他功能,如声控、避障、图像识别等,提升小车的智能性和功能性。
通过以上设计和制作过程,一个基于51单片机的红外遥控小车就可以完成。
这个小车可以通过红外遥控器进行远程控制,并实现前进、后退、转弯等动作。
它可以在室内或者室外进行运行,并具有一定的智能性和便携性。
这个项目不仅可以培养学生的动手能力和创造力,还可以加深对电子电路和嵌入式系统的理解和掌握。
基于STC89C51单片机的红外遥控智能家居系统设计
基于STC89C51单片机的红外遥控智能家居系统设计1. 本文概述阐述问题:我会指出当前智能家居系统中存在的问题,以及为什么需要基于STC89C51单片机的解决方案。
提出解决方案:接着,我会概述STC89C51单片机在智能家居系统中的作用以及红外遥控技术的优势。
文章结构:我会简要介绍文章的结构,说明接下来的章节将如何展开。
随着科技的不断进步,智能家居系统逐渐成为现代家庭生活的一部分,它们通过提高居住环境的舒适性、安全性和便利性,极大地提升了人们的生活质量。
现有的智能家居系统在集成性、成本效益和用户交互体验方面仍存在不足。
为了解决这些问题,本文提出了一种基于STC89C51单片机的红外遥控智能家居系统设计方案。
STC89C51单片机以其较低的成本、丰富的功能和良好的稳定性,成为实现智能家居控制的理想选择。
结合红外遥控技术,该系统不仅能够实现远程控制家电设备,还能通过简单的编程实现个性化的家居自动化场景,从而为用户提供更加灵活和智能的居住体验。
本文将首先介绍智能家居系统的基本概念和发展趋势,然后详细阐述STC89C51单片机的工作原理及其在智能家居系统中的应用。
接着,本文将描述红外遥控技术的原理,并展示如何将其与STC89C51单片机结合,实现对家居设备的智能控制。
本文将通过一个实际的系统设计案例,展示该设计方案的可行性和实用性。
2. 相关技术综述单片机技术:介绍STC89C51单片机的基本特性,包括其处理能力、内存、IO端口等,并说明其在智能家居系统中的应用优势。
红外通信技术:概述红外通信的基本原理,包括信号的调制、传输和解码过程,以及红外技术在遥控设备中的优势。
智能家居系统架构:描述智能家居系统的一般架构,包括控制中心、通信协议、传感器和执行器等组成部分。
现有智能家居解决方案:简要回顾市场上已有的智能家居解决方案,分析它们的特点和局限性。
设计挑战与创新点:讨论在设计基于STC89C51单片机的红外遥控智能家居系统时面临的技术挑战,以及本设计相对于现有技术的创新之处。
单片机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.进行软件的测试和调试,观察是否能正常解码和执行功能。
四、应用与展望总结:本文介绍了基于单片机的红外遥控器的设计和制作过程,包括硬件设计、软件设计、制作过程以及测试与调试。
通过制作一个简单的红外遥控器,我们可以更好地理解红外遥控技术的原理和应用,并可以根据实际需求进行功能扩展和优化。
基于单片机的红外线遥控器设计
毕业设计姓名:专业:班级:指导教师:课程设计任务书姓名:钟思专业:自动化班级: 1301班设计课题:基于单片机的红外线遥控器设计指导教师:电子信息工程系印制二○一五年十二月目录第一章红外发射部分 (1)1、设计要求与指标 (1)2、红外遥感发射系统的设计 (1)3、红外发射电路的设计 (2)4、调试结果及其分析 (3)第二章红外接受部分 (4)1、红外遥控系统的设计 (4)2、系统的功能实现方法 (9)3、红外接受电路图 (10)4、软件设计: (10)5、调试结果及分析: (10)6、结论: (11)参考文献 (11)第一章红外发射部分1.设计要求与指标红外遥控是目前使用较多的一种遥控手段。
功能强、成本低等特点。
系统。
设计要求利用红外传输控制指令及智能控制系统,借助微处理器强大灵活的控制功能发出脉冲编码,组成的一个遥控系统。
本设计的主要技术指标如下:(1) 遥控围: 0 — 1 米(2) 显示可控制的通道(3) 灵敏可靠,抗干扰能力强(4) 控制用电器电流最高为 2 A红外遥控的特点是不影响周边环境的、不干扰其他电器设备。
由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;多路遥控。
红外遥控系统由发射和接收两大部分组成,系统采用编 / 解码专用集成电路和单片机芯片来进行控制操作。
设计的电路由几个基本模块组成:直流稳压电源,红外发射电路,红外接收电路及控制部分。
发射电路,利用遥控发射利用键盘,这种代码指令信号调制在 40KH z 的载波上,激励红外光二极管产生具有脉冲串的红外波,通过空间的传送到受控机的遥控接收器。
2.红外遥感发射系统的设计红外遥控系统由发射和接收两大部分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制操作。
发射系统设计的电路由如下的几个基本模块组成:直流稳压电源,红外发射电路。
系统框图如图所示。
3.红外发射电路的设计3.1.摇控码的编码格式采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合二进制的“1”。
基于51单片机的红外通信设计报告
基于51单片机的红外通信设计报告研究方案:基于51单片机的红外通信设计报告摘要:本研究旨在通过对基于51单片机的红外通信的研究与实践,对红外通信协议进行优化和改进,提高通信的可靠性和稳定性。
通过设计红外发射器和接收器,并利用51单片机进行编程控制,实现了红外信号的发送与接收。
在实验中,采集了一系列数据,通过对这些数据的整理和分析,发现了现有研究成果的不足之处,并提出了一种新的观点和方法,为解决实际问题提供了有价值的参考。
1. 引言红外通信是一种常见的无线通信方式,具有传输速度快、安全可靠等优点,在家庭电器控制、遥控玩具、无线数据传输等领域广泛应用。
本研究基于51单片机进行红外通信协议的设计与实践,旨在优化和改进红外通信的性能。
2. 研究设计2.1 硬件设计2.1.1 红外发射器设计通过使用红外发光二极管作为发射器,并连接到51单片机的IO口,控制IO口的高低电平来实现对发射器的开关控制。
2.1.2 红外接收器设计通过使用红外接收头作为接收器,并将其连接到51单片机的IO口,通过检测接收器的信号电平变化来判断接收到的红外信号。
2.2 软件设计2.2.1 红外信号解析与发送在51单片机上编写红外信号解析与发送的程序,通过对输入信号的解析,将需要发送的红外信号编码成特定协议的数据帧,再通过IO口的控制将数据帧发送出去。
2.2.2 红外信号接收与解析在51单片机上编写红外信号接收与解析的程序,通过IO口的状态变化检测,获取红外接收器接收到的信号,并对接收到的信号进行解析,还原成原始数据。
3. 实验与调查情况在本研究中,我们通过实验和调查采集了一系列的数据来评估所设计的红外通信系统的性能。
3.1 实验设置我们设置了一个包含发射器和接收器的实验平台。
通过按下遥控器上的按键,触发发射器发送特定红外信号,在接收器上探测到红外信号,并通过51单片机进行信号解析。
3.2 数据采集与分析通过对实验中采集到的数据进行整理和分析,我们可以得到以下结论:(1)在传输距离较近的情况下,信号的可靠性和稳定性良好。
基于单片机的红外遥控设计与及制作
基于单片机的红外遥控设计与及制作引言:近年来,红外遥控技术已经成为了控制家电以及其他设备的一种主要方式。
在遥控器内部,最核心的部件就是单片机。
通过单片机的处理,可以将遥控信号转换为设备能够识别的红外信号。
在本文中,我们将介绍基于单片机的红外遥控器的设计与制作。
一、设计概述在本设计中,我们选用了STC89C52单片机作为中心处理器。
主要的原因是STC89C52具有较高的性价比和稳定性。
此外,我们还需要借助红外发射模块和红外接收模块来实现红外遥控的功能。
二、硬件设计1.单片机电路设计首先,我们需要完成单片机电路的设计。
主要包括单片机的供电电路和晶振电路。
为了提升系统稳定性,我们选用了陶瓷晶振。
电源电路则需要通过稳压芯片来对单片机进行供电,以确保工作电压的稳定。
2.红外发射电路设计红外发射电路主要由红外发射模块、三极管和电流限流电阻组成。
其中,红外发射模块用于发射红外信号,通常带有红外LED灯。
而三极管则起到放大红外LED灯的作用,电流限流电阻则用于限制红外LED灯的电流大小。
3.红外接收电路设计红外接收电路主要由红外接收模块、电流放大器和滤波电路组成。
红外接收模块用于接收红外信号,而电流放大器则起到放大红外接收模块产生的微弱信号的作用。
滤波电路则用于滤除无关的信号,以确保只有红外信号通过。
三、软件设计1.引入头文件首先,在编程环境中引入STC89C52的头文件,以便后续的编程操作能够正常进行。
2.定义红外发射与接收的引脚在程序中,我们需要定义红外发射和接收的引脚,以便进行相关的硬件操作。
3.红外发射信号发送在红外发射信号发送的函数中,我们需要使用红外发射模块提供的函数进行信号发送操作。
通常,发送红外信号可以通过调整信号的载波频率和占空比来实现。
4.红外接收信号处理在红外接收信号处理的函数中,我们需要使用红外接收模块提供的函数进行信号接收操作。
一般来说,接收到的信号会以特定的协议进行编码,我们需要解码后才能获取到实际的遥控信号。
基于单片机的红外遥控智能小车设计
基于单片机的红外遥控智能小车设计引言:随着科技的不断发展,智能物联网已经走进了我们的生活。
智能小车作为一种智能化的产品,能够实现远程遥控、自动避障等功能,受到了广大消费者的青睐。
本文就基于单片机的红外遥控智能小车设计进行详细介绍。
一、设计目标本设计的目标是通过红外遥控,实现对智能小车的远程控制,小车能够根据收到的指令进行行驶、避障等操作。
二、设计原理1.主控芯片:本设计使用单片机作为主控芯片,常用的单片机有51系列、AVR系列等,可根据实际需求选择合适的芯片型号。
2.红外遥控模块:红外遥控模块是实现红外通信的设备,可以将遥控器发出的红外信号解码成数据,实现遥控操作。
3.电机驱动模块:电机驱动模块可将单片机的PWM信号转化为电机的动力驱动信号,控制小车的行驶方向和速度。
4.超声波传感器:超声波传感器可以感知到小车前方的障碍物距离,根据测得的距离,进行相应的避障操作。
5.电源模块:小车需要使用适当的电源,通常是锂电池或者直流电源供应。
三、系统设计1.硬件设计:(1)搭建小车底盘:根据所选择的底盘,搭建小车结构,并安装好电机驱动模块、电源模块等硬件设备。
(2)连接电路:将红外遥控模块、超声波传感器等硬件设备与主控芯片进行连接,确保每个模块正常工作。
2.软件设计:(1)红外遥控程序设计:通过红外遥控模块接收红外信号,并解码成相应的指令。
根据指令控制电机驱动模块,实现小车的行驶方向和速度控制。
(2)超声波避障程序设计:根据超声波传感器测得的距离,判断是否有障碍物,如果有障碍物就停止或者转向。
四、实验结果和讨论经过实验验证,本设计的红外遥控智能小车能够准确接收红外信号,并根据指令控制小车的行驶方向和速度。
同时,超声波传感器能够及时感知到前方的障碍物,并进行相应的避障操作。
然而,该设计仍然存在一些不足之处,比如超声波传感器的测距范围有限,可能无法感知到较小的障碍物。
此外,红外遥控信号的传输距离也有一定限制,需要保持遥控器与小车之间的距离不过远。
基于单片机的红外遥控小车设计
基于单片机的红外遥控小车设计本文将详细介绍基于单片机的红外遥控小车设计。
小车采用红外遥控技术,能够实现远程控制和执行各种动作。
首先,将介绍设计的硬件和软件部分。
然后,将详细描述小车的功能和实现过程。
最后,将对设计进行总结和展望。
硬件部分主要由以下组成:单片机、红外接收器、电机驱动器、电机和电源。
单片机是控制整个系统的核心部件,负责接收红外信号,解码并执行相应的动作。
红外接收器用于接收红外信号并传输给单片机进行解码。
电机驱动器用于控制车辆的运动,根据单片机的指令控制电机的速度和方向。
电机则负责提供车辆的动力。
电源则提供整个系统的电能供应。
软件部分主要由以下组成:单片机的程序和红外信号的解码。
单片机的程序是使用C语言编写的,负责接收红外信号并判断相应的指令。
红外信号的解码则是将红外接收器接收到的信号转换成数字信号,使单片机能够理解和执行。
小车的功能包括前进、后退、左转、右转和停止。
远程控制器上的按键对应不同的指令,通过红外遥控技术将指令发送给红外接收器。
红外接收器接收到指令后,传输给单片机进行解码。
单片机根据指令控制电机驱动器,使小车实现不同的动作。
实现过程如下:首先,根据硬件部分的连接原理图将各个硬件连接起来,并将电源接通。
然后,编写单片机程序,使其能够接收红外信号并解码。
接下来,根据不同的指令,编写程序控制电机驱动器,使小车实现前进、后退、左转、右转和停止的功能。
最后,对整个系统进行测试和调试,验证其功能和性能。
在设计过程中,还需要考虑小车的安全性和可靠性。
例如,可以加入碰撞检测功能,当小车检测到碰撞时,自动停止运动。
同时,还可以加入电池电量检测功能,当电池电量低于一定值时,自动停止运动并发出警报。
总结:通过本文的介绍,我们了解了基于单片机的红外遥控小车设计。
该设计能够实现远程控制和执行各种动作,具有很大的应用潜力。
然而,在实际应用中,还需要进一步优化设计,以提高小车的性能和功能。
希望未来能够有更多的研究和创新,推动该领域的发展。
基于51单片机红外遥控小车制作报告
基于51单片机红外遥控小车制作报告基于51单片机红外遥控小车是一项有趣且有挑战性的项目,通过该项目的实践,可以深入了解单片机和红外遥控的原理,并提高自己的动手能力和解决问题的能力。
本文将介绍基于51单片机红外遥控小车的制作过程和实现的功能。
一、实验原理1.51单片机原理51单片机是一种广泛应用于电子产品和嵌入式系统中的微控制器,采用的是哈佛结构,具有较高的性能和稳定性,广泛使用于工业自动化和嵌入式开发中。
2.红外遥控原理红外遥控是一种常见的遥控方式,通过使用红外光发射器和接收器之间的通信,实现无线遥控设备的功能。
红外遥控信号一般由多个比特组成的数据包,通过不同的数据包可以实现不同的操作。
二、实验器材和工具1.器材2个电机、L298N电机驱动模块、51单片机、红外接收器、红外发射器、遥控器、电池盒、杜邦线等。
2.工具电烙铁、焊锡、剪线钳、螺丝刀、万用表等。
三、制作步骤1.电路连接将L298N电机驱动模块与电机连接,L298N模块的输入引脚与单片机的输出引脚连接,红外接收器与单片机的IO引脚连接,红外发射器与单片机的IO引脚连接。
2.程序设计根据需求编写程序,包括红外遥控信号解析、电机控制等功能。
3.调试测试四、实现的功能1.红外信号解析通过红外接收器接收到遥控器发送的红外信号,解析信号中的数据包,判断用户的操作。
2.基本运动控制根据用户的操作,通过控制电机的转动方向和速度,实现小车的前进、后退、左转、右转等基本运动功能。
3.灵敏度调节通过调整程序中的参数,可以调节小车的灵敏度,使其对用户的操作更加敏感和准确。
4.智能避障在程序中添加红外避障功能,当小车检测到前方有障碍物时,自动停下或转向避开障碍物,保证小车的安全。
五、实验心得通过制作基于51单片机红外遥控小车的实验,我深入了解了51单片机和红外遥控的原理,并提高了自己的动手能力和解决问题的能力。
在实验过程中遇到了一些困难,但通过查阅资料和与同学交流,我成功地解决了这些问题。
基于单片机的红外线遥控器设计毕业设计
毕业设计设计课题:基于单片机的红外线遥控器设计摘要随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。
传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。
本设计主要应用了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)绪论人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。
基于51单片机的红外遥控器设计
基于51单片机的红外遥控器设计近年来,随着智能家居的兴起,红外遥控器在我们的生活中扮演着越来越重要的角色。
本文将基于51单片机,设计一个简单的红外遥控器。
首先,我们需要了解红外遥控器的工作原理。
红外遥控器使用红外线来传输指令。
当用户按下遥控器上的按键时,红外发射器发射一个特定的红外信号。
接收器接收到这个信号后,将其转换成电信号,并将其发送到电子设备中,实现对设备的控制。
接下来,我们需要选择合适的红外发射器和接收器。
常见的红外发射器有红外LED,常见的红外接收器有红外接收头。
在选择红外发射器和接收器时,要根据其工作频率、传输距离、灵敏度等因素进行选择。
在本设计中,我们选择了工作频率为38kHz的红外发射器和接收器。
接下来,我们需要设计电路,并进行程序开发。
首先,我们需要连接红外发射器和接收器到51单片机上。
红外发射器的一个引脚连接到51单片机的I/O口,另一个引脚连接到正极电源,第三个引脚连接到电源的接地端。
红外接收器的输出引脚连接到51单片机的I/O口,电源和接地端分别连接到正负电源。
接下来,我们需要编写程序。
首先,我们需要设置51单片机的I/O 口为输入或输出。
然后,我们需要编写程序来发送红外信号。
我们可以使用PWM技术来模拟红外信号的脉冲。
当用户按下遥控器上的按键时,我们可以发送一个特定的脉冲序列,来控制电子设备。
同时,我们还需要编写程序来接收红外信号。
当红外接收器接收到红外信号时,会输出一个特定的电平信号。
我们可以使用外部中断来检测这个信号,并进行相应的处理。
在程序开发过程中,我们需要注意红外信号的协议。
常见的红外信号协议有NEC、SONY等。
我们需要根据所使用的红外接收器的协议来编写相应的程序。
最后,我们需要测试代码的功能和稳定性。
可以通过连接电子设备,按下遥控器上的按键,来测试红外信号的发送和接收功能。
如果一切正常,我们的红外遥控器设计就完成了。
总结起来,基于51单片机的红外遥控器设计是一个简单而有趣的项目。
单片机红外遥控系统设计
单片机红外遥控系统设计摘要:本文主要探讨了单片机红外遥控系统的设计和实现。
首先,对红外遥控技术的原理进行了简要介绍,并对系统的硬件和软件进行了详细的设计和分析。
然后,根据设计的要求和功能需求,使用C语言编程实现了系统的核心功能。
最后,通过实验验证了系统的可行性和稳定性,并进行了性能测试。
关键词:单片机、红外遥控、系统设计、C语言编程1.引言随着科技的不断发展,红外遥控技术在遥控电子设备中得到了广泛的应用。
单片机作为控制器件,可以有效地实现红外遥控系统的设计和控制。
本文基于单片机,设计了一套红外遥控系统,并使用C语言编程实现其功能。
2.红外遥控技术原理红外遥控技术是利用红外线传输信号,控制电子设备的一种技术。
红外线是一种在光谱中不可见的电磁辐射,其波长通常在0.75到1000微米之间。
红外遥控系统由遥控器和接收器组成,遥控器通过发送特定的红外信号,接收器通过接收和解码红外信号,完成对电子设备的控制。
3.系统设计3.1硬件设计系统的硬件设计包括红外遥控器和接收器两部分。
红外遥控器由按键、红外发射器和电源组成。
接收器由红外接收器、解码器和电源组成。
3.2红外信号编码红外信号编码是指将按键信息转化为红外信号进行传输。
按键信息一般使用二进制码进行表示。
在系统设计中,可以使用NEC红外协议进行红外信号的编码和解码。
3.3系统功能设计系统的功能设计包括红外信号发送和接收两部分。
红外信号发送功能实现了将按键信息转化为红外信号发送出去,红外信号接收功能实现了接收和解码红外信号,并根据解码结果进行相应的操作,如控制电子设备的开关。
4.系统实现4.1硬件实现在硬件实现中,需要选择合适的红外发射器和接收器,并进行电路连接。
遥控器和接收器分别通过数据线进行连接,遥控器的电源通过电池供电,接收器的电源可以通过外部电源供电。
4.2软件实现软件实现主要使用C语言进行编程,通过单片机的IO口控制红外发射器和接收器,并实现红外信号的编码和解码。
基于单片机红外遥控开关的设计
基于单片机红外遥控开关的设计一、引言随着科技的发展和人们对生活品质的追求,智能化家居逐渐成为人们生活中的一部分。
其中,红外遥控技术是实现智能化家居的重要手段之一、本文将介绍基于单片机的红外遥控开关的设计方案,通过学习该方案,读者可以了解到红外遥控技术的原理和应用。
二、设计方案1.硬件设计本设计方案采用AT89S52单片机作为控制核心,通过红外接收头接收红外信号,并通过解码,将信号转化为数字信号;同时,使用继电器作为开关,通过控制继电器的通断,实现对电器设备的开关控制。
2.红外信号解码红外信号解码是实现遥控开关的关键步骤。
当用户按下遥控器上的按键时,红外发射器会发射一组特定的红外信号。
这组信号会被红外接收头接收,并通过解码器进行解码。
解码器将解码后的信号与预设的数据进行比对,确认遥控指令是否有效。
如果有效,则向单片机发送指令,控制继电器通断。
3.程序设计在单片机中,需要编写相关的程序,实现对红外信号的解码和继电器的控制。
首先需要配置单片机的I/O口为输入和输出模式,然后初始化红外接收头,设置外部中断,以便能够接收到红外信号。
接收到红外信号后,将解码后的数据与预设的数据进行比对,如果相同,则通过单片机的输出口控制继电器的通断,实现开关控制。
三、实验结果通过实验验证,基于单片机红外遥控开关的设计方案可以正常工作。
用户可以通过按下遥控器上的按键,控制继电器的通断,从而实现对电器设备的开关控制。
四、应用展望基于单片机红外遥控开关的设计方案可以广泛应用于智能化家居中,通过设置不同的红外编码,可以实现对不同设备的开关控制。
例如,通过不同编码实现对灯光、电视、空调等设备的开关控制。
此外,还可以通过增加传感器模块,实现对环境的监测和控制。
比如,根据温度传感器的数据,自动控制空调的开关,实现智能化温度控制。
总结:基于单片机红外遥控开关的设计方案利用了红外遥控技术和单片机控制技术,实现了对电器设备的智能化控制。
通过学习该方案,读者可以了解到红外遥控技术的原理和应用,以及单片机的应用。
51单片机-毕业设计基于单片机设计的红外线遥控器
从光学的角度而言,红外光是频率低于红色光的不可见光,在无线光谱的整个频率中占有很小一个频率段,波长为0.75—100微秒之间,其中0。75—3微秒之间的红外光称为近红外,3—30微秒之间的红外光称为中红外,30—100微秒之间的称为远红外。红外光就其性质而言很简单,与普通光线的频率特性没有很大的区别,但是,由于任何有热量的物体均有能量产生,所以红外的利用非常广泛,而且不可取代,能否检测红外、能测到多少红外或者红外检测的技术是否可以应用于任何自然的或想象的场合是红外应用技术的关键.
四、主要参考文献:
[1]梅丽凤,王艳秋,张军等。单片机原理及接口技术,北京:清华大学出版社,2004年。
[2]戴峻峰,付丽辉。多功能红外线遥控器的设计,传感器世界。2002,8(12):16~18.
[3]李光飞,楼然苗,胡佳文等.单片机课程设计实例指导,北京:北京航空航天出版社,
2004年.
[4]苏长赞。红外线与超声波遥控,北京:人民邮电出版社.1995年.
3.4独立式按键结构……………………………………………………………10
3。5掉电保护与低功耗设计……………………………………………………10
3。5.1低功耗的实现方法……………………………………………………10
3。5.2掉电保护与低功耗设计………………………………………………11
3。6系统完整电路设计图………………………………………………………13
2010.6。26~2010。8.10
在老师指导下反复修改,完成设计
五、指导教师意见:
指导教师签名:2010年5月10日
六、系部意见:
系主任签名:2010年5月11日
基于单片机的红外线遥控器
摘要
红外遥控系统毕业设计基于单片机的红外遥控系统设计
《单片机设计》课程设计题目:基于单片机的红外遥控系统设计专业:电气工程系班级:姓名:学号:指导教师:小组成员:成绩:摘要随着社会的进展、科技的进步和人们生活水平的慢慢提高,各类方便于生活的遥控系统开始进入了人们的生活。
采纳单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优势。
由于单片机具有集成度高、体积小、靠得住性高、价钱廉价等优势,其在机电一体化、工业操纵、仪器仪表和家用电器等领域取得了普遍应用。
当前单片机对家用电器操纵呈现出外形简单化、功能多样化、产品智能化的进展趋向。
红外遥控技术具有利用方便、功耗低、抗干扰能力强、价钱廉价的特点,因此它的应用前景十分广漠。
本课题以延伸红外无线遥控技术为目的,提出了一种红外遥控器集中操纵的方案,核心是设计出一个红外接收系统。
本设计以红外线作为传递信息的载体,可对受控对象的工作状态进行短距离无线操纵,适用于遥控工业、医疗、家用电器等设备的开闭状态。
并含有设备计数模块,可对处于工作状态的设备进行计数,并显示出来。
课题的重点在于通过软件实现二进制数据的解码工作,然后通过红外收发头进行数据传输操纵系统。
关键词:红外遥控;单片机操纵;显示模块目录1 引言........................................................................................................................................ - 4 -1.1 课题研究的目的........................................................................................................... - 4 -............................................................................................................................................. - 4 - 2设计任务及要求....................................................................................................................... - 5 -2.1红外遥控系统的设计与实现任务,要紧完成:........................................................ - 5 -2.2 红外遥控系统的设计要求:....................................................................................... - 5 -3 红外遥控系统的硬件设计...................................................................................................... - 6 -3.1 本设计方案思路......................................................................................................... - 6 -3.2 研发方向和技术关键................................................................................................. - 6 - ..................................................................................................................................................... - 7 - ...................................................................................................................................... - 7 -3.3.3 红外接收模块.................................................................................................. - 11 -3.3.4 LED模拟外围设备模块.................................................................................. - 12 -.................................................................................................................................... - 13 - 4 红外遥控系统的软件设计.................................................................................................... - 14 -4.1 主控程序..................................................................................................................... - 14 -4.2 遥控发射部份............................................................................................................. - 14 -4.3 遥控接收处置部份..................................................................................................... - 15 -5 测试结果及分析.................................................................................................................... - 15 -5.1 实验仪与运算机的连接............................................................................................. - 15 -5.2 硬件系统的调试......................................................................................................... - 16 -5.3 软件系统的调试......................................................................................................... - 16 -6 总结与体会............................................................................................................................ - 16 - 参考文献.................................................................................................................................... - 17 - 7附录程序代码....................................................................................................................... - 18 -1 引言1.1 课题研究的目的本设计要紧研究并设计一个基于单片机的红外发射及接收系统,实现对温度操纵、蜂鸣器、LED灯的隔离操纵。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的红外遥控设计与制作13工试2班陈舒佳章韬略一、设计目的对于本课题的研究,其理论中的价值是对红外线这种电磁波的特性进行更加深入的研究。
同时在与单片机和电子电路的共同作用下,找到单片机及电子电路在实际运用中的更多功能,从而挖掘出红外线和硬件设备结合中的更多可能性。
在现实意义中,对于红外线的使用,它不仅提高了单片机、硬件设备和硬件系统在智能遥控领域的广泛应用,而相对了在硬件设施上使用了红外线的遥控技术,也同时大大拓宽了硬件设施的应用范围。
在不久的将来,我相信,人们对于红外遥控控制的运用,会变得越来越广。
二、设计要求基本功能要求:1.以一个单片机作为控制遥控器,另一个单片机控制系统为被遥控对象;2.用遥控器的10个遥控开关,控制遥控对象的10个电源开关通断;3.能实现10个电源开关状态显示;4.能实现定时开关某一个电源开关。
扩展功能:1.能实现灯光亮度连续调节;2.能根据不同电器实现不同时间通断控制;3.其他扩展功能。
三、方案设计3.1红外遥控发射电路的方案采用指令键产生电路产生不同的控制指令,单片机进行状态的编码,直接由单片机的口输出方波信号控制红外发射管进行发射。
红外发射管采用普通的红外发射二极管。
3.2红外遥控接收电路的方案遥控系统采用红外线脉冲个数编码,直接利用单片机软件解码,实现功能的遥控。
3.3单片机的选择本设计所编写的程序比较简单,功能也比较少,所用到的输入输出端口也不是很多,所以我们决定用STC89C52单片机来完成本设计,既方便也很实用。
3.4红外遥控系统电路的原理框图以及各部分作用各部分作用:(1)行列式键盘行列式键盘又称为矩阵式键盘,用I/O线组成行列结构,按键设置在行列的交点上,行列式分别连接到按键开关的两端。
键盘中有无按键按下是由行线送入扫描字及列线读入列线状态字来判断的,有键按下时通过查键并执行键功能程序。
(2)红外线发射电路遥控器信息码由单片机的定时器1中断产生40KHZ红外线方波信号。
由P3.5口输出,经过三极管放大,由红外线发射管发送。
(3)单片机单片机用于输出方波信号控制红外发射电路的工作。
3.5红外接收部分原理框图以及各部分作用各部分作用: (1)+5V电源电路给单片机最小系统、控制电路提供以及红外接收电路提供电压。
(2)红外接收电路红外接收电路把接收到的状态在内部进行解码,从而实现不同的功能。
(3)控制电路通过发射电路的按键实现对控制电路的控制作用。
3.6系统硬件电路的设计红外发射电路:红外接收电路:四、遥控发射及接收控制电路的软件设计4.1 软件设计流程图4.1.1键扫描程序流程图相应的按键扫描程序:#include<reg52.h>#define uint unsigned int#define uchar unsigned char#define keyrow P0#define keyline P2uchar code keyv[8]={1,2,4,8}; uchar keyscan(void){uchar keyval,i;keyval=0;keyrow=0xfe;if(keyline!=0xff)for(i=0;i<4;i++)if(~keyline==keyv[i]) keyval=i+1; keyrow=0xfd;if(keyline!=0xff)for(i=0;i<4;i++)if(~keyline==keyv[i]) keyval=i+5; keyrow=0xfb;if(keyline!=0xff)for(i=0;i<4;i++)if(~keyline==keyv[i]) keyval=i+9; keyrow=0xf7;if(keyline!=0xff)for(i=0;i<4;i++)if(~keyline==keyv[i]) keyval=i+13; while(keyline!=0xff);return(keyval);}红外信号发射过程:该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲,为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控码数据帧间隔大于10ms 。
当某个被控电器的电源开关被按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成40kHz 方波由红外线发光管发身出去。
sbit remoteout=P3^5;extern void delay1ms(uint time);/*************初始化函数***********/void init(void) {remoteout=0;IE=0x00;IP=0x08;TMOD=0x22;TH1=0xf3;TL1=0xf3;EA=1;}/*****************发射函数***********/void send_infrared(uchar keyval){uchar m;ET1=1;TR1=1;delay1ms(3);ET1=0;TR1=0;remoteout=0;for(m=keyval;m>0;m--) {delay1ms(1);ET1=1;TR1=1;delay1ms(1);ET1=0;TR1=0;remoteout=0; }delay1ms(10);}/******************40KHZ发生器************/ void time_intt1(void) interrupt 3 {remoteout=~remoteout; }4.1.3遥控发射主程序流程图遥控发射的主程序流程图:首先初始化程序,然后调用键扫描程序。
相应的发射主程序如下:#include<reg52.h>#define uint unsigned int#define uchar unsigned charextern uchar keyscan(void);extern void init(void);extern void send_infrared(uchar keyval);void delay1ms(uint time) {uint i,j;for(i=0;i<time;i++)for(j=0;j<110;j++);}void main(){uint keyval;init();while(1){keyval=keyscan();while(keyscan());if(keyval) {send_infrared(keyval);}}}4.1.4 中断程序流程图中断过程:首先判断低电平脉宽度是否大于2ms,若脉宽不到2ms,则中断返回;若低电平大于2ms,则接收并对低电平脉冲计数,接下来看判断高电平脉宽度冲是否大于3ms,若脉宽不到3ms,则返回上一接收计数过程;若高电平脉宽大于3ms,则按照脉冲个数至对应功能程序。
此时中断返回。
相应的中断程序如下:#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit remotein=P3^1;extern void delay1ms(uint time);uchar value;/***********初始化********/void clearmen(void){EX0=1;EA=1;}/**************外中断遥控接收函数**************/void intt0(void) interrupt 0{ uchar keyval,k,sign;EX0=0;sign=0;keyval=0;if(remotein==0){delay1ms(2);if(remotein==0)while(1){while(remotein==0);keyval++;k=0;delay1ms(1);while(remotein==1){delay1ms(1);k++;if(k>2){value=keyval-1;sign=1;break;}} if(sign) break;}}EX0=1;}4.1.5遥控接收器主程序流程图相应的接收主程序:#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intextern void clearmen(void);extern uchar value;uchar temp;void delay1ms(uint time) {uint i,j;for(i=0;i<time;i++)for(j=0;j<110;j++);void youyi(void) //7个流水灯逐个闪动{ uint i;temp=0x01;for(i=0;i<8;i++){P2=~temp;delay1ms(1000);temp<<=1;}}void zuoyi(void) //7个流水灯反向逐个闪动{ uint i;temp=0x80;for(i=0;i<8;i++){P2=~temp;delay1ms(1000);Temp>>=1;}}void quanliang(void){uint i;temp=0xfe;for(i=0;i<8;i++) //7个流水灯依次全部点亮{P2=temp;delay1ms(1000);temp<<=1;}}void fquanliang(void){uint i;temp=0x7f;for(i=0;i<8;i++) //7个流水灯依次全部点亮{P2=temp;delay1ms(1000);Temp>>=1;}void main(){ clearmen();P0=0xff;while(1) {if(value==1) {P2=0xfe;}if(value==2) {P2=0xfd;}if(value==3) {P2=0xfb;}if(value==4 {P2=0xf7;}if(value==5) {P2=0xef;}if(value==6) {P2=0xdf;}if(value==7) {P2=0xbf;}if(value==8) {P2=0x7f;}if(value==9) {P1=0xfe;}if(value==10) {P1=0xfd;}if(value==11) youyi();if(value==12) zuoyi();if(value==13) quanliang();if(value==14) fquanliang();}}五、演示结果当按下键1时,发光二极管LED1亮;当按下键2时,发光二极管LED2亮;当按下键3时,发光二极管LED3亮;当按下键4时,发光二极管LED4亮;当按下键5时,发光二极管LED5亮;当按下键6时,发光二极管LED6亮;当按下键7时,发光二极管LED7亮;当按下键8时,发光二极管LED8亮;当按下键9时,发光二极管LED9亮;当按下键10时,发光二极管LED10亮;当按下键11时,发光二极管LED8-LED1依次渐亮;当按下键12时,发光二极管LED1-LED8依次渐亮;当按下键13时,发光二极管LED8-LED1依次全亮;当按下键14时,发光二极管LED1-LED8依次全亮;附录:1.程序:#include<reg52.h>#define uint unsigned int#define uchar unsigned char#define keyrow P0#define keyline P2uchar code keyv[8]={1,2,4,8};uchar keyscan(void){uchar keyval,i;keyval=0;keyrow=0xfe;if(keyline!=0xff)for(i=0;i<4;i++)if(~keyline==keyv[i]) keyval=i+1;keyrow=0xfd;if(keyline!=0xff)for(i=0;i<4;i++)if(~keyline==keyv[i]) keyval=i+5;keyrow=0xfb;if(keyline!=0xff)for(i=0;i<4;i++)if(~keyline==keyv[i]) keyval=i+9;keyrow=0xf7;if(keyline!=0xff)for(i=0;i<4;i++)if(~keyline==keyv[i]) keyval=i+13;while(keyline!=0xff);return(keyval);}sbit remoteout=P3^5;extern void delay1ms(uint time);/*************初始化函数***********/void init(void) {remoteout=0;IE=0x00;IP=0x08;TMOD=0x22;TH1=0xf3;TL1=0xf3;EA=1;}/*****************发射函数***********/void send_infrared(uchar keyval){uchar m;ET1=1;TR1=1;delay1ms(3);ET1=0;TR1=0;remoteout=0;for(m=keyval;m>0;m--) {delay1ET1=1;TR1=1;delay1ms(1);ET1=0;TR1=0;remoteout=0; } delay1ms(10);}/******************40KHZ发生器************/void time_intt1(void) interrupt 3 {remoteout=~remoteout; }extern uchar keyscan(void);extern void init(void);extern void send_infrared(uchar keyval);void delay1ms(uint time) {uint i,j;for(i=0;i<time;i++)for(j=0;j<110;j++);}void main(){uint keyval;init();while(1){keyval=keyscan();while(keyscan());if(keyval) {send_infrared(keyval);}}接收系统:#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit remotein=P3^1;extern void delay1ms(uint time);uchar value;/***********初始化********/void clearmen(void){EX0=1;EA=1;}/**************外中断遥控接收函数**************/ void intt0(void) interrupt 0{ uchar keyval,k,sign;EX0=0;sign=0;keyval=0;if(remotein==0){delay1ms(2);if(remotein==0)while(1){while(remotein==0);keyval++;k=0;delay1ms(1);while(remotein==1){delay1ms(1);k++;if(k>2){value=keyval-1;sign=1;break;}} if(sign) break;}EX0=1;}接收主程序:extern void clearmen(void); extern uchar value;uchar temp;void delay1ms(uint time) { uint i,j;for(i=0;i<time;i++)for(j=0;j<110;j++);}void youyi(void){ uint i;temp=0x01;for(i=0;i<8;i++){P2=~temp;delay1ms(1000);temp<<=1;}}void zuoyi(void){ uint i;temp=0x80;for(i=0;i<8;i++){P2=~temp;delay1ms(1000);Temp>>=1;}}void quanliang(void) {uint i;temp=0xfe;for(i=0;i<8;i++){P2=temp;delay1ms(1000);temp<<=1;}void fquanliang(void){uint i;temp=0x7f;for(i=0;i<8;i++){P2=temp;delay1ms(1000);Temp>>=1;}}void main(){ clearmen();P0=0xff;while(1) {if(value==1) {P2=0xfe;}if(value==2) {P2=0xfd;}if(value==3) {P2=0xfb;}if(value==4 {P2=0xf7;}if(value==5) {P2=0xef;}if(value==6) {P2=0xdf;}if(value==7) {P2=0xbf;}if(value==8) {P2=0x7f;}if(value==9) {P1=0xfe;}if(value==10) {P1=0xfd;}if(value==11) youyi();if(value==12) zuoyi();if(value==13) quanliang();if(value==14) fquanliang();}}2.个人小结这次课程设计我们的题目是设计单片机遥控系统设计,以51单片机为基础通过红外发射与接收装置来实现信息的传递,通过这次课程设计,我学会了红外通信装置的使用以及它们之间编码的设计。