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

📄 gpsdiv.lst

📁 一个基于XMODEM协议的下载字库的程序
💻 LST
字号:
C51 COMPILER V7.50   GPSDIV                                                                06/22/2006 09:45:45 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE GPSDIV
OBJECT MODULE PLACED IN .\myproject\Gpsdiv.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Gpsdiv.c LARGE OPTIMIZE(5,SPEED) BROWSE DEBUG OBJECTEXTEND OBJECT(.\myproje
                    -ct\Gpsdiv.obj)

line level    source

   1          
   2          #define UART_GLOBAL
   3          #include "config.h"
   4          
   5          static unsigned char send_byte_over;
   6          /*******************************************************************************
   7          程序名:        vUART_Init
   8          说  明:        UART初始化程序,包括设置16C554和设置NMEA格式    ,115200
   9          ********************************************************************************/
  10          void vGPS_Init(void)
  11          {
  12   1              EA = 0;
  13   1              TR1 = 0;
  14   1              ET1 = 0;
  15   1              PCON  = 0x80;   //double
  16   1              TMOD  &= 0x0F;  
  17   1              TMOD  |= 0x20;  //timer 1 , mode 2
  18   1              TH1 = PERIODH1;
  19   1              TL1 = PERIODL1;
  20   1      
  21   1              SCON  = 0x50;   //SERIAL 1, RECE ENABLE
  22   1              ES = 1;                 //ENABLE UART INT
  23   1              PS = 0;                 //PRIORITY
  24   1              //--------------
  25   1              chRece_Over  = 0;
  26   1              nBlock_Count = 1;
  27   1              chBlock_Over = 0;
  28   1              chBlock_Start= 0;
  29   1              rUARTRece.chLen = 0;
  30   1              //----------
  31   1              TR1 = 1;
  32   1              EA  = 1;
  33   1      
  34   1              vSoftTimer_Run(UART_NAK, UART_NAK_TIME, vUART_TimeOut_Nak);                     //没有应答, 重复发送
  35   1      }
  36          /*******************************************************************************
  37          程序名:        vUART_Int
  38          说  明:        UART中断服务程序,将接收到的数据保存到滚筒中
  39          ********************************************************************************/
  40          void vUART_Int (void) interrupt SIO_VECTOR using 1
  41          {
  42   1              unsigned char chTemp;
  43   1              if(RI)
  44   1              {
  45   2                      chTemp = SBUF;
  46   2                      ///////////////////////////////////////////////////////////////////////////
  47   2                      switch(rUARTRece.chLen)
  48   2                      {
  49   3                              case 0:
  50   3                                              if(chTemp == 0x01)                      //一条数据开始
  51   3                                                      chBlock_Start = 0x01;
  52   3                                              else if(chTemp == 0x04)         //文件发送结束
  53   3                                                      chRece_Over   = 0x01;
  54   3                                              break;  
C51 COMPILER V7.50   GPSDIV                                                                06/22/2006 09:45:45 PAGE 2   

  55   3                              case 131:       
  56   3                                              rUARTRece.chBuff[rUARTRece.chLen-1] = chTemp;
  57   3                                              rUARTRece.chLen = 0x00;
  58   3                                              chBlock_Over  = 0x01;
  59   3                                              chBlock_Start = 0x00;
  60   3                                              break;
  61   3                              default:        rUARTRece.chBuff[rUARTRece.chLen-1] = chTemp;
  62   3                      }
  63   2                      if(chBlock_Start)
  64   2                              rUARTRece.chLen++;
  65   2                      RI = 0;
  66   2              }       
  67   1              if(TI)
  68   1              {  
  69   2                      send_byte_over=1;
  70   2                      TI=0;   
  71   2              }
  72   1      }
  73          /*******************************************************************************
  74          chGPS_SendChar
  75          说  明:从GPS滚筒中取出一个字符
  76          ********************************************************************************/
  77          void vGPS_SendChar(unsigned char chTemp)
  78          {
  79   1              send_byte_over = 0;
  80   1              
  81   1              SBUF = chTemp;
  82   1      
  83   1              while(!send_byte_over)  ;               //如果没有发送完毕,等
  84   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    214    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    207    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -