ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:776.48KB ,
资源ID:20894047      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20894047.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于STM32万能学习型红外遥控器设计Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于STM32万能学习型红外遥控器设计Word下载.docx

1、1概述1.1设计背景红外遥控器是一种应用较为广泛的遥控。它具有功耗低,体积小,成本低廉等特点。在目前的家用电器应用领域中,大部分的智能电器都是使用红外遥控器来操作控制家用电器设备,红外遥控器的应用可以说是无处不在1。但是随着科技的发展,形色各异的智能家电出现在人们的日常生活中,致使遥控器的种类越来越多。据调查数据表明,每户居民家中至少有3个以上的遥控器,而在这些遥控器中,有极大部分的遥控器是属于红外遥控器。然而随着经济的快速增长,智能家用电器越来越多,各式各样遥控器的数量也随之增长,红外遥控器的数量也在不断增长,各种不便也随之而来。人们常常会浪费过多时间来寻找控制各种各样家用智能电器遥控器。为

2、了解决人们同时使用众多遥控器的烦恼,于是越来越多的自学习型遥控器也就诞生了。不过现在市场上的红外遥控器,基于成本的考量,绝大部分都是采用455KHz的陶振2来驱动,选择以12分频系数,其载波频率约为38KHz,此设计方法也使学习型遥控器的设计变得更加简单。但是现在市面上许多常见的遥控器大多都只能控制几种产品,并不是真正实现“万能”红外遥控器3功能。本系统采用STM32F103C8作为主控芯片,以多个发光二极管做为指示灯,分别用来提示系统工作的模式、红外信号输入输出指示及其电源指示,以独立键盘作为系统操作的键盘,高可靠性的VS1838B红外一体化接收头组成的红外接收模块和红外发射管组成的红外发射

3、模块等构成。不仅能实现一个遥控器控制多个智能家电,真正实现万能遥控的功能,而且系统具有性能高,功耗低,成本价低等优势。1.2设计目的红外通信技术是利用红外线信号来传输数据的,红外通信技术更多的是应用与短距离无线传输的领域中,是一种高可靠、低功耗的无线传输技术。 红外通信无需用实体连接线路,并且简单易用、实现成本低,而且从功率方面来考量,相对于其他无线遥控器来说,红外传输它的功耗低于其他无线遥控,因此现已广泛应用在微型的移动设备间的数据交换和家用电器设备的控制。例如智能电视、空调、智能家电、电动窗帘等。红外技术现已广泛应用于各种智能家用电器和形色各异的娱乐设施中,所以也突出了万能学习型遥控器设计

4、的重要性4。但是由于红外遥控领域在全球并无一个统一通信协议标准,在不同地区,不同公司采用的编码格式也都不一样。因此,智能化学习型万能遥控器的产品也倍受人们的喜好,青睐。本设计首先对红外线遥控器编码原理进行了全面的分析,并结合市面上出售的随着智能家电的增长,红外遥控设备也越来越多,因此也决定了学习型遥控器的重大意义。1.3设计要求设计一个万能学习型遥控器,其具体设计指标要求如下:用红外发射管作为系统的红外发射模块。用按键来切换学习型红外遥控的学习模式与非学习模式。当用户操作进入非学习模式下是,通过按下发射信号的按钮来控制红外编码信号的发射。当用户按下学习键,系统处于学习模式,此时将被学习的红外遥

5、控器对准红外接收头,按下被学习遥控器的按键发射红外信号,系统完成红外编码的捕捉和记录。当学习型遥控器处于学习模式时,再按学习键退出学习模式,进入非学习模式状态。在非学习模式下按下红外发射键,还原红外编码并发送红外信号,实现控制其红外遥控的智能家电。在此硬件设计时,要尽力做到硬件模块简单方便、性能稳定且易于实现,促使整个系统电路简化。软件设计流程清晰,且软件程序思维清晰,要做到以最为简单的程序实现系统所需功能。1.4设计方案选型1.4.1方案一:采用单片机(AT89C51)设计学习型红外遥控器学习型红外遥控器采用单片机(AT89C51)、一体化红外接收头、红外发射管、红外接收发射驱动电路、串行I

