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

📄 ddcjc.lst

📁 电动车测试平台控制系统。自动测量电动车各项参数
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   DDCJC                                                                 11/28/2006 20:24:32 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DDCJC
OBJECT MODULE PLACED IN DDCJC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DDCJC.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include "DDCJC.h"
   3          
   4          void Delay(uint time1, uint time2) 
   5          { 
   6   1               uint data i, j;
   7   1               for (i=0; i<time1; i++)
   8   1                    for (j=0; j<time2; j++);
   9   1               return;
  10   1      }
  11          
  12          void ClearAllData (void)
  13          {
  14   1               PulseCount = 0;
  15   1               DisPulse = 0;
  16   1               Distance = 0;
  17   1               PerTime = 0;
  18   1      
  19   1               KilDistance = 0;
  20   1               Distance = 0;
  21   1               uLength = 0;
  22   1      
  23   1               //Rev = 0;
  24   1               Rate = 0;
  25   1               OldRate = 0;
  26   1               Voltage = 0;
  27   1               Current = 0;
  28   1      
  29   1               MaxRate = 0;
  30   1               RateVoltage = 0;
  31   1               RateCurrent = 0;
  32   1               MinVoltage = 0;
  33   1               MaxCurrent = 0;
  34   1      
  35   1               StartTime = 0;
  36   1               DispPause = 0;
  37   1      
  38   1               bPause = FALSE;
  39   1               bPauseOver = FALSE;
  40   1      
  41   1               //Uindex = 0;
  42   1               
  43   1               bDistAlarm = FALSE;    //里程报警
  44   1           bRateAlarm = FALSE;    //速度报警
  45   1           bVoltAlarm = FALSE;    //电压报警
  46   1           bCurrAlarm = FALSE;    //电流报警
  47   1      
  48   1               bStartTime = FALSE;
  49   1               bStartFlag = FALSE;
  50   1      
  51   1               bSaved = FALSE; 
  52   1      }
  53          
  54          /*
  55          uchar BCDToBin (uchar uBCD)
C51 COMPILER V7.50   DDCJC                                                                 11/28/2006 20:24:32 PAGE 2   

  56          {
  57                   return ((uBCD & 0xF0) >> 4) * 10 + (uBCD & 0x0F);
  58          }
  59          
  60          uchar BinToBCD (uchar uBin)   
  61          {
  62                
  63                    return (((uBin/10)<<4) + (uBin%10));
  64          }
  65          */
  66          
  67          uchar GetYear (uchar uBCD)     //得到年份
  68          {
  69   1               return (uBCD & 0xC0) >> 6;
  70   1      }
  71          
  72          uchar GetDate (uchar uBCD)     //得到日期
  73          {
  74   1               return uBCD & 0x3F;
  75   1      }
  76          
  77          /*
  78          uchar GetWeekday (uchar uBCD)  //得到星期
  79          {
  80                   return (uBCD & 0xE0) >> 5;
  81          }
  82          */
  83          
  84          uchar GetMonth (uchar uBCD)    //得到月份   
  85          {
  86   1           return uBCD & 0x1F;
  87   1      }
  88          
  89          void ReadParam ()    //读各设置的参数
  90          {
  91   1               WordType idata Convert;
  92   1               Get8583Data (DIS_ALARM, UartBuf, 18);
  93   1               //里程
  94   1               Convert.b[0] = UartBuf[0];
  95   1               Convert.b[1] = UartBuf[1];
  96   1               OptDistance = Convert.w;
  97   1               OptKilDis = OptDistance / 100;
  98   1               OptDis = (OptDistance % 100) * 10;
  99   1               //车速
 100   1               Convert.b[0] = UartBuf[2];
 101   1               Convert.b[1] = UartBuf[3];
 102   1               OptRate = Convert.w;
 103   1               //电流
 104   1               Convert.b[0] = UartBuf[4];
 105   1               Convert.b[1] = UartBuf[5];
 106   1               OptCurrent = Convert.w;
 107   1               //电压
 108   1               Convert.b[0] = UartBuf[6];
 109   1               Convert.b[1] = UartBuf[7];
 110   1               OptVoltage = Convert.w;
 111   1               //轮子直径
 112   1               BikeIndex = UartBuf[8];
 113   1           GetBike (); 
 114   1               //N值
 115   1               Convert.b[0] = UartBuf[9];
 116   1               Convert.b[1] = UartBuf[10];
 117   1               NValue = Convert.w;
C51 COMPILER V7.50   DDCJC                                                                 11/28/2006 20:24:32 PAGE 3   

 118   1               //后轮直径
 119   1               Convert.b[0] = UartBuf[11];
 120   1               Convert.b[1] = UartBuf[12];
 121   1               Dia = Convert.w;
 122   1               //记录编号
 123   1               Convert.b[0] = UartBuf[13];
 124   1               Convert.b[1] = UartBuf[14];
 125   1               RecordIndex = Convert.w;
 126   1      
 127   1               //模式设置
 128   1               ModeIndex = UartBuf[15];
 129   1               CheckStatus = END_STATUS;
 130   1           
 131   1               //打印设置
 132   1               PrinterIndex = UartBuf[16];
 133   1               //电池容量
 134   1               Battery = UartBuf[17];
 135   1      }
 136          
 137          void DispMode()     //显示模式
 138          {
 139   1           switch (ModeIndex)
 140   1               {
 141   2               case 0:
 142   2                      DispBuf[8] = 0x07;
 143   2                              /*
 144   2                          START_LED = FALSE;
 145   2                              UNDER_LED = FALSE;         
 146   2                              OVER_LED = FALSE;
 147   2                      */
 148   2                              break;
 149   2               case 1:
 150   2                      DispBuf[8] = 0x05;
 151   2                              /*
 152   2                              START_LED = FALSE;
 153   2                          UNDER_LED = TRUE;      
 154   2                              OVER_LED = FALSE;       
 155   2                      */
 156   2                              break;
 157   2               case 2:
 158   2                      DispBuf[8] = 0x03;
 159   2                              /*      
 160   2                          START_LED = FALSE;
 161   2                              UNDER_LED = FALSE;       
 162   2                              OVER_LED = TRUE;
 163   2                      */
 164   2                              break;
 165   2               case 3:
 166   2                      DispBuf[8] = 0x01;
 167   2                              /*
 168   2                          START_LED = FALSE;
 169   2                              UNDER_LED = TRUE;  
 170   2                              OVER_LED = TRUE;
 171   2                      */
 172   2                              break;
 173   2               default:
 174   2                      DispBuf[8] = 0x00;
 175   2                              /*      
 176   2                          START_LED = TRUE;      //熄灯
 177   2                              UNDER_LED = TRUE;       
 178   2                              OVER_LED = TRUE;
 179   2                      */
C51 COMPILER V7.50   DDCJC                                                                 11/28/2006 20:24:32 PAGE 4   

 180   2                              break; 
 181   2               } 
 182   1      }
 183          
 184          void WriteParam ()  //写参数设置
 185          {
 186   1               WordType idata Convert;
 187   1               
 188   1               //里程
 189   1               Convert.w = OptDistance;
 190   1               UartBuf[0] = Convert.b[0];
 191   1               UartBuf[1] = Convert.b[1];
 192   1               
 193   1               //车速
 194   1               Convert.w = OptRate;
 195   1               UartBuf[2] = Convert.b[0];
 196   1               UartBuf[3] = Convert.b[1];
 197   1               
 198   1               //电流
 199   1               Convert.w = OptCurrent;
 200   1               UartBuf[4] = Convert.b[0];
 201   1               UartBuf[5] = Convert.b[1];
 202   1               
 203   1               //电压 
 204   1               Convert.w = OptVoltage;
 205   1               UartBuf[6] = Convert.b[0];
 206   1               UartBuf[7] = Convert.b[1];
 207   1              
 208   1               //轮子直径
 209   1               UartBuf[8] = BikeIndex;
 210   1      
 211   1               //N值    
 212   1               Convert.w = NValue;
 213   1               UartBuf[9] = Convert.b[0];
 214   1               UartBuf[10] = Convert.b[1];
 215   1      
 216   1               //滚筒直径  
 217   1               Convert.w = Dia;
 218   1               UartBuf[11] = Convert.b[0];
 219   1               UartBuf[12] = Convert.b[1];
 220   1               
 221   1               //记录编号             
 222   1               Convert.w = RecordIndex;
 223   1               UartBuf[13] = Convert.b[0];
 224   1               UartBuf[14] = Convert.b[1];
 225   1      
 226   1               //模式设置
 227   1               UartBuf[15] = ModeIndex;
 228   1               //打印设置
 229   1               UartBuf[16] = PrinterIndex;
 230   1               //电池容量
 231   1               UartBuf[17] = Battery;
 232   1      
 233   1               Set8583Data (DIS_ALARM, UartBuf, 18);
 234   1      }
 235          
 236          void SaveRecord ()
 237          {
 238   1           WordType idata Convert; 
 239   1               //记录编号             
 240   1               Convert.w = RecordIndex;
 241   1               UartBuf[0] = Convert.b[0];
C51 COMPILER V7.50   DDCJC                                                                 11/28/2006 20:24:32 PAGE 5   

 242   1               UartBuf[1] = Convert.b[1];   
 243   1               //车速
 244   1               Convert.w = Rate;
 245   1               UartBuf[2] = Convert.b[0];
 246   1               UartBuf[3] = Convert.b[1];
 247   1               //后轮转速
 248   1               //Convert.w = Rev;
 249   1               //UartBuf[4] = Convert.b[0];
 250   1               //UartBuf[5] = Convert.b[1];
 251   1               //电压
 252   1               Convert.w = Voltage;
 253   1               UartBuf[6] = Convert.b[0];
 254   1               UartBuf[7] = Convert.b[1];
 255   1               //电流
 256   1               Convert.w = Current;
 257   1               UartBuf[8] = Convert.b[0];
 258   1               UartBuf[9] = Convert.b[1];
 259   1               //里程
 260   1               Convert.w = KilDistance;
 261   1               UartBuf[10] = Convert.b[0];
 262   1               UartBuf[11] = Convert.b[1];
 263   1               Convert.w = Distance;
 264   1               UartBuf[12] = Convert.b[0];
 265   1               UartBuf[13] = Convert.b[1];
 266   1               //启动时间
 267   1               Convert.w = StartTime;
 268   1               UartBuf[14] = Convert.b[0];
 269   1               UartBuf[15] = Convert.b[1];
 270   1      
 271   1               //Set8583Data (RECORD, UartBuf, 16);
 272   1      }
 273          
 274          void GetBike ()    //轮子直径
 275          {
 276   1           switch (BikeIndex)
 277   1               {
 278   2           case 0:

⌨️ 快捷键说明

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