基于GPS的数字时钟设计

上传人:痛*** 文档编号:171393126 上传时间:2022-11-26 格式:DOC 页数:39 大小:488.50KB
收藏 版权申诉 举报 下载
基于GPS的数字时钟设计_第1页
第1页 / 共39页
基于GPS的数字时钟设计_第2页
第2页 / 共39页
基于GPS的数字时钟设计_第3页
第3页 / 共39页
资源描述:

《基于GPS的数字时钟设计》由会员分享,可在线阅读,更多相关《基于GPS的数字时钟设计(39页珍藏版)》请在装配图网上搜索。

1、编号:本科毕业设计 基于GPS的数字时钟的设计与仿真系 (院):信息工程学院姓 名:学 号:专 业:通信工程年 级:指导教师:职 称:讲师完成日期:2012年5月摘 要 伴随着GPS技术的广泛应用,基于GPS技术的数字时钟开始在人们的生产生活中得到越来越广泛的应用。本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。本文的主导思想是软硬件相结合,使用C语言程序来实现对各功能模块的控制。为了增加了程序的可读性和可移植性,本系统使用C语言

2、进行程序设计。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。系统使用AT89C51单片机作为主控芯片,使用DS1302芯片作为主控时钟芯片,使用GPS模块实现对数字时钟时间的校对,并使用1602液晶显示屏进行显示。本系统使用Proteus进行仿真,并且达到了预期的效果。关键词:AT89C51单片机;数字时钟;DS1302;GPS;1602液晶屏AbstractAlong with the rapid development of GPS technology,the electronic clock based on GPS technology began

3、to play more and more important role in our daily life.This paper firstly describes the system hardware working principle, each accompanied by a diagram of the system structure of the elucidation, introduces this system by the application of the hardware interface technology and the function of each

4、 interface module and the working process, and secondly, expounded the program modules and realization process. This design with digital integrated circuit technology as the foundation, microcontroller technology as the core. In this paper the compiling principle is combining software with hardware,

5、 based on the preparation of the functional modules.The system takes microcontroller C language software design, increased the readability of our programs and portability, to facilitate the expansion and change, the design of software modular structure, make the program design of logical relationshi

6、p more concise. System through AT89C51 for microcontroller, so it has the high speed. The system uses DS1302 for getting time.Through using GPS,so the system can proofread time.System through 1602 LCD display data for carrier, so has the humanized operate and beautiful page effect. The system has be

7、en tested successfully in Proteus platform.Keywords: AT89C51 microcontroller; digital clock; DS1302; GPS; 1602 LCD目 录1 绪论11.1 GPS数字时钟出现的背景11.2 GPS数字时钟出现的意义11.3 GPS数字时钟的应用22 系统电路设计32.1 系统总体设计思路32.2 设计方案选择32.3 功能介绍42.4 工作原理43 系统单元电路设计53.1 单片机电路设计53.1.1 单片机综述53.1.2 AT89C51的引脚及功能63.1.3 电源电路设计83.2 实时时钟电路

8、设计93.2.1 DS1302的简介93.2.2 DS1302的工作原理103.2.3 DS1302的寄存器和控制命令103.3 GPS硬件设计113.3.1 GPS的简介113.3.2 GPS模块的几个重要指标113.3.3 GPS语句数据格式123.3.4 HOLUX M-89 GPS模块特性143.3.5 用串口调试助手查看GPS数据153.4 显示电路设计163.4.1 1602字符型LCD简介163.4.2 1602LCD主要技术参数163.4.3 引脚功能说明173.4.4 1602LCD的指令说明及时序173.5 按键电路设计194 GPS电子时钟软件设计204.1 系统软件设计

9、流程图204.2 DS1302计时流程图214.3 GPS校时流程图225 软硬件联合调试与仿真245.1 KEIL简介245.2 Proteus简介255.3 软硬件联调255.4 结论276 结束语28参考文献28致谢29附录301 绪论1.1 GPS数字时钟出现的背景从古代的滴漏到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进着计时工具。钟表的数字化,大力推动了计时的精确性和可靠性。目前常用的实时时钟,很多采用单片机的中断服务来实现,这种方式一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不

10、允许;有的则使用并行接口的时钟芯片,如MC、DS12887等,它们虽然能满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂,占用地址、数据总线多,芯片体积大,占用空间多,给其它设计带来诸多不便。同时当前市面上的数字时钟也存在一个问题,如果时间出现不准,数字时钟不能自动的进行校时;不同地区的时区不一样,当前的简易时钟不能自动的进行时间调整,这样就不能满足人们的高要求。DS1302数字时间芯片出现使得数字时钟技术产生了跨越式的发展。DS1302的后背电源及对后背电源进行涓细电流充电的能力保证电路断电后仍能保存时间和数据信息等。这些优点解决了目前常用的实时时钟所无法解决的问题。同时,由于采

11、用先进的GPS模块,它能自动的搜索卫星,每隔一段时间它能自动对时间进行调整,同时能自动适应不同时区的要求。GPS数字时钟强大的功能和优越的性能,在很多领域的应用中,尤其是某些自动化控制、长时间无人看守的测控系统等对时钟精确性和可靠性有较高要求的场合,具有很高的实用价值。1.2 GPS数字时钟出现的意义GPS数字时钟系统是大型场馆重要构成局部之一,其重要作用是为场馆人员提供准确的时间服务,也可为盘算机系统及其它强电子系统提供标准的时间源,使各系统的时间同步。例如,在场馆中使用GPS数字时钟系统,可以为不同场馆区域提供相同的授时标准,为各场馆办公室及其它场馆区域的工作人员提供精确的时间信息;在大型

12、体育场中,可以为计时记分系统和其它信息显示系统提供精确的时间信息,保障了场馆系统运转的高效、稳定;同时,GPS数字时钟系统也可以向场馆全部弱电子系统和计算机提供准确的时钟信号。由此可见,GPS数字时钟系统的出现,使为不同地域工作的人们提供统一精确的授时成为可能,并且将会得到更为广泛的应用。1.3 GPS数字时钟的应用GPS数字时钟将会越来越广泛地应用于个人家庭以及车站,码头,剧场,办公室等公共场所,给人们的生活,学习工作带来极大的方便。由于GPS数字时钟具有走时准确,性能稳定,携带方便等优点,它还用于计时,自动报时及自动控制等各个领域。2 系统电路设计2.1 系统总体设计思路此设计原理框图如图

13、2-1,模块一般包括以下几个部分:键盘、单片机、GPS模块,时间芯片及显示模块。 1602液晶显示电路DS1302模块单片机核心控制电路GPS模块键盘控制电路图2-1 系统总体设计图各部分功能如下: (1) 单片机核心控制电路作为该GPS数字时钟的控制部分 (2) DS1302芯片负责提供实时的时间数据 (3) GPS模块负责为整个系统提供准确的校对时间 (4) 键盘控制部分负责提供基本指令的输入及人机交互 (5) 1602LCD 提供显示界面2.2 设计方案选择 在系统的方案选定时,考虑到AT89C51单片机具有结构简单、控制功能强、可靠性高、体积小、价格低的优点,1602液晶屏幕可以完整地

14、显示数据及文字等内容,同时GPS已经具有成熟可靠的模块。所以我们选用AT89C51作为系统的主控芯片,使用1602液晶屏幕作为系统的显示模块,同时采用DS1302作为主时钟芯片,使用GPS模块完成系统的校时功能。2.3 功能介绍本次设计主要用单片机控制DS1302芯片来产生时间信息,让单片机来接收它,并且在液晶上显示当前时间,同时使用GPS模块实现系统的校时功能。调整时间用三个调整按钮,分别定义为模式选择,减少,增加按钮。在调整时间过程中,首先要调节模式设置按钮,在显示屏上会在对应位置开始闪烁。例如,要调节月份,先调节模式设置按钮,如果看到对应位置开始闪烁,此时就可以调节减少和增加按钮对其进行

15、调试。当用户需要使用GPS校对时间时,只需要按动键盘上的“校对”按键,就可以实现对时间的自动更新。同时,用户也可以通过相应的按键来手动地调整时间,实现对时间信息的更新。2.4 工作原理设计的电路主要由四大模块构成:DS1302电路,单片机控制电路,显示电路,GPS校正电路以及键盘电路。单片机采集DS1302输出的时间,经过处理后直接送到1602 LCD上显示。用户使用按键产生中断,单片机检测到中断可以进行时间的调整。同时,用户也可以通过按键让单片机直接采集GPS产生的时间信息,实现对时间的准确校正。3 系统单元电路设计3.1 单片机电路设计3.1.1 单片机综述 AT89系列单片机是ATMEL

