基于GPS的四旋翼飞行器的设计

上传人:沈*** 文档编号:42275632 上传时间:2021-11-25 格式:DOC 页数:64 大小:1.12MB
收藏 版权申诉 举报 下载
基于GPS的四旋翼飞行器的设计_第1页
第1页 / 共64页
基于GPS的四旋翼飞行器的设计_第2页
第2页 / 共64页
基于GPS的四旋翼飞行器的设计_第3页
第3页 / 共64页
资源描述:

《基于GPS的四旋翼飞行器的设计》由会员分享,可在线阅读,更多相关《基于GPS的四旋翼飞行器的设计(64页珍藏版)》请在装配图网上搜索。

1、中国计量学院本科毕业设计(论文) 基于GPS的四轴飞行器的导航系统设计The Design Of four Shaft Aircraft Navigation System Based On GPS学生姓名 江克楠 学号 0700107129 学生专业 机械电子工程 班 级 07机电1班 二级学院 机电工程学院 指导教师 李运堂 中国计量学院2011年6月 郑 重 声 明本人呈交的毕业设计论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个

2、人和集体,均已在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。学生签名: 日期: 2011年5月29日 分类号: TP242.6 密 级: 公开 UDC: 621 学校代码: 10356 中国计量学院 本科毕业设计(论文) 基于GPS的四轴飞行器的导航系统设计 The Design Of Four Shaft Aircraft Navigation System Based On GPS 作 者 江克楠 学号 0700107129 申请学位 工学学士 指导教师 李运堂 学科专业 机械电子工程 培养单位 中国计量学院 答辩委员会主席 评 阅 人 2011 年 6月致谢随着这篇本科毕业

3、论文的最后落笔,我四年的大学生活也即将划上一个圆满的句号。回忆这四年生活的点点滴滴,从入学时对大学生活的无限憧憬到课堂上对各位老师学术学识的深沉沉湎,从奔波于教室图书馆的来去匆匆到业余生活的五彩缤纷,一切中的一切都是历历在目,让人倍感留恋,倍感珍惜。在此论文撰写过程中,要特别感谢我的导师李运堂老师。为人随和热情,治学严谨细心的他,从选题、定题开始,一直到最后论文的反复修改,都始终认真负责地给予我耐心的指导,帮助我开拓研究思路,点拨与鼓励。正是李老师的无私帮助,我的毕业论文才能够得以顺利完成,谢谢李老师。最后我还要感谢机电工程学院和我的母校中国计量学院四年来对我的大力栽培。基于GPS的四轴飞行器

4、导航系统设计摘要:四轴飞行器执行任务就必须人工进行遥控或进行自主巡航。人工遥控只能完成视野内的任务,若要在人类难以到达的地方执行任务,如灾区、极地等,就必须使用自主巡航。用于民用的自主巡航飞行器可执行水灾、火灾、地震等灾情调查救援任务;化工厂等场所有毒气体浓度监测;重要设施连续监控;输油管线和输电线路的巡查;区域性空地、空海通讯中继;农田、林区农药喷洒;当对特定地区进行日常环境监测,也可以使用这种飞行器,自动巡查完后自动返航并自动记录存储数据,大大减少人力成本。本文提出了一种基于GPS的简易四轴飞行器导航系统的设计与实现。该系统能接收并分析出需要的GPS定位信息,与存储的定位坐标进行简易地自主

5、导航,并在显示屏上模拟和显示。同时也可测量飞行距离以及获得准确的卫星时间。详细介绍了GPS系统的组成、定位误差、数据接收和参数提取的方法,并同时研究了点阵液晶显示屏字库的建立与字符的显示,以及I2C总线串口传输技术的实际运用。关键词:GPS;四轴飞行器;自主导航中图分类号:TP242.6The design of four shaft aircraft navigation system based on GPSAbstract:To perform tasks,four shaft aircraft must be remote artificially for control or cru

6、ise independently.Artificially remote control can only complete the task within sight,If want to perform tasks in the place that human inaccessible,Such as disaster area,polar,etc,you must use independent cruise.For civilian use independent cruise vehicle executable to the disaster investigation res

7、cue mission such as flood, fire or earthquake; poisonous gases concentration monitoring in chemical factories; Important facilities continuous monitoring; Oil pipelines and transmission line search;Regional air-to-ground, air-to-marine communication relay;The farmland and forest pesticide sprays;if

8、we need get to specific areas for daily environment monitoring,Also can use this aircraft.Automatic return after be automatic search and automatic record store data,greatly reduce the manpower cost. This paper puts forward a method of simple four shaft vehicle navigation system design and implementa

9、tion which based on GPS.The system can receive and analyze GPS positioning information that we need,and storage positioning coordinate easily,and autonomous navigation, simulate and then display on the screen.It also can measurable flight distance and get accurate satellite time.Introduces the compo

10、sition,positioning error,data receiving of GPS system,and method of parameter extraction,and the establishment of the LCD screen fonts,and the application of characters I2C bus practical the serial transmission technology.Keywords:GPS; Four shaft vehicle; Autonomous navigationClassification: TP242.6

