5 系统软件设计
图3为便携式GPS接收机的主程序流程。首先是PIC18F2520的初始化,主要包括通用I/O端口,UART,SPI,以及LCD初始化,并在LCD 上显示开机初始信息。接着PIC18F2520开始接收从EM411传送的GPS定位信息,该系统设计的PIC18F2520只接收GPSGGA以及 GPSRMC语句信息并将保存接收到的信息。然后从中提取要显示在LCD上的信息,并将其写入预先定义的显示用缓存数组中再送往LCD显示。然后键盘扫描,如果有键按下则进行键盘中断程序的处理。当SW1键按下时,软件通过延时子程序设定一个固定的保存时间间隔。当SW2键按下时,软件执行SD卡驱动子程序,微芯公司提供了PIC单片机使用的完整的SD卡驱动程序代码,可以方便地将GPS定位信息以FAT文件格式保存到SD卡中,并可在Windows操作系统下打开这些文件。SD卡驱动子程序主要完成SD卡初始化、卡插入检测、写保护检测、SD卡读/写命令的发送/接收、文件的更名、文件数据的传送等任务。文献[6]给出了微芯公司有关PIC单片机SD卡驱动程序的详细说明。
6 结束语
电路搭建好后,选择室外空旷地带、写字楼室内、繁华街道、汽车内等环境对便携式GPS接收机进行测试,在室外、室内以及移动的汽车内该GPS接收机均能很好的接收多颗卫星的GPS定位信息,关闭LCD背光显示的情况下,可连续工作超过10 h。借助SD卡以及PC机可实现将接收到的GPS数据导入到Google Earth等电子地图中。由EN411 GPS接收模块以及PIC18F2520构成的手持式GPS接收机具有电路简单、成本低、灵敏度高等优点,接收到的数据能以FAT文件格式保存到SD卡中,具有较高的实用价值,该系统设计可广泛应用于野外作业、户外运动等领域。