16、公司生产的。这是当前最新的一种电擦写8位单片机,与MCS-51系列完全兼容,有超强的加密功能,可完全替代87C51/52和8751/52。它物美价廉,深受用户欢迎。 与87C51相比,AT89系列的优越性在于,其片内闪电存储器的编程与擦除完全用电实现;数据不易挥发,可保存10年;编程/擦除速度快,全4K字节编程只需时3s,擦除时间约用10ms;AT89系列了实现在线编程;也可借助电话线进行远距离编程。AT89C51是一种低功耗、高性能内含4K字节闪电存储器(Flash Memory)的8位CMOS微控制器。这种器件系以ATMEL高密度不挥发存储技术制造,与工业标准MCS-51指令系统和引脚完全

17、兼容。片内闪电存储器的程序代码或数据可在线写入,亦可通过常规的编程器编程。例如,MP-100这样一种经济型的编程器,它支持通用EPROM等各种存储器、PAL、GAL以及INTEL、ATMEL和PHILIPS等各公司的全系列51单片机的编程。ME5103和ME5105仿真器支持AT89系列所有器件的调试、仿真和编程。AT89C51具有下列主要性能:(1)4KB可改编程序Flash存储器(可经受1,000次的写入/擦除周期)(2)全静态工作:0Hz24MHz(3)三级程序存储器保密(4)128 X 8字节内部RAM(5)32条可编程I/O线(6)2个16位定时器/计数器(7)6个中断源(8)可编程

18、串行通道(9)片内时钟振荡器另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到0 Hz,并提供两种可用软件来选择的省电方式空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下一次硬件复位为止。3.1.2 AT89C51的引脚及功能AT89C51单片机的管脚说明如图3-1所示:图3-1 AT89C51的管脚(1) 主电源引脚 Vcc 电源端 GND 接地端(2) 外接晶体引脚X

19、TAL1和XTAL2 XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。 XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。(3) 控制或与其它电源复用引脚RST、ALE/PROG、/PSEN和/EA/Vpp RES 复位输入端。 当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。ALE/PROG 当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部

20、存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。在对Flash存储器编程期间,该引脚还用于输入编程脉冲(/PROG)。 如果需要的话,通过对专用寄存器(SFR)区中8EH单元的D0位置数,可禁止ALE操作。该位置数后,只有在执行一条MOVX或MOVC指令期间,ALE才会被激活。另外,该引脚会被微弱拉高,单片机执行外部程序时,该设定禁止ALE位无效。 /PSEN 程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。当AT89C51/LV51由外

21、部程序存储器取指令(或常数)时,每个机器周期两次/PSEN有效(既输出2个脉冲)。但在此期间内,每当访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/Vpp 外部访问允许端。要使CPU只访问外部程序存储器(地址为0000HFFFFH),则/EA端必须保持低电平(接到GND端)。然而要注意的是,如果保密位LB1被编程,复位时在内部会锁存/EA端的状态。当/EA端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。在Flash存储器编程期间,该引脚也用于施加12V的编程允许电源Vpp(如果选用12V编程)。(4) 输入/输出引脚 P0.0 P0.7、P10.P1.7、P

22、2.0 P2.7 和P3.0P3.7 P0端口(P0.0 P0.7) P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。在Flash编程时,P0端口接收指令字节;而在验证程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0 P1.7) P1是一个带有内部上拉电阻的8位双向I/O端口。P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,

23、这时可用作输入口。作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在对Flash编程和程序验证时,P1接收低8位地址。P2端口 (P2.0P2.7) P2是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行MOVX DPIR指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行MOVX RI指令)时

24、,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。在对Flash编程和程序验证期间,P2也接收高位地址和一些控制信号。P3端口(P3.0P3.7) P3 是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在对Flash编程和程序验证时,P3还接收一些控制信号。3.1.3 电源电路设计由于各电路模块所需电压不同,本设计需多种电源供电。AT89C51主

25、控芯片采用3.3V供电,液晶显示与触角传感电路均采用3.3V供电。外部电源采用12V的直流电压,因此根据设计要求,本设计进行了电源转换设计。采用KA7805芯片实现12V到5V的转换。KA7805的作用是输入大于5V的直流电压,输出5V的直流电压,且管脚较少,易于连接和实现,稳定性高。图3-2为KA7805芯片引脚接线图。图3-2 KA7805引脚接线图本设计采用LM1117-3.3芯片将5V转换为3.3V,具体电路设计如图3-3所示。图3-3LM1117-3.3引脚接线图3.2 实时时钟电路设计3.2.1 DS1302的简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟

26、芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302的外部引脚分配3-4所示。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。 图3-4 DS1302的外部引脚分配各引脚的功能为: (1)Vcc1:主电源;

27、Vcc2:备份电源。当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 Vcc1时,由Vcc1向DS1302供电。 (2)SCLK:串行时钟,输入,控制数据的输入与输出; (3)I/O:三线接口时的双向数据线; (4)CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。 3.2.2 DS1302的工作原理 DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指

28、定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。3.2.3 DS1302的寄存器和控制命令 DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h8Dh,写时80h8Ch),存放的数据格式为BCD码形式,如表3-5所示。表3-5DS1302有关日历、时间的寄存器读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81h80hCH10秒秒00-5983h82h10分分00-5985h84h12/24010时时1-12/0-23AM/PM87h86h0010日日1-3189h88h001010月月1-12

29、8Bh8Ch00000 周日1-78Dh8Ch0000年00-998Fh8EhWP0000000-DS1302内部的RAM分为两类,一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。3.3 GPS硬件设计3.3.1 GPS的简介 全球定位系统(Globle Positioning System-GPS)是美国从本世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海陆空进行全方位实时三维

30、导航与定位能力的新一代卫星导航与定位系统。它的主要特点是:(1)全球地面连续覆盖。由于GPS卫星数目较多且分布合理,所以在地球上任何地点均可续同步地观测到至少4颗卫星,从而保障了全球、全天候连续实时导航与定位的需要。(2)功能多、精度高。GPS可为各类用户连续地提供高精度的三维位置、三维速度和时间信息,此外差分GPS接收机还可提供差分校正信息。(3)实时定位速度快。目前GPS接收机的一次定位和测速工作在一秒甚至更少的时间内便可完成,这对高动态用户来讲尤其重要。(4)抗干扰性能好、保密性强。由于GPS系统采用了扩频技术,因而GPS卫星所发送的信号具有良好的抗干扰性和保密性。总之, GPS系统的建

31、立给导航和定位技术带来了巨大变化,它从根本上解决了人类在地球上的导航和定位问题,可以满足不同用户的需要。鉴于GPS具有以往系统不可比拟的优点,GPS技术己发展成多领域(陆地、海洋、航空航天)、多模式(GPS, DGPS, LADGPS, WADGPS,)、多用途(在途导航、精密定位、精确定时、卫星定轨、灾害监测、资源调查、工程建设、市政规划、海洋开发、交通管制等)、多机型(测地型、定时型、手持型、集成型、车载式、船载式、机载式。星载式、弹载式等)的高新技术国际性产业。GPS的应用领域,上至航空航天器,下至捕鱼、导游和农业生产,正如人们所说的“GPS的应用,仅受人类想象力的制约”。3.3.2 G

32、PS模块的几个重要指标(1)卫星轨迹全球有24颗GPS卫星沿6条轨道绕地球运行(每4个一组),GPS接收模块就是靠接收这些卫星来进行定位的。但一般在地球的同一边不会超过12颗卫星,所以一般选择可以跟踪12颗卫星以下的器件就可以了。当然,所能跟踪的卫星数越多,性能越好。大多数GPS接收器可以追踪812颗卫星。计算2维坐标至少需要3颗卫星,4颗卫星可以计算3维坐标。(2)并行通道由于最多可能有12颗卫星是可见的,GPS接收器必须按顺序访问每一颗卫星来获取每颗卫星的信息,所以市面上的GPS接收器大多数是12并行通道型的,这允许它们连续追踪每一颗卫星的信息。12通道接收器的优点包括快速冷启动和初始化卫

