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

📄 try.lst

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

 118   1           TMOD = 0x20;      /* TMOD: timer 1, mode 2, 8-bit reload */
 119   1           TH1=TL1=0xfa;       /* TH1: reload value for 4800 baud @ 11.059MHz */
 120   1           TR1 = 1;            /* TR1: timer 1 run */
 121   1           Init_Lcd12864();            //初始化LCD
 122   1               ResetCursor(0,1);
 123   1           printf("GPS Monitor V1.2");
 124   1               ClearAS();
 125   1           IE=0x90;                  //开总中断、串口中断
 126   1      }
 127          
 128          //串口接收中断
 129          void uart(void) interrupt 4
 130          {
 131   1           unsigned char tmp;
 132   1           if(RI){
 133   2                 tmp=SBUF;
 134   2                 switch(tmp)
 135   2                         {
 136   3                       case '$':
 137   3                             cmd_number=0;            //命令类型清空
 138   3                             mode=1;                  //接收命令模式
 139   3                             byte_count=0;            //接收位数清空
 140   3                             break;
 141   3                       case ',':
 142   3                             seg_count++;            //逗号计数加1
 143   3                             byte_count=0;
 144   3                             break;
 145   3                       case '*':
 146   3                             mode=0;
 147   3                                                 buf_full=1;
 148   3                             break;
 149   3                       default:
 150   3                             if(mode==1){
 151   4                                   //命令种类判断
 152   4                                   cmd[byte_count]=tmp;                  //接收字符放入类型缓存
 153   4                                   if(byte_count>=4){                        //如果类型数据接收完毕,判断类型
 154   5                                         if(cmd[0]=='G'){
 155   6                                               if(cmd[1]=='P'){
 156   7                                                     if(cmd[2]=='R'){
 157   8                                                         if(cmd[3]=='M'){
 158   9                                                                if(cmd[4]=='C'){
 159  10                                                                       cmd_number=1;
 160  10                                                                       mode=2;
 161  10                                                                       seg_count=0;
 162  10                                                                       byte_count=0;
 163  10                                                                                               }
 164   9                                                                         }
 165   8        
 166   8                                                 
 167   8                                                                   }
 168   7                                                             }
 169   6                                                       }
 170   5                                                   }
 171   4                                         }
 172   3                                else if((mode==2)&cmd_number){
 173   4                                    //接收数据处理 GPGGA,132920.487,,n,,w,0,00,,,M,0.0,M,,0000*56
 174   4                                       //$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598, ,*10
 175   4                                                              //$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M, , , ,0000*18
 176   4                                               switch(seg_count){
 177   5                                                                                                 case 1:
 178   5                                                           if(byte_count<6){                        //时间处理
 179   6                                                                 time[byte_count]=tmp;      
C51 COMPILER V8.02   TRY                                                                   07/16/2008 13:32:05 PAGE 4   

 180   6                                                           }
 181   5                                                           break;
 182   5                                                     case 3:                                                //纬
             -度处理
 183   5                                                           if(byte_count<9){
 184   6                                                                 WD[byte_count]=tmp;
 185   6                                                           }
 186   5                                                           break;
 187   5                                                     case 4:                                                //纬
             -度方向处理
 188   5                                                           if(byte_count<1){
 189   6                                                                 WD_a=tmp;
 190   6                                                           }
 191   5                                                           break;
 192   5                                                     case 5:                                                //经
             -度处理
 193   5                                                           if(byte_count<10){
 194   6                                                                 JD[byte_count]=tmp;
 195   6                                                           }
 196   5                                                           break;
 197   5                                                     case 6:                                                //经
             -度方向处理
 198   5                                                           if(byte_count<1){
 199   6                                                                 JD_a=tmp;
 200   6                                                           }
 201   5                                                           break;
 202   5                                                                                                 case 7:                                                //speed
 203   5                                                           if(byte_count<4){
 204   6                                                                 speed[byte_count]=tmp;
 205   6                                                           }
 206   5                                                           break;
 207   5                                                                                                      case 9:                                                //date
 208   5                                                           if(byte_count<6){
 209   6                                                                 date[byte_count]=tmp;
 210   6                                                           }
 211   5                                                           break;
 212   5                                                                     }
 213   4                                            
 214   4                                                                                              }
 215   3                             
 216   3                             byte_count++;            //接收数位加1
 217   3                             break;
 218   3                                              }
 219   2                 }
 220   1           RI=0;
 221   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    865    ----
   CONSTANT SIZE    =     51    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     52       7
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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