11、目录摘要I目录III1绪论11.1研究背景11.2国内外四轴飞行器自主导航系统发展现状11.2.1国内外飞行器的发展和应用11.2.2全球定位系统GPS发展概述31.3系统简介41.3.1系统功能简介41.3.2系统设计简介42硬件设计52.1硬件总体设计52.2处理器的选择52.2.1 89C51系列单片机简介52.2.2单片机管脚说明:82.3 GPS模块102.3.1 GPS硬件介绍102.3.2 GPS卫星信号112.3.3 GPS定位误差112.4 LCD显示模块介绍122.5键盘模块132.6串口模块143软件设计153.1 GPS模块程序设计153.1.1 GPS数据格式(NME

12、A-0183)153.2 LCD模块183.2.1汉字字模的建立203.2.2ASCII字库的建立223.3键盘模块233.4导航软件设计244数据传输254.1 I2C总线在LCD上的应用264.1.1 I2C总线简介264.1.2 I2C总线特征264.1.3 I2C总线相关术语264.1.4 I2C总线位传输274.1.5 I2C总线数据传输284.1.6在LCD中的实际应用284.2 GPS的串行I/O口传输294.2.1串行I/O口简介294.2.2串行I/O口工作方式295实物调试325.1软硬件测试325.2实物照片326总结与展望346.1总结346.2展望34参考资料34附录

13、A 部分单片机程序及注释36附录B 系统设计过程中的调试工具55毕业论文数据集56551绪论1.1研究背景四轴飞行器要完成各种任务就需要人工无线电遥控导航或者自主导航。人工遥控导航飞行只能在视野范围内进行,如果四轴飞行器要执行视野范围外的任务,就必须自主导航。常规飞行器一般用惯性导航设备或多普勒测地速设备,但由于庞大的体积、昂贵的价格等因素,难以应用于轻巧而廉价的四轴飞行器。而现今的全球定位系统GPS,拥有全天候、全球性、连续的精密三维导航与定位能力,并且重量和体积也非常适合无人四轴飞行器,同时价格也相当便宜,一块成品的GPS模块一般也就100人民币左右,因而GPS在航空导航、航海导航以及地面

14、导航等方面应用非常广。装载了GPS自主巡航系统后的飞行器大大拓展了其在民用与军用上的泛用性。用于民用型的自主巡航飞行器可执行灾情调查救援任务如水灾、火灾、地震等;喷洒农田、林区农药;监测化工厂等危险场所的危险气体的浓度;巡查输油管线、输电线路;连续监控重要的设施;区域性空地、空海通讯中继;当对特定地区进行日常环境监测的时候,用这种飞行器来执行也很方便和高效,自主巡查完后可以自动返回目的地并自动记录下存储的数据,大大减少了人力成本。据报道自2010年9月起,为了提高输电线路的巡检水平,江西省电力公司采用了无人机航巡输电线路,对输电线路本体缺陷、通道隐患进行快速探测,在各种地形复杂、气候恶劣的不利

15、条件下,在第一时间里准确、及时、高效地取得现场资料。本文讨论了一种简单的基于GPS的无人飞行器自主导航系统的实现。1.2国内外四轴飞行器自主导航系统发展现状1.2.1国内外飞行器的发展和应用2009年5月21日,一台叫做“旋翼飞行机器人”的空中多功能自主飞行机器人在中国中科院沈阳自动化研究所研制成功,并在灾害搜救的实际测试中取得很好的效果,并已经小批量地投入生产。据相关人员介绍,较大的四轴飞行器最长可在4小时中持续执行任务,并且速度可以达到每小时100公里,起飞时的自身重量为120公斤,并负担有效载荷40公斤;而较小一点的飞行器拥有最长2小时的续航时间,最大巡航速度可达每小时70公里,起飞是的

16、自身重量仅仅40公斤,同时负担14公斤的有效载荷。在灾害搜救实际测试中,无人四轴飞行器很好地完成了从自主起飞,然后根据预设的航迹点进行自主巡航飞行,悬停在空中或超低空来获取需要的数据或拍摄照片或视频,最后进行自主降落等一系列科目,非常完美地执行了测试内容。该四轴飞行机器人由机器人学国家重点实验室历经近4年的时间自主研发成功,技术水平已经达到国际同期先进水平。中国中科院沈阳自动化研究所机器人学国家重点实验室是在2007年成立的,此前作为中国科学院机器人学的重点实验室。目前,实验室已经取得了防爆排险机器人、工业制造机器人、蛇形仿生机器人、深水机器人、网络机器人等多项重要研究成果。在德国,已研发了一

17、种叫做Microdrones GmbH MD4-200垂直起降的微型无人飞行器。(如图1-1)图1-1德国MD4-200飞行器机体采用碳塑材料,因而它兼具轻巧和高强度的特点,同时该材料也使MD4-200可以抗电磁干扰。其AAHRS(高度、姿态和航向参考系统)使用了如下几种传感器:加速计、陀螺仪、磁力计、气压计、湿度计、温度计。通过使用4个同步无刷直驱电马达,飞行器的噪音非常小(当转速小于2000转/分钟,在3米处噪音小于63分贝)。选配的GPS系统能够实现空间位置锁定与自动航点导航功能,还可以选择以microSD卡作为记录器的飞行记录仪来实时记录和分析飞行数据,所有重要的飞行数据都可以下载到数

