产品分类

您现在的位置: 首页 >> 技术支持 >> 基于C8051FO4O的简易GPS导航仪

基于C8051FO4O的简易GPS导航仪

 

  随着科学技术的发展,GPS定位技术已经越来越走进普通人的生活,本文介绍了利用C8051FO4O单片机开发板、GPS接收机、液晶显示屏等实现的低成本、简单的局域GPS导航系统设计。系统通过串口实现和GPS接收机数据的通信,同时通过系统自制的基于矢量图形的数字地图,实现数字地图与导航信息的同步显示,并可以绘制载体的航迹。

      系统结构  

  GPS接收机通过串口和MCU相连,实时提取数据,得到用户的位置参数,通过白带的电子地图,由LCD显示用户位置,实现导航定位的目的)该系统组成原理的结构图如下图所示。

  LCD接口电路 LCD接口板与C8051FO4O开发板通过开发板的J24和接口板的J5的96针插针连接,其中96针插针接口描述如下表所示。

PIN# Description A-1 + 3VD2(+ 3.3VDC) A-2 MO NEN A-3 P1.5 A-4 P1.2 A-5 P2.7 A-6 P2.4 A-7 P2.1 A-8 P3.6 A-9 P3.3 A-10 P3. 0 A-11 PO.5 A-12 PO.2 A-13 P7 . 7 A-14 P7 .4 A-15 P7.1 A-16 P6.6 A-17 P6.3 A-18 P6.0 A-19 P5.5 A-20 P5.2 A-21 P4.7 A-22 P4. 4 A-23 P4.1 A-24 TCK A-25 / RST A-26 AGND(Analog Gnd) A-27 CANRX A-28   A-29 VREFO A-30 HVAIN+ A-31 AINO.3 A-32 A IN0.0 Pin# Description B-1 DGND(digtal Gnd) B-2 P1.7 B-3 P1.4 B-4 P1.1 B-5 P2.6 B-6 P2.3 B-7 P2.0 B-8 P3.5 B-9 P3.2 B-10 P0.7 B-11 P0.4 B-12 PO.1 B-13 P7.6 B-14 P7.3 B-15 P7.0 B-16 P6.5 B-17 P6.2 B-18 P5.7 B-19 P5.4 B-20 P5.1 B-21 P4.6 B-22 P4.3 B-23 P4.0 B-24 TDI B-25 AGND(Analog Gnd) B-26 DAC1 B-z7 CANTX B-28 VR EF B-29 VREF 2 B-30 HVCAP B-31 AIN0.2 B-32 AGND(Analog Gnd)  Pin#  Description  C-1  XTAL1  C-2  P1.6  C-3  P1.3  C-4  P1.0  C-s  P2.5  C-6  P2.2  C-7  P3.7  C-8  P3.4  C-9  P3.1  C-10  P0.6  C-11  PO.3  C-12  PO.0  C-13  P7.5  C-14  P7.2  C-15  P6.7  C-16  P6.4  C-17  P6.1  C-18  P5.6  C-19  P5.3  C-20  P5.0  C-21   P4.5  C-22  P4.2  C-23  TMS  C-24  TDO  C-25  VUNREG  C-26  DACO  C-27    C-28  VREFD  C-29   HVAIN-  C-30   HVREF  C-3 1  AIN0.1  C-32 AV+(3.3VDC Analog)

 

  LCD接口电路中P7.O~P7.7(DO~D7)为数据总线,P5.5~P5了(Al3~Al5)为地址总线,PO.6(RD)为读数据信号,PO.7(WR)为写数据信号,同时将PO.2和PO.3引出,交叉配置为串口1的发送和接收端口。

  GPS接收和处理

  串行通信  C8051FO4O有两个串行端口(UARTO和URAT1,作为控制器和串行设备之间的编码转换器。通过配置串行口控制寄存器SCON,设置串口工作方式,当发送数据时,控制器的字节数据转换为串行的位数据;反之接受数据时,串行的位数据转换为字节数据。串行口控制寄存器SCON的SMO、SM1用于定义串行口工作方式选择位,如下表所示,

 

  SM 0、 SM 1  工作方式     功能描述   波特率 0   方式0   8位移位寄存器  Fosc/ 1 2 1   方式 1     10位 UART   可变 10   方式2     11 位 UART   fosc/ 32 11   方式3     11 位 UART   可变

 

其中fosc为晶振频率,同时GPS的串行通信参数为:波特率=4800bps,数据位=8位,开始位=1位,停止位=1位。串口初始化程序如下程序所示,

    程序 1

    /*********** 串口初始化配制 *********/

    void uartO_ini()

    {

    SFRPAG E = UARTO_PAG E;

    SADENO = OxOO;// SADENO为 UARTO从机地址

控制寄存器,0表示相应位地址不参加过滤,即该位地址

值为0或 1 均为有效地址

    SADDRO = OxOO;// SADDRO 为 UARTO 从机地

址设置寄存器

    SSTAO = Ox15;// SMODO =1,UARTO波特率2

分频允许,此时在使用 T1 至T4 为波特率发生定时器时,

计算公式为 BandRate=ft/1 6,ft为 T1 至T4 的溢出率

    //TX0时钟源为 T2,RXO 时钟源为 T2

    SCONO = Ox50;//工作在模式 1,为 8bit可变波特

率通讯

    SCONO &= OxFC;//将 TIO和 RIO清零

    t2_ini();//初始化 UARTO 的波特率产生定时器 T2

    }

通过串口输出接收进来的GPS数据程序如下程序所示。

/****通过串口输出接收进来的 GPS 数据 ****/

    void GPS_out()

    {

    p=2;//纬度部分

    for(q= 0; GPS_sec[p][q] ! =’\0’ ; q++)

    {

                    SFR PAG E= 0;

                      Send Char(GPS_sec[p][q]);

         }

    Send Char(' * ');

    p=4;//经度部分

    for(q=0;GPS_sec[pl[q]! =’\0’;q++)

    {

                  SFRPAG E= 0;

                    Send Char(GPS_sec[p][q];

        }

    Send Char('* ');

    }

 

 

信息来源:GOTOP
关 键 词:GOTOP北斗模块GPS模块创鑫电 GOTOP