6、2C总线的EEPROM(可擦写编程存储器)24c02及其独立键盘组成学习型遥控器5的控制电路。通过按键来切换学习模式、非学习模式、控制发射红外遥控信号。切换至学习模式状态时,将红外信号捕捉并记录到单片机RAM,再存储到存储器。发射红外信号时,从EEPROM取出记录的红外信号数据,再由单片机(AT89C51)定时器产生38KHz频率的载波信号6,通过红外发射管发射出红外信号。1.4.2方案二:用STM32F103C8嵌入式芯片其红外发射接收模块电路构成学习型红外遥控器STM32系列芯片具有低成本,功耗低,芯片内部资源丰富、高性能等优点。STM32F103C8芯片是ARM Cortex-M3内核的

7、工作频率最高可达72MHz,芯片内部集成了高速嵌入式存储器(高达20KByte的SRAM存储器,和128KByte的FLASH存储器)。STM32功能强大,本方案采用它作为主控芯片,红外接收一体头7、红外发射管组成的红外发射接收模块、独立式键盘和复位电路组成的本系统。通过此硬件平台并结合c语言编程使本系统实现所需功能。1.4.3方案的比较和选择方案一,以单片机(AT89C51)为主控搭建硬件平台系统,所需外围芯片和元器件较为繁多,成本较高。实现所需功能的原理和方法也较为复杂,需有单片机产生38KHz的载波信号,使得单片机的负荷繁重,同时单片机的主板低,捕捉红外信号时由于单片机主频低,误差较大。

8、该方案成本高,编程算法和电路搭建较为复杂,可靠性和后期的扩展性低,所以方案一不适合该设计。方案二,采用ARM架构ARM Cortex-M3的STM32系列的芯片STM32F103C8为该系统的主控,主控内部集成了丰富的资源,且功能强大,搭建后可用ARM内核芯片推出的仿真器J-Link进行在线联调,使得编程更为方便,大大降低了系统软件编程的难度,而且具有成本低、可扩展性强、功耗低、高性能7等特点。显而易见选用方案二对系统的后期扩展较为有益,故本设计选用方案二作为系统的设计方案。2系统硬件设计2.1系统的总体设计本系统设计的学习型红外遥控器模块设计框图如图2-1所示,采用STM32F103C8为系

9、统主控芯片,电源电路、复位电路、时钟电路、按键控制电路、键盘输入电路、VS1838B红外一体化接收头和红外接收头搭建的红外发射接收电路8所组成。整机供电采用5号电池供电,运用按键来操作系统,采用红外一体化接收头来捕捉红外信号,通过红外发射管发射所记录的红外信号。系统框图如下图2-1所示:图2-1 系统硬件框图2.2 STM32F103C8芯片介绍图2-2 STM32F103C8主控芯片(1)STM32F103C8是ARM 32-Bit Cortex-M3内核的处理器,它的主频最高可达72M,内部集成了64KByte的FLASH,20KBye的静态随机存储器SRAM,内嵌出厂已经调校好的8MHz

10、的RC振荡器和32KHz带校准功能的RC振荡器。内部嵌有RTC时钟,两个12位的数模转换器。拥有7路支持定时器、SPI、ADC、USART和IIC的DMA通道。两种单线调试接口:JTAG和SWD接口和多路外部中断通道。7个定时器,16位定时器3个,4个可用于输出捕获和输入比较的PWM通道。芯片还内嵌了两个独立的、窗口的看门狗定时器,2个IIC通信接口,9个通信接口,两个SPI通信IO口,3个USART(串口)接口,CAN总线通信接口和USB2.0通信口。STM32F103C8是一种高效的微控制器,内嵌资源多,体积小,稳定性高,而且成本低,在目前的嵌入式系统中得到了广泛的应用。(2)STM32F