18、据中心,包括电池状态、高度、姿态、位置、飞行时间等。MD4-200还具有安全保护措施以避免坠毁,它能够在电量不足和失去控制信号时自主降落。目前MD4-200可以完成一次充电不低于20分钟的飞行时间。2006年4月在德国上市以来,短短的16个月里,在欧洲已经销售了超过250套MD4-200四旋翼飞行器系统,它们被用于许多不同领域:航空摄影、空中考古、空中监视、植被调查、消防救灾、边境控制、警察、特种部队和军队等等。1.2.2全球定位系统GPS发展概述简称GPS的全球定位系统(global positioning system)是随着现代化科学技术的发展而建立起来的新一代精密卫星定位系统。GPS系

19、统主要由三大部分组成,即用户设备部分以及空间星座部分和地面监控部分组成。1958年12月,美国为了给在北极的核潜艇提供精确的导航定位,美国海军联合詹姆斯普金斯(johns hopkins)大学物理实验室来研究和发展卫星定位导航系统,称为美国海军导航卫星系统,简称NNSS(navy navigation satellite system)系统。同时也被称为“子午卫星系统”,因为NNSS中的卫星轨道穿过了地极。1959年9月,一颗实验性卫星在美国发射,5年的研究与测试后,即1964年,建成了NNSS系统。而在1967年,美国政府解锁并开放了该系统,允许民间使用。为了给民间组织和军事部门提供实时的三

20、维定位导航,在1973年,美国国防部就开始着手研究和建立新一代卫星导航系统,也就是目前应用非常广泛的“授时与测距导航系统或称全球定位系统”(navigation system timing and ranging/global positioning systemNAVSTAR/GPS),通常简称为全球定位系统(GPS)。 由于该系统卫星数目不多,工作卫星只有6颗,同时只有平均约为1000km的运行高度,而从地面站观测到卫星的时间的间隔也非常长,平均约1.5个小时。虽然GPS系统对导航定位技术的发展是具有非常重大的意义,却不能满足军事上高精度高稳定性的苛刻要求。而且从大地测量学来看,由于它的定

21、位速度慢,测站平均观测2天,精度较低,只有3-5米的单点定位精度和约为1米相对定位精度,所以,该系统很难运作在大地测量学和地球动力学研究方面。然而在耗掉200多亿美元与20多年的时间后,终于在1994年全面建设完成了GPS系统。GPS的建成历经了三个阶段:第一阶段:完成方案的论证和初步设计。1973年到1979年间,美国政府一共发射了4颗试验型卫星。研发了地面接收机,同时建成地面的卫星接收网络系统,在硬件和软件上进行了全方面的试验。第二阶段:全方面研制以及试验。1979年到1984年间,美国政府又陆续将7颗试验型的卫星送人轨道,同时也研发了各种用途的卫星信号地面接收机。在实际测试中,GPS的定

22、位精度甚至远超乎设计者的预想。第三阶段:实用组网。1989年2月4日,第一颗GPS工作卫星被送人轨道,GPS系统的建成进入最后的阶段。1993年底,24星座GPS系统终于全面建成。1.3系统简介1.3.1系统功能简介在机载单片机上输入一系列GPS坐标点,自动生成相应航线,同时从机载GPS系统中读取定位数据,并与存储的定位坐标做实时比对,实时修正航线,并将定位坐标显示在液晶显示屏上,处理并显示当前位置。1.3.2系统设计简介图1-4系统设计框图系统采用STC89C52RC单片机作为控制器,进行收集经纬度定位坐标和卫星时间,并通过与记录的目的地坐标点进行比较而进行简单的导航。显示界面采用11264

23、点阵液晶显示屏显示GPS芯片接收到的定位数据、时间数据以及单片机发出的导航数据,它是112行64列点阵型液晶显示模块。GPS模块型号为HOLUX M-89,使用联发科技公司(MTK)所设计的低耗电量芯片MT3318。该模块的优势是对漂移的处理,功耗在30毫安,通讯方式是RS232(波特率4800),具有并行12通道,可同步跟踪12颗卫星。与PC机的通信,采用的是串行异步通信方式,从单片机TXD和RXD端的TTL电平到PC机的标准RS232电平的转换,系统采用美信公司的MAX232芯片。设置两个按键,用以切换不同界面以及设置目的地坐标。2硬件设计2.1硬件总体设计硬件总体设计框架如图2-1所示,

24、主要由以下模块组成:(1)89C52RC单片机,(2)GPS模块(3)11264点阵液晶LCD模块(4)电平转换模块。图2-1硬件原理图2.2处理器的选择2.2.1 89C51系列单片机简介嵌入式处理器是嵌入式硬件系统中最核心,也是最关键的部分,应根据系统应用的要求、体积、成本等因素选择合适的处理器。89C51系列单片机带有非易失性的Flash程序存储器,支持12时钟和6时钟操作,并由先进CMOS工艺制造。P89C51X2具有128字节的数据存储器,P89C52X2/58X2具有256字节数据存储器,都具有片内振荡器和时钟电路,以及32条I/O口,可用于多机通信、I/O扩展或全双工UART,此