33、星的信息,而且在森林地区可以有更好的接收效果。一般12通道接收器不需要外置天线,除非是在封闭的空间,如船舱或车厢中。(3)定位时间定位时间是指重启GPS接收器时,确定现在位置所需的时间。对于12通道接收器,冷启动时的定位时间一般为35 min,热启动时为1530 s。(4)定位精度普通GPS接收器的水平位置定位精度在510 m内。(5)DGPS功能DGPS是一个固定的GPS接收器,用于接收卫星的信号。DGPS可以准确地计算出理论上卫星信号传送到的精确时间,然后将它与实际传送时间相比较,并计算出差值。DGPS将这个差值发送出去,其它GPS接收器就可以利用这个差值得到一个更精确的位置读数(510

34、m或者更少的误差)。许多GPS设备提供商在一些地区设置了DGPS发送机,供客户免费使用,只要客户所购买的GPS接收器有DGPS功能即可。(6)信号干扰要获得一个很好的定位信号,GPS接收器必须至少能接收到35颗卫星。如果是在峡谷中或两边高楼林立的街道上,或者是在茂密的丛林里,有可能接收不到足够的卫星,无法定位或者只能得到二维坐标。同样,如果在一个建筑里面,有可能无法更新位置。一些GPS接收器有单独的天线可以贴在挡风玻璃上,或者将一个外置天线放在车顶上,这有助于接收器收到更多的卫星信号。3.3.3 GPS语句数据格式GPS模块可以输出多种数据格式输出语句,这样,在源程序中,我们通过对这些输出语句

35、进行解析,就可以得到GPS的定位数据。下面重点介绍GPRMC和GPGGA输出语句:(1)GPRMC输出语句其标准格式为:$GPRMC, ,A*hh 例如:$GPRMC,.640,A,3158.4608,N,11848.3737,E,10.05,324.27,A*50 标准定位时间(UTC time)格式:时时分分秒秒.秒秒秒(hhmmss.sss)。 定位状态,A = 数据可用,V = 数据不可用。 纬度,格式:度度分分.分分分分(ddmm.mmmm)。 纬度区分,北半球(N)或南半球(S)。 经度,格式:度度分分.分分分分。 经度区分,东(E)半球或西(W)半球。 相对位移速度, 0.0 至

36、 1851.8 knots(节) 相对位移方向,000.0 至 359.9度。实际值。 日期,格式:日日月月年年(ddmmyy)。 磁偏角,(000 - 180)度,前导位数不足则补0 。 磁偏角方向,E=东W=西。A* 语句结束标志符。hh 从$开始的所有ASCII码校验和。 回车换行。(2)GPGGA输出语句 这是一帧GPS定位的主要数据,也是使用最广的数据。为了便于理解,下面举例说明GPGGA语句各部分的含义。其标准格式为:$GPGGA, ,M,M,*hh传送的信息说明如下:$GPGGA:起始引导符及语句格式说明(本句为GPS定位数据)。 UTC时间,时时分分秒秒格式。 纬度,度度分分.

37、分分分分格式(第1位是0也将传送)。 纬度半球,N或S(北纬或南纬)。 经度,度度度分分.分分分分格式(第1位0也将传送)。 经度半球,E或W(东经或西经)。 GPS质量指示,0:方位无法使用,1=非差分GPS获得方位,2=差分方式获得方位(DGPS),6=估计获得。 使用卫星数量,从00到12(第1位是0也将传送)。 水平精确度,0.599.9。 天线离海平面的高度,-9 999.99999.9m。M指单位米。 大地水准面高度,-999.99999.9m。M指单位米。 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量(例如无DGPS为0)。 差分参考基站标号,从00

38、001023,实时DGPS时无。* 语句结束标志符。hh 从$开始的所有ASCII码校验和。 回车换行。例如,假如实时收到的一条“$GPGGA”语句如下:$GPGGA,3002.3232,N,12206.1157,E,1,03,12.9,53.2,M,11.6,M,*4A这是一条GPS定位数据信息语句,其含义是:UTC时间为11时46分41秒,位置在北纬30度2.323 2分,东经122度6.115 7分,普通GPS定位方式,接收到3颗卫星,水平精度为12.9 m,天线离海平面高度为53.2m,所在地离地平面高度为11.6m,校验和为4AH。由于GPS模块发送的不止是一条语句,要完整的接收这条

39、“$GPGGA”语句,就必须判断这条语句的头。也就是“$GPGGA,”这7个字符,当完整的收到这7个字符后,才能保证是所需要的数据。3.3.4 HOLUX M-89 GPS模块特性 本设计采用台湾HOLUX公司的GPS模块,该模块性能稳定,具有以下特点:产品特征:通道:并行32通道频率:L1 1575.42MHzC/A码:(1.023MHZ码片速率)跟踪灵敏度:-159dB速度:515米/秒加速度:4g颠簸:20米/秒捕获时间:重获取时间:0.1秒热启动时间:1秒温启动时间:33秒冷启动时间:36秒定位:10米(2D RMS) 1-5米 (DGPS)速度:0.1米/秒时间: 1ms数据特性:I

