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

📄 main.lst

📁 单片机控制的12864液晶显示器的驱动程序,通过按键控制
💻 LST
📖 第 1 页 / 共 3 页
字号:
 162          {
 163   1                      TF0 = 0;
 164   1                      if (IsKeyDown == NO_KEY_DOWN)
 165   1                      {               
 166   2                                      if(AutoKeyTime < KEY_AUTOUPDATE_TIME)   AutoKeyTime++;
 167   2                                      if(ResetLedBackTime < RESET_LEDBACK_TIME) ResetLedBackTime++;
 168   2                                      else    ResetLEDBackLight(); //Reset LEDBackLight
 169   2                      }               
 170   1              if ( IsKeyDown == KEY_DOWN_TRIGGER)     //按键处于延时状态
 171   1              {
 172   2                      if (KeyDelayTime < KEY_DELAY ) KeyDelayTime++; //key down and delay time counting
 173   2                                      else
 174   2                                      {
 175   3                                      IsKeyDown = KEY_DOWN_DELAY_OVER;//set key delay time is over;trigger IsKeyDown
 176   3                                      SetLEDBackLight();              //LEDBack Light On
 177   3                                                      ResetLedBackTime = 0;
 178   3                                                      AutoKeyTime = 0;
C51 COMPILER V7.50   MAIN                                                                  08/20/2006 14:48:06 PAGE 4   

 179   3                                                      UpdataLEDTime = 0;
 180   3                                       }
 181   2      
 182   2                      }
 183   1              if ( IsKeyDown ==  KEY_PRO_COMPLETE_DELAY)      //key pro completed delay
 184   1              {
 185   2                      if ( KeyDelayTime < KEY_COMPLETE_DELAY ) KeyDelayTime++;
 186   2                      else
 187   2                      {
 188   3                                                      KeyDelayTime = 0;
 189   3                              IsKeyDown = NO_KEY_DOWN;
 190   3                      }
 191   2              }
 192   1                      TH0             = TIMER0_H;                                     //定时1ms
 193   1                      TL0             = TIMER0_L;
 194   1      }
 195                 
 196          
 197          void T1_INT(void) interrupt  3
 198          {               
 199   1                      TF1 = 0;
 200   1                      TH1             = TIMER1_H;                             //定时50ms
 201   1                      TL1             = TIMER1_L;     
 202   1                      if(CountTimeTime<TIMER1S)  
 203   1                      {
 204   2                              CountTimeTime ++;       
 205   2                              return;
 206   2                      }
 207   1                      CountTimeTime = 0;
 208   1                      IsSaveTime = 1;
 209   1                      ountTime++;
*** ERROR C202 IN LINE 209 OF MAIN.C: 'ountTime': undefined identifier
 210   1      
 211   1                      if(GuZhangState == GUZHANGDELAY)
 212   1                      {
 213   2                              if(GuZhangTime<GUZHANGDELAYTIME)
 214   2                                      GuZhangTime++;
 215   2                              else
 216   2                              {
 217   3                                      GuZhangState = GUZHANGDELAYOVER;
 218   3                                      GuZhangTime = 0;
 219   3                              }       
 220   2                      }
 221   1                      if(SerialTime <= SEARIALTIME)  SerialTime++;            //串口延时计数器        
 222   1      }
 223          
 224          
 225          void Receive_INT(void) interrupt  4     
 226          {
 227   1                      unsigned  char  datatemp;
 228   1                      RI = 0;
 229   1                      TI = 0;
 230   1                      datatemp = SBUF;
 231   1                      SerialTime = 0;
 232   1                      if( ReceiveState == STARTRECEIVE1 && datatemp == ADDRESSL ) //收第一个起始地址
 233   1                      {
 234   2                                      ReceiveState = STARTRECEIVE2;
 235   2                                      CheckSum =      CheckSum + datatemp;
 236   2                      }
 237   1                      else  if(ReceiveState == STARTRECEIVE2 && datatemp==ADDRESSH)   //收第二个起始地址
 238   1                  {
 239   2                                      ReceiveState = RECEIVING ;      
C51 COMPILER V7.50   MAIN                                                                  08/20/2006 14:48:06 PAGE 5   

 240   2                                      CheckSum =      CheckSum + datatemp;
 241   2                      }
 242   1                      
 243   1                  else  if(ReceiveState == RECEIVING)         //处于数据接收中 
 244   1                      {
 245   2                                      ReceivBuf[RealReceiveLen]=datatemp;
 246   2                                      RealReceiveLen++;
 247   2                                      CheckSum =      CheckSum + datatemp;            
 248   2                      }
 249   1                      if( RealReceiveLen >= BufferLen )                       //数据接收完成
 250   1                      {
 251   2                                      ReceiveState = ENDRECEIVE;
 252   2                      }
 253   1                                      
 254   1      }
 255          
 256          void ReadSerialBufData(unsigned int *Bufferptr,unsigned int *Structptr,unsigned char num)
 257          {
 258   1                      unsigned char i;
 259   1                      for(i=0;i<num;i++)
 260   1                              {
 261   2                                      *( Structptr+i) = *(Bufferptr+i);
 262   2                          }
 263   1      }
 264          
 265          void Serial_Init(void)
 266          {
 267   1              unsigned char i;
 268   1              ReceiveState = STARTRECEIVE1;
 269   1              RealReceiveLen = 0;
 270   1              CheckSum = 0;
 271   1              for(i=0;i<14;i++)
 272   1              {
 273   2                      *(&Incomedata.InputUA+i)=0;
 274   2              }
 275   1      }
 276          
 277          //返回一个故障代码,从低位到高位的数字分别代表了从重要故障到不重要故障,1为发生故障
 278          unsigned char  GetGuZhangCode(void) 
 279          {
 280   1              unsigned long GuZhangCode;      //实际需要18位
 281   1              unsigned char temp;
 282   1              PageRead25045EEROM(SAVETIME_ADD,(unsigned char *)(&GuZhangShiJian));//取出故障时间
 283   1              WriteGuZhangPtr = ByteRead25045EEROM(SAVEWRITEGUZHANG_ADD);     //取出缓冲区当前可以存储的地址指针
 284   1              GuZhangNum = ByteRead25045EEROM(SAVEGUZHANGNUM_ADD);
 285   1              //分析故障
 286   1              if((Incomedata.ErrorCodeShuZi&0x08)!=0)  //IGBT A相短路
 287   1              {
 288   2                      GuZhangCode = (GuZhangCode&0x3FFFE)|0x01;
 289   2                      temp=ByteRead25045EEROM(SAVEGUZHANGCOUNT_ADD);
*** ERROR C202 IN LINE 289 OF MAIN.C: 'Ox05': undefined identifier
 290   2                      if(temp < 255)
 291   2                              ByteWrite25045EEROM(temp++,SAVEGUZHANGCOUNT_ADD);
*** ERROR C202 IN LINE 291 OF MAIN.C: 'Ox05': undefined identifier
 292   2                      SAVEWRITEERROR_ADD  += 8;
*** ERROR C202 IN LINE 292 OF MAIN.C: 'SAVEWRITEERROR_ADD': undefined identifier
 293   2              }
 294   1              if((Incomedata.ErrorCodeShuZi&0x10)!=0) //IGBT B相短路
 295   1              {
 296   2                      GuZhangCode = (GuZhangCode&0x3FFFD)|0x02;
 297   2                      temp=ByteRead25045EEROM(SAVEGUZHANGCOUNT_ADD+1);
*** ERROR C202 IN LINE 297 OF MAIN.C: 'Ox05': undefined identifier
C51 COMPILER V7.50   MAIN                                                                  08/20/2006 14:48:06 PAGE 6   

 298   2                      if(temp < 255)
 299   2                              ByteWrite25045EEROM(temp++,SAVEGUZHANGCOUNT_ADD+1);     
*** ERROR C202 IN LINE 299 OF MAIN.C: 'Ox05': undefined identifier
 300   2                      SAVEWRITEERROR_ADD  += 8;
*** ERROR C202 IN LINE 300 OF MAIN.C: 'SAVEWRITEERROR_ADD': undefined identifier
 301   2              } 
 302   1              if((Incomedata.ErrorCodeShuZi&0x20)!=0) //IGBT C相短路
 303   1              {
 304   2                      GuZhangCode = (GuZhangCode&0x3FFFB)|0x04;
 305   2                      temp=ByteRead25045EEROM(SAVEGUZHANGCOUNT_ADD+2);
*** ERROR C202 IN LINE 305 OF MAIN.C: 'Ox05': undefined identifier
 306   2                      if(temp < 255)
 307   2                              ByteWrite25045EEROM((temp++,SAVEGUZHANGCOUNT_ADD+2);
*** ERROR C202 IN LINE 307 OF MAIN.C: 'Ox05': undefined identifier
*** ERROR C141 IN LINE 307 OF MAIN.C: syntax error near ';'
 308   2                      SAVEWRITEERROR_ADD  += 8;
*** ERROR C202 IN LINE 308 OF MAIN.C: 'SAVEWRITEERROR_ADD': undefined identifier
 309   2              }
 310   1              if((Incomedata.ErrorCodeShuZi&0x40)!=0||(Incomedata.ErrorCodeMoNi&0x900)!=0)    //输出电压A相过压
 311   1              {
 312   2                      GuZhangCode = (GuZhangCode&0x3FFF7)|0x08;
 313   2                      temp=ByteRead25045EEROM(SAVEGUZHANGCOUNT_ADD+3);
*** ERROR C202 IN LINE 313 OF MAIN.C: 'Ox05': undefined identifier
 314   2                      if(temp < 255)
 315   2                              ByteWrite25045EEROM(temp++,SAVEGUZHANGCOUNT_ADD+3);     
*** ERROR C202 IN LINE 315 OF MAIN.C: 'Ox05': undefined identifier
 316   2                      SAVEWRITEERROR_ADD  += 8;
*** ERROR C202 IN LINE 316 OF MAIN.C: 'SAVEWRITEERROR_ADD': undefined identifier

⌨️ 快捷键说明

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