25、外,由于器件采用了静态设计的方案,时钟停止但用户数据不会丢失,也可从时钟停止处恢复。同时频率可降至0,具有极宽的操作频率范围。该系列单片机拥有由软件选择的三个模式,分别为空闲模式,节电模式以及掉电模式。在选择空闲模式时会将CPU冻结,但是数据存储器、定时器以及中断系统和串口却仍然在工作。掉电模式则会保存数据存储器的内容,但是会将振荡器冻结,这会导致所有的其它片内功能将停止工作。(1) 存储器寻址范围64字节数据存储器以及64K字节程序存储器(2) 电源控制模式空闲模式掉电模式时钟可停止和恢复(3) 两个工作频率范围12时钟模式时为033MZH6时钟模式时为020MHZ(4) 12时钟操作,也可

26、通过软件或并行编程器选择6时钟时钟操作(5) 89C51核心处理单元全静态操作布尔处理器89C51X2:具有4k字节的Flash89C52X2:具有8k字节的Flash89C54X2:具有16k字节的Flash89C58X2:具有32k字节的Flash89C51X2:具有128k字节的RAM89C52X2/54X2/58X2:具有256k字节的RAM(6) 异步端口复位(7) 3个加密位(8) 4个8位I/O口(9) LQFP,PLCC,以及DIP封装(10) 16位定时/计数器T1和T0(80C51标准),T2(比较和捕获)是增加的(11) 温度范围扩展(12) 增强型收发全双工UART识别

27、自动地址检测帧数的错误(13) 低RMI(禁止ALE以及6时钟模式)(14) 双数据指针(15) 可通过外部中断来唤醒掉电模式(16) 中断优先级4个(17) 中断源6个(18) 可编程时钟输出图2-2 51单片机结构图图2-3单片机管脚图2.2.2单片机管脚说明: VCC:供电电压5V。 GND:接地。P0口:P0口每脚都可以吸收TTL门电流,是一个8位的漏级开路双向I/O口。在校验FIASH时,P0作为原码输出口,此时P0必须通过外部被拉高,也就是说要外接上拉电阻。当编程FIASH时,P0口输入为原码。当P0口的管脚第一次写1时,就会被定义为高阻输入。外部的程序存储器和数据存储器也能使用P

28、0口,同时P0口也可以作为成数据的低八位地址。P1口:输出的4个TTL门电流能被P1口的缓冲器接收。P1口是8位的并且自身能提供上拉电阻的双向I/O口,在编程和校验FLASH时,P1口作为低八位地址接收。P1口管脚写入1后,被自身上拉为高电平,可用为输入,由于内部上拉的缘故,外部将P1口下拉为低电平时,将输出电流。P2口:P2口缓冲器可以输出并接收4个TTL门电流。P2口为一个8位的自身提供上拉电阻的双向I/O口。当P2口被写1时,其管脚被自身的上拉电阻拉为高电平,且作为输入。并因此作为输入时,由于内部上拉的缘故,当外部将P2口的管脚拉至低电平,将输出电流。在给出地址“1”时,由于自身提供上拉

29、电阻,在对八位外部地址数据存储器进行写或读的操作时,P2口输出的为它的SFR里的内容。在校验和编程FLASH时P2口接收地址信号和控制信号的高八位。当利用外部ROM或16位地址外部RAM进行存取数据时,P2口输出的是地址的高八位。 P3口:4个TTL门电流可由P3口的管脚输出并接收,P3口有8个自身提供上拉电阻的双向I/O口。作为输入,由于外部下拉为低电平。当P3口写“1”时,因为自身能提供上拉电阻,P3口将输出电流(ILL),它们被自身上拉成高电平,这是可作为输入。P3口也是AT89C51的一些特殊功能口,如下面所示: P3口管脚备选功能:(1) P3.7/RD(外部数据存储器读选通)(2)

30、 P3.6/WR(外部数据存储器写选通)(3) P3.5 T1(T1外部输入)(4) P3.4 T0(T0外部输入)(5) P3.3/INT1(外部中断INT1)(6) P3.2/INT0(外部中断INT0)(7) P3.1 TXD(串行发送口)(8) P3.0 RXD(串行接收口) P3口在闪烁编程和编程校验时可以接收一些控制信号。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器,在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。在加密方式为1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序

31、存储器。XTAL1和XTAL2:反向振荡放大器的输入输出引脚及内部时钟工作电路的输入输出引脚。RST:复位脚。将RST脚间保持两个机器周期的高电平时间,单片机将被复位。ALE/PROG:在平时,ALE端输出1/6的振荡器频率的正脉冲信号,频率周期不改变,因此它可用作对外定时器或脉冲输出。然而用于外部RAM时,将会跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置低电平。这个时候,ALE只有在执行MOVC和MOVX指令时才能起到一定的作用。另外,略微拉高该引脚时,如果微处理器在执行ALE外部状态禁止,则置位无效。 /PSEN:外部ROM的选通信号。在读取外部程序存储器指令的期间,/

