【《单片机控制的遥控小飞机系统硬件和软件设计案例》5700字】_第1页
【《单片机控制的遥控小飞机系统硬件和软件设计案例》5700字】_第2页
【《单片机控制的遥控小飞机系统硬件和软件设计案例》5700字】_第3页
【《单片机控制的遥控小飞机系统硬件和软件设计案例》5700字】_第4页
【《单片机控制的遥控小飞机系统硬件和软件设计案例》5700字】_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机控制的遥控小飞机系统硬件和软件设计案例目录TOC\o"1-3"\h\u25389单片机控制的遥控小飞机系统硬件和软件设计案例 120571第1章遥控小飞机的硬件选择 1304621.1单片机选择 120461.2遥控小飞机的彩灯模块设计 261321.2.1彩灯选择 3271681.2.2彩灯工作原理 3196191.3遥控小飞机的音乐模块设计 4154791.1.1扬声器选择 4326561.1.2音乐播放原理 5134301.4遥控小飞机的运动模块设计 6146881.2.1电机型号选择 695381.2.2电机控制器选择 63631.2.3遥控小飞机运行原理 777951.5遥控小飞机的遥控模块设计 9163901.5.1遥控方式选择 924911.5.2红外线发射接收装置型号的选择 1061471.5.3红外遥控原理 101768第2章遥控小飞机的软件控制设计 1364472.1开发平台Keil 132262.2彩灯模块控制 14317132.3音乐模块控制 1529542.4遥控运动模块控制 15第1章遥控小飞机的硬件选择1.1单片机选择由于在课程中学习和平时接触最多的就是51单片机,因此在单片机选择方面我选择AT8951系列单片机。89系列单片机的内部结构与80C51相近,C51是128字节的数据存储器,4千字节的程序存储器,C52是256字节的数据存储器,8千字节的程序存储器,在内核构造和指令系统与C51几乎一样的前提下,C52还增大了内存空间,因此我选择C52单片机作为智能遥控小飞机的控制芯片。C52单片机简介:

AT89C52是一种高性能、低功耗的8位单片机。片内含8千字节的可反复擦写的只读程序存储器(PEROM)。使用ATML公司高密度、非易失性存储技术生产器件,与标准80C51指令系统及80C52产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH由存储单元,因此功能强大的AT89C52单片适用于许多较为复杂控制应用场合。C52的主要性能参数:8个中断源可编程串行UART通道低功耗空闲和掉电模式全静态操作:0HZ-24MHZ三级加密程序存储器256X8字节内部RAM8字节可重擦写FLASH闪速存储器1000次擦写周期32个可编程I/O口线3个16位定时/计数器.与Mcs-51产品指令和引脚完全兼容。图1.80C52单片机各引脚1.2遥控小飞机的彩灯模块设计1.2.1彩灯选择在彩灯方面需要灯泡通电稳定且有足够多发光颜色的型号,市面上大多数普通的发光二极管都可满足上述要求,因此选择下图样式的发光二极管。图2.发光二极管1.2.2彩灯工作原理图1.彩灯接线原理图2.彩灯开关彩灯的本质就是一个发光二极管,只是各个彩灯接通时发出光的颜色不同。根据二极管的单向导通性我们在这八个彩灯右侧外接一个电源,由于C52单片机引脚内置上拉电阻导致在其无命令时引脚保持高电平状态,此时二极管两侧都为高电压因此不导通。LIGHT)ON/OFF按键接在单片机P2.7引脚上,另一侧接地,而当按下(LIGHT)ON/OFF按键时,P2.7引脚跟着变为低电平,根据单片机内写入的程序使单片机P1.0-P1.7引脚依次独立变为电平,对应引脚的二极管被加上正向电压导通发光,此状态依次在这八个引脚循环,组成一个流水灯模块。在再次按下(LIGHT)ON/OFF按钮时,单片机P1.0-P1.7八个引脚全部恢复为高电平,八个二极管全部不导通,流水灯结束。1.3遥控小飞机的音乐模块设计1.1.1扬声器选择在扬声器选择方面需要其通电时稳定无杂音且声音足够响亮,为了方便选择无需外接电源可以直接用单片机输出电压进行驱动的扬声器模块图5.蜂鸣器1.1.2音乐播放原理如果要想发出相应的音频脉冲,只需算出某一音频的周期(1/频率),然后将此周期除以2,即可得出半周期的时间。然后再利用定时器来计时这个半周期的时间,每当计时时间到后就将输出脉冲的I/O进行反相,继而重复计时此半周期的时间再对I/O进行反相操作,该频率的脉冲就可在I/O引脚上得到。