11、103C8增强型系列MCU,工作频率可达到72MHz,其内核使用的是高可靠性,高性能的ARM Cortex-M3 的RISC32位的内核9。STM32资源丰富,包含两个ADC12位精度的采集数据通道、1 个PWM Timer和3 个通用的16位Timer定时器,还包含标准、先进的通信总线接口:拥有3 个标准的USART接口、2 个标准I2C 接口和高速通信总线SPI接口、一个通用型USB接口和一个CAN(控制局域网络)接口。芯片内部有高速存储器( 高达128KByte的闪存和20KByte的SRAM),32个增强型I/O 接口和两条高速APB总线外设。STM32F103C8芯片供电电压为2.0

12、V3.6V,正常工作温度在-40C 至+85C 温度之间,其工作温度扩展范围在-40C 至+105C之间。主控芯片STM32的省电模式保证低功耗应用的需求。2.3 主要元器件介绍2.3.1 红外发射管红外信号发射管原理与红外发光二极管类似,也称为红外发射二极管,但是红外发射管发出的光信号是不可见光,这是与发光二极管的区别等,它属于二极管类型的器件。它能将电信号转换成不可见的红外光并发射红外信号出去的发光元器件。红外发射管的原理和结构与普通的发光二极管相似。红外发射管高效率构成材料常用有由砷化镓(GaAs)、砷铝化镓10(GaAlAs)等制作成PN结,再外加正向偏压往PN结导入电路并激发红外光信

13、号11。红外发射二极管发射的波长,与其本身的材质有关。如以砷化镓材质制成的红外发射二极管,其所发出的红外光信号光波长一般在 940950 nm范围之间。红外线发射管的发射的光信号也是随电流变化的比例而定。同时,红外光信号也随温度变化而产生影响,当温度下降时,红外发射光信号反而增强;而温度上升时,红外光信号则会减弱。因热损耗原因,元件上的温度会随之上升,发射管的发光效率就会受到相应的影响而降低。红外发射二极管如图2-3-1所示:图2-3-1 红外发射二极管2.3.2 红外一体化接收头VS1838B目前市面上通常是用红外一体化接收头对红外遥控信号进行解调。一体化红外接收头主要特点:体积小、灵敏度高

14、、无需多加外接元件,而且抗干扰性强,使用十分的方便。技术参数如下:工作电压:2.75.5 V工作电流:大于0.6 mA工作温度:-25+85()摄氏度储存温度:-40+125()摄氏度静态电流:在无信号输入的条件性,静态电流处于0.10.5mA之间接收距离:不少于2023米接收角度:1/2 +/-35 Deg载波频率:38KHz图2-3-22.4系统各模块介绍2.4.1电源电路图2-4-1 电源模块本设计电路采用LM1117稳压芯片将外接5V电源转换成3.3V,然后将转换得到的电源给分别给单片机和红外模块供电。LM1117是一个低压差三端可调稳压集成电路,其压差在1.2v输出,它有电流限制和热

15、保护的作用,输出端需要一个22UF的电容来维持稳定性。它的特性有以下4点:(1)电流限制和热保护作用;(2)输出电流可达800mA;(3)线性天调整率为0.2%;(4)负载调整率为0.4%;LM1117的实物图如下:2.4.2复位电路图2-4-2 复位电路模块2.4.3时钟电路图2-4-3 时钟电路模块2.4.4下载电路下载电路模块采用SWD接口方式下载,另SWD方式下载最少需要两根线(SWDIO和SWCLK)才能下载并调试代码。SWD方式下载在产品设计过程中更为方便,因为SWD可实现在线联调功能,而且下载速度更快,在研发设计时建议采用SWD方式下载。图2-4-4 下载电路2.4.5 独立键盘

