?? spi.lst
字號:
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 + -