OV7670/OV7171 CAMERACHIPTM圖像傳感器,體積小、工作電壓低,提供單片 VGA攝像頭和影像處理器的所有功能。通過 SCCB總線控制,可以輸出整幀、子采樣、取窗口等方式的各種分辨率 8位影響數(shù)據(jù)。該產(chǎn)品VGA圖像最高達到30幀/秒。用戶可以完全控制圖像質(zhì)量、數(shù)據(jù)格式和傳輸方式。所有圖像處理功能過程包括伽瑪曲線、白平衡、飽和度、色度等都可以通過 SCCB接口編程。OmmiVision圖像傳感器應用獨有的傳感器技術,通過減少或消除光學或電子缺陷如固定圖案噪聲、托尾、浮散等,提高圖像質(zhì)量,得到清晰的穩(wěn)定的彩色圖像。
OV7670引腳圖:
0.png (39.29 KB, 下載次數(shù): 79)
下載附件
2017-8-4 21:25 上傳
功能
● 高靈敏度適合低照度應用
● 低電壓適合嵌入式應用
● 標準的SCCB接口,兼容I2
C接口
● RawRGB,RGB(GRB4:2:2,RGB565/555/444),YUV
(4:2:2)和YCbCr(4:2:2)輸出格式
● 支持VGA,CIF,和從CIF到40x30的各種尺寸
● VarioPixel 子采樣方式
● 自動影響控制功能包括:自動曝光控制、自
動增益控制、自動白平衡,自動消除燈光條
紋、自動黑電平校準.圖像質(zhì)量控制包括色飽
和度、色相、伽瑪、銳度和ANTI_BLOOM
● ISP具有消除噪聲和壞點補償功能
● 支持閃光燈:LED燈和氙燈
● 支持圖像縮放
● 鏡頭失光補償
● 50/60Hz自動檢測
● 飽和度自動調(diào)節(jié)(UV調(diào)整)
● 邊緣增強自動調(diào)節(jié)
● 降噪自動調(diào)節(jié)
OV7670中文數(shù)據(jù)手冊:
0.png (191.47 KB, 下載次數(shù): 54)
下載附件
2017-8-4 21:26 上傳
OV7670管腳功能介紹:
0.png (88.58 KB, 下載次數(shù): 68)
下載附件
2017-8-4 21:27 上傳
0.png (57.02 KB, 下載次數(shù): 56)
下載附件
2017-8-4 21:22 上傳
STM32源程序:
- #include "main.h"
- static volatile ErrorStatus HSEStartUpStatus = SUCCESS;
- static vu32 TimingDelay = 0;
- static vu32 SELStatus = 0;
- extern unsigned int a, Vsync,c_data;
- unsigned int kkk=0,s=0;
- unsigned int M=0,N=0;
- /*******************************************************************************
- * Function Name : main
- * Description : Main program.
- * Input : None
- * Output : None
- * Return : None
- *******************************************************************************/
- #define SI_BIT GPIO_Pin_0 //
- #define SI_H() GPIOA->BSRR =SI_BIT
- #define SI_L() GPIOA->BRR =SI_BIT
- #define SCK_BIT GPIO_Pin_1 //
- #define SCK_H() GPIOA->BSRR =SCK_BIT
- #define SCK_L() GPIOA->BRR =SCK_BIT
- void G_GPIO_Config(void)
- {
-
- GPIO_InitTypeDef GPIO_InitStructure;
- /* Enable GPIOA clock */
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
- GPIO_InitStructure.GPIO_Pin =SI_BIT |SCK_BIT ;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOA, &GPIO_InitStructure);
- SCK_L();
- SI_L();
- }int main(void)
- {
- unsigned char p0[]={1+'0',2+'0',3+'0',4+'0',0x00};
-
-
- #ifdef DEBUG
- debug();
- #endif
- unsigned int kv=0;
- /* Intialize the STM32 SYSTEM_Init */
- SYSTEM_Init();
- //G_GPIO_Config();
- Delay(1); /* delay 1 ms */
- LCD_write_english_string(5,66+16,p0,0Xf800,0X0000);
- LCD_write_english_string(5,66+16,"CMOS Sensor Init.....",0Xf800,0X0000);
- LCD_write_english_string(5,66,"GUANFU_WANG 2011-0415",0X001f,0X0000);
- /**/
- /* while(1)
- {
-
- SI_H();
- Delay(3);
-
- SCK_H();
- Delay(3);
- SI_L();//Delay(1);
- Delay(3);
- SCK_L();
- Delay(3);
-
- for(kv=0;kv<128;kv++)
- {
-
- SCK_H();
- Delay(10);
- SCK_L();
- Delay(10);
- }
- // Delay(1);
- }
-
-
- */
-
- /////////////////////////////////////
-
-
-
- FIFO_Set_GPIO_Config();
- FIFO_GPIO_INPUT();
- FIFO_CS_L();
- FIFO_WE_H();
- while(1!=Sensor_init()){}//初始化CMOS Sensor
- LCD_write_english_string(5,66+16,"CMOS Sensor Init...ok",0Xf800,0X0000);
- Vsync=0;
- ////////////////////////////////////////
- FIFO_RRST_L();
- FIFO_RD_L();
- FIFO_RD_H();
- FIFO_RD_L();
- FIFO_RRST_H();
- FIFO_RD_H();
- Delay(50);
- ////////////////////////////////////////
- while(1)
- {
- if(Vsync==2)
- {
- LCD_WriteReg(0x0020,239);//GRAM水平起始位置
- LCD_WriteReg(0x0021,319);
- LCD_WriteReg(0x0050,0x00);//水平 GRAM起始位置
- LCD_WriteReg(0x0051,239);//水平GRAM終止位置
- LCD_WriteReg(0x0052,0x00);//垂直GRAM起始位置
- LCD_WriteReg(0x0053,319);//垂直GRAM終止位置
- LCD_WriteReg(0x0003,0x1008);
- LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */
- FIFO_RRST_L();
- FIFO_RD_L();
- FIFO_RD_H();
- FIFO_RD_L();
- FIFO_RRST_H();
- FIFO_RD_H();
-
- for(a=0;a<9600;a++)
- {
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data=GPIOB->IDR&0xff00;//讀高位
- FIFO_RD_H();
- asm("NOP");asm("NOP");
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data|=(GPIOB->IDR>>8)&0x00ff;//讀低位
- FIFO_RD_H();
- // LCD_WriteRAM(c_data);//寫RGB數(shù)據(jù)到TFT GRAM
- LCD_RAM=c_data;
-
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data=GPIOB->IDR&0xff00;//讀高位
- FIFO_RD_H();
- asm("NOP");asm("NOP");
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data|=(GPIOB->IDR>>8)&0x00ff;//讀低位
- FIFO_RD_H();
- // LCD_WriteRAM(c_data);//寫RGB數(shù)據(jù)到TFT GRAM
- LCD_RAM=c_data;
-
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data=GPIOB->IDR&0xff00;//讀高位
- FIFO_RD_H();
- asm("NOP");asm("NOP");
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data|=(GPIOB->IDR>>8)&0x00ff;//讀低位
- FIFO_RD_H();
- // LCD_WriteRAM(c_data);//寫RGB數(shù)據(jù)到TFT GRAM
- LCD_RAM=c_data;
-
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data=GPIOB->IDR&0xff00;//讀高位
- FIFO_RD_H();
- asm("NOP");asm("NOP");
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data|=(GPIOB->IDR>>8)&0x00ff;//讀低位
- FIFO_RD_H();
- // LCD_WriteRAM(c_data);//寫RGB數(shù)據(jù)到TFT GRAM
- LCD_RAM=c_data;
-
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data=GPIOB->IDR&0xff00;//讀高位
- FIFO_RD_H();
- asm("NOP");asm("NOP");
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data|=(GPIOB->IDR>>8)&0x00ff;//讀低位
- FIFO_RD_H();
- // LCD_WriteRAM(c_data);//寫RGB數(shù)據(jù)到TFT GRAM
- LCD_RAM=c_data;
-
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data=GPIOB->IDR&0xff00;//讀高位
- FIFO_RD_H();
- asm("NOP");asm("NOP");
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data|=(GPIOB->IDR>>8)&0x00ff;//讀低位
- FIFO_RD_H();
- // LCD_WriteRAM(c_data);//寫RGB數(shù)據(jù)到TFT GRAM
- LCD_RAM=c_data;
-
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data=GPIOB->IDR&0xff00;//讀高位
- FIFO_RD_H();
- asm("NOP");asm("NOP");
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data|=(GPIOB->IDR>>8)&0x00ff;//讀低位
- FIFO_RD_H();
- // LCD_WriteRAM(c_data);//寫RGB數(shù)據(jù)到TFT GRAM
- LCD_RAM=c_data;
-
- FIFO_RD_L(); ;
- asm("NOP");asm("NOP");
- c_data=GPIOB->IDR&0xff00;//讀高位
- FIFO_RD_H();
- asm("NOP");asm("NOP");
- FIFO_RD_L();
- asm("NOP");asm("NOP");
- c_data|=(GPIOB->IDR>>8)&0x00ff;//讀低位
- FIFO_RD_H();
- // LCD_WriteRAM(c_data);//寫RGB數(shù)據(jù)到TFT GRAM
- LCD_RAM=c_data;
-
- }
- Vsync=0;
- }
- }}
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼 全部資料下載地址:
CF7670C-V3 STM32F103驅(qū)動-彩色采集 LCD顯示 資料.rar
(2.99 MB, 下載次數(shù): 47)
2017-8-4 13:19 上傳
點擊文件名下載附件
ov7670 下載積分: 黑幣 -5
|