·上一文章:一种车载智能电源的设计
·下一文章:晶振在单片机中的作用
2.2 控制程序
STC12C5A通过串口接收一组完整的GPS数据后,通过控制程序对GPS信息作相应的处理。处理完后通过串口发送给上位机,在整个过程中必须同时打开2个串口。STC12C5A的2个串口刚好满足系统要求,而且可以对它们设置不同的波特率。STC12C5A系列的单片机扩展了1 KB的RAM空间,足够本系统作为暂时的缓冲器。系统不用保存大量的数据,虽然串口2一直在接收GPS导航数据和授时数据,同样串口1以更高的波特率在向上位机发送数据,最后所有的数据都会通过上位机软件以.txt格式保存在PC机上。控制程序在设置串口中断优先级时会把发送数据的串口中断设置成最高优先级,优先满足串口发送。接收GPS数据时每隔1 s接收一次导航信息,这样不会影响导航的精度。发送数据的串口波特率设置成115 200 bps,接收GPS数据的串口波特率设置成9 600 bps,2个串口的初始化程序代码如下:
数据处理部分主要是判断GPS发送给STC单片机的数据是否有效,在数据有效时提取经度、纬度、海拔、卫星日期、时间信息保存在字符数组中。数据保存完后确定数据是发送给LCD显示屏显示,还是通过串口发送给上位机软件显示。显示模式有LCD显示和上位机软件显示,默认方式是LCD显示。如果需要上位机界面为显示模式时,先通过上位机软件中的“发送设置”对话框设置“显示模式”为1,然后发送给STC单片机。