40、/O信息:1个全双工串行TTL接口数据传输速率:480038400 (标准:9600)格式: SiRF二进制和NMEA-0183(v3.01)GGA,GLL,GSA,GSV,RMC,VTGDGPS协议:RTCM SC-104,类型1,2和9脉冲延时:100ms输入电压:3.35VDC后备电源:直流3V输入电流:80mA尺寸:25.4mm(D)25.4mm(W)3mm(H)重量:7g环境特性:操作温度:-30+85存贮范围:-40+853.3.5 用串口调试助手查看GPS数据(1) GPS模块与AT89C51开发板的连接 GPS模块通过AT89C51开发板串口,可以方便地与PC机进行连接,连接方

41、法如下: GPS模块的3脚(模块串口数据输出)接AT89C51开发板MCU的TXD脚 GPS模块的4脚(模块串口数据输入)接AT89C51开发板MCU的RXD脚 GPS模块5脚(GND)接AT89C51开发板的地端。 GPS模块6脚(电源输入)接AT89C51开发板的3.3V或5V端(2) 实验方法 连接完成后,打开顶顶串口调试助手,选择好串口(一般为串口1,如果采用USB转串口,要选择虚拟串口号,本例采用的是USB转串口,虚拟串口号为COM5)。波特率选择为9600,校验位为NINE,数据位为8,停止位为1。以上设置完成后,打开串口,即可在接收窗口中接收到有关的GPS数据,如图3-6所示。

42、图3-6串口显示GPS数据3.4 显示电路设计液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩、阵驱动(Active Matrix)三种。3.4.1 1602字符型LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。3.4.2 1602LCD主要技术参数(1)显

43、示容量:162个字符(2)芯片工作电压:4.55.5V(3)工作电流:2.0mA(5.0V)(4)模块最佳工作电压:5.0V(5)字符尺寸:2.954.35(WH)mm3.4.3 引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-7所示。表3-71602LCD引脚接口编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。

44、第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚

45、:背光源负极。3.4.4 1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表3-8所示。表3-81602LCD控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDR

46、AM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动

47、显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。与HD44780相兼容的芯片时序表如下表3-9所示。 表3-9与HD44780相兼容的芯片时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=

48、L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无3.5 按键电路设计本设计采用了3个按键的结构,本别为:MODE、+/-、GPS。三个按键的功能为: (1) MODE:负责各种功能之间的切换,包括调时模式,移动模式 (2) +/- :负责更改时间 (3) GPS :启动GPS,并且对时间进行自动校对按键硬件电路图如下图3-10。 图3-10 按键硬件电路图4 GPS电子时钟软件设计系统的软件设计也是系统功能的设计。单片机软件设计主要包括执行软件(完成各种实质功能)的设计和监控软件设计。