32、PSEN选通两次外部程序存储器,也就是出现2次选通信号。但在访问外部数据存储器的时候,将不会出现这样的有效/PSEN信号。2.3 GPS模块2.3.1 GPS硬件介绍HOLUX M-89 GPS模块是一款采用MTK芯片方案的GPS模块。该模块采用联发科技公司(MTK)所设计的低耗电量芯片MT3318。该模块的优势是对漂移的处理,功耗在30毫安,性价比等多方面都优于SIRF3芯片。该模块通讯方式是RS232(波特率4800),具有并行12通道,可同步跟踪12颗卫星,定位精度高,体积小,功耗低。以下是它的一些参数:L1(1575.42MHZ)接收频率;工作温度:-40至+85;输出资料格式:NME

33、A0183(v3.1);启动时间(TTFF):热启动:1秒;温启动:33秒;冷启动:36秒;敏感性:-159dBm;工作电压:+3.3至+5v;功耗:跟踪模式3.3v电压下小于35mA;更新接收:每秒钟(1pps);外形体积尺寸:25.4*25.4*3mm;重量:3g;图2-4GPS模块实物2.3.2 GPS卫星信号GPS卫星发射的导航电文是通过两个载波频L1为1575.42MHz,L2为1227MHz向地面发射带宽F=50Hz,传递速率是50bit/s的基带信号,即一组不归零制二进制编码脉冲D(t)。采用了伪码扩频技术将基带信号的频带从50hz扩展到10.23MHz以将这种低码率的导航文有效

34、地发送给用户。采用正交方式调制,在载波L1上调制了两种码(P码和C/A码),而在载波L2上只调制了一种伪码(P码)。总之,GPS卫星发射的信号是电文D(t)经过两级调制后的信号。第一级是将D(t),码调制C/A码和P码,实现对D(t)的伪随机码扩频。第二级是将它们的组合码分别调制在L1和L2载波频率上。2.3.3 GPS定位误差在我们利用GPS进行卫星定位和导航的时候,会受到很多干扰。这些影响GPS定位精度的因素可分为以下四大类:(1) SA误差是影响GPS定位误差的最主要因素。SA干扰误差是美国国防部为之国家安全而防止非特许用户利用GPS进行高精度定点点定位而采用的降低GPS系统精度的一系列

35、政策,简称为SA政策,它包括降低广播星历精度和在卫星基本频率上附加一随机抖动使钟的频率产生快慢变化,导致测距精度大卫降低。虽然美国在2000年取消了SA,但是战时或必要时,美国可能会恢复或采取类似的卫星定位精度干扰技术。(2) 星历误差是GPS测量误差的重要来源,卫星星历误差卫星星历误差是指卫星星历给出的卫星空间位置与卫星实际位置间的偏差。又可以称为卫星的轨道误差,因为它是由于卫星的空间三维位置是通过地面的监控系统接收卫星测轨数据来计算得出的。它是一种起始的数据误差,其误差大小由观测值卫星跟踪站数量、空间分布的数量以及精度、轨道计算时所用的轨道模型及定轨软件的完善程度等决定。(3) 相对论效应

36、导致于卫星钟和接收机所处的运动速度和重力位不同,从而引起的接收机钟与卫星钟之间产生相对误差。(4) 卫星钟差卫星钟差是指GPS标准时间与GPS卫星时钟的差别。为了保证卫星时钟精度,GPS卫星均采用高精度原子钟,但误差总是存在的,它们和GPS标准时之间的偏差和漂移和漂移总量在1ms0.1ms以内,由此引起的等效误差将达到300km30km。2.4 LCD显示模块介绍LCD11264是一种图形点阵液晶串口显示屏,点阵数112*64,可以显示4*7行16*16的汉字。主要技术参数和性能:(1) 电源:+5V(2) 显示内容:112(列)X 64(行)点;(3) 全屏幕点阵;(4) 工作温度:-10至

37、+60,存储温度:-20至+70。图2-5屏幕机械图LCD显示屏引脚介绍:图3-7 LCD引脚图从左到右为LCD的1到8脚:1脚GND为接地2脚VCC接工作电压3脚CS为片选端4脚A0为地址选择,接低电平为写命令,接高电平为写数据5脚SCLK为时钟信号线6脚SI为数据线7脚RST为复位端8脚BL_SW为背光灯2.5键盘模块设计2个按键,直接采用I/O口控制,采用软件去消除抖动的影响,如图2-8所示。图2-6按键电路图2.6串口模块89C51输出的是TTL电平,而RS-232C采用的是负逻辑“0”:+5V+15V;逻辑“1”:-5V-15V,若直接与TTL电平相连,将会烧坏TTL电路。为了匹配8

38、9C51的TTL电平和GPS模块的RS-232C标准接口,采用MAX232进行电平转换,如下图所示:图2-7串口硬件图3软件设计3.1 GPS模块程序设计该模块主要负责接收GPS发送过来的导航定位信息,并对这些信息进行提取和解析,保存在相应的全局数组中,以供调用。定义如下:unsigned char GPS_latitude15;/纬度数据unsigned char GPS_longitude15;/经度数据unsigned char GPS_latitude_dir3;/纬度方向unsigned char GPS_longitude_dir3;/经度方向unsigned char GPS_s

