微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 射频工程师文库 > 基于MAX3100和OLED的GPS定位系统设计

基于MAX3100和OLED的GPS定位系统设计

时间:08-03 来源:维库开发网 点击:

如汉字"效"字,设置宋体12号,对应的点阵为宽×高=16×16,用取模软件横向取模对应的32字节为: {O×10,0×20,0×08,0×30,O×08,0×20,0×7F,O×20,0×14,0×7E,0×12,0×44,0×21,0×C4,O×22,0×44,O×62,0×28,O x 14,0×28,O×08,0×10,0×0C,0×10,O×12,0×28,0×20,0×CE,0×C3,0×04,O×00,0×00}。

  阿拉伯数字"1",设置宋体12号,对应的点阵为宽×高=8×16,用取模软件横向取模对应的16字节为:{0×00,0 x0o,0×00,0×10,0×70,0×10,0×10,O×10,0×10,0×10,0×10,O×10,0×10,0×7C,O×00,O×00}。

  4.4 软件要点设计

  软件设计的时候,有两部分关键设计,一是对串口接收到的GPS模块数据进行处理;二是将所需的定位信息在OLED显示屏上显示出来。软件流程图如图2所示。

\
\

  在MAX3100中定义一个8位移位的子程序,C语言代码如下:

\

  这个子程序的任务就是通过对MAX3100的DIN和DOUT引脚进行8次移位操作,来完成两个任务,首先是接收部分,通过初始化配置后,经过 RX接收GPS模块的NEMA语句,送入接收缓冲区。接下来是发送部分,接收SPI数据并进行发送缓冲,通过TX按异步串行发送出去。

  接收NEMA语句时首先从行首标志"$"开始,在没有进一步处理之前,NEMA语句是一长串字节流,这些信息在经过分类提取之前是无法加以利用 的,因此,必须通过软件程序将各个字段的信息从字节流中提取出来,将其转化成纬度、经度、高度、速度、日期、时间、航向、卫星状况等定位信息。

  在OLED显示屏上某一位置显示某一定位信息,是通过软件设置来完成的,其中Row代表所要显示位置的开始行,Column代表所要显示位置的开始列,a代表在已经建立的汉字库和西文字库中的序列号,C语言代码如下:

  5 结束语

  本系统结合MAX3100高效的异步收发通信优点,吸取了其功耗低、体积小、传输快以及OLED显示屏超轻薄、高亮度、广视角、自发光、响应速 度快、适应温度范围宽、抗震强、功耗低等优点。设计开发出由电池供电的便携式GPS定位系统,已经成功应用到产品中,取得很好的效果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top