利用80C52的内部定时器0,使其工作在方式1模式下,改变THO及TL0的值即可发出不同频率的音频脉冲。例如频率为523Hz其周期T=1/523=1912us,因此只要令定时器计时956us/1us=956,在每次计数956次时将I/O进行反相操作,就可得到中DO(523Hz)音。

脉冲计数值与频率的关系公式如下:

N=F/2/r

N:计数次数:

F:音频的脉冲频率;

r:单片机的机器周期;

定时器初始值T=65536-N一首音乐的节拍部分即可用一个延时函数yanshi()来操作,若1/8拍为1yanshi(),那么1/4拍就为2yanshi(),依次类推。根据以上的原理综合即可对音乐程序进行编程编译,完成对音乐模块的操作。图6.蜂鸣器接线图7.音乐模块按键1.4遥控小飞机的运动模块设计1.2.1电机型号选择由于小飞机采用两轮驱动且重量小,对于电机功率的要求不是很大,选择型号为R300C的普通直流电机如下图所示图8.R300C电机1.2.2电机控制器选择因为单片机引脚的驱动能力低,因此需要外接电机驱动模块。L298N驱动模块在市场上存量大,驱动能力完全符合上面所选的小电机,而且价格便宜且驱动操作简单,因此选择L298N作为电机的驱动模块是合理的。图9.L298N模块1.2.3遥控小飞机运行原理图10.L298N模块接线图图11.直流电机接线图L298N模块的IN1、IN2、IN3、IN4接口分别接在单片机的的P1.4、P1.5、P1.6、P1.7引脚,OU1、OUT2输出接口接在小飞机的左轮,OUT、OUT2输出口接在小飞机的右轮。单片机接收红外发射器发射的信号经处理后会改变IN各接口的电平高低状态,进而使左右电机的运行状态改变,完成前进、后退、左转、右转、停止功能。在接收红外信号的前进指令时,IN1为高电平、IN2为低电平、IN3为高电平、IN4为低电平,左右轮全部正转,小飞机前进;接收红外信号左转指令时,IN1为低电平、IN2为高电平、IN3为高电平、IN4为低电平,左轮反转右轮正转,小飞机左转;接收红外信号右转指令时,IN1为高电平、IN2为低电平、IN3为低电平、IN4为高电平,左轮正转右轮反转,小飞机右转;接收红外信号后退指令时,IN1为低电平,IN2为高电平,IN3为低电平,IN4为高电平,左右轮全部反转,小飞机后退;接收红外信号停止指令时,IN1、IN2、IN3、IN4全部为低电平,电机无驱动,小飞机停止。表1.L298N逻辑表IN1IN2IN3IN4运行状态1010前进1001右转0110左转0101后退0000停止1.5遥控小飞机的遥控模块设计1.5.1遥控方式选择现在常见的遥控方式大体有红外遥控、无线电遥控和蓝牙遥控三种,下面大概介绍一下这三种方式的原理。红外遥控:遥控器依据事先选择的相应红外通信协议发送一串红外脉冲,由接收头接收反馈给单片机进行解码处理,然后根据发送的信息来完成一系列操作。无线电遥控:发射端按频率编码发送一串无线电波,由接收头接收反给单片机进行解码处理,根据发送的信息来操控相应机构蓝牙遥控:蓝牙遥控严格上也属于无线电的一种,但是其发射端由专用遥控器变成了手机,且其传输的距离也比无线电短了许多,传输原理与无线电大体相同。无线电遥控的可控范围大,受障碍物影响小,但是容易受到环境中其他的无线电波的干扰,而且作为遥控玩具的载体的情况下,其大范围的可控性又会浪费资源,故不选。如今所有的智能手机都有蓝牙功能,蓝牙遥控的优点就是不需要指定的遥控器,只需一个手机即可操控,但是与被控件的每次操作前都需要连接手机,对于面对对象是儿童的情况下反而不是那么方便,故不选。红外遥控的精准性较强,编码解码方面也比较简单,其遥控器轻巧简单,整套设备造价便宜也不占用其他资源,因此选择红外遥控是合适的。1.5.2红外线发射接收装置型号的选择当今红外遥控技术已经非常成熟了,我选择的此套模块发射器采用UPD6112控制芯片NEC编码格式,发送频率为38KHZ;接收头则采用HX1838,可接收38KHZ任何遥控编码的数据。此套装置小巧轻便、价格低廉,适合作为本设计的红外遥控模块。图12.红外发射器1.5.3红外遥控原理红外遥控是发射器发出经过调制的红外光波然后经接收头接收将发射器发射的红外光转化为相应的电信号送至处理器执行操作。红外遥控系统的原理大体上相同,只是各个系统的信号编码方式不一样,下面以NEC协议介绍。遥控器由扫描键、编码和发射电路组成,当按下遥控器的相应的按键时,遥控器的发射电路就会发送一串红外脉冲编码。图11.红外编码格式一次完整的按键操作由引导码、用户码、操作码和结束码组成。引导码由9ms红外脉冲加2.5ms无红外脉冲组成,是接收头识别的前提;用户码由八位固定的给定地址和给定地址的反码组成,用来识别发射的元件;操作码即遥控器上的相应的按键对应的发射编码和发射编码的反码的组合,用来识别按键操作;结束码即一个二进制信号“0”,与前面的各码一同组成了一个按键操作信号。一个38kHz载波的周期大概是26.3μs即一个红外脉冲,其占空比为1:3,一个红外脉冲由大约8.77μs发送红外光和17.53μs不发送红外光组成。根据协议发送一个二进制“0”位是由0.56ms发射红外脉冲和0.56ms不发射红外脉冲组成;一个二进制“1”位由0.56ms发射红外脉冲和1.685ms不发射红外脉冲组成。对用户码、操作码的编码都是根据以上的协议对其由低位到高位逐位发送。发射器对38kHz载波进行脉冲幅度调制后形成遥控信号,经发射电路由红外发射二极管发送出去。红外接收头接收到调制后的信号之后,经过滤波、检波、整形等操作后,从而得到和输出信号反相的红外遥控脉冲,再经过处理器处理后得到相应的红外遥控信号然后进行相关的按键指令操作。图12.红外发射接收模块接线图15.红外发射控制按键红外发射头高电平导通低电平不工作,发射头接在单片机的P1.6引脚上,根据这个特性我们将红外信号通过按键编码经单片机控制P1.6引脚电平的高低变换进而使发射头的通断将指令发送出去。GO、BACK、LEFT、RIGHT、STOP按键分别接在单片机的P1.1、P1.2、P1.3、P1.4、P1.5引脚上,当按下GO按键时,P1.1引脚变低,单片机发送带有ox08操作码的红外信号指令,使接收信号的单片机的P1.4、P1.5、P1.6、P1.7引脚分别为高电平、低电平、高电平、低电平,进而控制L298N芯片的OUT输出口,使左右电机正转,完成前进操作;当按下BACK按键时,P1.2引脚变低,单片机发送带有ox02操作码的红外信号指令,使接收信号的单片机的P1.4、P1.5、P1.6、P1.7引脚分别为低电平、高电平、低电平、高电平,进而控制L298N芯片的OUT输出口,使左右电机反转,完成后退操作;当按下LEFT按键时,P1.3引脚变低,单片机发送带有ox04操作码的红外信号指令,使接收信号的单片机的P1.4、P1.5、P1.6、P1.7引脚分别为低电平、高电平、高电平、低电平,进而控制L298N芯片的OUT输出口,使左电机反转右电机正转,完成左转操作;当按下RIGHT按键时,P1.4引脚变低,单片机发送带有ox06操作码的红外信号指令,使接收信号的单片机的P1.4、P1.5、P1.6、P1.7引脚分别为高电平、低电平、低电平、高电平,进而控制L298N芯片的OUT输出口,使左电机正转右电机反转,完成右转操作;当按下STOP按键时,P1.5引脚变低,单片机发送带有ox05操作码的红外信号指令,使接收信号的单片机的P1.4、P1.5、P1.6、P1.7引脚全部为低电平,进而控制L298N芯片的OUT输出口,使左右电机全部停转,完成停止操作。第2章遥控小飞机的软件控制设计2.1开发平台Keil美国KeilSoftware公司出品的KeilC51软件是51系列兼容单片机C语言软件开发平台,与汇编相比,在功能性、易读性、结构性、可移植性上C语言有明显的优势,因而被广泛使用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个有着多样化功能且强大的仿真调试器等在内的完整开发系统,通过一个集成开发平台将这些部分有序的组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。KS公司于09年2月份发布的Keil4,Keil4引入灵活的窗口操作系统,让工程师们可以使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁、高效的平台来开发应用程序。新版本还支持大部分新推出的ARM系列单片机,还增加了许多其他新功能。图16.keil软件界面使用keil创建编译代码流程:点击工程选择Newμvisionprojiect保存文件在相应路径→在弹出框中选择Atmel选中AT89C52→在左上菜单右击目标1,选择为目标1设置选项,在Target选项卡中将单片机晶振频率设置为12MHz,在Output选项卡中勾选CreatHexFile→点击软件上方文件选项选择新建再单击保存,保存文件格式以.c位后缀的c文件→双击“源组1”,将刚才新建的c文件添加进去即可开始编程。在创建的.c文件中编写代码,初次编写完毕后点击界面左上角的translate按键,在界面下方会弹出关于error、warning相关的信息,如有语法错误和警告则必须在修改后无错误警告才可进而build、rebuild。打开画好Proteus文件,双击单片机模块,在ProgramFile选项卡中选择存放已编译好的程序文件中的hex文件,即完成对单片机的模拟程序写入。2.2彩灯模块控制图17.流水彩灯流程图将P1.0-P1.7设置为彩灯输出接口,每一个引脚后接一个不同颜色的发光二极管,P1.0则接一个控制彩灯的开启关闭的开关按钮k1。当按下k1按钮时,P1=0xfe,P1.0口灯亮P1其他口灯全不亮;经一段时间延时后将P1=0xfe左移一位再将最低位取1,即P1=0xfd,则P1.0口及其他P1口灯全不亮仅P1.1口灯亮;当循环至P1=0x7f时,延时一段时间后将P1赋值为P1=0xfe,按此流程循环下去。当再次按下k1按钮时,将P1赋值为P1=0xff八个灯全不亮,以上综合即流水灯程序的全部过程。2.3音乐模块控制图18.音乐播放模块控制流程图蜂鸣器接在单片机P1.3引脚上,ON/OFF、NEXT、BEFORE按键分别接在单片机P2.0、P2.1、P2.2引脚上。ON/OFF按键时音乐模块的总开关,单片机首先需要判断ON/OFF是否被按下,如被按下才能继续判断其他按钮的开断状态。当ON/OFF按键被按下时,蜂鸣器开始工作并播放第一首歌曲;在播放某一歌曲时按下ON/OFF键时,音乐播放被暂停,再次按下ON/OFF键时,音乐播放继续从刚才中断的位置开始播放;在按下ON/OFF按键的前提下按下NEXT按键,蜂鸣器切换为下一首歌开始播放,再按下NEXT键再次切换为下一首歌曲,在八首歌曲里循环切换;在按下ON/OFF按键的前提下按下BEFORE按键,蜂鸣器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论