39、peed_dir8;/速度方位数据unsigned char GPS_speed8;/速度数据unsigned char GPS_data_ok_flag;/数据已经获得的标志unsigned char GPS_height10;/海拔高度unsigned char GPS_time112;/时间数据1unsigned char GPS_time210;/时间数据2unsigned char GPS_mode3;/模式数据3.1.1 GPS数据格式(NMEA-0183)例如:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,15

40、0706,A*50其中各参数的意义:字段0:$GPRMC,语句ID,表明该语句为Recommended Minimum SpecificGPS/TRANSIT Data(RMC)推荐最小定位信息字段1:UTC格林威治时间,格式是 hh mm ss.sss字段2:状态,A代表定位,V代表未定位字段3:纬度,格式为ddmm.mmmm,度分格式位数不足就补上0字段4:纬度S即南纬,纬度N即北纬字段5:经度,格式为dddmm.mmmm,度分格式位数不足是就补上0字段6:经度E即东经,经度W即西经字段7:速度,节,Knots字段8:方位角,单位为度字段9:UTC格林威治日期,格式为DDMMYY字段10:

41、磁偏角,(000-180)度,位数不足就补上0字段11:磁偏角方向,W代表西E,代表东字段12:数据校验值GPS接收机只要上电并处于工作状态,就会循环不停地把接收并计算GPS导航定位信息,并由串行接口传送给单片机。GPS模块处理后并发送的数据主要由帧头,帧尾以及帧内数据组成。根据帧头不同,采集需要的帧数据,帧头主要有$GPGGA、$GPGSA、$GPGSV以及$GPRMC,这些帧头表示后续帧内数据的内容,每一帧数据都用回车符和换行符作为帧尾来表示一帧数据内容的结束。这些发送出到的数据要在分类提取后才能加以利用。可以通过SWITCH(CASE)语句按次序将各个帧数据信息从提取出来存入建立的数组中

42、,将其转换成有需要的、并可使用的定位信息数据。一般来说,我们常用的定位数据如经纬度、速度以及时间等都可以从$GPGGA帧中获得。而对于时间信息,因为从GPS接收机中获得的时间信息为格林威治时间,还要在获取时间上加上8小时才能得到准确的北京时间。数据和数据处理流程图如下图所示:图3-1 GPS数据读取流程图3.2 LCD模块11264点阵液晶LCD显示原理:在数字电路中所有的数据都是通过二进制的0和1保存。对于显示ACSII码字符显示的操作,由于ACSII码字符种类很少,只需要8位就可以表示。而对于中文来说,常用就有6000个字以上,于是就有DOS程序员将ASCII表里很少用到的的高128位以两

43、个为一组来表示汉字,这就是所说的汉字内码。而剩下的低128位用来显示英文字符,即英文内码。当然,只得到汉字和英文字符的内码还不能将这些字符显示在液晶屏幕上,这涉及到字符字模的建立,字模虽然也是一组数字,但是它的意义却与数字的意义有根本的不同,它是用数字的各个位的信息来表示英文字符或中文字符的形状,如英文的A在字模的记载方式如图1所示:图3-2英文字符显示而中文“你”在字模中的记载如下图所示:图3-3汉字显示11264的内部器件和相关功能如下:(1) DFF,即显示控制触发器:此触发器是用于控制模块屏幕显示的开关。DFF置高时为显示打开,命令为DISPLAY ON,DDRAM的内容可以在屏幕上显

44、示;DFF置低时为显示关闭,命令为DISPLAY OFF。DDF的状态由指令DISPLAY ON和DISPLAYOFF以及RST复位信号控制的。(2) 忙标志BF:BF标志表示内部的工作情况。BF为高电平时表示模块正在进行内部数据操作,此时模块在忙状态,不会被接受外部指令和数据所影响。BF为低电平时,模块为待机状态,随时可接受外部指令和数据控制。(3) 显示数据存储器,即DDRAM:DDRAM置高电平时是代表显示是选择的,DDRAM置低电平时代表显示是非选择的。同时,DDRAM也可以用来存储一些图片的点阵模。(4) Z地址计数器:这是一个用指令DISPLAY START LINE预置的6位地址

45、计数器。此计数器可以循环记数,用于显示行扫描同步。当完成一行扫描时,这个地址计数器将加上一,这是指针将指向加一后的地址,也就是下一行地址。RST复位时Z地址计数器将会被清0。所以,DISPLAY START LINERST指令将控制显示屏幕的起始行显示,也就是DDRAM里的显示数据从哪一行开始在屏幕的第一列进行显示输出。这个11264LCD液晶模块的DDRAM一共有64行,也就是说屏幕有64行可以显示液晶点。(5) XY地址计数器:X地址计数器是一个9位计数器,不能计数,只有Y地址计数器可以循环记数。只能用指令设置X地址计数器是高3位,Y地址计数器是低6位。XY地址计数器其实也就是DDRAM的

46、地址指针,X地址计数器是DDRAM的指针X,Y地址计数器是DDRAM的地址指针Y。各显示数据输入LCD后,Y地址自加1,Y地址指针从0加到63。3.2.1汉字字模的建立因为我们现在需要的汉字量很少,所以可以使用一些字模提取软件自己制作所需的字模。如下图:图3-4汉字字模建立在选项中选择C51格式,阴码以及逆向列行式:图3-5字模设置并将建立的汉字字模以数组的形式存放字库头文件中:code unsigned char Char_data_1=0x10,0x60,0x02,0x0C,0xC0,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00,0x0

