基于单片机的红外无线控制
- 格式:doc
- 大小:71.50 KB
- 文档页数:17
摘要红外无线数据传输系统是一种利用红外线作为传输媒介的无线数据传输方式,它相对于无线电数据通信具有功耗低、价格便宜、低电磁干扰、高保密性等优点,目前发展迅猛,尤其是在近距离无线数据通信中得到广泛的运用.本文主要介绍基于51单片机的红外无线数据传输系统的原理.在硬件设计原理的介绍中,主要分析了系统中NE555数据调制电路、红外发射电路、红外接收电路、DS18B20温度传感器电路、单片机外围电路以及声光报警电路。
在系统软件设计的介绍中,我们主要分析单片机串口通信协议、控制温度传感器采集数据、对数据的编解码;而液晶显示部分软件则是为了具有更好的人机交互界面。
通过调试后,本系统基本达到预期要求,1、正确实现双机通信功能,在2400波特率下通信距离达到7米左右;2、具有在超时通信不畅的情况下进行报警提示功能;3、具有自动搜寻一帧数据起始位的功能,这样可以有效防止外界的干扰;4、通过串口可以与PC机实现正确通信,可以作为计算机的红外无线终端,完成数据的上传和下放.因此本系统具有广阔的实用价值。
关键词:AT89S52单片机;数据采集;红外通信;调制解调;串口通信AbstractInfrared wireless data transmission system is a wireless data transfer method that uses infrared as a transmission medium, Compared with the radio data communication,it has many advantages in power consumption, Production costs,electromagnetic interference,and the confidentiality. At present,this technology is developing rapidly,In particular, It is widely used in short—range wireless data communications,In this paper,we are introduced infrared wireless data transmission system’s theory that based on the single—chip microcomputer 51. In the hardware design principle introduction,We mainly analysis the system's data modulation circuit of NE555, infrared transmitter,IR receiver circuit, DS18B20 temperature sensor circuit,microcontroller peripheral circuits, as well as sound and light alarm circuit。
单片机的红外通信原理
单片机的红外通信原理是通过红外发射器和红外接收器进行数据的发送和接收。
红外发射器是一个用于发射红外光信号的器件,它通过电流激励而发射出红外光。
红外接收器则是一个用于接收红外光信号的器件,它可以将接收到的红外光信号转换成对应的电压信号。
在红外通信过程中,发送端的单片机首先将需要发送的数据转换成红外光信号。
这可以通过对红外发射器施加电压的方式来实现。
当电压施加在红外发射器上时,它会以特定的频率发射红外光信号。
这个特定的频率一般是在红外光线可见范围之外,人眼无法看到。
接收端的单片机上安装了红外接收器,它可以接收来自发送端发射的红外光信号。
红外接收器将接收到的红外光信号转换成电压信号,并通过单片机进行处理。
单片机根据接收到的信号特征,判断出是哪个发射器发出的信号,并解码出相应的数据信息。
然后,单片机可以根据接收到的数据进行相应的操作,比如控制其他器件的开关或者进行数据的存储和处理。
红外通信在遥控器、红外设备和红外传感器等方面有着广泛的应用。
通过红外通信,可以实现无线传输和控制,具有灵活性高、成本低的优势。
基于STM32单片机的智能红外测温小车设计与实现1. 引言智能红外测温技术在现代工业、医疗、农业等领域中得到广泛应用,而基于STM32单片机的智能红外测温小车的设计与实现,可以实现自动测量、远程操作等功能,提高测温效率和准确性。
本文将详细介绍该智能红外测温小车的设计与实现过程。
2. 系统架构智能红外测温小车由STM32单片机、红外测温传感器、电机驱动模块、Wi-Fi模块等组成。
STM32单片机充当中央处理器,接收并处理红外测温传感器采集的数据,通过驱动模块控制小车的运动,同时通过Wi-Fi模块实现与外界的通讯。
3. 硬件设计3.1 STM32单片机选择与连接选择STM32系列单片机作为中央处理器,根据需求选择适当的型号(如STM32F103C8T6),并将其与其他硬件模块(如传感器和驱动模块)进行连接,实现数据的输入和输出。
3.2 红外测温传感器选择合适的红外测温传感器模块,通过连接到STM32单片机的模拟输入引脚,实现对环境温度的采集和测量。
3.3 电机驱动模块选择适当的电机驱动模块,通过连接到STM32单片机的输出引脚,控制小车的运动,包括前进、后退、左转和右转等操作。
3.4 Wi-Fi通讯模块选择合适的Wi-Fi通讯模块,将其连接到STM32单片机的串口或SPI接口,通过无线网络与其他设备(如PC或手机)进行通讯,实现遥控和数据传输等功能。
4. 软件设计4.1 系统初始化在STM32单片机中,初始化各个硬件模块,包括红外测温传感器、电机驱动模块和Wi-Fi通讯模块,配置相应的引脚和参数,为后续操作做好准备。
4.2 红外测温数据采集通过STM32单片机读取红外测温传感器采集的模拟量数据,并进行相应的数值转换和校准,得到实际的温度数值。
4.3 运动控制通过STM32单片机控制电机驱动模块,实现小车的前进、后退、左转和右转等运动操作。
根据红外测温数据的变化,可以自动调整小车的运动方向,实现对温度异常区域的快速检测。
课程实训报告课程名称:单片机与接口技术实训题目:红外控制直流电机正反转任务书一、实训任务设计一款基于AT89C51单片机用红外遥控控制电机的正反转加减速。
二、设计要求1. 基本要求1).用无线模块控制电机的正反转加减速,实现自动化控制。
2).通过对AT89C51单片机的编程,实现直流电机的正反转,加减速。
3).写出详细的设计报告。
4).给出全部电路和源程序。
2. 发挥部分1).可通过PC机,对系统编程,实现直流电机转速的快慢。
摘要随着科技的不断进步,人们进入了无线电时代,它为我们的生活带来了极大的方便。
像现在的移动电话,无线网络,无线鼠标,无线键盘等都已经融入了我们的生活当中。
从我们身边的电子产品就可以看出我们已经进入了无线电时代。
本设计就是一款基于AT89C51的用无线模块控制的电机的正反转以及它的加减速。
这非常适应于在工厂使用,特别是在工业控制中。
可以想象,机器在工厂运转时,我们只需要用无线遥控来控制电机的转速以及它的转向,这样我们就可以在远处来控制了,用不着再跑到电机的旁边来控制开关,为工厂生产带来了极大的方便。
软件上采用C51编程,主要编写了主程序,直流电机驱动程序,中断程序延时程序等。
经过调试,实现了对电机的控制。
关键词:AT89C51 L298 PWM 直流电机无线模块目录第一章绪论 (5)1.1 概述 (5)1.2 设计目的 (5)1.3 设计任务和内容 (5)第二章总体设计及核心器件简介 (7)2.1总体设计 (7)2.2 AT89C51 (7)2.3 L298 (9)引脚介绍: (10)2.4 伺服电机介绍 (11)2.5 PT2262/PT2272 (12)第三章单元电路模块设计 (17)3.1 复位电路 (17)3.2时钟电路 (18)3.3电机驱动电路图 (18)3.4PWM调速系统设计 (19)第四章软件编程设计 (21)4.1 设计思想 (21)4.2 流程图 (21)4.3源程序 (22)第五章设计心得和存在问题 (26)第一章绪论1.1 概述近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
基于STC89C51单片机的红外遥控智能家居系统设计1. 本文概述阐述问题:我会指出当前智能家居系统中存在的问题,以及为什么需要基于STC89C51单片机的解决方案。
提出解决方案:接着,我会概述STC89C51单片机在智能家居系统中的作用以及红外遥控技术的优势。
文章结构:我会简要介绍文章的结构,说明接下来的章节将如何展开。
随着科技的不断进步,智能家居系统逐渐成为现代家庭生活的一部分,它们通过提高居住环境的舒适性、安全性和便利性,极大地提升了人们的生活质量。
现有的智能家居系统在集成性、成本效益和用户交互体验方面仍存在不足。
为了解决这些问题,本文提出了一种基于STC89C51单片机的红外遥控智能家居系统设计方案。
STC89C51单片机以其较低的成本、丰富的功能和良好的稳定性,成为实现智能家居控制的理想选择。
结合红外遥控技术,该系统不仅能够实现远程控制家电设备,还能通过简单的编程实现个性化的家居自动化场景,从而为用户提供更加灵活和智能的居住体验。
本文将首先介绍智能家居系统的基本概念和发展趋势,然后详细阐述STC89C51单片机的工作原理及其在智能家居系统中的应用。
接着,本文将描述红外遥控技术的原理,并展示如何将其与STC89C51单片机结合,实现对家居设备的智能控制。
本文将通过一个实际的系统设计案例,展示该设计方案的可行性和实用性。
2. 相关技术综述单片机技术:介绍STC89C51单片机的基本特性,包括其处理能力、内存、IO端口等,并说明其在智能家居系统中的应用优势。
红外通信技术:概述红外通信的基本原理,包括信号的调制、传输和解码过程,以及红外技术在遥控设备中的优势。
智能家居系统架构:描述智能家居系统的一般架构,包括控制中心、通信协议、传感器和执行器等组成部分。
现有智能家居解决方案:简要回顾市场上已有的智能家居解决方案,分析它们的特点和局限性。
设计挑战与创新点:讨论在设计基于STC89C51单片机的红外遥控智能家居系统时面临的技术挑战,以及本设计相对于现有技术的创新之处。
单片机STM32F103C8T6的红外遥控器解码系统设计一、本文概述本文旨在详细阐述基于STM32F103C8T6单片机的红外遥控器解码系统的设计和实现过程。
随着科技的不断进步和智能化设备的普及,红外遥控器作为一种常见的遥控设备,已经广泛应用于家电、安防、玩具等多个领域。
然而,红外遥控器发出的红外信号往往需要通过解码器才能被设备正确识别和执行,因此,设计一款高效、稳定、可靠的红外遥控器解码系统具有重要意义。
本文将首先介绍红外遥控器的基本原理和信号特点,然后详细阐述STM32F103C8T6单片机的性能特点和在红外遥控器解码系统中的应用优势。
接着,将详细介绍红外遥控器解码系统的硬件设计,包括红外接收头的选择、电路设计和PCB制作等。
在软件设计部分,将详细阐述如何通过STM32F103C8T6单片机的编程实现红外信号的接收、解码和处理,以及如何将解码后的数据通过串口或其他通信方式发送给主控制器。
本文还将对红外遥控器解码系统的性能进行测试和分析,包括信号接收距离、解码速度和稳定性等方面的测试。
将总结本文的主要工作和创新点,并对未来的研究方向进行展望。
通过本文的研究和实现,旨在为红外遥控器解码系统的设计提供一种新的思路和方法,同时也为相关领域的研究人员提供有益的参考和借鉴。
二、红外遥控器基础知识红外遥控器是一种常见的无线遥控设备,它利用红外光作为信息载体,通过发射和接收红外光信号实现对设备的远程控制。
这种遥控方式因其简单、低成本和无需视线连接等优点,在各类消费电子产品中得到了广泛应用,如电视机、空调、音响等。
红外遥控器的工作原理主要基于红外辐射和光电器件的检测。
遥控器内部通常包含一个或多个红外发射管,当按下按键时,发射管会发射出特定频率和编码的红外光信号。
接收端则配备有红外接收头,该接收头内部有一个光敏元件(如硅光敏三极管或光敏二极管),用于检测红外光信号并将其转换为电信号。
为了区分不同的按键操作,红外遥控器通常采用特定的编码方式对按键信号进行编码。
ping primary school fire safety systems to e nha nce fire safety, prote ction of public property and t he life and property safety of teacher s and students, school fire safety into day-to-day ma nagement, is devel opi ng the following fire safety system. 1, strengt hen fire safety educati on of the whole school. Accordi ng to the re quireme nts of the Fire S ervices A ct, so t hat everyone has of keeping fire control safety, pr otecting fire control facilities, fire preve ntion, reports of fire学生毕业设计(论文)报告系别:专业:班号:学生姓名:学生学号:设计(论文)题目:基于单片机设计的红外线遥控器指导教师:设计地点:起迄日期:ping primary school fire safety systems to e nha nce fire safety, prote ction of public property and t he life and property safety of teacher s and students, school fire safety into day-to-day ma nagement, is devel opi ng the following fire safety system. 1, strengt hen fire safety educati on of the whole school. Accordi ng to the re quireme nts of the Fire S ervices A ct, so t hat everyone has of keeping fire control safety, pr otecting fire control facilities, fire preve ntion, reports of fire常州信息职业技术学院电子与电气工程学院毕业设计论文毕业设计(论文)任务书专业电子信息工程班级电子085 姓名傅浩一、课题名称:基于单片机设计的红外线遥控器二、主要技术指标:1.遥控距离:0~10m2.额定工作电压:直流3V(普通5号干电池2节);红外光平均辐照度≥40μW/cm2;指向性(辐照度为20μW/cm2)≥30度3.欠压条件下(直流2.4v):红外光平均辐照度≥20μW/cm2,指向性(辐照度为10μW/cm2)≥30度三、工作内容和要求:1.以AT89C2051单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点2.遥控发射器通过对红外光发射频率的控制来区别不同的操作3.遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程四、主要参考文献:[1] 梅丽凤,王艳秋,张军等. 单片机原理及接口技术,北京:清华大学出版社,2004年.[2] 戴峻峰,付丽辉. 多功能红外线遥控器的设计,传感器世界.2002,8(12):16~18.[3] 李光飞,楼然苗,胡佳文等. 单片机课程设计实例指导,北京:北京航空航天出版社,2004年.[4] 苏长赞. 红外线与超声波遥控,北京:人民邮电出版社.1995年.学生(签名)2010 年 5 月7 日指导教师(签名)2010 年5 月10 日教研室主任(签名)2010 年5 月10 日系主任(签名)2010 年5 月12 日ping primary school fire safety systems to e nha nce fire safety, prote ction of public property and t he life and property safety of teacher s and students, school fire safety into day-to-day ma nagement, is devel opi ng the following fire safety system. 1, strengt hen fire safety educati on of the whole school. Accordi ng to the re quireme nts of the Fire S ervices A ct, so t hat everyone has of keeping fire control safety, pr otecting fire control facilities, fire preve ntion, reports of fire毕业设计(论文)开题报告设计(论文)题目基于单片机设计的红外线遥控器一、选题的背景和意义:随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。
单片机原理结课项目项目题目基于51单片机的红外线控制系统基于51单片机的红外线控制系统一、概述:红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。
由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以在设计红外线遥控器时,不必要像无线电遥控器那样,每套( 发射器和接收器) 要有不同的遥控频率或编码( 否则,就会隔墙控制或干扰邻居的家用电器) ,所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。
这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。
由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。
基于51单片机的红外线控制系统。
要求通过单片机发送和接红外信号程序,根据接收的信号,执行有关动作的系统,能够实现近距离的无线通。
二、硬件设计1. 系统框图2. 电路原理图电路由五个模块构成(最小系统模块、红外接收模块、数码管显示模块、编程下载模块、电源模块)1) 最小系统STC12C5410AD 单片机红外接收头红外遥控器复位电路时钟振荡电路数码光显示最小系统由stc12c5410ad单片机,按键复位电路,时钟振荡电路构成。
a.电源电源采用5V直流电供电。
b.时钟、复位电路本电路选用12MHz晶振。
2)红外接收模块3)显示模块三、软件设计1.红外编解码原理红外线发射编码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制‘0’;以脉宽为0.565ms、间隔1.658ms、周期为2.25ms的组合表示二进制‘1’;红外接收头接收的信号和发射编码相反;一组编码由一个引导码,四个字节数据组成;引导码由9ms的高电位和4.5ms的地电位组成。
基于单片机的红外通信系统设计1 简介红外通信是指利用红外线进行信息传输的一种无线通讯方式。
其传输距离在10米以内,速度较快,常用于遥控器、智能家居、安防监控等领域。
本文将介绍基于单片机的红外通信系统设计。
2 系统原理红外通信系统需包含红外发射器、红外接收器和处理器三个部分。
通信原理是将信息编码成红外信号,通过红外发射器发出,再由红外接收器接收,经过解码后传输到处理器中处理。
3 系统设计步骤3.1 红外接收器电路设计红外接收器采用红外管接收器,其特点是灵敏度高,在不同角度能接收到较远的红外信号。
红外管接收器与电路板焊接,电路板再选用较长的电线接到处理器的端口上。
3.2 红外发射器电路设计红外发射器采用红外二极管,其工作电压一般为1.2-1.4V。
通过接通1kHz以上的方波信号控制二极管的导通,使其发出红外光。
为保证其稳定性和较远的有效距离,需在电路中添加反向电流保护二极管。
3.3 处理器设计处理器选用常用的单片机,如AT89C51等。
单片机内置了红外通信模块,可用来发送和接收红外信号。
同时,还需通过编程实现对红外信号的解码和编码,实现信息传输与处理。
4 系统测试测试时,可用遥控器模拟发送红外信号,系统接收并解码后显示在液晶屏幕上。
测试距离一般在10米以内,且需保持天空无其它遮挡物。
5 总结基于单片机的红外通信系统设计,具有灵敏度高、速度快、传输距离短等特点。
其应用广泛,在智能家居、安防监控、车载通信等领域均有应用。
但需注意遮挡物的影响,以及信号干扰等问题。
28 | 电子制作 2018年10月信息反馈到单片机进行检测,人体检测以及距离测距模块检测人体信号、人与灯距离信号,并反馈到单片机进行采样控制,当黑暗以及人体靠近时,单片机输出控制信号,使得LED 灯点亮,当人不在设定的距离,就算是天暗,灯光也不会进行点亮,这个有效的提高灯的使用寿命以及减少电能的浪费。
此外,该系统可以手机蓝牙APP 进行控制灯的亮灭以及灯光强弱的控制,进一步提高智能。
1 系统主要功能及硬件配置实现无线蓝牙远程操作调光、自动识别光线光亮程度调节灯亮灭等多种功能。
具体包括自动检测光线强度及人灯距离,当人体靠近时灯亮,如距离太近,则触发蜂鸣器鸣叫警报,这种情况持续一定时间,台灯会自动灭掉;当人体远离,台灯周边检测不到人体信号时,灯自动熄灭;使用蓝牙控制灯光的强弱以及亮灭,在灯亮的情况下,通过蓝牙发送指令使得灯会在“较亮”、“很亮”切换;发送灯灭指令,使得灯灭。
根据功能要求,我们对市面主流的主控芯片、AD 采样芯片、无线控制、报警电路、光线检测、距离检测等器件进行筛选,采用功能齐全、性格比高的器件构建本系统,各电子元件情况见表1。
表1 系统电子元件情况表电子元件类型简要描述主控芯片STC89C52单片机定时器数目较多,能够实现多种中断方式,在日常生活生活电子产品都有广泛的应用。
AD芯片PCF8591采样芯片输入电压范围广,待机功耗小,体积小,价格便宜,控制方便,是常用的一种ADC 采样芯片。
无线遥控蓝牙BT06无线能够实现手机APP远程监控等功能,广泛应用于航空航天、智能家居、智能检测、工业监控等领域。
2 系统设计本系统以蓝牙模块电路、人体热释红外感器电路、红外避障传感器电路、光照检测电路等外围电路组成。
系统框架如图1所示。
图1 系统总框架图■2.1 主控电路的设计主控电路采用40PIC 直插式封装STC89C52八位单片机,其供电电压范围宽(5.5V~3.3V),采用USB 接口线5V 电源供电:充电宝、电脑USB 接口等均能满足设计电源的需求。
基于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)在传输距离较近的情况下,信号的可靠性和稳定性良好。
中国矿业大学徐海学院技能考核培训姓名:贾佳学号:******** 专业:信息11-2班题目:基于单片机的红外无线控制专题:音乐播放器指导教师:有鹏老师翟晓东老师设计地点:电工电子实验室时间:2014 年 4 月通信系统综合设计训练任务书学生姓名贾佳专业年级信息11-2班学号22110841设计日期:2014年4 月5日至2014 年4 月10 日设计题目:基于单片机的红外无线控制设计专题题目:简易MP3设计主要内容和要求:1. 主要内容:单片机内部结构红外遥控解码C语言程序设2. 功能扩展要求实现音乐播放器的功能指导教师签字:摘要:设计的课题是“基于单片机的音乐播放器设计”,它是以单片机AT89C52作为硬件核心控制部件,结合负脉冲电路和LM386功率放大器,数码管构成典型的显示电路,以及其他外围设备组成的音乐播放系统。
根据音乐演奏控制器所要实现的显示与选曲及音乐产生功能原理,系统包括演奏扬声器、选曲、播放和显示几部分。
所设计的单片机乐曲播放控制器不仅能够播放悦耳的歌曲,同时设置按钮使所设计的程序能在四首歌曲之间进行选曲,并通过显示器使其显示歌曲序号。
本文设计的音乐演奏控制器是通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音节的声音,再利用延迟来控制发音时间的长短,即控制音调中的节拍。
同时设置按钮使所设计的程序能在五首歌曲之间进行选曲、设计显示器使其显示歌曲序号。
关键词:51单片机,红外遥控,音乐播放,LED流水灯目录1 绪论 (4)1.1概述 (4)1.2功能 (4)2 硬件电路 (5)2.1总体设计方 (5)2.2单片机最小系统 (5)2.3红外遥控收发电路 (5)2.3.1 红外遥控发射电路 (6)2.3.2 红外遥控接收电路 (7)2.4蜂鸣器电路 (7)2.5 LED指示灯电路 (8)3软件编程 (9)3.1 C语言实现系统设计 (9)3.2乐谱的改编 (10)参考文献 (11)附录 (12)1 绪论1.1概述本设计采用红外线来遥控蜂鸣器使其播放音乐,红外遥控是如今广泛使用的一种通信和遥控手段;红外线遥控利用红外线来传输数据,这种情况下不需要实体连线,体积小,成本低,功能强;因此红外遥控设备已经广泛的应用在如今的电气设备的数据交互和设备控制中。
利用红外技术和单片机对步进电机的无线控制随着无线技术的发展,越来越多的设备开始采用无线控制,而在机械设备中,步进电机的无线控制更是常见,而且成本相对较低,可靠性较高。
本文将介绍如何利用红外技术和单片机对步进电机进行无线控制。
一、步进电机简介步进电机是一种带有指向性的电动机,可以控制其旋转的方向和步数,非常适合用于一些需要精准控制的场合,例如机器人控制、CNC数控机床、3D打印机等。
它的转子是通过不断改变磁场来实现旋转,适用于低速高扭矩的控制。
二、红外技术的优势红外技术是一种无线通信技术,优点是无需物理连接,使用方便,隔墙透视效果极佳,广泛应用于智能家居、电子产品等领域。
由于控制步进电机需要对其进行精准的定位和调节,红外技术可以实现精度控制。
三、单片机的作用单片机是一种集成电路,可以通过编程控制其输出和输入,是控制步进电机的重要组成部分。
单片机可以接收来自红外遥控器的信号,控制步进电机的速度和方向,帮助用户实现相应的操作。
四、无线控制步进电机的实现1、红外遥控器为了实现无线控制步进电机,用户需要首先找到一款可靠的红外遥控器。
如果自己编写红外遥控器,需要确保其稳定性和精度。
2、红外接收器在接收控制信号之前,需要选择一款品质优良的红外接收器,可以支持多个控制通道,并具有较高的解码效率,避免信号误差和延迟。
3、单片机单片机可以作为控制系统的核心,可以接收红外信号并将信号解码成二进制,然后通过控制电路生成相应的步进电机驱动信号,实现无线控制步进电机的功能。
4、电机驱动电路电机驱动电路是连接单片机和步进电机的桥梁,需要根据步进电机的规格和工作参数来设计和调节。
常见的电机驱动电路有L293D、ULN2003和A4988等,可以选择合适的电路来驱动步进电机。
5、步进电机最后,需要选择合适的步进电机,确保其匹配上述电路和电路参数,同时具有高精度、低噪音、高效率等特点。
常见的步进电机有42步、57步、86步等,可以根据实际需求进行选择。
目录1 前言 (1)1.1 无线红外防盗报警电路的发展状况 (1)1.2 无线红外防盗报警器的分类及其介绍 (1)1.3 无线红外报警器工作的原理 (1)1.4 设计无线红外防盗报警器的内容和意义 (1)2 总体方案设计 (3)2.1 方案比较 (3)2.2 方案论证 (4)2.3 方案选择 (4)3 单元模块设计 (5)3.1 各单元模块功能介绍及电路设计 (5)3.2 电路参数的计算及元器件的选择 (13)3.3 特殊器件的介绍 (15)3.4 各单元模块的联接 (21)4 软件设计 (23)4.1 软件设计原理及设计所用工具 (23)4.2 软件结构图 (23)5 系统调试 (27)5.1硬件调试 (27)5.2 系统综合调试 (28)5.3 软件调试 (28)6 系统功能和指标参数 (29)6.1 系统功能的实现 (29)6.2 指标参数 (29)7 结论 (30)8 总结与体会 (31)9 参考文献 (32)附录1:发射部分原理图 (33)附录2:接收部分原理图 (34)附录3:发射部分PCB图 (35)附录4:程序源代码 (36)附录5:实物图 (40)1 前言1.1 无线红外防盗报警电路的发展状况红外防盗报警器的发展主要是基于传感器之下,所以首先要谈谈红外传感器的发展状况。
而传感器技术是21世纪人们在高科技发展方面争夺的一个制高点,各发达国家都将有传感器技术视为现代高新技术发展的关键。
从20世纪80年代起,日本就将传感器技术列为优先发展的高新科技之首,美国等西方国家也将此技术列为国家科技和国防技术发展的重点,而在中国传感器的发展也取得了飞速的发展。
从而基于传感器技术的防盗报警系统也得到了高速发展。
热释电红外传感器是一种非常有应用潜力的传感器,他能检测人或某些动物发射的红外线并转化成电信号输出。
近几年来,伴随这集成电路技术的飞速发展,以及该传感器的特性的深入研究,相关的专用集成电路的处理技术也迅速发展。
基于51单片机的红外遥控红外遥控是无线遥控的一种方式,本文讲述的红外遥控,采用STC89C52单片机,1838红外接收头和38k红外遥控器。
1838红外接收头:红外遥控器:原理:红外接收的原理我不赘述,百度文库上不少,我推荐个网址,这篇文章写得比较清楚,也比较全面,我主要讲下程序的具体意思,在了解原理的基础上,我们知道,当我们在遥控器上每按下一个键,遥控器上的红外发射头都会发出一个32位的编码(32位编码分成4组8位二进制编码,前16位为用户码和用户反码,后16位为数据码和数据反码,用户码表示遥控器类型,数据码表示按键编码),不同的键对应不同的编码,红外接收头接收到这个编码后,发送给单片机,再进行相关操作。
源程序1:(这个程序的功能是将用户码和用户反码,数据码和数据反码显示在1602液晶上,因为遥控器买回来是不会说明按键对应什么码值,所以先自己测试,确定每个按键的码值)#include<reg52.h>#include<stdio.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define _Nop() _nop_()#define TURE 1#define FALSE 0/*端口定义*/sbit lcd_rs_port = P3^5; /*定义LCD控制端口*/sbit lcd_rw_port = P3^6;sbit lcd_en_port = P3^4;#define lcd_data_port P0///////////////////////////////////void delay1 (void)//关闭数码管延时程序{int k;for (k=0; k<1000; k++);}////////////////////////////////////uchar code line0[16]={" user: "};uchar code line1[16]={" data: "};uchar code lcd_mun_to_char[16]={"0123456789ABCDEF"};unsigned char irtime;//红外用全局变量bit irpro_ok,irok;unsigned char IRcord[4];//用来存放用户码、用户反码、数据码、数据反码unsigned char irdata[33];//用来存放32位码值void ShowString (unsigned char line,char *ptr);//////////////////////////////////////////////void Delay(unsigned char mS);void Ir_work(void);void Ircordpro(void);void tim0_isr (void) interrupt 1 using 1//定时器0中断服务函数{irtime++;}void ex0_isr (void) interrupt 0 using 0//外部中断0服务函数{static unsigned char i;static bit startflag;if(startflag){if(irtime<63&&irtime>=33)//引导码TC9012的头码i=0;irdata[i]=irtime;irtime=0;i++;if(i==33){irok=1;i=0;}}else{irtime=0;startflag=1;}}void TIM0init(void)//定时器0初始化{TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值TH0=0x00;//reload valueTL0=0x00;//initial valueET0=1;//开中断TR0=1;}void EX0init(void){IT0 = 1; // Configure interrupt 0 for falling edge on /INT0 (P3.2)EX0 = 1; // Enable EX0 InterruptEA = 1;}void Ircordpro(void)//红外码值处理函数(关键函数){unsigned char i, j, k=1;unsigned char cord,value;for(i=0;i<4;i++){//处理4个字节for(j=1;j<=8;j++){ //处理1个字节8位cord=irdata[k];value=value>>1;if(cord>7) value=value|0x80; //大于某值为1k++;}IRcord[i]=value;value=0;}irpro_ok=1;//处理完毕标志位置1}///////////////////////////////////////////void lcd_delay(uchar ms) /*LCD1602 延时*/{uchar j;while(ms--){for(j=0;j<250;j++){;}}}//////////////////////////////////////////////void lcd_busy_wait() /*LCD1602 忙等待*/{lcd_rs_port = 0;lcd_rw_port = 1;lcd_en_port = 1;lcd_data_port = 0xff;_Nop();_Nop();_Nop();_Nop();while (lcd_data_port&0x80);lcd_en_port = 0;}///////////////////////////////////////////////void lcd_command_write(uchar command) /*LCD1602 命令字写入*/ {lcd_busy_wait();lcd_rs_port = 0;lcd_rw_port = 0;lcd_en_port = 0;lcd_data_port = command;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 1;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 0;}/////////////////////////////////////////void lcd_system_reset() /*LCD1602 初始化*/{lcd_delay(20);lcd_command_write(0x38);lcd_delay(100);lcd_command_write(0x38);lcd_delay(50);lcd_command_write(0x38);lcd_delay(10);lcd_command_write(0x08);lcd_command_write(0x01);lcd_command_write(0x06);lcd_command_write(0x0c);}//////////////////////////////////////////////////void lcd_char_write(uchar x_pos,y_pos,lcd_dat) /*LCD1602 字符写入*/ {x_pos &= 0x0f; /* X位置范围0~15 */y_pos &= 0x01; /* Y位置范围0~ 1 */if(y_pos==1) x_pos += 0x40;x_pos += 0x80;lcd_command_write(x_pos);lcd_busy_wait();lcd_rs_port = 1;lcd_rw_port = 0;lcd_en_port = 0;lcd_data_port = lcd_dat;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 1;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 0;}void main(void){uchar i;lcd_system_reset(); /* 初始化LCD1602 */lcd_data_port = 0xff;for(i=0;i<16;i++) lcd_char_write(i,0,line0[i]);for(i=0;i<16;i++) lcd_char_write(i,1,line1[i]);EX0init(); // Enable Global Interrupt FlagTIM0init();while(1){//主循环if(irok){Ircordpro();irok=0;}if(irpro_ok){ /*遥控成功接收*/lcd_char_write(8,0,lcd_mun_to_char[IRcord[0]/0x10]);lcd_char_write(9,0,lcd_mun_to_char[IRcord[0]%0x10]);lcd_char_write(11,0,lcd_mun_to_char[IRcord[1]/0x10]);lcd_char_write(12,0,lcd_mun_to_char[IRcord[1]%0x10]);lcd_char_write(8,1,lcd_mun_to_char[IRcord[2]/0x10]);lcd_char_write(9,1,lcd_mun_to_char[IRcord[2]%0x10]);lcd_char_write(11,1,lcd_mun_to_char[IRcord[3]/0x10]);lcd_char_write(12,1,lcd_mun_to_char[IRcord[3]%0x10]);}//将码值显示在液晶上}}源程序2:(在知道了按键编码的基础上,我们便可以加入判断,判断哪个键被按下,进而执行相关操作)我只修改main函数,其他与源程序1相同sbit led1=P1^0;sbit led2=P1^1;sbit led3=P1^2;sbit led4=P1^3;sbit led5=P1^4;//发光二极管控制端定义void main(void){uchar i;lcd_system_reset(); /* 初始化LCD1602 */lcd_data_port = 0xff;for(i=0;i<16;i++) lcd_char_write(i,0,line0[i]);for(i=0;i<16;i++) lcd_char_write(i,1,line1[i]);EX0init(); // Enable Global Interrupt FlagTIM0init();while(1){//主循环if(irok){Ircordpro();irok=0;}if(irpro_ok){ /*遥控成功接收*/switch(IRcord[2])//为什么判断IRcord[2],因为这个里面存放的是数据码{case 0x0c: led1=0;//按0键,灯1亮break;case 0x18: led2=0; //按1键,灯2亮break;case 0x5e: led3=0; //按2键,灯3亮break;case 0x08: led4=0; //按3键,灯4亮break;case 0x1c: led5=0; //按4键,灯5亮break;}}}}附连接图。
基于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单片机和红外遥控的原理,并提高了自己的动手能力和解决问题的能力。
在实验过程中遇到了一些困难,但通过查阅资料和与同学交流,我成功地解决了这些问题。
文章标题:基于51单片机的步进电机红外控制系统的设计引言在现代科技发展迅速的时代,控制系统已经被广泛应用于各个领域。
其中,基于51单片机的步进电机红外控制系统的设计,不仅在工业领域有着重要的作用,同时也在家电领域、智能家居等方面得到了广泛的应用。
本文将从步进电机控制系统的设计原理、红外控制的基本概念以及基于51单片机的系统设计方案等方面展开深入探讨。
一、步进电机控制系统的设计原理步进电机是一种将电脉冲信号转换为机械位移的执行元件,其控制系统设计原理是核心。
以步进电机为执行元件的控制系统通常包括电脉冲发生电路、电流驱动电路、位置控制逻辑电路以及接口电路等模块。
在系统设计中,需要考虑步进电机的类型、工作方式、转动角度以及控制精度等因素,以选择合适的控制方案和相关元器件。
针对步进电机的控制系统设计,首先需要从硬件电路和软件控制两个方面进行综合考虑。
硬件方面需要设计合适的脉冲发生电路和驱动电路,并根据具体场景考虑相关的接口电路,以实现步进电机的控制和驱动。
而软件控制方面,则需要编写相应的控制程序,使得系统能够根据具体的控制要求进行精准的控制和调节。
二、红外控制的基本概念红外控制是一种常见的无线遥控技术,通过使用红外线传输信号来实现对设备的控制。
通常包括红外发射器和红外接收器两个部分,发射器将控制信号转换成红外信号发送出去,接收器接收红外信号并将其转换成电信号进行处理。
在实际应用中,红外控制技术已经被广泛应用于各种家电遥控器、智能家居系统以及工业自动化领域。
红外控制的基本原理是在发射器和接收器之间通过红外线进行双向通信,通过调制解调的方式进行信号的传输和解析。
设计基于红外控制的步进电机系统需要考虑红外信号的发射和接收过程,以及相关的解析算法和信号处理。
信号的稳定性、抗干扰能力以及传输距离等也是需要考虑的重要因素。
三、基于51单片机的系统设计方案在步进电机红外控制系统的设计中,选择合适的控制芯片和处理器是至关重要的。
基于51单片机的红外智能遥控小车李秋玉李敏发布时间:2022-07-08T14:50:18.544Z 来源:《创新人才教育》2021年12月作者:李秋玉李敏[导读] 随着人工智能的快速发展,智能化小车在现实生活中应用越来越广。
湖南省衡阳市职业中等专业学校李秋玉湖南财经工业职业技术学院李敏 421002摘要:随着人工智能的快速发展,智能化小车在现实生活中应用越来越广。
采用51单片机为控制核心,应用红外遥控技术,数码显示技术,电机驱动技术等,实现了小车的无线运行控制、速度调节等功能,增强了小车的智能化程度。
关键词:51单片机;红外遥控;电机驱动;智能化;引言随着生活水平的不断提高,人们对于工作环境的要求也越来越高。
一些工作环境恶劣,或者危险系数比较高的岗位,人们越来越不想参与[1]。
然而,智能化的发展,很好的弥补了这方面的不足。
智能移动小车,能代替人们穿越一些危险、复杂的工作环境,装载各类智能化设备去完成工作任务,如灭火、环境监测和检修等[2,3,4]。
因此,智能车的研究在相关行业的电子设计竞赛,或者创新竞赛中都比较重视,同时也是各高校师生的热点研究方向[5]。
本文设计了一款基于51单片机的红外遥控智能小车,重点讲述了小车的硬件电路和软件程序。
设计测试结果表明,其智能化程度高,成本低廉,具有较大的应用前景和研究意义。
1、总体框架图本设计采用51单片机为控制核心,应用红外遥控技术和电机驱动技术实现对小车无线控制,同时采用数码显示技术,实现小车速度档位的显示。
其总体框架图如图1所示,主要包括单片机、红外接收模块、数码显示模块、电机驱动模块,以及电源模块。
红外接收模块接收红外信号,发送给单片机进行解码,单片机根据解码的信息,实现小车的智能控制和速度档位的显示,电源模块给其它模块提供电源。
2、硬件电路硬件电路主要包括单片机最小系统、红外收发电路、电机驱动电路、数码显示电路和电源电路。
单片机最小系统为硬件电路核心部分,是整个设计的数据处理中心;红外收发电路为信号来源与初处理电路;电机驱动电路为小车的运行控制电路;数码显示电路为小车速度档位显示电路;电源电路为整个智能小车提供合适的电源。
《单片机设计》课程设计题目:基于单片机的红外遥控系统设计专业:电气工程系班级:姓名:学号:指导教师:小组成员:成绩:摘要随着社会的进展、科技的进步和人们生活水平的慢慢提高,各类方便于生活的遥控系统开始进入了人们的生活。
采纳单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优势。
由于单片机具有集成度高、体积小、靠得住性高、价钱廉价等优势,其在机电一体化、工业操纵、仪器仪表和家用电器等领域取得了普遍应用。
当前单片机对家用电器操纵呈现出外形简单化、功能多样化、产品智能化的进展趋向。
红外遥控技术具有利用方便、功耗低、抗干扰能力强、价钱廉价的特点,因此它的应用前景十分广漠。
本课题以延伸红外无线遥控技术为目的,提出了一种红外遥控器集中操纵的方案,核心是设计出一个红外接收系统。
本设计以红外线作为传递信息的载体,可对受控对象的工作状态进行短距离无线操纵,适用于遥控工业、医疗、家用电器等设备的开闭状态。
并含有设备计数模块,可对处于工作状态的设备进行计数,并显示出来。
课题的重点在于通过软件实现二进制数据的解码工作,然后通过红外收发头进行数据传输操纵系统。
关键词:红外遥控;单片机操纵;显示模块目录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灯的隔离操纵。
基于MSP430的低功耗RF/红外控制器的设计
0 引言
在智能化家居控制系统应用中,无线通信和控制已经越来越广泛地被运用。
为了实现对居室电器设备的集中无线控制,可采用电话遥控、手持遥控器进行远程或短距离的无线控制,但所控制和传输的信号都是RF 信号。
然而有些被控对象本身是用红外信号遥控的,例如电视机、空调,由于各种品牌的空调都有自己的红外编码信号,相互不能通用,这就给智能化家居控制系统中红外遥控器的集中无线控制带来了极大的不便。
本文就基于MSP430 的低功耗RF/红外控制器的设计与实现进行介绍。
1 工作原理
大多数红外遥控信号的输出都是用编码后串行数据对38~40KHz 的方波进行脉冲幅度调制而产生的PWM 信号,如图1 所示。
各种品牌的红外遥控器的编码信号互不兼容[1][2]。
对该波形进行测量,并将高低电平的宽度存于Flash 中,而不管其如何编码。
当需要对远端的红外设备进行无线控制时,在内存中取出该数字序列,经Msp430 单片机中的捕获比较功能模块,将其还原成红外编码信号。
为了实现无线传输,将该信号调制到350MHz 或420MHz 的无线电波上进行传送。
由于红外编码信号的频率只有几十K 左右,而无线载波的频率是350MHz,以上变换的误差很小。
而防止产生误动作的关键是脉冲函数的宽度的选取。
采样频率越高,误差就越小,但内存的用量就越大。
本文选取采样频率为红外基波频率(20KHz)的6 倍[6][7]。
接收端的电路先将收到的调制信号解调,得到与图 1 相似的红外波形,。
中国矿业大学徐海学院技能考核培训姓名:陈思彤学号:22110838专业:信息11-2班题目:基于单片机的红外无线控制专题:音乐播放器指导教师:有鹏老师翟晓东老师设计地点:电工电子实验室时间:2014 年 4 月通信系统综合设计训练任务书学生姓名陈思彤专业年级信息11-2班学号22110838设计日期:2014年4 月5日至2014 年4 月10 日设计题目:基于单片机的红外无线控制设计专题题目:音乐播放器设计主要内容和要求:1. 主要内容:单片机内部结构红外遥控解码C语言程序设2. 功能扩展要求实现音乐播放器的功能指导教师签字:摘要:近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入。
红外线技术也被广泛应用于各个电子领域,先设计一种基于单片机的红外遥控的简易音乐播放器。
通信蜂鸣器来发声,来完成音乐播放器的功能。
该系统可实现对音乐播放的远距离遥控,且结构简单,速度快,抗干扰能力强。
通过本次课程设计,我对单片机中断系统等知识有了进一步的了解,对单片机的相关知识做到理论联系实际。
关键词:单片机,中断系统,红外遥控,音乐播放目录1 绪论 (4)1.1概述 (4)1.2功能 (4)2 硬件电路 (5)2.1总体设计方 (5)2.2单片机最小系统 (5)2.3红外遥控收发电路 (5)2.3.1 红外遥控发射电路 (6)2.3.2 红外遥控接收电路 (7)2.4蜂鸣器电路 (7)2.5 LED指示灯电路 (8)3软件编程 (9)3.1 C语言实现系统设计 (9)3.2乐谱的改编 (10)参考文献 (11)附录 (12)1 绪论1.1概述本设计采用红外线来遥控蜂鸣器使其播放音乐,红外遥控是如今广泛使用的一种通信和遥控手段;红外线遥控利用红外线来传输数据,这种情况下不需要实体连线,体积小,成本低,功能强;因此红外遥控设备已经广泛的应用在如今的电气设备的数据交互和设备控制中。
利用单片机演奏时音乐爱好者的兴趣之一,应用的范围也比较广泛。
所谓音乐播放器由单片机进行信息处理,再经过信号放大,由蜂鸣器发出乐曲声。
详细说来,演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。
这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。
众所周知,周期为频率的倒数,可以通过音符的频率计算出周期;因此演奏时,要根据音符的不同,把对应的、半个周期的定时时间初始值,送入定时器,再由定时器按时输出高低电平。
本文比较详细地介绍了音乐播放器的工作原理、设计思路、硬件的选择及相关作用、软件的实现方法以及详细的程序清单。
1.2功能本设计以单片机为核心实现红外遥控音乐播放器功能,主要完成功能为四首歌曲的选择播放、暂停、暂停后断点播放,播放下一曲,播放上一曲以及流水灯显示音符等功能。
本设计中使用常见的红外遥控器进行控制,使用其中的1、2、3、4四个数字键(对应功能选择1、2、3、4四首歌曲),频道加、减两个按键(对应功能上一曲、下一曲),静音键(对应功能暂停),以及确定键(对应功能播放歌曲)2 硬件电路2.1总体设计方过按下遥控器相应按键向单片机发送控制信息(红外信号),单片机红外接收器收到该红外信号后进行解码然后通过P3.2口将解码后的控制信息送入单片机,单片机通过P2.5口控制蜂鸣器播放音乐2.2单片机最小系统2.3红外遥控收发电路红外线遥控是目前使用最广泛的一种通信和遥控手段。
由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
常用的红外遥控系统一般分发射和接收两个部分。
应用编/解码专用集成电路芯片来进行控制操作,如下图所示。
发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。
图2红外线遥控系统框图2.3.1 红外遥控发射电路发射部分的主要元件为红外发光二极管。
它实际上是一只特殊的发光二极管;由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。
目前大量的使用的红外发光二极管发出的红外线波长为940nm左右。
遥控器的基本组成如图所示。
它主要由形成遥控信号的微处理器芯片、晶体振荡器、放大晶体管、红外发光二极管以及键盘矩阵组成。
图4遥控器电路图工作原理:微处理器芯片IC1内部的振荡器通过2、3脚与外部的振荡晶体X组成一个高频振荡器,产生高频振荡信号。
此信号送入定时信号发生器后进行分频产生正弦信号和定时脉冲信号。
正弦信号送入编码调制器作为载波信号;定时脉冲信号送致扫描信号发生器、键控输入编码器和指令编码器作为这些电路的时间标准信号。
IC1内部的扫描信号发生器产生五种不同时间的扫描脉冲信号,由5~9脚输出送至键盘矩阵电路。
当按下某一键时,相应于该功能按键的控制信号分别由10~14脚输入到键控编码器,输出相应功能的数码信号。
然后由指编码器输出指令码信号,经过调制器调制在载波信号上,形成包含有功能信息的高频脉冲串,由17脚输出经过晶体管BG放大,推动红外线发光二极管D发射出脉冲调制信号2.3.2 红外遥控接收电路红外线遥控接收器的作用是将接收到的红外线遥控信号,经过放大、解调和整形后输出功能指令信号,送至微处理器进行识别和处理。
2.4蜂鸣器电路蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
2.5 LED指示灯电路3软件编程3.1 C语言实现系统设计单片机应用系统的程序设计有两种方法:一种是基于汇编语言的,另一种是基于C语言的。
汇编语言程序的机器代码生成效率高,但可读性较差,而C语言程序的可读性和可移植性远超过汇编语言。
用C语言编写单片机应用程序,不用具体组织、分配存储器资源和处理端口数据,但对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。
C语言具有以下主要特点:①语言简洁,使用方便灵活。
它是程序设计语言中规模最小的语言之一。
ANSI标准C语言只有32个关键字,9种流程控制语句。
②程序可移植性好。
③表达能力强。
具有丰富的数据结构类型和多种运算符。
用户可灵活采用多种数据类型和使用各种运算符,实现复杂运算。
④表达方式灵活。
利用C语言的多种运算符可组成各种表达式,还可采用多种方法来获得表达式的值,使程序设计具有更大的灵活性。
⑤可进行结构化程序设计。
C语言以函数作为程序设计的基本单位,非常适合结构化程序设计。
⑥可直接操作计算机硬件。
C语言具有直接访问机器物理地址的能力,C51的编译器都可直接对单片机内部的SFR和I/O 端口进行操作,可以直接访问片内、片外存储器,还可以进行各种为操作。
⑦生成的目标代码质量较高。
3.2乐谱的改编单片机演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。
这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。
众所周知,周期为频率的倒数,可以通过音符的频率计算出周期;演奏时,要根据音符的不同,把对应的、半个周期的定时时间初始值,送入定时器,再由定时器按时输出高低电平。
在此程序中,通过两个数据表存放了事先算好的、各种音符频率所对应的、半周期的定时时间初始值。
低音、中音、高音和超高音,四个八度共28个音符。
演奏乐曲时,就根据音符的不同数值,从表中找到定时时间初始值,送入定时器即可控制音调。
参考文献[1] 华成英.童诗白.模拟电子技术基础[M] 北京:高等教育出版社,2006 :12-3[2] 赵亮.单片机C语言编程与实例[M]. 北京:人民邮电出版社, 2003:3-432[3] 瞿贵荣.15通道红外遥控电路[J].实用电子制作,2005,(7):10.[4] 陈燕春. 学习型14路红外遥控开关[J]. 单片机开发与应用, 2005, (6): 22-25[5]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2006:3:1-12附录附录1:程序#include <REGX51.H>#include <intrins.h>#include "delay.h"#include "decode.h"#define uchar unsigned char#define uint unsigned int#define Font_code P0 //字符码写地址#define reg_code P2 //字位码写地址sbit speaker=P2^5;#define LED P1code unsigned char shuzu[]={0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F};unsigned char timer0h,timer0l,time;//世上只有妈妈好数据表6,2,3,code unsigned char sszymmh[]={ 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1,6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1,6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2,5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1,2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0};code unsigned char sszymmh1[] = {5, 2, 2, 3, 2, 1, 5, 2, 1, 1, 3, 4,6, 2, 2, 1, 3, 1, 6, 2, 1, 5, 2, 4,5,2,2, 1,2,1,2,2,1,3,2,2,2,2,1,1,2,1,2,2,4,5,2,2,3,2,1,5,2,1,1,3,3,7,2,1,6,2,2,1,3,2,5,2,4,5,2,2,2,2,1,3,2,1,4,2,3,7,1,1,1,2,4,6,2,2,1,3,2,1,3,4,7,2,2,6,2,1,7,2,1,1,3,4,6,2,1,7,2,1,1,3,1,6,2,1,6,2,1,5,2,1,3,2,1,1,2,1,2,2,4,5,2,2,3,2,1,5,2,1,1,3,3,7,2,1,6,2,2,1,3,2,5,2,4,5,2,2,2,2,1,3,2,1,4,2,3,7,1,1,1,2,4,0, 0, 0};code unsigned char sszymmh2[]={6,2,1,7,2,1,1,3,3,7,2,1,1,3,2,3,3,2,7,2,6,3,2,1,6,2,3,5,2,1,6,2,2,1,3,2,5,2,6,3,2,2,4,2,3,3,2,1,4,2,2,1,3,2,3,2,74,1,3,1,7,2,1,6,2,1,5,3,2,6,2,1,7,2,2,5,2,2,6,2,6,1,3,1,2,3,1,3,3,3,2,3,1,3,3,2,2,3,6,5,2,1,5,2,1,1,3,3,7,2,1,1,3,2,3,3,2,3,3,8,6,2,1,7,2,1,1,3,2,7,2,2,2,3,1,2,3,1,1,3,3,5,2,1,5,2,4,4,3,2,3,3,2,2,3,2,};code unsigned char sszymmh3[]={6,2,2,1,3,2,2,3,2,1,3,1,7,2,1,6,2,2,1,3,2,2,3,3,1,3,1/2,6,2,1/2,6,2,2,1,3,2,1,3,2,7,2,2,6,2,4,6,2,2,1,3,2,2,3,2,1,3,1,6,2,1,5,2,2,6,2,1,5,2,1,4,2,2,5,2,2,6,2,2,1,3,2,4,2,2,5,2,2,6,2,2,5,2,1,4,2,1,2,2,6, 6,2,2,1,3,2,2,3,2,1,3,1,7,2,1,6,2,2,1,3,2,2,3,3,1,3,1/2,6,2,1/2,6,2,2,1,3,2,1,3,2,7,2,2,6,2,4,6,2,2,1,3,2,2,3,2,1,3,1,6,2,1,5,2,2,6,2,1,5,2,1,4,2,2,5,2,2,6,2,2,1,3,2,4,2,2,5,2,2,6,2,2,5,2,1,4,2,1,2,2,6, 0,0,0};// 音阶频率表高八位code unsigned char FREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,//1,2,3,4,5,6,7,8,i0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,} ;// 音阶频率表低八位code unsigned char FREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,};code uchar Show_Tab[]={0xC0,/*0*/0xF9,/*1*/0xA4,/*2*/0xB0,/*3*/0x99,/*4*/0x92,/*5*/0x82,/*6*/0xF8,/*7*/0x80,/*8*/0x90,/*9*/0x88,/*A*/0x83,/*b*/0xC6,/*C*/80xA1,/*d*/0x86,/*E*/0x8E /*F*/};code uchar S_Tab[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char Display_Buffer[8]; //显示缓冲区uchar bit_con; //字位码扫描计数器extern unsigned char key_value; //键值extern bit key_flg; //按钮按下标志extern bit cycle_flg; //循环标志void delay(unsigned char t){unsigned char t1;unsigned long t2;for(t1=0;t1<t;t1++){for(t2=0;t2<8000;t2++){;}}TR1=0;}void t0int() interrupt 3{TR1=0;speaker=!speaker;TH1=timer0h;TL1=timer0l;TR1=1;}void song(){9TH1=timer0h;TL1=timer0l;TR1=1;delay(time);}void main(){unsigned char k,i,j,z;TMOD=0x10; //置CT0定时工作方式1EA=1;ET1=1;//IE=0x82 //CPU开中断,CT0开中断delay_nus(1);delay_nms(1);reg_code = 0xff; //关闭显示for(bit_con=0;bit_con<8;bit_con++) Display_Buffer[bit_con] = Show_Tab[0]; bit_con = 0;Timer0init();//定时器0初始化EX0init(); //外部中断初始化while(1){j=0;if(key_flg) //解码生效,把遥控码值转移到显示区,数据码两位显示{key_flg = 0;Display_Buffer[0] = Show_Tab[(key_value & 0xf0) >> 4];Display_Buffer[1] = Show_Tab[key_value & 0x0f];switch(z){case 0:{lop: i=0;while(i<10000){ //音乐数组长度,唱完从头再来k=sszymmh[i]+7*sszymmh[i+1]-1;if (i%3==0){j=sszymmh[i];LED=shuzu[j-1];}if (key_value==0x47){while(1){if (key_value==0x44)break;}}if (key_value==0x19){goto lop;break;}timer0h=FREQH[k];timer0l=FREQL[k];time=sszymmh[i+2];i=i+3;song();if (key_value==0x0c){ key_value=0;z=0;break;}if (key_value==0x18){ key_value=0;z=1;break;}if (key_value==0x5e){ key_value=0;z=2;break;}if (key_value==0x08){ key_value=0;z=3;break;}if (key_value==0x40){ key_value=0;z=3; break;}if (key_value==0x43){ key_value=0;z=1; break;}}};break;case 1:{lop1: i=0;while(i<1000){ //音乐数组长度,唱完从头再来k=sszymmh1[i]+7*sszymmh1[i+1]-1;if (i%3==0){j=sszymmh[i];LED=shuzu[j-1];}if (key_value==0x47){while(1){if (key_value==0x44)break;}}if (key_value==0x19){goto lop1;break;}timer0h=FREQH[k];timer0l=FREQL[k];time=sszymmh1[i+2];i=i+3;song();if (key_value==0x0c){ key_value=0;z=0;break;}if (key_value==0x18){ key_value=0;z=1;break;}if (key_value==0x5e){ key_value=0;z=2;break;}if (key_value==0x08){ key_value=0;z=3;break;}if (key_value==0x40){ key_value=0;z=0; break;}if (key_value==0x43){ key_value=0;z=2; break;}}};break;case 2:{lop2: i=0;while(i<1000){ //音乐数组长度,唱完从头再来k=sszymmh2[i]+7*sszymmh2[i+1]-1;if (i%3==0){j=sszymmh2[i];LED=shuzu[j-1];}if (key_value==0x47){while(1){if (key_value==0x44)break;}}if (key_value==0x19){goto lop2;break;}timer0h=FREQH[k];timer0l=FREQL[k];time=sszymmh2[i+2];i=i+3;song();if (key_value==0x0c){ key_value=0;z=0;break;}if (key_value==0x18){ key_value=0;z=1;break;}if (key_value==0x5e){ key_value=0;z=2;break;}if (key_value==0x08){ key_value=0;z=3;break;}if (key_value==0x40){ key_value=0;z=1; break;}if (key_value==0x43){ key_value=0;z=3; break;}}};break;case 3:{lop3: i=0;while(i<1000){ //音乐数组长度,唱完从头再来k=sszymmh3[i]+7*sszymmh3[i+1]-1;if (i%3==0){j=sszymmh2[i];LED=shuzu[j-1];}if (key_value==0x47){while(1){if (key_value==0x44)break;}}if (key_value==0x19){goto lop3;break;}timer0h=FREQH[k];timer0l=FREQL[k];time=sszymmh3[i+2];i=i+3;song();if (key_value==0x0c){ key_value=0;z=0;break;}if (key_value==0x18){ key_value=0;z=1;break;}if (key_value==0x5e){ key_value=0;z=2;break;}if (key_value==0x08){ key_value=0;z=3;break;}if (key_value==0x40){ key_value=0;z=2; break;}if (key_value==0x43){ key_value=0;z=0; break;}}};break;}}}}附录2:电路板。