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

📄 at2402.lst

📁 24c02存储小时钟程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
 245   9                                                                       if(--eeprom_data[4]==0xff)
 246   9                                                                          eeprom_data[4]=0x00;
 247   9                                                                      }
 248   8                                                         else if((key_s&0x01)==0x00)
 249   8                                                              { 
 250   9                                                                        for(i=0;i<8;i++)
 251   9                                                                        write_byte(i, eeprom_data[i]);
 252   9                                                                        flash_bit=1;
 253   9                                                                        key_number=0x00;
 254   9                                                                      }
 255   8                                                        }
 256   7                                                 }
 257   6                                              }while(key_number==0x05);
 258   5                                              do
 259   5                                          {
 260   6                                               key_s=key_scan();
 261   6                                               if(key_s^key_v)
 262   6                                                 {
 263   7                                                  delay_1ms(10);
 264   7                                                      key_s=key_scan();
 265   7                                                       if(key_s^key_v)
 266   7                                                        {
 267   8                                                         key_v=key_s;
 268   8                                                         if((key_s&0x08)==0x00)
 269   8                                                           {
 270   9                                                                key_number=0x07;
 271   9                                                                flash_number_bit=0x07;
 272   9                                                               }
 273   8                                                         else if((key_s&0x04)==0x00)
 274   8                                                            {
 275   9                                                                 if(++eeprom_data[5]==0x0a)
 276   9                                                                    eeprom_data[5]=0x00;
 277   9                                                                }
 278   8                                                         else if((key_s&0x02)==0x00)
 279   8                                                              {
 280   9                                                                       if(--eeprom_data[5]==0xff)
 281   9                                                                          eeprom_data[5]=0x00;
 282   9                                                                      }
 283   8                                                         else if((key_s&0x01)==0x00)
 284   8                                                              { 
 285   9                                                                        for(i=0;i<8;i++)
 286   9                                                                        write_byte(i, eeprom_data[i]);
 287   9                                                                        flash_bit=1;
 288   9                                                                        key_number=0x00;
 289   9                                                                      }
 290   8                                                        }
 291   7                                                 }
 292   6                                              }while(key_number==0x06);
 293   5                                              do
 294   5                                          {
 295   6                                               key_s=key_scan();
 296   6                                               if(key_s^key_v)
 297   6                                                 {
 298   7                                                  delay_1ms(10);
 299   7                                                      key_s=key_scan();
 300   7                                                       if(key_s^key_v)
 301   7                                                        {
 302   8                                                         key_v=key_s;
 303   8                                                         if((key_s&0x08)==0x00)
C51 COMPILER V8.02   AT2402                                                                03/02/2009 16:30:29 PAGE 6   

 304   8                                                           {
 305   9                                                                key_number=0x07;
 306   9                                                                flash_number_bit=0x07;
 307   9                                                               }
 308   8                                                         else if((key_s&0x04)==0x00)
 309   8                                                            {
 310   9                                                                 if(++eeprom_data[5]==0x0a)
 311   9                                                                    eeprom_data[5]=0x00;
 312   9                                                                }
 313   8                                                         else if((key_s&0x02)==0x00)
 314   8                                                              {
 315   9                                                                       if(--eeprom_data[5]==0xff)
 316   9                                                                          eeprom_data[5]=0x00;
 317   9                                                                      }
 318   8                                                         else if((key_s&0x01)==0x00)
 319   8                                                              { 
 320   9                                                                        for(i=0;i<8;i++)
 321   9                                                                        write_byte(i, eeprom_data[i]);
 322   9                                                                        flash_bit=1;
 323   9                                                                        key_number=0x00;
 324   9                                                                      }
 325   8                                                        }
 326   7                                                 }
 327   6                                              }while(key_number==0x06);
 328   5                                              do
 329   5                                          {
 330   6                                               key_s=key_scan();
 331   6                                               if(key_s^key_v)
 332   6                                                 {
 333   7                                                  delay_1ms(10);
 334   7                                                      key_s=key_scan();
 335   7                                                       if(key_s^key_v)
 336   7                                                        {
 337   8                                                         key_v=key_s;
 338   8                                                         if((key_s&0x08)==0x00)
 339   8                                                           {
 340   9                                                                key_number=0x07;
 341   9                                                                flash_number_bit=0x07;
 342   9                                                               }
 343   8                                                         else if((key_s&0x04)==0x00)
 344   8                                                            {
 345   9                                                                 if(++eeprom_data[6]==0x0a)
 346   9                                                                    eeprom_data[6]=0x00;
 347   9                                                                }
 348   8                                                         else if((key_s&0x02)==0x00)
 349   8                                                              {
 350   9                                                                       if(--eeprom_data[6]==0xff)
 351   9                                                                          eeprom_data[6]=0x00;
 352   9                                                                      }
 353   8                                                         else if((key_s&0x01)==0x00)
 354   8                                                              { 
 355   9                                                                        for(i=0;i<8;i++)
 356   9                                                                        write_byte(i, eeprom_data[i]);
 357   9                                                                        flash_bit=1;
 358   9                                                                        key_number=0x00;
 359   9                                                                      }
 360   8                                                        }
 361   7                                                 }
 362   6                                              }while(key_number==0x06);
 363   5                                              do
 364   5                                          {
 365   6                                               key_s=key_scan();
C51 COMPILER V8.02   AT2402                                                                03/02/2009 16:30:29 PAGE 7   

 366   6                                               if(key_s^key_v)
 367   6                                                 {
 368   7                                                  delay_1ms(10);
 369   7                                                      key_s=key_scan();
 370   7                                                       if(key_s^key_v)
 371   7                                                        {
 372   8                                                         key_v=key_s;
 373   8                                                         if((key_s&0x08)==0x00)
 374   8                                                           {
 375   9                                                                key_number=0x08;
 376   9                                                                flash_number_bit=0x08;
 377   9                                                               }
 378   8                                                         else if((key_s&0x04)==0x00)
 379   8                                                            {
 380   9                                                                 if(++eeprom_data[6]==0x0a)
 381   9                                                                    eeprom_data[6]=0x00;
 382   9                                                                }
 383   8                                                         else if((key_s&0x02)==0x00)
 384   8                                                              {
 385   9                                                                       if(--eeprom_data[6]==0xff)
 386   9                                                                          eeprom_data[6]=0x00;
 387   9                                                                      }
 388   8                                                         else if((key_s&0x01)==0x00)
 389   8                                                              { 
 390   9                                                                        for(i=0;i<8;i++)
 391   9                                                                        write_byte(i, eeprom_data[i]);
 392   9                                                                        flash_bit=1;
 393   9                                                                        key_number=0x00;
 394   9                                                                      }
 395   8                                                        }
 396   7                                                 }
 397   6                                              }while(key_number==0x07);
 398   5                                              do
 399   5                                          {
 400   6                                               key_s=key_scan();
 401   6                                               if(key_s^key_v)
 402   6                                                 {
 403   7                                                  delay_1ms(10);
 404   7                                                      key_s=key_scan();
 405   7                                                       if(key_s^key_v)
 406   7                                                        {
 407   8                                                         key_v=key_s;
 408   8                                                         if((key_s&0x08)==0x00)
 409   8                                                           {
 410   9                                                                key_number=0x00;
 411   9                                                                flash_number_bit=0x00;
 412   9                                                               }
 413   8                                                         else if((key_s&0x04)==0x00)
 414   8                                                            {
 415   9                                                                 if(++eeprom_data[7]==0x0a)
 416   9                                                                    eeprom_data[7]=0x00;
 417   9                                                                }
 418   8                                                         else if((key_s&0x02)==0x00)
 419   8                                                              {
 420   9                                                                       if(--eeprom_data[7]==0xff)
 421   9                                                                          eeprom_data[7]=0x00;
 422   9                                                                      }
 423   8                                                         else if((key_s&0x01)==0x00)
 424   8                                                              {
 425   9                                                                        for(i=0;i<8;i++)
 426   9                                                                        write_byte(i,eeprom_data[i]);
 427   9                                                                        flash_bit=1;
C51 COMPILER V8.02   AT2402                                                                03/02/2009 16:30:29 PAGE 8   

 428   9                                                                        key_number=0x00;
 429   9                                                                      }
 430   8                                                        }
 431   7                                                 }
 432   6                                              }while(key_number==0x08);
 433   5                                              flash_bit=1;
 434   5                                       }
 435   4                              }
 436   3                      }
 437   2              }
 438   1      }
 439          
 440          void start()
 441          // 开始位
 442          {
 443   1              SDA = 1;
 444   1              SCL = 1;
 445   1              _nop_();
 446   1              _nop_();
 447   1              _nop_();
 448   1              _nop_();
 449   1              SDA = 0;
 450   1              _nop_();
 451   1              _nop_();
 452   1              _nop_();
 453   1              _nop_();
 454   1              SCL = 0;
 455   1      }
 456          
 457          void stop()
 458          // 停止位
 459          {
 460   1              SDA = 0;
 461   1              _nop_();
 462   1              _nop_();
 463   1              SCL = 1;
 464   1              _nop_();
 465   1              _nop_();
 466   1              _nop_();
 467   1              _nop_();
 468   1              SDA = 1;
 469   1      }
 470          
 471          unsigned char shin()
 472          // 从AT24Cxx移入数据到MCU
 473          {
 474   1              unsigned char i,read_data;
 475   1              for(i = 0; i < 8; i++)
 476   1              {
 477   2                      SCL = 1;
 478   2                      read_data <<= 1;
 479   2                      read_data |= (unsigned char)SDA;
 480   2                      SCL = 0;
 481   2              }
 482   1              return(read_data);
 483   1      }
 484          bit shout(unsigned char write_data)
 485          // 从MCU移出数据到AT24Cxx
 486          {
 487   1              unsigned char i;
 488   1              bit ack_bit;
 489   1              for(i = 0; i < 8; i++)          // 循环移入8个位
C51 COMPILER V8.02   AT2402                                                                03/02/2009 16:30:29 PAGE 9   

 490   1              {
 491   2                      SDA = (bit)(write_data & 0x80);
 492   2                      _nop_();
 493   2                      _nop_();
 494   2                      SCL = 1;
 495   2                      _nop_();
 496   2                      _nop_();
 497   2                      _nop_();

⌨️ 快捷键说明

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