47、0,0x04,0x04,0x7C,0x03,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x00,/*江,0*/0x04,0x04,0xE4,0x24,0x24,0x24,0x24,0x3F,0x24,0x24,0x24,0x24,0xE4,0x04,0x04,0x00,0x80,0x80,0x43,0x22,0x12,0x0E,0x02,0x02,0x02,0x7E,0x82,0x82,0x83,0x80,0xE0,0x00,/*克,1*/0x10,0x10,0xD0,0xFF,0x90,0x10,0xE4,0x24,0x64

48、,0xA4,0x3F,0xA4,0x64,0x24,0xE4,0x00,0x04,0x03,0x00,0xFF,0x00,0x01,0xFF,0x00,0x09,0x09,0x7F,0x09,0x49,0x80,0x7F,0x00/*楠,2*/在主函数中定义一个指针p,指向头文件中的数组,即p=Char_data_1。再调用如下子程序输出汉字:void disp_char_Chinese(unsigned char Y,unsigned char X,unsigned char*ptr,unsigned char char_count)unsigned char Cl_addr,i,n;Cl_

49、addr=X*8;for(n=0;n4);/输入列地址Write_LCD_cmd(0x04+(Cl_addr&0x0f);Write_LCD_cmd(0xb0+Y*2);/写入低8位部分数据for(i=0;i4);/输入列地址Write_LCD_cmd(0x04+(Cl_addr&0x0f);Write_LCD_cmd(0xb0+Y*2+1);/写入高8位部分数据for(i=0;i16;i+)Write_LCD_dat(*ptr+);Cl_addr+=16;/将列地址增量3.2.2ASCII字库的建立图3-6自动生成ASCII码生成的字模选取需要的部分存入字库头文件中:图3-7字模存入数组字模

50、从“空格”建立到小写“z”,由以下子程序输出对应的ASCII码:void disp_char_ASCII(unsigned char Y,unsigned char X,unsigned char a,unsigned char char_count)unsigned char Cl_addr,i,n;unsigned char*p=0;char x=0;Cl_addr=X*8;for(n=0;n4);/输入列地址Write_LCD_cmd(0x04+(Cl_addr&0x0f);Write_LCD_cmd(0xb0+Y*2);/写入低8位部分数据for(i=0;i4);/输入列地址Write

51、_LCD_cmd(0x04+(Cl_addr&0x0f);Write_LCD_cmd(0xb0+Y*2+1);/写入高8位部分数据for(i=0;i8;i+)Write_LCD_dat(*p+);Cl_addr+=8;/将列地址增量因为字库的第一个数组是空格,即0x20,所以进入该子程序的数组减去0x20,即可指向ASCII码字库对应的英文字符。3.3键盘模块2个按键实现翻页,记录坐标等功能,按键分为k1和k2具体定义如下:短按k1:进入时间显示界面(Flag=1)。短按k1短按k1:进入测量距离界面(Flag=2)。短按3次k1:回到主界面(Flag=0)。短按k2短按k1:记录当前坐标作为

52、导航目的地(Flag=4)。短按k2短按k1短按k2:开始以记录的目的地导航(Flag=5)。短按k2短按k1短按k2长按k2:退出导航,回到主界面(Flag=0)。短按2次k2后回到主界面(Flag=0)。(当Flag=3时,在显示函数中将flag清零)。图3-8按键程序流程图3.4导航软件设计将目标点的经纬度存入数组,并实时将接收到的当前经纬度与数组中的值进行比较,控制飞行器前进后退、或左飞右飞和45斜飞。图3-9导航流程图由于没有装载电子罗盘,只能人工将飞行器起飞时的方向朝北。若目标点在起飞点的右上方,则先45斜向飞至目标点正下方或正左方,再前飞或右飞至目标点。图4-10单个目标点的行走

53、方向当设置多个目标点是,可近似直线飞至目标点,目标点设置越多则直线越平滑。图3-11多个目标点的行走方向4数据传输在实物电路板上,LCD采用I2C方式,SDA接P1.2口,SCL接P1.3口。GPS模块的RXD与TXD接单片机的RXD和TXD。4.1 I2C总线在LCD上的应用本文采用的11264点阵液晶显示屏即采用I2C通信方式,只需要两根线就能传输数据,极大减少了LCD对单片机端口的占用。4.1.1 I2C总线简介I2C总线是一种简单且双向二线制同步的串行总线,由Philips公司开发。它是同步通信的一种特殊形式,具有接口线少,方式控制简单,器件封装小,通信速率较高等优点。它只需要串行时钟

54、线(SCL)和串行数据线(SDA)这两条线即可在连接于总线上的器件之间传送信息,也是微电子通信控制领域采用极广泛的一种总线标准。4.1.2 I2C总线特征(1) 冲突检测和仲裁可以防止数据不完整;(2) 只需要两条总线:一条为串行时钟信号线SCL,一条为串行数据信号SDA;(3) 连接到总线的每个器件都能够由的设定的主从机关系和唯一的硬件地址来设置它的软件地址,主机也能作主机接收装置和主机发送装置;(4) 它是一个可以实现多主机通信的总线,即使超过2台主机在同一时刻进行初始化,也可以通过仲裁的方式进行数据传递;(5) 在标准模式下,8位串行的双向数据传输位可达到大约100kbit/s的速率,在

55、快速模式下可以达到400kbit/s,高速模式下甚至可达到3.4Mbit/s;(6) 最大电容400pF限制了连接到相同总线的IC数量。4.1.3 I2C总线相关术语发送器:向总线的器件发送元件;接收器:接收从总线发来的数据的元件;主机:可以发送和产生时钟信号以及终止发送的初始化元件;多主机:同时有多于一个主机尝试控制总线但不破坏传输;仲裁:当多个主机尝试同时控制总线时使控制总线只被允许一个并使数据在传输过程中保持完整的过程;同步:连接的元件对时钟信号进行同步的过程;4.1.4 I2C总线位传输I2C总线上连接的元件有着不同类型的制造工艺,如NMOS、CMOS以及双极性等,逻辑0(低电平)和逻

56、辑1(高电平)并不固定的,它由电源VCC的以及相关的电平决定,每次总线上传输一位数据位就会有产生一个时钟脉冲。数据有效性SDA线上的数据必须在时钟信号的高电平周期保持稳定。数据线的高或低电平状态只有在SCL线跳变到低电平时才能变化。图4-1数据有效性起始和停止的条件SCL线电平为高时,SDA线从高电平向低电平跳变,这个情况表示数据起始条件;SCL线电平为低时,SDA线由低电平向高电平跳变,这个情况表示数据停止条件。图4-2起始和停止条件一般由主机产生起始和停止条件,总线在起始条件后就被定义为处在忙状态,在达到停止条件的一段时间后就可以将总线定义为处于空闲状态。总线会一直处于忙状态如果重复地产生

57、起始条件却不去产生停止条件,此时在功能上,重复起始条件(Sr)和起始条件(S)可以被认定为是一样的。4.1.5 I2C总线数据传输数据发送的格式SDA线上必须发送8位的字节数据,每个字节后跟上一个响应位,每次传输发送的字节数量的多少却没有被限定。首先是数据的最高位(MSB)送往主机,也就是单片机,如果从机,即LCD11264要完成一些其他功能后,然后才能接收或发送下一个完整的数据字节,也可以将时钟线SCL置为低电平,强行将主机进入等待状态,当从机可以接收数据的时候软件置高SCL时钟线,然后接收下个字节数据。应答响应响应是传输数据的必要条件,由主机来产生相关的响应时钟脉冲。在响应的时钟脉冲期间,

58、主机的发送器将SDA数据传输线置低电平,并使之在SCL的高电平期间保持平稳。通常在接收器接收各个字节数据之后,除了用CBUS地址开头的数据,必须产生一个响应。当从机不能响应从机地址时(例如它正在执行一些实时函数从而不能接收或发送数据),这时从机必须将数据线保持在高电平,然后由主机产生一个重复起始条件开始新的传输或产生一个停止条件来终止数据的传输。从机接收器上如果响应了从机地址,但是在传输了一段时间后,却无法接收更多字节数据,这时主机就必须再一次终止数据的传输。这个情况相当于从机在第一个字节后就没有产生响应。从机使数据线保持高电平,主机产生一个停止或重复起始条件。如果传输中有主机接收器,它必须通

59、过在从机不产生时钟的最后一个字节不产生一个响应,向从机发送器通知数据结束。从机发送器必须释放数据线,允许主机产生一个停止或重复起始条件。图4-3 I2C时序4.1.6在LCD中的实际应用以下为写入一字节到LCD的子程序:先使SCL置低,数据从高到低发送,判断数据最高位的高低后将clk置高,开始写入数据到SDA,最后SCL置低。void Write_one_byte_to_LCD(unsigned char Wr_dat)unsigned char i;LCD_CLK_L();for(i=0;i8;i+)if(Wr_dat&0x80)LCD_DAT_H();elseLCD_DAT_L();LCD

60、_CLK_H();Wr_dat=1;LCD_CLK_L();4.2 GPS的串行I/O口传输4.2.1串行I/O口简介MCS-51系列单片机片内有拥有一个串行通信的I/O口,可以通过引脚RXD(P3.0)和TXD(P3.1)与外围电路进行全双工异步串行通讯。 串行端口包含两个控制寄存器,可来设置串口的工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。串行端口有一个在SFR里字节地址为99H的数据寄存器,在头文件中定义为SBUF,这个寄存器可以执行发送命令,也可以执行接收命令。发送时,它只写入而不读取;接收时,只读取不写入。在一定条件下,当对SBUF写入数据的同时单片机就启动了发送命令;读SBUF就启动了接收命令。在程序中可以对串行通信的波特率进行设定。在不同工作方式中,由时钟振荡频率的分频值或由定时器T1的定时溢出时间来计算得出,使用非常方便。4.2.2串行I/O口工作方式SBUF数据缓冲寄存器:这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF,而

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!