16、电路该设计的键盘模块电路采用独立键盘的方式排列。因为该设计主要是对红外遥控学习功能的验证,所以其按键应用的个数也相对较少,所以系统最后决定采用独立键盘的方式来设计该系统的按键12。图2-4-5 独立键盘模块2.4.6 红外发射电路红外发射模块电路采用红外发光二极管来发射红外遥控信号。红外信号发射的电路原理如图2-4-6所示。发射红外信号时需由STM32F103C8芯片内部的16定时器产生一个频率为38KHz载波信号作为红外信号发射时必不可少的红外载波信号。红外发射信号为高电平时启动定时器,产生载波信号,当为低电平时,关闭定时器13。从而实现红外信号的的还原、再生。红外编码信号是先对38KHz左

17、右的红外载波信号进行调制,而不是直接采用未调制红外光信号所产生的红外线信号来发射的14。用其载波信号来驱动红外发射二极管发光,即采用此调制的技术的主要好处是:能使红外发射管的脉冲电流很大而平均的直流电流比较小,发射管管芯不至于过热并且所产生的信号有利于接收端解调出有效的信号。提高了其信噪比和红外信号传输距离。红外遥控发射电路模块如图2-4-6所示:图2-4-6 红外发射模块2.4.7 红外接收电路红外接收模块采用的是红外接收一体头VS1838B,其频率为37.90KHz。图2-4-7 红外接收模块3软件部分设计3.1 Keil uVision4 集成开发环境介绍Keil uVision4是AR

18、M公司在原有的的Keil的开发环境下再集成RealView MDK等一些开发工具,与2011年3月发布了功能更为强大,性能较为稳定功能更为完善的版本Keil uVision4。Keil uVision4强大的编译功能和灵活的调试工具实现与ARM器件的完美融合。KEIL uVision4采用标准C编译器ARM系列等微控制器的嵌入式软件开发提供了人性化的C语言编译环境,同时保留了汇编代码高效,快速的特点15。随着Keil uVision4编译器功能的不断完善,KEIL uVision4集成了越来越多的工具。其集成了开发环境包含:实时操作系统,汇编器,调试器,项目管理器,编译器16。Keil uVi

19、sion4为ARM内核ARM7、ARM9、Cortex-M、Cortex-R4等微处理器设备提供了一个完整的软件开发环境。Keil uVision4 开发环境界面如下图所示。图3-1 Keil uVision4开发软件界面3.2软件总架构该系统采用的编程语言为C语言,C语言的功能强大,执行效率高,且可移植性高,所以采用C语言编写该系统的软件。该系统的软件主要划分为四个模块:红外接收模块、红外发射模块、独立键盘驱动模块、滴答定时器驱动模块等四个主要的软件模块代码。3.2.1系统主程序流程图图3-2-1系统上电后开始工作,首先对外设进行初始化配置,并实时监测是否有按键操作,若有按键操作则响应相应的

20、事件。3.2.2主程序程序代码/*Copyright (c)* 福建师范大学*-* 文件: main.c * 作者: Liwx* 日期: 2014.03.08 * 版本: v1.0 * 版本信息: NONE* 文件信息: 主函数实现* 版本特征:*/int main( void ) Device_Init( ); / 设备初始化 while( 1 ) switch( ReadKey( ) ) case STUDYKEY: IR_Rec( ) ;/ 接收红外信号,记录高低电平时间 break ; case SENDKEY: IrSend( TimeBuf_L , IRBUFSIZE );/ 发送红外编码 default: break ; P26 = P26 ; Delay(0xffff); 3.2.3 红外接收模块流程图 图3-2-3红外接收程序主要实现对红外信号的捕捉和记录。3.2.4红外接收模块程序代码/* 函数: IR_Rec, 红外学习(轮循)* 参数:* 返回: Liwx*/void IR_Rec( void ) Ir_u8 i ; /- / 等待(遥控或按键)按键按下NEXT: if ( WaitKey_Down(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1