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

📄 main.lst

📁 51单片机众多优秀的开发源程序:ZLG7290例程*ZLG7290汇编例程*蜂鸣器音乐例程*蜂鸣器响例程*读EEPROM并显示例程*16×2LCD模块例程*128×64点阵LCD模块例程*直连KEY和
💻 LST
📖 第 1 页 / 共 2 页
字号:
 183   3                              l_sys_mode=MODE0;
 184   3                              l_flg_recgood=0;
 185   3                              TR1=0;
 186   3                      }
 187   2                      if((RTCCON&0x80)==0x80)
 188   2                      {
 189   3                              RTCCON&=0x63;
 190   3                              if(time==l_ledsep)
 191   3                                      {
 192   4                                              l_flg_timeok=1;
 193   4                                              time=0;
 194   4                                      }
 195   3                              else
 196   3                                      time++;
 197   3                              sleep_cout++;
 198   3                              if(sleep_cout==2000)
 199   3                              {
 200   4                                      P0=0XFF;
 201   4                                      PCON=PCON|0X03;
 202   4                              }
 203   3                      }
 204   2                      if((l_flg_timeok==1)&&(led_all_light==1))
 205   2                      {
 206   3                              switch(l_ledsta&0x03)
 207   3                              {
 208   4                                      case 2 :
 209   4                                              if(flash!=0)
 210   4                                                      flash=flash<<1;
 211   4                                              else
 212   4                                                      flash=0x01;
 213   4                                              break;
 214   4                                      case 3 :
 215   4                                              if(flash!=0)
 216   4                                                      flash=flash>>1;
 217   4                                              else
 218   4                                                      flash=0x80;
 219   4                                              break;
 220   4                                      default : 
 221   4                                              break;
 222   4                              }
 223   3                              l_flg_timeok=0;
 224   3                              P0=flash^0xff;
 225   3                      }
 226   2              }
 227   1      }
 228          void delay()
 229          {
 230   1      unsigned char i,j;
 231   1      for(i=0;i<110;i++)
 232   1      for(j=0;j<110;j++);
 233   1      
 234   1      }
 235          void delayNS(unsigned int k)
 236          {
 237   1      unsigned char i,j;
 238   1      for(;k>0;k--)
 239   1      for(i=0;i<110;i++)
 240   1      for(j=0;j<110;j++);
 241   1      
C51 COMPILER V7.01  MAIN                                                                   08/01/2003 09:48:13 PAGE 5   

 242   1      }
 243          uint8 checksum8(uint8 *chk8,uint8 num)
 244          {
 245   1      uint8 temp=0;
 246   1              for( ;num>0;num--)
 247   1              {
 248   2                      temp=temp+*chk8;
 249   2                      if(temp<*chk8)
 250   2                              temp++;
 251   2                      chk8++;
 252   2              }
 253   1              return(0xff-temp);      
 254   1      }
 255          bit l_rce_data(void)
 256          {
 257   1      uint8 ii;
 258   1              TH0=0;
 259   1              TL0=0;//可以增加选项
 260   1              TR0=1;
 261   1              while(RI==0&&TF0==0);
 262   1              TR0=0;
 263   1              if(TF0==0)
 264   1              {
 265   2                      RI=0;
 266   2                      l_rec_data[1]=SBUF;
 267   2                      for(ii=2;ii<=3;ii++)
 268   2                      {       
 269   3                              TH0=0;
 270   3                              TR0=1;
 271   3                              while(RI==0&&TF0==0);
 272   3                              TR0=0;
 273   3                              if(TF0==0)
 274   3                              {
 275   4                                      RI=0;
 276   4                                      l_rec_data[ii]=SBUF;
 277   4                              }
 278   3                              else
 279   3                              {
 280   4                                      TF0=0;
 281   4                                      break;
 282   4                              }       
 283   3                      }
 284   2                      if(l_rec_data[3]==checksum8(&l_rec_data[1],2))
 285   2                      {
 286   3                              l_rec_data[3]=0;//清除校验和
 287   3                              return 1;
 288   3                      }
 289   2                      l_rec_data[3]=0;//清除校验和
 290   2                      return 0;       
 291   2              }
 292   1              else
 293   1              {
 294   2                      TF0=0;
 295   2                      return(0);
 296   2              }
 297   1      }
 298          void l_send_back(uint8 * data_ptr,uint8 num)
 299          {
 300   1      uint8 temp;
 301   1              EX1=0;
 302   1              SCON=0X40;
 303   1              for(temp=0;temp<num;temp++)
C51 COMPILER V7.01  MAIN                                                                   08/01/2003 09:48:13 PAGE 6   

 304   1              {
 305   2                      SBUF=*data_ptr;
 306   2                      while(TI==0);
 307   2                      TI=0;
 308   2                      data_ptr++;
 309   2              }
 310   1              data_ptr=data_ptr-num;
 311   1              SBUF=checksum8(data_ptr,num);
 312   1              while(TI==0);
 313   1              TI=0;
 314   1              SCON=0X50;
 315   1              IE1=0;
 316   1              EX1=1;
 317   1      }
 318          void l_cmd_handle()
 319          {
 320   1              if(l_rec_data[1]==5)
 321   1              {
 322   2                      l_rec_data[1]++;
 323   2                      l_send_back(&l_rec_data[1],2);
 324   2              }
 325   1              else 
 326   1              {
 327   2                      l_ledsta=l_rec_data[1];
 328   2                      l_ledsep=l_rec_data[2]&0x0f;
 329   2                      if(l_ledsep==0)
 330   2                      {
 331   3                              led_all_light=0;
 332   3                              P0=0;
 333   3                      }
 334   2                      else
 335   2                              led_all_light=1;
 336   2                      flash=0;
 337   2                      time=0;
 338   2              }
 339   1              //l_rec_data[0]=0;
 340   1      }
 341          void l_sta_handle()
 342          {
 343   1              l_rec_data[1]=l_ledsta;
 344   1              l_rec_data[2]=l_ledsep;
 345   1              l_send_back(&l_rec_data[1],2);
 346   1      }
 347          void l_rtc_init()
 348          {
 349   1      
 350   1      RTCH=0x3;
 351   1      RTCL=0Xff;
 352   1      RTCCON=0X63;//??
 353   1      PWDRT=0;
 354   1      //EWDRT=1;
 355   1      }
 356          
 357          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    777    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     17       2
C51 COMPILER V7.01  MAIN                                                                   08/01/2003 09:48:13 PAGE 7   

   IDATA SIZE       =   ----    ----
   BIT SIZE         =      3    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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