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

📄 main.lst

📁 一个用来实现单片机USB接口的程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 1   


C51 COMPILER V6.20c, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE main.c DB OE LARGE ROM(LARGE) 

stmt level    source

   1          #include "common.h"
   2          #include "AT89X52.H"
   3          #include "SL811.H"
   4          #include "main.h"
   5          #include "TPBULK.H"
   6          #include "HAL.H"
   7          #include "HPI.H"
   8          #include <intrins.h>
   9          #include <absacc.h>
  10          #include "math.h"
  11          #define WUDK_ADDR XBYTE[0xfff3] /*U盘数据地址*/
  12          #define RGPS_ADDR_PORT 0xfff1 /*GPS数据地址*/
  13          #define RADC_ADDR XBYTE[0xfff8]
  14          unsigned char xdata RGPS_ADDR _at_ RGPS_ADDR_PORT;
  15          
  16          //---------------
  17          typedef struct _STORE_DATAB {
  18                         unsigned int  mileage;
  19                         unsigned int  gap;
  20                         unsigned long longitude;
  21                         unsigned long latitude;
  22                         unsigned char dir; 
  23                         unsigned int  xianhao;
  24                         unsigned char flag;
  25                         };
  26          typedef struct _STORE_DATAY {
  27                         unsigned long mileage;
  28                         unsigned int  speed;
  29                         unsigned char accelerath;
  30                         unsigned char acceleratv;
  31                         unsigned char year;
  32                         unsigned char month;
  33                         unsigned char date;
  34                         unsigned char hour;
  35                         unsigned char min;
  36                         unsigned int  xianhao;
  37                         unsigned char  direct;
  38                         };
  39          
  40          
  41          typedef struct _MAX_VALUE{
  42                         unsigned int  speed;
  43                         unsigned int  mileageH;
  44                         unsigned int  mileageL;
  45                         unsigned char accH;
  46                         unsigned char accV;
  47                         };
  48          typedef struct _PRINT_DATA{
  49                unsigned  char AH;
  50                unsigned  char AV;
  51                unsigned  int SPEED;
  52                unsigned  int  mileageH;
  53                unsigned  int  mileageL;
  54                unsigned  int  XIANHAO;
  55                unsigned  char RPCOUNT;
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 2   

  56                unsigned  char year;
  57                unsigned  char month;
  58                unsigned  char date;
  59                unsigned  char hour;
  60                unsigned  char min;
  61                unsigned char  direct;
  62                unsigned char  rank;
  63              };
  64          
  65           Gps_Data    xdata GPS_DATA={0x00}; 
  66           Lcd_Data    xdata LCD_DATA={0x00}; 
  67          struct _MAX_VALUE   xdata MAX_VALUE[10];
  68          struct _PRINT_DATA  xdata PRINT_DATA;
  69                         
  70                     
  71          struct _STORE_DATAB xdata STORE_DATAb[105];
  72          struct _STORE_DATAY xdata STORE_DATAy3[100];
  73          struct _STORE_DATAY xdata STORE_DATAy2[100];
  74          struct _STORE_DATAY xdata STORE_DATAy1[100];
  75          unsigned char xdata MCOUNTd=0;
  76          unsigned char xdata NOW_BCODE=0;
  77          unsigned char xdata BGROUP=0;
  78          static unsigned int xdata mileageL=0;
  79          static unsigned int xdata mileageH=0;
  80          unsigned long xdata now_longitude=0;
  81          unsigned long xdata now_latitude=0;
  82          unsigned int  xdata  mileage_LOCATED=0;
  83          unsigned int  xdata gap_LOCATED=0;
  84          unsigned long xdata  longitude_LOCATED=0;
  85          unsigned long xdata latitude_LOCATED=0;
  86          unsigned char xdata MEN_TAB[50]={0x00};
  87          unsigned char xdata STORE_OK[15]={0xff,0x08,0x00,0x08};
  88          unsigned char xdata CCODE[5]={0xff,0xff,0x01,0x66,0x66};
  89          unsigned char xdata STARTOK[5]={0xff,0x01,1,0x00,0x02};
  90          unsigned char xdata RPCOUNT=0;
  91          unsigned char xdata CHEXING=0;
  92          unsigned int xdata XIANHAO=0;
  93          unsigned int xdata XIANTEMP=0;
  94          unsigned char xdata DIRECTOR=0;
  95          unsigned char xdata YX3_LEN=0;
  96          unsigned char xdata YX2_LEN=0;
  97          unsigned char xdata YX1_LEN=0;
  98          unsigned char xdata YX2_block=0;
  99          unsigned char xdata CHECK_BCODE=0xff;
 100          unsigned char xdata BAKE_CODE=0xff;
 101          unsigned char xdata SERI_BUFF[20]={0x00};
 102          unsigned char xdata FMQ_CNTcai=0;
 103          unsigned char xdata FMQ_CNT=0;
 104          unsigned char xdata HALF_COUNT=0;
 105          unsigned char xdata HANDRED=0;
 106          unsigned int xdata OLD_speed=0;
 107          unsigned int xdata OLD_dtmiles=0;
 108          unsigned int xdata Lastmile=0;
 109          unsigned char xdata accH=0;
 110          unsigned char xdata accV=0;
 111          unsigned char xdata MLEN=0;
 112          unsigned char xdata ADC[8]={0};
 113          unsigned char xdata TEST_BAKE=0;
 114          unsigned char bdata MAIN_FLAG0=0;
 115          sbit    XIANCHANGE=MAIN_FLAG0^0;
 116          sbit     OPEN_FILE=MAIN_FLAG0^1;
 117          sbit   CREATE_FILE=MAIN_FLAG0^2;
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 3   

 118          sbit      ASK_DATA=MAIN_FLAG0^3;
 119          sbit     GIVE_DATA=MAIN_FLAG0^4;
 120          sbit      CHE_XING=MAIN_FLAG0^5;
 121          sbit        CONFIG=MAIN_FLAG0^6;
 122          sbit       GET_MXI=MAIN_FLAG0^7;
 123           unsigned char bdata MAIN_FLAG1=0;
 124          sbit    FIRST_CHANGE=MAIN_FLAG1^0;
 125          sbit  COUNTd_STARTUP=MAIN_FLAG1^1;
 126          sbit        SEND_LCD=MAIN_FLAG1^2;
 127          sbit   XIU_LASTBLOCK=MAIN_FLAG1^3;
 128          sbit       START_RUN=MAIN_FLAG1^4;
 129          sbit        YX3_DATA=MAIN_FLAG1^5;
 130          sbit        YX2_DATA=MAIN_FLAG1^6;
 131          sbit      STORE_DATA=MAIN_FLAG1^7;
 132          unsigned char bdata MAIN_FLAG2=0;
 133          sbit     new_yxdata=MAIN_FLAG2^0;
 134          sbit       YUE_XIAN=MAIN_FLAG2^1;
 135          sbit      ALTERNATE=MAIN_FLAG2^2;
 136          sbit        BIG_LON=MAIN_FLAG2^3;
 137          sbit YUE_XIAN_rank2=MAIN_FLAG2^4;
 138          sbit PRINT_DATASEND=MAIN_FLAG2^5;
 139          sbit  MAX_VALUESEND=MAIN_FLAG2^6;
 140          sbit    TIMING_FLAG=MAIN_FLAG2^7;
 141          
 142          unsigned char bdata MAIN_FLAG3=0;
 143          sbit         AD_MCU=MAIN_FLAG3^0;
 144          sbit        GPS_MCU=MAIN_FLAG3^1;
 145          sbit      PRINT_MCU=MAIN_FLAG3^2;
 146          sbit       UDSK_MCU=MAIN_FLAG3^3;
 147          sbit      TEST_HARD=MAIN_FLAG3^4;
 148          sbit   rank2_ENABLE=MAIN_FLAG3^5;
 149          sbit        YX1_DATA=MAIN_FLAG1^6;
 150          //----------
 151          XXGFLAGS bdata bXXGFlags;
 152          extern unsigned char xdata DBUF[BUFFER_LENGTH];
 153          unsigned char xdata DDBUF[512]={0x00};
 154          //-------------------------------------------------file name
 155          unsigned char xdata Bfilename[12]={0x54,0x45,0x53,0x54,0x44,0x4e,0x20,0x20,0x54,0x58,0x54,0x20};//,0x18,0x
             -75,0xcd,0xb4,
 156                                             //0xe2,0x2e,0xe2,0x20,0x20,0xc4,0xc4,0xe2,0x20,0x20,0x00,0x04,0x20,0x20
             -,0x20,0x20,
 157                                             //0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
             -,0x20,0x20,
 158                                             //0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20
             -,0x20,};
 159          unsigned char xdata Yfilename[63]={0x54,0x45,0x53,0x54,0x53,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x18,0x75,0
             -xcd,0xb4,
 160                                             0xe2,0x2e,0xe2,0x20,0x20,0xc4,0xc4,0xe2,0x20,0x20,0x00,0x06,0x20,0x20,0
             -x20,0x20,
 161                                             0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0
             -x20,0x20,
 162                                             0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0
             -x20,};
 163          unsigned char xdata Tfilename[12]={0x54,0x45,0x53,0x54,0x54,0x20,0x20,0x20,0x20,0x20,0x20,0x20};//,0x18,  
             -                           
 164          unsigned int  xdata FILE_START=0;
 165          unsigned int  xdata TIAN_START=0;
 166          unsigned int  xdata XIAN_SPOT=0;
 167          //--------------------------------------------------my define   
 168          
 169          //------------------------------
 170          
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 4   

 171          static unsigned int YYX3_len;
 172          static unsigned int YYX2_len;
 173          static unsigned int YYX1_len;
 174          unsigned char xdata xian_num=0;
 175          unsigned char xdata FileNumber=0;
 176          unsigned char xdata TAX_HEAD[5]={0x00};
 177          unsigned char xdata RAX_HEAD[5]={0x00};
 178          typedef struct _FILE_HEAD {
 179                         unsigned int  xianhao;
 180                         unsigned int  qidian;
 181                         unsigned int  qicheng;
 182                         };
 183          struct _FILE_HEAD xdata FileHead[32]={0x00};
 184          //---------------------------------------------------
 185          
 186          
 187          
 188          void tax_ccode() 
 189           {
 190   1         unsigned char  i;
 191   1         for(i=0;i<5;i++)
 192   1          {  
 193   2             SBUF=CCODE[i];
 194   2             while(!TI)
 195   2             Watch_Dog=~Watch_Dog;
 196   2             TI=0;
 197   2           }
 198   1         
 199   1       } 
 200          void tax_ok()
 201          {
 202   1         unsigned char  i;
 203   1         for(i=0;i<5;i++)
 204   1          {  
 205   2             SBUF=STARTOK[i];
 206   2             while(!TI)
 207   2             Watch_Dog=~Watch_Dog;
 208   2             TI=0;
 209   2           }
 210   1          
 211   1      } 
 212          
 213           
 214          unsigned char Get_next_biao(unsigned char x1)
 215          {
 216   1         unsigned char i,j;
 217   1         
 218   1             for(i=x1;i<100;i++)
 219   1             { 
 220   2                  Watch_Dog=~Watch_Dog;
 221   2               if(STORE_DATAb[i].longitude!=0x00)
 222   2                 {  j=i; break;}
 223   2               else
 224   2                  j=0xff;
 225   2             }
 226   1         
 227   1          if(j!=0xff)
 228   1          {
 229   2            longitude_LOCATED=STORE_DATAb[j].longitude;
 230   2            latitude_LOCATED=STORE_DATAb[j].latitude;
 231   2            gap_LOCATED=STORE_DATAb[j].gap;
 232   2            mileage_LOCATED=STORE_DATAb[j].mileage;
C51 COMPILER V6.20c  MAIN                                                                  10/09/2005 11:31:22 PAGE 5   

 233   2            
 234   2          } 
 235   1          return j;
 236   1      }
 237          void caibiao()
 238          {
 239   1       unsigned char temp=0;
 240   1      if(STORE_DATAb[NOW_BCODE].gap!=0)
 241   1      {
 242   2       if(abs(mileageL-STORE_DATAb[NOW_BCODE].gap)<STORE_DATAb[NOW_BCODE].gap/2)
 243   2       {
 244   3          STORE_DATAb[NOW_BCODE].longitude=now_longitude;
 245   3          STORE_DATAb[NOW_BCODE].latitude=now_latitude;
 246   3          mileageL=0;
 247   3          mileageH=STORE_DATAb[NOW_BCODE].mileage;
 248   3          NOW_BCODE++;
 249   3          FIRST_CHANGE=1;
 250   3         
 251   3       }
 252   2       else
 253   2        {
 254   3          temp=NOW_BCODE-1;
 255   3          STORE_DATAb[temp].longitude=now_longitude;
 256   3          STORE_DATAb[temp].latitude=now_latitude;
 257   3          mileageH=STORE_DATAb[NOW_BCODE].mileage;
 258   3          mileageL=0;
 259   3          FIRST_CHANGE=1;
 260   3        }
 261   2      }
 262   1      else
 263   1      {
 264   2       if(mileageL>2000)
 265   2      {
 266   3       if(DIRECTOR)
 267   3        mileageH=mileageH+1; 
 268   3       else 
 269   3       mileageH=mileageH-1; 
 270   3       STORE_DATAb[NOW_BCODE].mileage=mileageH;
 271   3       STORE_DATAb[NOW_BCODE].gap=mileageL/10;
 272   3       STORE_DATAb[NOW_BCODE].latitude=GPS_DATA.latitude;
 273   3       STORE_DATAb[NOW_BCODE].longitude=GPS_DATA.longitude;
 274   3       STORE_DATAb[NOW_BCODE].xianhao=XIANHAO;
 275   3       STORE_DATAb[NOW_BCODE].dir=DIRECTOR;
 276   3       mileageL=0; 
 277   3       FIRST_CHANGE=1; 
 278   3       NOW_BCODE++;
 279   3      }
 280   2      }
 281   1       if(COUNTd_STARTUP)
 282   1       {
 283   2         COUNTd_STARTUP=0;
 284   2         if(NOW_BCODE<100)
 285   2          CHECK_BCODE=Get_next_biao(NOW_BCODE );
 286   2       }
 287   1      }

⌨️ 快捷键说明

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