49、单片机的软件设计通常需要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的整体结构,使软件开发清晰、简洁和流程合理。(2)培养良好的编程风格,如考虑结构化程序设计,实行模块化,子程序化。即便于调试、链接,又便于移植和修改。(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数。(4)绘制程序流程图。(5)为程序加入注释,提高可读性,实施软件工程。4.1 系统软件设计流程图该系统设计用到了很多子程序,它们的流程如下图4-1所示:开始 初始化程序GPS=1CHANGE=1MODE=1YN 改变数字 哪个按键?有按键按下? 显示 时间校对进

50、入调时 状态图4-1 主程序流程图4.2 DS1302计时流程图调整时间用三个调整按钮,分别定义为模式选择,减少,增加按钮。在调整时间过程中,首先要调节模式设置按钮,在显示屏上会在对应位置开始闪烁。例如,要调节月份,先调节模式设置按钮,如果看到对应位置开始闪烁,此时就可以调节减少和增加按钮对其进行调试。时间调整程序流程图如图4-2所示。控制键有效,进入年调整程序等待按键程序加键有效年加1控制键有效,进入月调整程序控制键有效,进入日调整程序控制键有效,进入星期调整程序控制键有效,进入时调整程序控制键有效,进入分调整程序等待按键程序加键有效月加1等待按键程序加键有效日加1等待按键程序加键有效星期加

51、1等待按键程序加键有效小时加1等待按键程序加键有效分加1控制键有效,跳出时间调整程序,进入主循环程序 图4-2 DS1302计时流程图4.3 GPS校时流程图GPS校时流程图如图4-3所示。流程图分析,当单片机打开串口,收到GPRMC的数据包头时,说明收到了GPS数据的最小数据包GPRMC,这时单片机从数据包中提取时间信息送至LCD进行显示。 开始 YN判断包头GPRMC ?把当前时间送至LCD 图4-3 GPS校时流程图5 软硬件联合调试与仿真5.1 KEIL简介KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断

52、增强, 使你可以更加贴近CPU本身及其它的衍生产品。C51已被完全集成到uVision3的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision3 IDE可为它们提供单一而灵活的开发环境。C51 V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三 方开发工具。因此,C51 V7版本无疑是8051开发用户的最佳选择。(1) Keil的软件开发周期使用Keil来开发嵌入式软件,开发周期和其他的平台软件开发周期是差不多的,大致有以下几个步骤: 创建一个工程,选择一块目标芯片,并且

53、做一些必要的工程配置 编写C或者汇编源文件 编译应用程序 修改源程序中的错误 联机调试下面这种结构图完整描述了Keil开发软件的整个过程如图5-1图5-1 Keil开发软件的整个过程(2) uVision3 集成开发环境uVision3 IDE是一款集编辑,编译和项目管理于一身的基于窗口的软件开发环境。uVision3集成了C语言编译器,宏编译,链接/定位,以及HEX文件产生器。uVision3具有如下特性: 功能齐全的源代码编辑器 用于配置开发工具的设备库 用于创建工程和维护工程的项目管理器 所有的工具配置都采用对话框进行 集成了源码级的仿真调试器,包括高速CPU和外设模拟器 用于往Flas

54、h ROM下载应用程序的Flash编程工具 完备的开发工具帮助文档,设备数据表和用户使用向导5.2 Proteus简介Proteus软件是一种低成本的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供Schematic Dr

55、awing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。5.3 软硬件联调软硬件联调的

56、任务是利用ISIS开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现仿真结果故障。程序的调试应一个模块一个模块地进行,我们首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。因为目前Proteus没有提供GPS模块的仿真调试,所以这里只对本设计方案中的部分模块进行了仿真调试。调试的基本步骤如下:(1) 修改显示缓冲区内容,屏蔽拆字程序,调试动态扫描显示功能。例如将DISP0DISP5单元置为“”,应能在LCD上从左到右显示“”。若显示不正确

57、,可在中断子程序相应位置设置断点调试检查。然后修改计时缓冲区内容,调用拆字程序,调试显示模块。 (2) 运行主程序调试模块,不按下任何键,检查是否能开始正确显示。若不能正确显示,则应在定时器中断服务子程序中设置断点,检查HOUR、MIN、SEC单元是否随断点运行而变化。然后屏蔽缓冲区初始化部分,用仿真器修改万年历显示缓冲区内容为2008年12月12日,运行主程序(调进位键),检验能否正确进位,以及试调时间看能否正确的进位。(3) 调试键盘扫描模块,先用延时5ms子程序代替显示子程序延时消抖,在求取键号后设置断点,中断后观察A累加器中的键号是否正确;然后恢复用显示子程序延时消抖,检验与显示模块能

58、否正确连接。(4) 调试时间设置模块。首先屏蔽COMB子程序,单独调试键盘设置模块,观察显示缓冲区DISP0DISP5单元的内容是否随键入的键号改变,以及键号能否在LCD上显示。然后屏蔽子程序,单独调试合字模块。(5) 运行主程序联调,检查能否用键盘修改当前时间能否正确显示。Proteus仿真电路如图5-2所示。图5-2 Proteus仿真电路图5.4 结论在Proteus上的部分模块仿真实现了预期的功能。DS1302的时间数据能够很好的在1602LCD上进行显示,并且可以通过按键调整时间。各个功能模块都能够正常的运行。但是,这次设计还有许多不足之处。其中,由于Proteus仿真软件不能提供GPS的仿真,所以GPS模块没有在这个仿真系统上进行验证。但是,这为我指明了今后的改进方向:把这套系统做成一个实物,能够以产品的形式进行展示。我会在以后的道路上继续探索,让这个设计变得更加完美。6 结束语我很荣幸能够在周老师的帮助下完成这次毕业设计,周老师让我自己选择设计课题,这样我的选择范围很宽,可以选择自己喜欢的项目进行设计。从这次的课程设计中,我了解和掌握了单片机以及液晶内部的结构,提高了我的编程能力,充分让我理解了软件对硬件的控制以

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