项目论文.docx
- 文档编号:26888937
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:52
- 大小:642.33KB
项目论文.docx
《项目论文.docx》由会员分享,可在线阅读,更多相关《项目论文.docx(52页珍藏版)》请在冰豆网上搜索。
项目论文
创新实验项目
设计文档
项目名称:
全自动GPS精准电铃系统
项目负责人:
项目成员人数:
系别专业:
计算机系计算机科学与技术
电子系电子科学信息与技术
指导老师:
唐明星(计算机科学系副教授)
2010年10月26日
全自动GPS精准电铃系统
摘要
本论文设计为用时钟芯片DS1302和GPS两种模式接受时间信号然后在16*64点阵上显示,由于GPS的接收时间的精确性,本设计在无干扰的情况下(当天天气状况良好,GPS能接收3颗以上的卫星),由GPS为点阵板提供时间信息,当由于环境干扰,GPS接收受阻,则系统会自动切换为由DS1302提供时间。
关键词
单片机最小系统16*64点阵GPS模块
1引言
近年来,随着科学技术的进步和时代的发展,人们对时间精度提出了越来越高的要求,在很多工业控制、自动检测等应用系统中,它们的时间信息一般还是采用实时时钟芯片提供,这未免给时间的精确带来了误差,而GPS全球定位系统恰恰可以保障时间的高精确度。
研究目的:
用GPS模块接收卫星信息通过51单片机控制实现时间精准校时,在设定准确的时间里响铃,用LED点阵显示时间,日期(另设有倒计时显示(用于提醒)与温度显示)。
研究意义:
本项目经济实用,能够在无人操控下自动对时,自动响铃,用LED点阵可以显示日期,时间,(可以设定倒计时用于提醒,并设置温度显示)方便实用。
研究现状:
现在学校里的响铃系统很不准确,响铃时有时无,并且要人工进行操控功能单一,不方便。
研究基础:
GPS系统是利用美国24颗GPS地球卫星所发射的信息而进行定位、导航、授时等服务的系统。
利用GPS接收机能全天候实时地接收GPS空间卫星发出的信号,从而获取精确的导航定位信息和精确时间信息,时间信息包括年、月、日、时、分、秒。
利用GPS系统提供的时间信息,可以获取时间精度小于30us的实时时钟信息,在基于51单片机平台下,用GPS接收到的数据通过单片机控制实现精确校时,定时响铃,时间日期显示(通过键盘设定倒计时间自动运行显示提醒与温度显示)。
应用前景:
该项目经济实用,可以用于各学校、工厂、公司等的精准时间、日期显示,定时响铃,倒计时等,应用广泛,实用性强。
2GPS概述
2.1什么是GPS
GPS是英文GlobalPositioningSystem(全球定位系统)的简称,而其中文简称为“球位系”。
GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统。
其主要目的是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,是美国独霸全球战略的重要组成。
经过20余年的研究实验,耗资300亿美元,到1994年3月,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。
在机械领域GPS则有另外一种含义:
产品几何技术规范(GeometricalProductSpecifications)-简称GPS。
2.2GPS的特点
(1)全球、全天候工作。
①定位精度高。
单机定位精度优于10m,采用差分定位,精度可达厘米级和毫米级。
②功能多,应用广。
GPS系统的特点:
高精度、全天候、高效率、多功能、操作简便、应用广泛等。
1、定位精度高
应用实践已经证明,GPS相对定位精度在50KM以内可达10-6,100-500KM可达10-7,1000KM可达10-9。
在300-1500M工程精密定位中,1小时以上观测的解其平面其平面位置误差小于1mm,与ME-5000电磁波测距仪测定得边长比较,其边长较差最大为0.5mm,校差中误差为0.3mm。
2、观测时间短
随着GPS系统的不断完善,软件的不断更新,目前,20KM以内相对静态定位,仅需15-20分钟;快速静态相对定位测量时,当每个流动站与基准站相距在15KM以内时,流动站观测时间只需1-2分钟,然后可随时定位,每站观测只需几秒钟。
2.3GPS的功用
全球定位系统的主要用途:
(1)陆地应用,主要包括车辆导航、应急反应、大气物理观测、地球物理资源勘探、工程测量、变形监测、地壳运动监测、市政规划控制等;
(2)海洋应用,包括远洋船最佳航程航线测定、船只实时调度与导航、海洋救援、海洋探宝、水文地质测量以及海洋平台定位、海平面升降监测等;(3)航空航天应用,包括飞机导航、航空遥感姿态控制、低轨卫星定轨、导弹制导、航空救援和载人航天器防护探测等。
316*64点阵屏
3.1什么是点阵
点阵,英文名称:
(lattice)
为集中反映晶体结构的周期性而引入的一个概念。
按连结其中任意两点的向量平移后能够复原的一组点。
这一定义包含三层意思;
(1)点阵在空间分布上是无限伸展的,即点阵中所含有的点数是无限的;
(2)连接点阵中任意两点可得一向量,将此向量按任意方向平移,若向量的一端落在任一点时,它的另一端必定落在点阵中另一点上;(3)每个点阵点都具有相同的周围环境。
晶体结构最基本的特点是原子、离子或分子在空间排布上具有周期性。
为了更好地描述这种周期性规律,将晶体中按一定周期重复出现的最基本的部分(见“结构基元”)抽象为一个几何点,不考虑周期中所包含的具体内容,集中反映周期重复的方式,如此抽象出来的一组点,在三维空间中也必定呈现周期性重复,从而构成一个点阵。
因此,晶体结构是一种点阵结构。
需要特别指出,晶体结构是具体的,而点阵是抽象的。
一个点阵可以还原为一系列平行的阵点行列(简称阵列),或一系列的平行的阵点平面(简称阵面)。
可用由一组基矢所确定的坐标系来描述某一组特定的阵列或阵面族的取向。
我们选取通过原点的阵列上任意阵点的三个坐标分量,约化为互质的整数u、v、w作为阵列方向的指标,可用符号【uvw】来表示。
为了标志某一特定阵面族的方向,可选择最靠近(但不通过)原点的阵面,读取它在三个坐标轴上截距的倒数,将这三个数约化为互质的数h、k、l就得该阵面旋的方向指标,可用符号(hkl)来表示。
这就是阵面族的密勒指数。
4设计方案
4.1方案概述
本系统方案是由单片机控制、通过GPS或DS1302芯片反馈给单片机的时间信息、通过单片机内部程序控制和处理、在16*64点阵屏上显示精确的时间!
4.2方案论证
1)选用MCS-51单片机(STC89C52):
MCS-51单片机操作简单,价格低廉,而控制功能强大。
在本设计中可以充分利用其各功能资源,不会造成资源浪费,用其作为系统的控制核心可以胜任。
2)选用GPS模块(gr-85)是因为GR-85是智慧型卫星接收模组(或称做卫星接收引擎,以下简称GR-85),采用美国瑟孚(SiRF)公司所设计的第二代低号电量卫星定位接收晶片,是一个完整的卫星定位接收器。
具备全方位功能,能满足专业定位的严格要求与个人消费需求。
适用范围从汽车导航、保全系统、地图制作、各种调查到农业用途等。
使用的基本需求只有「适当的电源供应和面对天空」。
藉由 RS-232、或TTL相容介面,与其它电子设备沟通,并以内建充电电池(内建电池为选用功能),储存卫星资料如卫星讯号状态、上次使用的最后位置、日期及时间。
其耗电量低,且能同时追踪12颗定位卫星的讯号,每0.1秒接收一次,每秒更新一次定位资讯。
提供省电模式(TricklePower)每秒钟只工作部分时间,其余时间则处在节省电力的关闭状态。
更提供更节省电力的定时定位(Push–to–Fix)功能。
5硬件设计
5.1硬件框图与实现原理
系统的硬件框图如下图所示,主要是由三部分组成的:
1)核心控制电路——以单片机为核心的及其外围电路;
2)GPS通信电路——GR-85模块;
3)16*64点阵电路
图4-1系统硬件框图
5.2STC89C52单片机硬件框图与实现原理
5.2.1STC89C52功能特性描述
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
5.2.2STC89C52单片机各引脚功能介绍
1)VCC:
电源
2)GND:
地
3)P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
4)P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下所示:
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
(1)P1.0T2(定时器/计数器T2的外部计数输入)时钟输出。
(2)P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)。
(3)P1.5MOSI(在系统编程用)。
(4)P1.6MISO(在系统编程用)。
(5)P1.7SCK(在系统编程用)。
5)P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
6)P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在flash编程和校验时,P3口也接收一些控制信号。
引脚号第二功能:
(1)P3.0RXD(串行输入)。
(2)P3.1TXD(串行输出)。
(3)P3.2INT0(外部中断0)。
(4)P3.3INT0(外部中断0)。
(5)P3.4T0(定时器0外部输入)。
(6)P3.5T1(定时器1外部输入)。
(7)P3.6WR(外部数据存储器写选通)。
(8)P3.7RD(外部数据存储器写选通)。
7)RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
DISRTO默认状态下,复位高电平有效。
8)ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
9)XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
10)XTAL2:
振荡器反相放大器的输出端。
5.2.3DS1302芯片概述
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式.DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:
1RES复位,2I/O数据线,3SCLK串行时钟.时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信.DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW.DS1302是由DS1202改进而来,增加了以下的特性.双电源管脚用于主电源和备份电源供应Vcc1,为可编程涓流充电电源附加七个字节存储器.它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域.
5.2.4DS1302管脚功能介绍与图片
X1X232.768KHz晶振管脚
GND地
RST复位脚
I/O数据输入/输出引脚
SCLK串行时钟
Vcc1,Vcc2电源供电管脚
5.2.5STC89C52单片机系统机器外围电路
单片机系统及外围电路如图
5.316*64点阵电路
5.3.1驱动点阵原理
从理论上讲,不论显示图形还是文字,只要控制与组成点阵部分这些图形或文字的各个点所在的位置相对应的LED器件发光,就能得到想要的结果。
这种同时控制各个发光点亮灭的方法称为表态驱动方式。
每个16*64的点阵共有1024个发光二极管,显然单片机没有这么多端口。
如果采用锁存器来扩展端口,那么按8位的锁存器来计算,一个16*64的点阵需要1024/8=128个锁存器。
这个数字很庞大,因为这里仅仅16*64的点阵,而在实际应用中的显示屏往往还要大得多,这样在锁存器上的成本将是一个很庞大的数字。
因此在实际应用中,显示屏几乎都不采用这种设计,而采用另一名称为动态扫描的显示方法。
所谓动态扫描,简单地说就是逐行逐行点亮,这样扫描驱动电路就可以实现多行(如16行)的同名列共用一套列驱动器。
以16*16点阵为例,把所有同一行发光管的阳极连在一起,把所有同一列发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管的阳极连在一起锁存然后选能第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭。
。
。
。
。
。
第十六行之后又重新第一行,这样反复轮回。
当这样轮回的速度足够快(每秒24次以上)时,由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。
采用扫描方式时行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时,要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题,从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。
显然,采用并行方式时,从控制电路驱动器的线路数量大,相应的硬件数目多。
当列数很多时,并行传输的方案是不可取的。
采用串行传输的方法,控制电路可以只用一根信号弹线,将列数据逐位地传往列驱动器,在硬件方面无疑是十分经济的。
但是,串行传输过程较长,数据按顺序逐位地输出给列驱动器,只有当一行中的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。
对于串行传输方式来说,列数据准备时间相对要长一些,在行扫描周期确定的民用产品下,行显示的时间就会缩短,以致会影响到LED的亮度效果。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法来解决。
即在显示本行各列数据的同时,传送下一行的列数据。
为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。
经过上述分析,可以归纳出列驱动器电路应具备的主要功能:
对于列数据准备来说,应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下行的列数据,而不会影响本行的显示时间。
16*64显示电路框图
5.3.2软件驱动点阵
显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。
根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:
第一层底层的显示驱动程序;第二层是上层的系统应用程序。
显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作,效果处理等工作,由主程序来实现。
从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,显示屏程序适宜采用C语言编写。
显示驱动程序
显示驱动程序在列数据切换之后要选进行延时,让列数据充分到位时再打开使能端,以保证显示屏的稳定。
显示驱动程序查询当前点亮的行号,从显示缓存区读取下行的显示数据,并通过移位函数yiwei()移出每一位发送给移位寄存器。
为消除在切换行显示数据时产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据输入输出锁存器并锁存后,再输出新的行号,重新打开显示。
图4.1所示为显示驱动显示驱动程序(显示屏扫描函数)流程图。
图4.1显示驱动程序流程图
5.4GPS(GR-85)模块
5.4.1产品特点:
1.使用SiRF第高感二代低耗电量高性能芯片,性能大大提高。
2.20个通道,确保最高的接收灵敏度
3.内部有可充电电池,可以保存星历数据,便于快速定位
4.采用接插件引线式输出,非常便于产品开发时制作样机。
5.标准的MMCX天线接口,便于连接GPS天线。
6.标准NMEA0183信号输出,便于后续电路使用
5.4.2性能参数:
工作电压:
3.5~5.5V直流
工作电流:
70毫安
体积大小:
25.4x25.4x7毫米
模块重量:
7克
数据线接口:
接插件,排线输出
接收灵敏度:
-159dBm
GPS天线接口:
MMCX接口
串口数据格式:
TTL电平数据输出,每秒一次GPS全数据。
串口通讯速率:
4800通讯波特率
断电数据记忆时间:
大于七天
5.4.3模块图片
gr-85模块
5.4.4模块使用方法
我们使用GPS模块时其实非常简单,一般只用到三根输出线,第一脚红线接3.5~5.5V的直流正电源,第五脚黑线是电源地,第二脚黄线是GPS的输出线,它是TTL电平的串口信号,高电平大于2.4V,低电平小于0.4V,输出驱动能力为2毫安,一般可以直接和单片机接口,如果希望用电脑的串口调试助手软件调试时,必须加MAX232模块组成的电平转换电路,当然也可以用我们提供的采用PL2303的USB转串口模块,模块的第六脚绿线是秒信号输出,每秒都会输出一个10毫秒宽度的0.2V左右的脉冲信号,一般用于授时用途。
5.4.5GPSNMEA-0183协议
GPS数据遵循NMEA-0183协议,该数据标准是由NMEA(NationalMarineElectronicsAssociation,美国国家海事电子协会)于1983年制定的。
统一标准格式NMEA-0183输出采用ASCII 码,其串行通信的参数为:
波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。
数据传输以“语句”的方式进行,每个语句均以“$”开头,然后是两个字母的“识别符”和三个字母的“语句名”,接着就是以逗号分割的数据体,语句末尾为校验和,整条语句以回车换行符结束。
NMEA-0183的数据信息有十几种,这些信息的作用分别是:
$GPGGA:
输出GPS的定位信息;$GPGLL:
输出大地坐标信息;$GPZDA:
输出UTC时间信息;$GPGSV:
输出可见的卫星信息;$GPGST:
输出定位标准差信息;$GPGSA:
输出卫星DOP值信息;$GPALM:
输出卫星星历信息;$GPRMC:
输出GPS推荐的最短数据信息等。
分别介绍如下:
1.GPRMC语句(RecommendedMinimumSpecificGPS/TRANSITData-RMC,推荐定位信息1次/1秒)
对于一般的GPS动态定位应用,GPRMC语句完全满足要求。
该语句中包括经纬度、速度、时间和磁偏角等字段,这些数据为导航定位应用提供了充分的信息。
下表详细说明GPRMC语句中的各个字段:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,
字段 $GPRMC语句意义——取值范围
<1>UTC时间:
hhmmss.ss——000000.00~235959.99
<2> 状态,有效性 ——A表示有效;V表示无效
<3> 纬度格式:
ddmm.mmmm——0000.00000~8959.9999
<4> 南北半球——N北纬;S南纬
<5> 经度格式:
dddmm.mmmm——00000.0000~17959.9999
<6> 东西半球——E表示东经;W表示西经
<7> 地面速度——000.00~999.999
<8> 速度方向——000.00~359.99
<9> 日期格式,月日年——010100~123199
<10> 磁偏角,单位:
度——00.00~99.99
<12> 模式指示及校验和——A=自主定位,D=差分,E=估算,N=数据无效
例如:
$GPRMC,074529.82,A,2429.6717,N,11804.6973,E,12.623,32.122,010806,,W,A*08
2.GPGGA语句(GlobalPositioningSystemFixData-GGA,GPS定位信息, 输出1次/1秒)
GPS定位主要数据,该语句中包括经纬度、质量因子、HDOP、高程、基准站号等字段。
下表详细说明GPGGA语句中的各个字段:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,
字段 $GPGGA语句意义——取值范围
<1>UTC时间:
hhmmss.ss——000000.00~235959.99
<2> 纬度,格式:
ddmm.mmmm——0000.00000~8959.9999
<3> 南北半球——N北纬;S南纬
<4> 经度格式:
dddmm.mmmm——00000.0000~17959.9999
<5> 东西半球——E表示东经;W表示西经
<6> 质量因子——0=未定位,1=GPS单点定位固定解,2=差分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 论文