版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1GPSGPS 液晶显示定位系统液晶显示定位系统摘要摘要GPS 技术在军事、通讯、气象、勘探、导航、遥感、大地测量、地球动力以及天文等众多学科领域得到极其广泛的应用,推动了科学技术的迅猛发展,也丰富了人类的科学文化生活。现在,GPS 的外型设计已经转向便携式发展,逐步踏入寻常百姓的生活中。所以,对 GPS 的研究具有十分重要的意义。 论文主要研究 GPS 的定位原理与技术,单片机的编程及其应用,液晶屏的功能及其实现方法。制作了一套设计方案,以软、硬件相结合的方式完成整个GPS 数据接收和显示的过程。完成了一台液晶显示的手持式 GPS 定位接收设备,并依次显示实时时间及所在地的经纬度。该定位系统
2、完成后,定位精度能达到15m,所以该装置在测控领域的应用开发中具有一定的实用价值和借鉴价值。 SUBTRACTION Global Positioning System technology get extremely comprehensive application at military,communications,meterology,exploration,navigation,remote sensing,earth survey, earth mover ,astronomy and other numerous subject field;let technology rap
3、ide development,also it makes human science culture life plentiful. Now, Assistant Global Positioning System exterior design already change of direction to portable type,step by step enter comman peoples daily life. Therefore, researching Assistant Global Positioning System has very important meanin
4、g.Paper main research GPS position theory and technique,program and application of singlechip,the function and implement way.Make a set of design proposal,with soft to link hardware accomplish whole GPS information acceptance and evincive process.Accomplish one handheld GPS position receiving machin
5、e with Liquid crystal display,and display real time period and the location of latitude and longitude one by one.With the position system complete,the position precision can reach fifteen meters, so the system in measurement and control field application development have some practical worth and ref
6、erence worth. 【关键词】 AT89S52 单片机, GPS,串口通信,波特率。2 目录目录摘要摘要 .2第一章第一章 硬件设计硬件设计 .62.12.1 整版设计整版设计.62.22.2 电源模块设计电源模块设计.62.32.3 显示模块设计显示模块设计.62.42.4 GPSGPS 数据模块数据模块.7第二章第二章 软件设计软件设计 .83.1 主主程程序序设设计计 .83.3 硬件连接设置硬件连接设置.93.4 LCD 显示工作方式显示工作方式.93.5 系统主程序系统主程序.93.6 数据接收程序数据接收程序.10第三章第三章 调试及性能分析调试及性能分析 .124.1 软
7、件调试软件调试.124.2 硬件调试硬件调试.12结束语结束语 .13参考文献参考文献 .14附录一(电路图)附录一(电路图) .15附录二(程序列表)附录二(程序列表) .163 前言前言GPS 前前景景由于 GPS 技术所具有的全天候、高精度和自动 测量的特点,作为先进的测量手段和新的生产力,已经融入了国民经济建设、国防建设和社会发展的各个应用领域。 随着冷战结束和全球经济的蓬勃发展,美国政府宣布2000 年至 2006年期间,在保证美国国家安全不受威胁的前提下,取消SA 政策,GPS 民用信号精度在全球范围内得到改善,利用C/A 码进行单点定位的精度由100 米提高到 20 米,这将进一
8、步推动 GPS 技术的应用,提高生产力、作业效率、科学水平以及人们的生活质量,刺激GPS 市场的增长。据有关专家预测,在美国,单单是汽车 GPS 导航系统,2000 年后的市场将达到 30亿美元,而在我国,汽车导航的市场也将达到50 亿元人民币。可见, GPS技术市场的应用前景非常可观。GPS 概概述述广义的 GPS,包括美国 GPS、欧洲伽利略、俄罗斯 GLONASS、中国北斗等全球卫星定位系统,也称 GNSS。狭义的 GPS,即指美国的全球定位系统 Global Positioning System,简称 GPS。公众常称的 GPS,通常是指 GPS 系统的接收设备,如手持式 GPS、汽车
9、导航仪等。即全球定位系统( Global Positioning System)。简单地说,这是一个由覆盖全球的 24 颗卫星组成的卫星系统。这个系统可以保证在任意时刻,地球上任意一点都可以同时观测到 4 颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶、车辆以及个人,安全、准确地沿着选定的路线,准时到达目的地。全球定位系统 (GPS)是 20 世纪 70 年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统 。其主要目的是为陆、海、空三大领域提供实时、 全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事
10、目的,是美国独霸全球战略的重要组成。经过20 余年的研究实验,耗资 300 亿美元,到 1994 年 3 月,全球覆盖率高达 98%的 24 颗 GPS 卫星星座己布设完成。 GPS 全球卫星定位系统由三部分组成:空间部分 GPS 星座;地面控制部分地面监控系统;用户设备部分 GPS 信号接收机。GPS 定位技术具有高精度、高效率和低成本的优点,使其在各类大地测量控制网的加强改造和建立以及在公路工程测量和大型构造物的变形测量中得到了较为广泛的应用。4绪绪论论本设计是一个 LCD1602 电子液晶显示屏显示动画的设计。整机以 ATMEL 公司生产的 40 脚单片机 AT89S52 为核心,介绍了
11、以它为控制系统的 LCD 电子液晶显示屏的动态设计和开发过程。该电子显示屏内部自带了 ASCII 码识别显示控制电路部分,如果需要显示一个西文字符,只需要让单片机给他输入这个西文字符的 ASCII 码即可。文中详细介绍了 LCD 显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计。控制任务控制任务,本设计采用 AT89s52 单片机为核心控制芯片,控制任务包括两个部分:数据接受控制和显示控制。:数据接收控制:51 单片机内部集成了串行口通信电路,本设计应用这个电路接收外部数据,其数据格式为八位数据+1 位停止位。把接收到的数据存储到数据缓冲区。:显示控制:利用 51 单片机的
12、 I/O 端口控制 LCD1602 液晶显示器显示相应信息;显示之前先从缓冲区取出数据,经过 CPU 处理过后,送到LCD1620 显示需要信息。 数据采集方案,数据采集方案,为了减少接收出错的问题,采集数据时使用串行口中断数据接收方式。方案方案:直接接收,不论接收到的数据是什么,先把串行口发送过来的数据接收到数据缓冲区过后,再对数据进行处理。GPS 模块为一种智能模块,它每秒钟会发出几种数据,包括:$GPGGA、$GPRMC、$PGRMV、$PGRMO、$PGRMC 等数据格式。每个数据为 1536 个字节数据,如果把每个数据都接收到单片机的缓冲区,那么单片机就需要很大的数据存储器 RAM,
13、这样单片机内部的RAM 是不够用的,更何况还有程序处理。所以这种数据采集的方案是不行的。方案方案:选择接收,先判断接收到的数据的格式,然后选择需要的格式中的一些数据进行存储。这样就大大的节余了 RAM,解决 RAM 不够用的问题。例如:接收$GPGGA 格式数据的时间:前五次数据接收的时候先判断数句格式(依次判断接收到的数据是否先后为$、 G、 P、 G、 G、 A) ,如果是,然后判断接下来的逗号(, )是第几个逗号。如果是第一个,说明接下来的数据是时间,如果是第二个,说明接下来的数据是纬度,依此类推。本设计采用这种方案接收数据。方案比较:方案比较:前者数据接收的方案虽然接收的方法简单,接收
14、程序编写很容易,但是学要很大的 RAM 空间,设计时需要外加存储器,程序编写时就得多写上数据存储处理程序。这样就大大的增加了开发的诸多问题,包括成本,开发时间,试调难度等。后者数据接收方案比起前者来说节约了不少的 RAM,而且再数据接收前只需要先简单判断接收到的数据格式即可;而且减少了中断处理的时间,让给其它进程工作。减少了开发的成本和开发时间,以及电路的复杂程度。所以本设计采用第二种数据接收的方案。5电源第一章第一章 硬件设计硬件设计系统硬件部分电路大致上可以分成稳压电源、单片机小系统及外围电路和LCD 显示屏电路五部分。2.12.1 整版设计整版设计设计原理图:串行口51单片机GPS模块L
15、CD1602以单片机为核心将 GPS 数据发送模块,LCD1602 显示模块系统的结合在一起形成一个整体,实现特定功能。2.22.2 电源模块设计电源模块设计各个模块的电源供电电压均为 5V,所以只需要设计 5V 单电源供电即可。设计采用稳压芯片 LM7805 做电源稳压核心。电路图如下所示,输入电压为220v 交流电,经过变压器降压为 9V 交流电,再运用二极管的单向导电性对 9V交流电整流,使用二级管连接成整流槽,使电压负电压整流成正电压。电容 C1为滤波电容,让电压波纹幅度减小,然后由 LM7805 集成稳压芯片将输入电压整流为 5V 稳压源。小电容 C3, 、C4 为高频信号滤除电容,
16、改善负载的瞬态响应。2.32.3 显示模块设计显示模块设计由与本设计显示需要显示相应的数据信息,包括相应的西文字符,所以不采用数码管显示,采用带西文字库的 LCD1602 做显示器,显示电路如6电路中的可变电阻 RV2 最大阻值为 1K,其作用为调节 VEE 输入引脚的电压,实现对 LCD1602 对比度的调节。LCD 的数据端口的工作方式有两种,一种为 8 数据线工作方式,另一种为4 数据线工作方式。为了节余端口,本设计采用 4 数据线工作方式。每次向 LCD写 8 为数据分两次写,先高位后低位。2.42.4 GPSGPS 数据模块数据模块GPS 数据模块不需要自己设计,采用成品电路模块做数
17、据传送。我们只需要设计 GPS 数据通行部分即可。GPGGA 数据格式:$GPGGA,M,M,*xx$GPGGA:起始引导符及语句格式说明(本句为 GPS 定位数据); :UTC 时间,格式为 hhmmss.sss; :纬度,格式为 ddmm.mmmm(第一位是零也将传送); :纬度半球,N 或 S(北纬或南纬) :经度,格式为 dddmm.mmmm(第一位零也将传送); :经度半球,E 或 W(东经或西经) :定位质量指示,0=定位无效,1=定位有效; :使用卫星数量,从 00 到 12(第一个零也将传送) :水平精确度,0.5 到 99.9 :天线离海平面的高度,-9999.9 到 999
18、9.9 米 M :指单位米:大地水准面高度,-9999.9 到 9999.9 米 M :指单位米:差分 GPS 数据期限(RTCM SC-104),最后设立 RTCM 传送的秒数量:差分参考基站标号,从 0000 到 1023(首位 0 也将传送)。 * : 语句结束标志符 xx : 从$开始到*之间的所有 ASCII 码的异或校验和: 回车: 换行GPS 数据通信为 232 串口通信,在通信过程中就需要数据电平转换,应用到 232 通信电平转换芯片 MAX232,电路如下:7图 3-1 系统主程序的总体结构开 始系统初始化显示开机信息显示数据信息NY图 3-2 数据接收程序流程图进入中断清除
19、接收中断标志位退出中断数据格式判断不符合置标志位符合数据接收标志位01数据接收完毕清除标志第二章第二章 软件设计软件设计本设计的主要功能是接收 GPS 模块传送的数据,并显示出相应的数据信息,包括当地时间、纬度、经度以及高度。数据接收部分,采用串行口中断接收数据。显示部分就采用一个I/O 口控制 LCD1602 显示相应的信息。3.1 主主程程序序设设计计系统主程序的总体结构如图所示。系统的主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断,LCD1602 初始化;然后 LCD 显示屏进入开机状态,显示开机信息(LCD_log) ,转入正常的显示,并接收数据,每次显示两串字符。
20、接着由于单片机没有停机指令,所以可以设置系统程序不断地循环执行数据信息显示。系统程序结构属中断方式,绝大多数功能在中断服务子程序中完成。根据总体结构,可将程序划分为几个功能化模块:串行口中断服务程序、显示子程序、扫描程序。各个模块可进行独立设计、调试和查错,最终再连接成一个整体。3.2 显示驱动程序显示驱动程序void LCD_check_busy(void); /忙检查void LCD_cls(void); /清屏void LCD_write_data(unsigned char); /写数据void LCD_write_instruction(unsigned char); /写指令8vo
21、id LCD_set_position(unsigned char); /设置光标位置void LCD_initial(void); /LCD1602 初始化void LCD_printc(unsigned char); /输出单个字符void LCD_prints(unsigned char *);/输出字符串void LCD_log(void);/开机信息显示void LCD_show(void);/信息显示 void delay(unsigned char);/延时3.3 硬件连接设置硬件连接设置#define LCD_DATA P2 /LCD 的数据口#define LCD_BUSY
22、LCD_DATA7; /LCD 忙信号位sbit LCD_RS=P20; /LCD 寄存器选择sbit LCD_RW=P21; /LCD 读写控制sbit LCD_EN=P22; /LCD 使能信号寄存器选择位 RS,当 RS=1 时选择数据寄存器 DDRAM。1 当 RS=0 时选择指令寄存器 CDRAM。读写选择位 RW,当 RS=1 时读数据寄存器。2 当 RS=0 时写数据或指令到寄存器。读写使能信号 E,当 E=1 时读取数据。3当 E 为下降沿是为写数据或指令。检测 LCD 是否在处理其它数据而处于忙状态时,则读取忙状态信号位,当RS=0,RW=1,E=1 时,LCD 会输出八位数
23、据,其中最高位 DB7 为忙状态位(LCD_busy_flag) ,若为 1,表示 LCD 处于忙状态,为 0 表示 LCD 空闲。3.4 LCD 显示工作方式显示工作方式/* 初始化 LCD */void LCD_initial(void) LCD_write_instruction(LCD_DISPLAY_DOUBLE_LINE); /单行显示,4 数据线LCD_write_instruction(LCD_AC_AUTO_INCREMENT | LCD_MOVE_DISENABLE); /光标自动+1,关闭自动移动显示LCD_write_instruction(LCD_DISPLAY_ON
24、 | LCD_CURSOR_OFF | LCD_CURSOR_BLINK_OFF); /显示开、光标显示关、光标闪烁关 LCD_cls( );/清屏3.5 系统主程序系统主程序/*/void main()TMOD=0 x20;/初始化串口TL1 =0 xfa;TH1 =0 xfa;/4800 波特率SCON=0 x50;/工作方式 1:八位异步通信,允许接收PCON=0 x00;/波特率加倍关IE=0 x90;/打开总中断 EA,和串行口中断 ES9TR1=1;/开启启动定时器 1LCD_initial( );/LCD1602 初始化LCD_log( );/显示开机信息while(1) LCD
25、_show( );/除了数据接收状态,一直处理显示在串口通信中需要设置串口通信的数据传输速度,及波特率,设置定时器的溢出率1即可,晶振为 11.0592MHz,当 TL1 =0 xfa;,TH1 =0 xfa 时为 4800kbps 波特率。计算公式为:T0 初值 X=2N机周时间定时时间Xf25612/X256T1osc计数速率的溢出率定时器)256(12322SMODXfosc波特率TMOD 特殊功能寄存器为定时器计数器工作方式寄存器,前四位控制定时器 1,后2四位控制定时器 0;本设计采用定时器 1,工作方式 2(八位自动重装载,N=8) ,SCON 为串行口数据通信控制特殊寄存器,高三
26、位为工作方式控制位,本设计采用3工作方式 1,8 位数据异步通信。D4 位为接收允许控制位,本设计要采用串行口中断接收GPGGA 数据,所以该为置 1。IE 为中断允许控制特殊寄存器,本设计要打开串行口中断和总中断。43.6 数据接收程序数据接收程序/*串行口中断子程序*/RI=0;/软件清除中断标志位,串行口中断需要软件清零,去除中断标志 1进入中断过后要先判断接收数据的格式,否则会出现乱接收数据,出现接收到的数据不 2对的问题,先判断是否接收到 GPGGA 格式语句的第一个字符“$”,其 ASCII 码为0 x24,收到后,继续判断格式是不是为 GPGGA,分五次中断判断,如果是,开始记录
27、数据并设置记录标志(read_start) ,否则退出数据接收中断,程序设计如下:if(SBUF=$)/判断是不是$符号flag1=1;/接收到$,起始字符igps=0;/记录纬度数据字符数量的变量Num_comma=0;/记录逗号数量的变量else flag1=0;if(SBUF=G)&(flag1=1)flag2=1;else flag2=0;if(SBUF=P)&(flag2=1)flag3=1;else flag3=0;if(SBUF=G)&(flag3=1)flag4=1;10 else flag4=0;if(SBUF=G)&(flag4=1)flag
28、5=1;else flag5=0;if(SBUF=A)&(flag5=1)read_start=1;/开始接收数据 else read_start=0通过上述格式判断后,说明接下来的数据就是所需要的 GPGGA 格式数据,然后选择所 3需要的数据接收并存到缓存区,每个数据都是以逗号隔开的,我们只需要判断该逗号是第几个逗号就可以知道后面来的数据是表示说明含义。程序设计如下if(read_start=1)/开始接收 GPGGA 中的数据信息,if(SBUF=,) /利用 GPRMC 数据中的逗号间隔,区分接收到/的数据表示的信息Num_comma+; /记录逗号个数,标志数据的意义if(N
29、um_comma=1)/接收时间,时分秒格式data_tempigps=SBUF;igps+;/接收到的数据个数加 1if(Num_comma=2)/接收接收纬度,ddmm.mmmm 格式data_tempigps=SBUF;igps+;if(Num_comma=4)/接收经度,ddmm.mmmm 格式data_tempigps=SBUF;igps+;if(Num_comma=10)/海拔高度:0-99999.9if(SBUF!=M)/为节约 RAM 空间,不接收M字符data_tempigps=SBUF;igps+;判断这一帧数据是否接收完毕,每一个数据格式都是以 * 符号结束的,当接收到
30、* 4号时表示这一帧数据已经发送完毕。程序设计如下: if(SBUF=*)/判断是否收到 GPRMC 格式语句的字符“*” ,/如果是,则表示接收完毕,开始处理for(i=0;iigps;i+)data_tempigps=dis_tempigps;/数据放到显示缓冲区/返回初值;标识结束一次接收完毕read_start=0;Num_comma=0;igps=0;11第三章第三章 调试及性能分析调试及性能分析一个单片机系统经过总体设计,在允许的条件下,根据本设计系统的需求性首先采用在 PC 机上用模拟开发软件进行检测和调试,再进行硬件的组装与调试。4.1 软件调试软件调试软件调试采用 Prote
31、us 7.1、操作系统 Windows xp,在 PC 机上对目标电路原理图和程序进行检测和调试。一 目标程序纠错软件仿真结果: 程序正确无误。二 子程序功能调试程序设计通常采用模块程序设计,调试时可对一个个子程序分别进行调试,设置好入口条件,然后采用单步运行或断点运行方式,检查系统 CPU 现场、RAM和 I/O 口状态,看程序执行结果符合设计要求。三 整体程序综合调试即把各子程序整体连起来进入到综合电路调试,能实现预计的功能显示用软件仿真调试和修改完毕,下一步焊接硬件进行硬调试。4.2 硬件调试硬件调试焊接硬件,检查线路连接正确无误。硬件调试环境,电源输入 220V 交流电,输出 4.98
32、V 直流电,给电路板接通4.98V 直流电源。12结束语结束语以上仅对LCD显示屏的结构和驱动、显示电路原理作一详细介绍和分析。由于自己知识水平的局限和时间的仓促,设计中或还存在着一些不足,我真诚的接受老师们的批评和指正.。从课题选择、方案论证到具体设计,每一步对我来说无疑是巨大的尝试和挑战,我不断地给自己提出新的问题,然后去论证、推翻,在这个往复的过程中,我这篇稚嫩的设计日趋完善。每一次改进我都收获良多,虽然我的设计作品不是很成熟,而且借鉴了前人的很多资料,但我仍然心里有一种莫大的幸福感,因为我实实在在地走过了一个完整的设计所应该走的每一个过程,并且享受了每一个过程,更重要的是这个设计中我加
33、入了自己鲜活的思想。在做这次毕业设计过程中使我学到了很多,加深了对单片机、集成模块、LCD 液晶显示屏和 C 语言的理解,验证了所学理论知识,提高了基本的解决实际问题的能力,并增加了对电子设计方面的兴趣。希望这次的经历能让我在以后的工作和生活中不断成长与进步。 就此作结!13参考文献1. 求是科技 编著 单片机典型模块设计实例导航 人民邮电出版社 2004 年第一版2. 求是科技 编著 单片机典型外围器件及其应用实例 人民邮电出版社 2006 年第二版3. 高峰 编著 单片机应用系统设计及使用技术 机械工业出版社2004 年第一版4. 赖麒文 编著 8051 单片机 C 语言彻底应用 科学出版
34、社2002 年第一版5. 李光飞 娄然苗 胡佳文 谢象佐 编著单片机课程设计实例指 北京航空航天大学出版社 2004 年第一版6. 周靖武 周灵彬 编著 单片机系统的 Proteus设计与仿真 电子工业出版社 2007 年第一版7. 张毅刚 主编 单片机原理及应用 高等教育出版社 2003 年第一版8. 张志良 主编 单片机原理及控制技术 (第 2 版) 北京机械工业出版社,20059. 李全利 编著 :单片机原理及接口技术 (第 2 版) 北京:高等教育出版社,200410.徐仁贵 主编 :微型计算机接口技术及应用 北京:机械工业出版社,199814附录一(电路图)系统电路图15附录二(程序
35、列表)附录二(程序列表)程序清单:程序文件一:程序文件一:GPSrecive.c#includeunsigned char Num_comma=0;/逗号纪录数bit read_start=0;/开始接收数据标志位unsigned char *data_temp= ;/数据缓存区unsigned char *dis_temp=0139250056.25680014.256901203.5;/显示数据unsigned char i,igps=0;/igps 纪录接收次数,用于表示存储在数组中的位置bit flag1=0,flag2=0,flag3=0,flag4=0,flag5=0;/接收标志位
36、:GPGGA#define START$/字符串开始#define END*/字符串结束void LCD_show( )unsigned char i;LCD_set_position(0);LCD_prints(Time- );for(i=0;i2;i+) LCD_printc(dis_tempi);LCD_printc(:);for(i=2;i4;i+) LCD_printc(dis_tempi);LCD_printc(:);for(i=4;i6;i+) LCD_printc(dis_tempi);LCD_set_position(0 x40);LCD_prints(Latit:);for
37、(i=6;i15;i+) LCD_printc(dis_tempi);LCD_printc(*);delay(200);delay(200);LCD_cls();LCD_set_position(0);LCD_prints(Longi:);for(i=15;i24;i+) LCD_printc(dis_tempi);LCD_printc(*);LCD_set_position(0 x40);LCD_prints(High : );for(i=24;i31;i+) LCD_printc(dis_tempi);LCD_prints(M);delay(255);delay(200);/*串行口中断子
38、程序*/void serial() interrupt 4RI=0;/软件清除中断标志位/判断是否接收到字符“$”,ASCII 码为 0 x24,收到后开始继续数据并置标志 record=1;if(SBUF=$)/判断是不是$符号16flag1=1;/开始接收数据,计数变量初始化(清零) ;igps=0;/记录纬度数据字符数量的变量Num_comma=0;/记录逗号数量的变量else flag1=0; /判断读取格式是不是 GPGGA 格式if(SBUF=G)&(flag1=1)flag2=1; else flag2=0;if(SBUF=P)&(flag2=1)flag3=1;
39、 else flag3=0;if(SBUF=G)&(flag3=1)flag4=1; else flag4=0;if(SBUF=G)&(flag4=1)flag5=1; else flag5=0;if(SBUF=A)&(flag5=1)read_start=1; else read_start=0;if(read_start=1)/开始处理 GPRMC 中的数据信息,if(SBUF=,)/利用 GPGGA 数据中的逗号间隔,判断数据信息Num_comma+;/记录逗号个数,标志数据的意义if(Num_comma=1)/接收时间,时分秒格式data_tempigps=SB
40、UF;/将字符放入字符串“data_temp”中igps+;if(Num_comma=2)/接收接收纬度,ddmm.mmmm 格式data_tempigps=SBUF;igps+;if(Num_comma=4)/接收精度,ddmm.mmmm 格式data_tempigps=SBUF;igps+;if(Num_comma=10)/海拔高度:0-99999.9if(SBUF!=M)/不接受 M 单位数据,节省资源data_tempigps=SBUF;igps+;if(SBUF=*)/判断是否收到字符“*” ,是,则结束接收,开始处理for(i=0;iigps;i+)data_tempigps=di
41、s_tempigps;/返回初值;标识结束一次接收完毕Num_comma=0;17read_start=0;igps=0;/*/void main()TMOD=0 x20;/初始化串口TL1 =0 xfd;TH1 =0 xfd;/4800 波特率SCON=0 x50;/工作方式 1:八位异步通信,允许接收PCON=0 x00;/波特率加倍关IE=0 x90;/打开总中断 EA,和串行口中断 ESTR1=1;/开启启动定时器 1LCD_initial();LCD_log();/开机显示信息while(1)LCD_show();程序文件二:程序文件二:LCD1602.cLCD1602.c#incl
42、ude header.hvoid LCD_check_busy(void) UCHAR DH;/高字节 do /分两次写,每次写四位,先高位后低位 LCD_RS=0; LCD_RW=1; LCD_EN=0; LCD_EN=1; _nop_(); _nop_(); DH = LCD_DATA & 0 xF0; LCD_EN=0; LCD_RW=0; LCD_RW=1; LCD_EN=1; _nop_(); _nop_(); LCD_EN=0; while (DH & 0 x80);void LCD_write_instruction(unsigned char LCD_instr
43、uction) 18 LCD_DATA&= 0 x0F; LCD_DATA|= (LCD_instruction & 0 xF0);LCD_RS=0; LCD_RW=0; LCD_EN=0;LCD_EN=1;_nop_();_nop_();LCD_EN=0; LCD_DATA&= 0 x0F; LCD_DATA|= (LCD_instruction 4);LCD_EN=1;_nop_();_nop_();LCD_EN=0;LCD_check_busy();/* 输出一个字节数据到 LCD */void LCD_write_data(unsigned char LCD_d
44、ata) LCD_DATA&= 0 x0F; LCD_DATA|= (LCD_data & 0 xF0);/ Get the most significant nibble first. LCD_RS=1;LCD_RW=0; LCD_EN=0; / Specify a data1 write operation. LCD_EN=1; _nop_();_nop_();LCD_EN=0; LCD_DATA&= 0 x0F; LCD_DATA|= (LCD_data 4); / Repeat for least significant nibble. LCD_EN=0; LC
45、D_EN=1;_nop_();_nop_();LCD_EN=0; LCD_check_busy(); /* LCD 清屏 */void LCD_cls(void) LCD_write_instruction(1);/* LCD 光标定位到 x 处 */ void LCD_set_position(unsigned char x) LCD_write_instruction(0 x88); LCD_write_instruction(0 x80|x);/* 输出一个字符到 LCD */void LCD_printc(unsigned char lcd_data) LCD_write_data(l
46、cd_data);/* 输出一个字符串到 LCD */void LCD_prints(unsigned char *lcd_string) unsigned char i=0; while(lcd_stringi!=0 x00)/是否到了最后-0 LCD_write_data(lcd_stringi); i+; 19/* 初始化 LCD */void LCD_initial(void) LCD_write_instruction(LCD_DISPLAY_DOUBLE_LINE);LCD_write_instruction(LCD_AC_AUTO_INCREMENT|LCD_MOVE_DISEN
47、ABLE); LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_OFF|LCD_CURSOR_BLINK_OFF);LCD_cls();/* 开机显示信息 */void LCD_log(void)unsigned char i;LCD_set_position(0 x40); LCD_prints(Wellcome! GPS); delay(250);LCD_cls();LCD_set_position(0);LCD_prints(Now!Let me see );LCD_set_position(0 x40); LCD_prints(where your are!);delay(250);delay(250);for(i=0;i1;i+)LCD_cls();LCD_set_position(0); LCD_prints(Please waite!);LCD_set_position(0 x40);LCD_prints(Receiving);delay(250);LCD_cls();LCD_set_position(0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年精装正肤霜项目投资价值分析报告
- 2024至2030年橘子汁项目投资价值分析报告
- 2024年插座盒项目可行性研究报告
- 2024年味宝海鲜肠香料项目可行性研究报告
- 2024年医用中心供氧吸氧系统项目可行性研究报告
- 医学教材 胺碘酮治疗室心律失常
- 劳动合同医疗卫生与社会福利约定书三篇
- 海洋工程项目应急预案方案
- 绿化施工现场工作总结
- 教科版八年级物理(下)教学计划
- 2024年江苏先行控股集团限公司招11人高频难、易错点500题模拟试题附带答案详解
- 《中国民间故事》整本书阅读 课件 五年级上册语文(统编版) 五年级上册语文整本书阅读 导读课件+讲义+阅读检测(统编版)
- 2024年新人教版七年级上册英语教学课件 Unit 4Reading Plus Unit 4
- 13.1 在劳动中创造人生价值 课件 -2024-2025学年统编版道德与法治七年级上册
- 2022年浙江金华中考满分作文《“走进”与“走出”的智慧》
- 中石油专属财产保险股份有限公司招聘笔试题库2024
- 会议体系管理制度
- 2024年新人教PEP版三年级上册英语教学课件 Unit 4 Part A 第1课时
- 肾内科病例讨论2
- 2024-2030年中国医用金属材料行业市场发展趋势与前景展望战略分析报告
- 2024年开学第一课-奥运精神中国健儿主题班会课件
评论
0/150
提交评论