📄 c8051f330_camera.lst
字号:
543 1 WrCmos7670(0xa9, 0x90);
544 1 WrCmos7670(0xaa, 0x94);
545 1 WrCmos7670(0x13, 0xe5);
546 1
547 1 WrCmos7670(0x0e, 0x61);
548 1 WrCmos7670(0x0f, 0x4b);
549 1 WrCmos7670(0x16, 0x02);
550 1 WrCmos7670(0x1e, 0x27);
551 1 WrCmos7670(0x21, 0x02);
552 1 WrCmos7670(0x22, 0x91);
553 1 WrCmos7670(0x29, 0x07);
554 1 WrCmos7670(0x33, 0x0b);
555 1 WrCmos7670(0x35, 0x0b);
556 1 WrCmos7670(0x37, 0x1d);
557 1 WrCmos7670(0x38, 0x71);
558 1 WrCmos7670(0x39, 0x2a);
559 1 WrCmos7670(0x3c, 0x78);
560 1 WrCmos7670(0x4d, 0x40);
561 1 WrCmos7670(0x4e, 0x20);
562 1 WrCmos7670(0x69, 0x00);
563 1 WrCmos7670(0x6b, 0x60);
564 1 WrCmos7670(0x74, 0x19);
565 1 WrCmos7670(0x8d, 0x4f);
566 1 WrCmos7670(0x8e, 0x00);
567 1 WrCmos7670(0x8f, 0x00);
568 1 WrCmos7670(0x90, 0x00);
569 1 WrCmos7670(0x91, 0x00);
570 1 WrCmos7670(0x92, 0x00);
571 1 WrCmos7670(0x96, 0x00);
572 1 WrCmos7670(0x9a, 0x80);
573 1 WrCmos7670(0xb0, 0x84);
574 1 WrCmos7670(0xb1, 0x0c);
575 1 WrCmos7670(0xb2, 0x0e);
576 1 WrCmos7670(0xb3, 0x82);
577 1 WrCmos7670(0xb8, 0x0a);
578 1
579 1
580 1
581 1 WrCmos7670(0x43, 0x14);
582 1 WrCmos7670(0x44, 0xf0);
583 1 WrCmos7670(0x45, 0x34);
584 1 WrCmos7670(0x46, 0x58);
585 1 WrCmos7670(0x47, 0x28);
586 1 WrCmos7670(0x48, 0x3a);
587 1 WrCmos7670(0x59, 0x88);
588 1 WrCmos7670(0x5a, 0x88);
589 1 WrCmos7670(0x5b, 0x44);
590 1 WrCmos7670(0x5c, 0x67);
591 1 WrCmos7670(0x5d, 0x49);
592 1 WrCmos7670(0x5e, 0x0e);
593 1 WrCmos7670(0x64, 0x04);
594 1 WrCmos7670(0x65, 0x20);
595 1 WrCmos7670(0x66, 0x05);
596 1 WrCmos7670(0x94, 0x04);
597 1 WrCmos7670(0x95, 0x08);
598 1 WrCmos7670(0x6c, 0x0a);
C51 COMPILER V9.00 C8051F330_CAMERA 09/22/2012 14:17:10 PAGE 11
599 1 WrCmos7670(0x6d, 0x55);
600 1 WrCmos7670(0x6e, 0x11);
601 1 WrCmos7670(0x6f, 0x9f);
602 1 WrCmos7670(0x6a, 0x40);
603 1 WrCmos7670(0x01, 0x40);
604 1 WrCmos7670(0x02, 0x40);
605 1 WrCmos7670(0x13, 0xe7);
606 1 WrCmos7670(0x15, 0x00);
607 1
608 1
609 1 WrCmos7670(0x4f, 0x80);
610 1 WrCmos7670(0x50, 0x80);
611 1 WrCmos7670(0x51, 0x00);
612 1 WrCmos7670(0x52, 0x22);
613 1 WrCmos7670(0x53, 0x5e);
614 1 WrCmos7670(0x54, 0x80);
615 1 WrCmos7670(0x58, 0x9e);
616 1
617 1 WrCmos7670(0x41, 0x08);
618 1 WrCmos7670(0x3f, 0x00);
619 1 WrCmos7670(0x75, 0x05);
620 1 WrCmos7670(0x76, 0xe1);
621 1 WrCmos7670(0x4c, 0x00);
622 1 WrCmos7670(0x77, 0x01);
623 1 WrCmos7670(0x3d, 0xc2);
624 1 WrCmos7670(0x4b, 0x09);
625 1 WrCmos7670(0xc9, 0x60);
626 1 WrCmos7670(0x41, 0x38);
627 1 WrCmos7670(0x56, 0x40);
628 1
629 1 WrCmos7670(0x34, 0x11);
630 1 WrCmos7670(0x3b, 0x02);
631 1
632 1 WrCmos7670(0xa4, 0x89);
633 1 WrCmos7670(0x96, 0x00);
634 1 WrCmos7670(0x97, 0x30);
635 1 WrCmos7670(0x98, 0x20);
636 1 WrCmos7670(0x99, 0x30);
637 1 WrCmos7670(0x9a, 0x84);
638 1 WrCmos7670(0x9b, 0x29);
639 1 WrCmos7670(0x9c, 0x03);
640 1 WrCmos7670(0x9d, 0x4c);
641 1 WrCmos7670(0x9e, 0x3f);
642 1 WrCmos7670(0x78, 0x04);
643 1
644 1 }
645
646
647
648 unsigned char WrCmos7670(unsigned char regID, unsigned char regDat)
649 {
650 1 StartI2C();
651 1 if(0==I2CWrite(0x42))
652 1 {
653 2 StopI2C();
654 2 return(0);
655 2 }
656 1 delay_us(100);
657 1 if(0==I2CWrite(regID))
658 1 {
659 2 StopI2C();
660 2 return(0);
C51 COMPILER V9.00 C8051F330_CAMERA 09/22/2012 14:17:10 PAGE 12
661 2 }
662 1 delay_us(100);
663 1 if(0==I2CWrite(regDat))
664 1 {
665 2 StopI2C();
666 2 return(0);
667 2 }
668 1 StopI2C();
669 1 flag++;
670 1
671 1 return(1);
672 1 }
673
674
675
676 unsigned char Cmos7670_init(void)
677 {
678 1 unsigned char mmm;
679 1 unsigned int i=0;
680 1
681 1 InitI2C();
682 1
683 1 mmm=0x80;
684 1 if(0==WrCmos7670(0x12, mmm))
685 1 {
686 2 return 0 ;
687 2 }
688 1 delay_ms(10);
689 1
690 1 set_Cmos7670reg();
691 1 if(flag!=164)
692 1 return 0;
693 1
694 1 return 1;
695 1 }
696
697
698 void InitI2C(void)
699 {
700 1
701 1 P1MDIN = 0XFF;
702 1 P1MDOUT= 0XFF;
703 1
704 1 }
705
706 void StartI2C(void)
707 {
708 1 I2C_SDA=1;
709 1 delay_us(100);
710 1
711 1 I2C_SCL=1;
712 1 delay_us(100);
713 1
714 1 I2C_SDA=0;
715 1 delay_us(100);
716 1
717 1 I2C_SCL=0;
718 1 delay_us(100);
719 1
720 1
721 1 }
722
C51 COMPILER V9.00 C8051F330_CAMERA 09/22/2012 14:17:10 PAGE 13
723 void StopI2C(void)
724 {
725 1 I2C_SDA=0;
726 1 delay_us(100);
727 1
728 1 I2C_SCL=1;
729 1 delay_us(100);
730 1
731 1 I2C_SDA=1;
732 1 delay_us(100);
733 1
734 1
735 1 }
736
737
738 /*void NoAck(void)
739 {
740
741 I2C_SDA=1;
742 delay_us(100);
743
744 I2C_SCL=1;
745 delay_us(100);
746
747 I2C_SCL=0;
748 delay_us(100);
749
750 I2C_SDA=0;
751 delay_us(100);
752
753 } */
754
755
756 unsigned char I2CWrite(unsigned char DData)
757 {
758 1 unsigned char j,tem;
759 1
760 1 for(j=0;j<8;j++)
761 1 {
762 2 if((DData<<j)&0x80)
763 2 {
764 3 I2C_SDA=1;
765 3 }
766 2 else
767 2 {
768 3 I2C_SDA=0;
769 3 }
770 2 delay_us(100);
771 2 I2C_SCL=1;
772 2 delay_us(100);
773 2 I2C_SCL=0;;
774 2 delay_us(100);
775 2
776 2 }
777 1 delay_us(100);
778 1
779 1 SDA_IN();
780 1 delay_us(100);
781 1 I2C_SCL=1;
782 1 delay_us(1000);
783 1 if(SDA_STATE==1)
784 1 {
C51 COMPILER V9.00 C8051F330_CAMERA 09/22/2012 14:17:10 PAGE 14
785 2 tem=0;
786 2 }
787 1 else
788 1 {
789 2 tem=1;
790 2 }
791 1 I2C_SCL=0;
792 1 delay_us(100);
793 1 SDA_OUT();
794 1
795 1 return(tem);
796 1 }
797
798
799 void delay_us(unsigned int time)
800 {
801 1 while (time--);
802 1 }
803
804 /* 毫秒级延时函数 */
805 void delay_ms(unsigned int time)
806 {
807 1 while(time--) delay_us(100);
808 1 }
809
*** WARNING C316 IN LINE 809 OF source\c8051f330_camera.c: unterminated conditionals
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2788 ----
CONSTANT SIZE = 1610 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 44
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -