⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpsdata.lst

📁 GPS_25LVS_LCD1602程序由河南科技大学创达科技 陈仲库 设计
💻 LST
字号:
C51 COMPILER V7.06   GPSDATA                                                               05/31/2007 16:03:21 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE GPSDATA
OBJECT MODULE PLACED IN GPSData.OBJ
COMPILER INVOKED BY: C:\Program Files\keilc\C51\BIN\C51.EXE GPSData.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg51.h>
   2          #include "GPSData.h"
   3          //#include<Acm1602*lcd.c>
   4          /* 延时t毫秒 */
   5          void delay(uint t)
   6          {
   7   1              uint i;
   8   1              while(t--)
   9   1              {
  10   2                      /* 对于12MHz时钟,约延时1ms */
  11   2                      for (i=0;i<125;i++)
  12   2                      {}
  13   2              }
  14   1      } 
  15          
  16          /* 串口接收中断 */
  17          serial() interrupt 4 using 1
  18          {
  19   1              RI = 0;                         // 清除中断标志位
  20   1              /* 判断是否收到GPRMC格式语句的第一个字符"$",其数值为0x24,
  21   1              收到后开始记录数据,并设置记录标志RecFlag。                         */
  22   1              if (SBUF == 0x24)
  23   1              {
  24   2                      RecFlag = 1;
  25   2                      i = 0;
  26   2                      IGpsLgd = 0;    // 经度数据计数变量置0
  27   2                      NumComa = 0;    // 逗号计数变量置0
  28   2              }
  29   1      
  30   1              /* 开始处理GPRMC中的数据信息 */
  31   1              if (RecFlag == 1)
  32   1              {
  33   2                      if(SBUF == 0x2c)
  34   2                              NumComa++;
  35   2      
  36   2                      /* 第5个逗号之后的字符属于经度数据 */
  37   2                      if (NumComa == 3)
  38   2                      {
  39   3                              StrGpsLgd[IGpsLgd] = SBUF;      // 存入字符串StrGps
  40   3                              P2=SBUF;
  41   3                              IGpsLgd++;
  42   3                      }
  43   2      
  44   2                      /* 判断是否收到GPRMC格式语句的字符"*",
  45   2                      其数值为0x2a,收到则结束记录 */ 
  46   2                      if (SBUF == 0x2a)
  47   2                      {
  48   3                              StrGpsLgd[IGpsLgd] = '\0';      // 字符串的结束符
  49   3                              RecFlag = 0;
  50   3                              IGpsLgd = 0;                            // 经度数据计数变量置0
  51   3                              NumComa = 0;                            // 逗号计数变量置0
  52   3      
  53   3                              /* 延时半秒钟后重新接收新的GPS定位信息中的经度信息 */
  54   3                              REN = 0;
  55   3                              delay(100);                                     // 延时500ms
C51 COMPILER V7.06   GPSDATA                                                               05/31/2007 16:03:21 PAGE 2   

  56   3                              REN = 1;
  57   3                      }
  58   2              }       
  59   1      }
  60          
  61          
  62          void main()
  63          {
  64   1              int i;
  65   1              /* 初始化串口 */
  66   1              TMOD = 0x20;    
  67   1              TL1= 0xfd;
  68   1              TH1 = 0xfd;
  69   1              SCON = 0x40;            // 方式1:10位异步收发,波特率由定时器控制。REN=0。
  70   1              PCON = 0x00;            // SMOD = 0
  71   1              IE = 0x90;                      // EA = 1,ES = 1
  72   1              TR1 = 1;                        // 定时器1启动
  73   1              DisableAllOut();
  74   1              EnableGPRMC();
  75   1      //      init();
  76   1              StrGpsLgd[9]='z';
  77   1              delay(100);             // 延时1s
  78   1              REN = 1;                        // REN = 1,开始接收数据
  79   1              while(1);
  80   1      //      {       wrtc(0x80);     
  81   1      //              for(i=0;i<10;i++)wrtd(StrGpsLgd[i]);    
  82   1      //              disp("czk",1,0);;
  83   1      //      }       
  84   1      }
*** WARNING C280 IN LINE 64 OF GPSDATA.C: 'i': unreferenced local variable
  85          
  86          /* 配置GPS模块禁用所有输出语句 */
  87          void DisableAllOut()
  88          {
  89   1              /* 发送语句:$PGRMO,,2 */
  90   1              printf("$PGRMO,,2");
  91   1      }
  92          /* 配置GPS模块使能$GPRMC输出语句 */
  93          void EnableGPRMC()
  94          {
  95   1              /* 发送语句:$PGRMO,GPRMC,1 */
  96   1              printf("$PGRMO,GPRMC,1");
  97   1      }
  98          
  99          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    219    ----
   CONSTANT SIZE    =     25    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     28       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -