找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 18213|回復(fù): 17
打印 上一主題 下一主題
收起左側(cè)

STM32驅(qū)動ov7670模塊實現(xiàn)圖像拍攝和照相源碼 附大量資料教程

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:197082 發(fā)表于 2017-5-5 21:19 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
stm32驅(qū)動0v7670,實現(xiàn)圖像拍攝和照相


1,原理圖\
2,程序源碼\
3,OV7670學習資料\
OmniVision Technologies Seril Camera Control Bus(SCCB) Specification.pdf
OV7670 software application note.pdf
高通CAMIF和Ov_sensor_調(diào)試總結(jié).pdf
ALIENTEK攝像頭模塊使用_AN1406-mini板參考.pdf
OV7670使用說明和程序講解-參考戰(zhàn)艦板.pdf
OV7670使用說明和程序講解-參考精英板 .pdf



stm32源碼 說明:
本實驗將實現(xiàn)如下功能:開機后,初始化攝像頭模塊(OV7670),如果初始化成功,則在LCD模塊上面顯示攝像頭
模塊所拍攝到的內(nèi)容,實現(xiàn)攝像頭驅(qū)動。通過串口,我們可以查看當前的幀率(這里是指LCD顯示的幀率,而不是
指OV7670的輸出幀率),同時可以借助USMART設(shè)置OV7670的寄存器,方便大家調(diào)試。DS0指示程序運行狀態(tài)。

注意:
1,ALIENTEK MiniSTM32開發(fā)板與攝像頭的連線,請分開捆綁(D0~D7綁一起,其他的綁一起),以減少干擾,否則
可能無法顯示!!
2,本例程,可以使用USMART進行調(diào)試,通過USMART調(diào)用各種函數(shù)實現(xiàn)對攝像頭的全面控制和測試。
3,本例程的詳細說明,見光盤:增值資料\ALIENTEK應(yīng)用文檔(AN)\ALIENTEK攝像頭模塊使用_AN1406.pdf

  1. #include "sys.h"
  2. #include "usart.h"               
  3. #include "delay.h"       
  4. #include "led.h"   
  5. #include "lcd.h"
  6. #include "usmart.h"
  7. #include "ov7670.h"
  8. #include "exti.h"
  9. #include "timer.h"
  10. //ALIENTEK Mini STM32開發(fā)板擴展實驗9
  11. //攝像頭實驗
  12. //技術(shù)支持:www.openedv.com
  13. //廣州市星翼電子科技有限公司  


  14. extern u8 ov_sta;        //在exit.c里面定義
  15. extern u8 ov_frame;        //在timer.c里面定義                 
  16. //更新LCD顯示
  17. void camera_refresh(void)
  18. {
  19.         u32 j;
  20.         u16 color;         
  21.         if(ov_sta==2)
  22.         {
  23.                 LCD_Scan_Dir(U2D_L2R);                //從上到下,從左到右
  24.                 LCD_SetCursor(0x00,0x0000);        //設(shè)置光標位置
  25.                 LCD_WriteRAM_Prepare();     //開始寫入GRAM       
  26.                 OV7670_CS=0;         
  27.                 OV7670_RRST=0;                                //開始復(fù)位讀指針
  28.                 OV7670_RCK=0;
  29.                 OV7670_RCK=1;
  30.                 OV7670_RCK=0;
  31.                 OV7670_RRST=1;                                //復(fù)位讀指針結(jié)束
  32.                 OV7670_RCK=1;  
  33.                 for(j=0;j<76800;j++)
  34.                 {
  35.                         GPIOB->CRL=0X88888888;                  
  36.                         OV7670_RCK=0;
  37.                         color=OV7670_DATA;                //讀數(shù)據(jù)
  38.                         OV7670_RCK=1;        
  39.                         color<<=8;                                          
  40.                         OV7670_RCK=0;
  41.                         color|=OV7670_DATA;                //讀數(shù)據(jù)                  
  42.                         OV7670_RCK=1;
  43.                         GPIOB->CRL=0X33333333;                                                          
  44.                         LCD_WR_DATA(color);         
  45.                 }  
  46.                 OV7670_CS=1;                                                          
  47.                 OV7670_RCK=0;
  48.                 OV7670_RCK=1;
  49.                 EXTI->PR=1<<15;                     //清除LINE8上的中斷標志位
  50.                 ov_sta=0;                                        //開始下一次采集
  51.                 ov_frame++;
  52.                 LCD_Scan_Dir(DFT_SCAN_DIR);        //恢復(fù)默認掃描方向                                                     
  53.         }
  54. }          
  55. int main(void)
  56. {       
  57.         u8 i;       
  58.            Stm32_Clock_Init(9);        //系統(tǒng)時鐘設(shè)置
  59.         uart_init(72,9600);                 //串口初始化為9600
  60.         delay_init(72);                            //延時初始化
  61.           OV7670_Init();       
  62.         LED_Init();                                  //初始化與LED連接的硬件接口
  63.         LCD_Init();                                   //初始化LCD
  64.         if(lcddev.id==0X6804||lcddev.id==0X5310||lcddev.id==0X5510) //強制設(shè)置屏幕分辨率為320*240.以支持3.5寸大屏
  65.         {
  66.                 lcddev.width=240;
  67.                 lcddev.height=320;
  68.         }
  69.         usmart_dev.init(72);        //初始化USMART       
  70.         POINT_COLOR=RED;//設(shè)置字體為紅色
  71.         LCD_ShowString(60,50,200,200,16,"Mini STM32");       
  72.         LCD_ShowString(60,70,200,200,16,"OV7670 TEST");       
  73.         LCD_ShowString(60,90,200,200,16,"ATOM@ALIENTEK");
  74.         LCD_ShowString(60,110,200,200,16,"2014/3/27");           
  75.         LCD_ShowString(60,130,200,200,16,"Use USMART To Set!");         
  76.           LCD_ShowString(60,150,200,200,16,"OV7670 Init...");          
  77.         while(OV7670_Init())//初始化OV7670
  78.         {
  79.                 LCD_ShowString(60,150,200,200,16,"OV7670 Error!!");
  80.                 delay_ms(200);
  81.             LCD_Fill(60,150,239,166,WHITE);
  82.                 delay_ms(200);
  83.         }
  84.         LCD_ShowString(60,150,200,200,16,"OV7670 Init OK");
  85.         delay_ms(1500);                              
  86.         TIM3_Int_Init(10000,7199);                        //TIM3,10Khz計數(shù)頻率,1秒鐘中斷                                                                          
  87.         EXTI15_Init();                                                //使能定時器捕獲
  88.         OV7670_Window_Set(10,174,240,320);        //設(shè)置窗口          
  89.           OV7670_CS=0;                                                          
  90.         while(1)
  91.         {       
  92.                 camera_refresh();        //更新顯示         
  93.                 if(i!=ov_frame)                //DS0閃爍.
  94.                 {
  95.                         i=ov_frame;
  96.                         LED0=!LED0;

  97.                 …………限于本文篇幅 余下代碼請從51黑下載附件…………


復(fù)制代碼

下載:
OV7670模塊(資料總包).rar (7.91 MB, 下載次數(shù): 515)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏13 分享淘帖 頂6 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:146604 發(fā)表于 2017-8-5 09:20 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報

板凳
ID:273109 發(fā)表于 2018-1-8 11:24 | 只看該作者
本帖最后由 xm_skywalker001 于 2018-1-8 14:43 編輯

扣了黒幣,卻不讓下載,到底是怎么回事。。。!
回復(fù)

使用道具 舉報

地板
ID:273794 發(fā)表于 2018-1-9 17:08 | 只看該作者
最近在學圖像處理。。
回復(fù)

使用道具 舉報

5#
ID:267230 發(fā)表于 2018-1-12 18:59 | 只看該作者
感覺用得上,感謝樓主!
回復(fù)

使用道具 舉報

6#
ID:290611 發(fā)表于 2018-3-12 08:59 | 只看該作者
謝謝樓主分享,最近在學習攝像頭方面的知識,非常有用
回復(fù)

使用道具 舉報

7#
ID:248123 發(fā)表于 2018-8-10 18:08 | 只看該作者
學習一下
回復(fù)

使用道具 舉報

8#
ID:248123 發(fā)表于 2018-8-10 18:13 | 只看該作者
樓主資料是復(fù)制粘貼吧
回復(fù)

使用道具 舉報

9#
ID:138247 發(fā)表于 2018-9-18 11:59 | 只看該作者

感謝樓主分享。。。
回復(fù)

使用道具 舉報

10#
ID:414284 發(fā)表于 2018-10-23 21:08 | 只看該作者


感謝樓主分享。。。感謝樓主分享。。。感謝樓主分享。。。感謝樓主分享。。。感謝樓主分享。。。感謝樓主分享。。。
回復(fù)

使用道具 舉報

11#
ID:267330 發(fā)表于 2019-1-21 17:11 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報

12#
ID:471573 發(fā)表于 2019-1-22 12:18 | 只看該作者
好詳細的資料!
回復(fù)

使用道具 舉報

13#
ID:264978 發(fā)表于 2019-2-4 00:41 | 只看該作者
急需ov7670資料
回復(fù)

使用道具 舉報

14#
ID:466176 發(fā)表于 2019-2-7 22:15 | 只看該作者
官網(wǎng)都有的資料
回復(fù)

使用道具 舉報

15#
ID:451734 發(fā)表于 2019-2-27 10:42 | 只看該作者
怎么下載不了啊,樓主
回復(fù)

使用道具 舉報

16#
ID:138247 發(fā)表于 2019-5-2 15:26 | 只看該作者

謝謝樓主分享。。。
回復(fù)

使用道具 舉報

17#
ID:143203 發(fā)表于 2024-12-2 23:02 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報

18#
ID:25103 發(fā)表于 2024-12-11 19:42 | 只看該作者
感謝樓主分享。。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表