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

📄 spi.lst

📁 单片机C源程序souce
💻 LST
📖 第 1 页 / 共 2 页
字号:
 310   1      AD3=WSO;
 311   1      WSCK=1;
 312   1      WSCK=0;                 //Bit 2.
 313   1      AD2=WSO;
 314   1      WSCK=1;
 315   1      WSCK=0;                 //Bit 1.
 316   1      AD1=WSO;
 317   1      WSCK=1;
 318   1      WSCK=0;                 //Bit 0.
 319   1      AD0=WSO;
 320   1      WSCK=1;
 321   1      
 322   1      WCS=1;                  //Chip select disable.
 323   1      
 324   1      return(ACC);    //Return the data having read.
 325   1      }
 326          
 327          
 328          /*void WRITE(unsigned char CMD,unsigned char addr,unsigned char byte)//向选定的开始地址单元中写入数据
 329          {
 330          unsigned int j = 0x0600;//5ms
 331          //while(j!=0){j--;}
 332          WREN();
 333          
 334          ACC=CMD;                //Write instruction.
 335          
 336          WCS=0;                  //Chip select.
 337          
 338          WSCK=0;                 //Bit 7.
 339          WSI=AD7;
 340          WSCK=1;
 341          WSCK=0;                 //Bit 6.
 342          WSI=AD6;
 343          WSCK=1;
 344          WSCK=0;                 //Bit 5.
 345          WSI=AD5;
 346          WSCK=1;
 347          WSCK=0;                 //Bit 4.
 348          WSI=AD4;
 349          WSCK=1;
 350          WSCK=0;                 //Bit 3.
 351          WSI=AD3;
 352          WSCK=1;
 353          WSCK=0;                 //Bit 2.
 354          WSI=AD2;
 355          WSCK=1;
 356          WSCK=0;                 //Bit 1.
 357          WSI=AD1;
 358          WSCK=1;
 359          WSCK=0;                 //Bit 0.
 360          WSI=AD0;
 361          WSCK=1;
 362          
 363          ACC=addr;               //Write address.
 364          WSCK=0;                 //Bit 7.
 365          WSI=AD7;
C51 COMPILER V7.06   SPI                                                                   11/19/2006 10:57:51 PAGE 7   

 366          WSCK=1;
 367          WSCK=0;                 //Bit 6.
 368          WSI=AD6;
 369          WSCK=1;
 370          WSCK=0;                 //Bit 5.
 371          WSI=AD5;
 372          WSCK=1;
 373          WSCK=0;                 //Bit 4.
 374          WSI=AD4;
 375          WSCK=1;
 376          WSCK=0;                 //Bit 3.
 377          WSI=AD3;
 378          WSCK=1;
 379          WSCK=0;                 //Bit 2.
 380          WSI=AD2;
 381          WSCK=1;
 382          WSCK=0;                 //Bit 1.
 383          WSI=AD1;
 384          WSCK=1;
 385          WSCK=0;                 //Bit 0.
 386          WSI=AD0;
 387          WSCK=1;
 388          
 389          ACC= byte;      //Write 1st byte.
 390          WSCK=0;                 //Bit 7.
 391          WSI=AD7;
 392          WSCK=1;
 393          WSCK=0;                 //Bit 6.
 394          WSI=AD6;
 395          WSCK=1;
 396          WSCK=0;                 //Bit 5.
 397          WSI=AD5;
 398          WSCK=1;
 399          WSCK=0;                 //Bit 4.
 400          WSI=AD4;
 401          WSCK=1;
 402          WSCK=0;                 //Bit 3.
 403          WSI=AD3;
 404          WSCK=1;
 405          WSCK=0;                 //Bit 2.
 406          WSI=AD2;
 407          WSCK=1;
 408          WSCK=0;                 //Bit 1.
 409          WSI=AD1;
 410          WSCK=1;
 411          WSCK=0;                 //Bit 0.
 412          WSI=AD0;
 413          WSCK=1;
 414          
 415          WCS=1;          //Chip unselected.
 416          j = 0x0600;
 417          while(j!=0){wdt();j--;}
 418          }*/
 419          /*
 420          void ReadCont(unsigned char CMD,unsigned char addr,unsigned char NoBytes,unsigned char DataArray[],unsigne
             -d char ArrayStart)
 421          {
 422          unsigned char i;
 423          unsigned int j = 0x0200;
 424          while(j!=0){j--;}
 425          ACC = CMD;              //Read Instruction 0x03.
 426          WCS=0;                  //Chip select.
C51 COMPILER V7.06   SPI                                                                   11/19/2006 10:57:51 PAGE 8   

 427                                          //Send read Instruction (0x03).
 428          WSCK=0;                 //Bit 7.
 429          WSI=AD7;
 430          WSCK=1;
 431          WSCK=0;                 //Bit 6.
 432          WSI=AD6;
 433          WSCK=1;
 434          WSCK=0;                 //Bit 5.
 435          WSI=AD5;
 436          WSCK=1;
 437          WSCK=0;                 //Bit 4.
 438          WSI=AD4;
 439          WSCK=1;
 440          WSCK=0;                 //Bit 3.
 441          WSI=AD3;
 442          WSCK=1;
 443          WSCK=0;                 //Bit 2.
 444          WSI=AD2;
 445          WSCK=1;
 446          WSCK=0;                 //Bit 1.
 447          WSI=AD1;
 448          WSCK=1;
 449          WSCK=0;                 //Bit 0.
 450          WSI=AD0;
 451          WSCK=1;
 452          
 453          ACC=addr;
 454          WSCK=0;                 //Bit 7.
 455          WSI=AD7;
 456          WSCK=1;
 457          WSCK=0;                 //Bit 6.
 458          WSI=AD6;
 459          WSCK=1;
 460          WSCK=0;                 //Bit 5.
 461          WSI=AD5;
 462          WSCK=1;
 463          WSCK=0;                 //Bit 4.
 464          WSI=AD4;
 465          WSCK=1;
 466          WSCK=0;                 //Bit 3.
 467          WSI=AD3;
 468          WSCK=1;
 469          WSCK=0;                 //Bit 2.
 470          WSI=AD2;
 471          WSCK=1;
 472          WSCK=0;                 //Bit 1.
 473          WSI=AD1;
 474          WSCK=1;
 475          WSCK=0;                 //Bit 0.
 476          WSI=AD0;
 477          WSCK=1;
 478          
 479                                          //Read data from X5045.
 480          for (i=0;i<NoBytes;i++)
 481                  {       
 482                  WSCK=0;                 //Bit 7.
 483                  AD7=WSO;
 484                  WSCK=1;
 485                  WSCK=0;                 //Bit 6.
 486                  AD6=WSO;
 487                  WSCK=1;
 488                  WSCK=0;                 //Bit 5.
C51 COMPILER V7.06   SPI                                                                   11/19/2006 10:57:51 PAGE 9   

 489                  AD5=WSO;
 490                  WSCK=1;
 491                  WSCK=0;                 //Bit 4.
 492                  AD4=WSO;
 493                  WSCK=1;
 494                  WSCK=0;                 //Bit 3.
 495                  AD3=WSO;
 496                  WSCK=1;
 497                  WSCK=0;                 //Bit 2.
 498                  AD2=WSO;
 499                  WSCK=1;
 500                  WSCK=0;                 //Bit 1.
 501                  AD1=WSO;
 502                  WSCK=1;
 503                  WSCK=0;                 //Bit 0.
 504                  AD0=WSO;
 505                  WSCK=1;
 506                  DataArray[i+ArrayStart] = ACC;
 507                  }
 508          
 509          WCS=1;                  //Chip select disable.
 510          
 511          }*/
 512          
 513          void WriteCont(unsigned char CMD,unsigned char addr,unsigned char DataArray[],unsigned char offset)
 514          {
 515   1      unsigned char i;
 516   1      unsigned int j = 0x0600;//5ms
 517   1      //while(j!=0){j--;}
 518   1      //j = 0xffff;
 519   1      //while(j!=0){j--;}
 520   1      WREN();
 521   1      
 522   1      ACC=CMD;                //Write instruction.
 523   1      
 524   1      WCS=0;                  //Chip select.
 525   1      
 526   1      WSCK=0;                 //Bit 7.
 527   1      WSI=AD7;
 528   1      WSCK=1;
 529   1      WSCK=0;                 //Bit 6.
 530   1      WSI=AD6;
 531   1      WSCK=1;
 532   1      WSCK=0;                 //Bit 5.
 533   1      WSI=AD5;
 534   1      WSCK=1;
 535   1      WSCK=0;                 //Bit 4.
 536   1      WSI=AD4;
 537   1      WSCK=1;
 538   1      WSCK=0;                 //Bit 3.
 539   1      WSI=AD3;
 540   1      WSCK=1;
 541   1      WSCK=0;                 //Bit 2.
 542   1      WSI=AD2;
 543   1      WSCK=1;
 544   1      WSCK=0;                 //Bit 1.
 545   1      WSI=AD1;
 546   1      WSCK=1;
 547   1      WSCK=0;                 //Bit 0.
 548   1      WSI=AD0;
 549   1      WSCK=1;
 550   1      
C51 COMPILER V7.06   SPI                                                                   11/19/2006 10:57:51 PAGE 10  

 551   1      
 552   1      ACC=addr;               //Write address.
 553   1      WSCK=0;                 //Bit 7.
 554   1      WSI=AD7;
 555   1      WSCK=1;
 556   1      WSCK=0;                 //Bit 6.
 557   1      WSI=AD6;
 558   1      WSCK=1;
 559   1      WSCK=0;                 //Bit 5.
 560   1      WSI=AD5;
 561   1      WSCK=1;
 562   1      WSCK=0;                 //Bit 4.
 563   1      WSI=AD4;
 564   1      WSCK=1;
 565   1      WSCK=0;                 //Bit 3.
 566   1      WSI=AD3;
 567   1      WSCK=1;
 568   1      WSCK=0;                 //Bit 2.
 569   1      WSI=AD2;
 570   1      WSCK=1;
 571   1      WSCK=0;                 //Bit 1.
 572   1      WSI=AD1;
 573   1      WSCK=1;
 574   1      WSCK=0;                 //Bit 0.
 575   1      WSI=AD0;
 576   1      WSCK=1;
 577   1      
 578   1      
 579   1      for(i=0;i<16;i++)
 580   1              {
 581   2              ACC=DataArray[i+offset];        //Write 1st byte.
 582   2              WSCK=0;                 //Bit 7.
 583   2              WSI=AD7;
 584   2              WSCK=1;
 585   2              WSCK=0;                 //Bit 6.
 586   2              WSI=AD6;
 587   2              WSCK=1;
 588   2              WSCK=0;                 //Bit 5.
 589   2              WSI=AD5;
 590   2              WSCK=1;
 591   2              WSCK=0;                 //Bit 4.
 592   2              WSI=AD4;
 593   2              WSCK=1;
 594   2              WSCK=0;                 //Bit 3.
 595   2              WSI=AD3;
 596   2              WSCK=1;
 597   2              WSCK=0;                 //Bit 2.
 598   2              WSI=AD2;
 599   2              WSCK=1;
 600   2              WSCK=0;                 //Bit 1.
 601   2              WSI=AD1;
 602   2              WSCK=1;
 603   2              WSCK=0;                 //Bit 0.
 604   2              WSI=AD0;
 605   2              WSCK=1;
 606   2              }
 607   1      
 608   1      WCS=1;          //Chip unselected.
 609   1      j = 0x0600;
 610   1      while(j!=0){wdt();j--;}
 611   1      }

C51 COMPILER V7.06   SPI                                                                   11/19/2006 10:57:51 PAGE 11  


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