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

📄 try.lst

📁 GPS开发 NEA1803 51单片机与12864 由串口中断收取数据 显示经度纬度 高度 速度 时间 使用卫星数
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   TRY                                                                   07/17/2008 19:14:02 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE TRY
OBJECT MODULE PLACED IN try.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE try.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*************************************
   2           GPS  12864     显示程序
   3          ***************************************/
   4          
   5          #include <AT89X51.H>
   6          #include <stdio.h>
   7          #include "LCD12864_c51.h"
   8          //char code TIME_AREA= 8;                  //时区
   9          //GPS数据存储数组
  10          unsigned char JD[10];                  //经度
  11          unsigned char JD_a;                  //经度方向
  12          unsigned char WD[9];                  //纬度
  13          unsigned char WD_a;                  //纬度方向
  14          unsigned char time[6];            //时间
  15          //串口中断需要的变量
  16          unsigned char seg_count;            //逗号计数器
  17          //unsigned char dot_count;            //小数点计数器
  18          unsigned char byte_count;            //位数计数器
  19          unsigned char cmd_number;            //命令类型
  20          unsigned char mode;                        //0:结束模式,1:命令模式,2:数据模式
  21          unsigned char buf_full;                  //1:整句接收完成,相应数据有效。0:缓存数据无效。
  22          unsigned char cmd[5];                  //命令类型存储数组
  23          unsigned char speed[4]; 
  24          unsigned char date[6]; 
  25          
  26          //显示需要的变量
  27          unsigned int dsp_count;            //刷新次数计数器
  28          unsigned char time_count;
  29          void sys_init(void);
  30          main()
  31          {
  32   1           unsigned char i;
  33   1               sys_init();
  34   1               while(1)
  35   1               {
  36   2                if(buf_full==0)                        //无GPS信号时
  37   2                 {
  38   3                       dsp_count++;
  39   3                       if(dsp_count>=65000)
  40   3                                       {
  41   4                             Init_Lcd12864();                  //清屏
  42   4                                                 ResetCursor(0,2);
  43   4                                         printf("No GPS connect..");
  44   4                             while(buf_full==0);
  45   4                             ClearAS();      
  46   4                             dsp_count=0;
  47   4                       }
  48   3                 }
  49   2                 else if(buf_full)
  50   2                         {                             //有GPS信号时                  //GGA语句
  51   3                                         ResetCursor(0,0);
  52   3                                                         printf("JD:");
  53   3                                                                         ResetCursor(3,0);
  54   3                                                         printf("%c",JD_a);
  55   3                        //显示经度
C51 COMPILER V8.02   TRY                                                                   07/17/2008 19:14:02 PAGE 2   

  56   3                                         for(i=0;i<10;i++)
  57   3                                                                         {
  58   4                                                                                      ResetCursor(i+4,0);
  59   4                                                                                      printf("%c",JD[i]);
  60   4                                                                              }
  61   3      
  62   3                                              ResetCursor(0,1);
  63   3                                                          printf("WD:");
  64   3                                                                              ResetCursor(3,1);
  65   3                                                          printf("%c",WD_a);
  66   3                                                                              for(i=0;i<9;i++)                                            //显示纬度
  67   3                                                                              {
  68   4                                                                                       ResetCursor(i+4,1);
  69   4                                                                                   printf("%c",WD[i]);
  70   4                                                                               }
  71   3                                                                              ResetCursor(0,2);
  72   3                                                                      printf("Tim:");
  73   3                                                                              for(i=0;i<6;i++)                                            //显示Time
  74   3                                                                               {
  75   4                                                                                      ResetCursor(i+4,2);
  76   4                                                                              printf("%c",time[i]);
  77   4                                                                               }
  78   3                                                                              ResetCursor(0,3);
  79   3                                                                      printf("Spe:");
  80   3                                                                              for(i=0;i<4;i++)                                            //显示速度
  81   3                                                                               {
  82   4                                                                                      ResetCursor(i+4,3);
  83   4                                                                              printf("%c",speed[i]);
  84   4                                                                               }
  85   3                                                                buf_full&=~0x01;
  86   3                                   dsp_count=0;
  87   3                             }
  88   2                  }               
  89   1                                                                 
  90   1      }                      
  91          
  92          //系统初始化
  93          void sys_init() 
  94          {
  95   1      //     unsigned char i;
  96   1           SCON = 0x50;      /* SCON: mode 1, 8-bit UART, enable rcvr */
  97   1           TMOD = 0x20;      /* TMOD: timer 1, mode 2, 8-bit reload */
  98   1           TH1=TL1=0xfa;       /* TH1: reload value for 4800 baud @ 11.059MHz */
  99   1           TR1 = 1;            /* TR1: timer 1 run */
 100   1           Init_Lcd12864();            //初始化LCD
 101   1               ResetCursor(0,1);
 102   1           printf("GPS Monitor V1.2");
 103   1               ClearAS();
 104   1           IE=0x90;                  //开总中断、串口中断
 105   1      }
 106          

⌨️ 快捷键说明

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