久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM32驅動OV7725攝像頭拍照液晶顯示程序源碼
[打印本頁]
作者:
自自在在123
時間:
2017-5-15 19:45
標題:
STM32驅動OV7725攝像頭拍照液晶顯示程序源碼
改寫了一個攝像頭拍照,并保存SD卡
本程序運行需要SD卡支持,具體操作參考“Doc/readme.txt”文件的說明
0.png
(67.5 KB, 下載次數: 144)
下載附件
2017-5-15 22:44 上傳
/*********************************************************************************************/
本文檔使用 TAB = 4 對齊,使用keil5默認配置打開閱讀比較方便。
【*】程序簡介
-工程名稱:OV7725攝像頭-液晶顯示
-實驗平臺: 秉火STM32 指南者 開發板
-MDK版本:5.16
-ST固件庫版本:3.5
【 !】功能簡介:
驅動攝像頭,把采集得的圖像直接顯示在液晶屏上,支持拍照。
【 !】實驗操作:
連接攝像頭、3.2寸液晶屏、接入已格式化的SD卡,下載程序后復位開發板即可,屏幕會顯示采集得的圖像,
可通過旋轉鏡頭調焦。
按Key1可以把當前屏幕顯示的圖像保存成BMP圖片到SD卡
按Key2可以使用黑白模式。
bsp_ov7725.c文件中cam_mode提供了幾組不同的配置,
可以根據其中的注釋說明使用不同的配置測試下
修改cam_mode的值可實現不同的配置
/***************************************************************************************************************/
【*】 引腳分配
攝像頭:
攝像頭與STM32的普通GPIO相連,使用模擬I2C:
OV7725_OE <---> PA3 //FIFO輸出使能
OV7725_RRST <---> PA2 //讀指針復位引腳,低電平復位
OV7725_RCLK <---> PC5 //FIFO讀時鐘
OV7725_XCLK <---> 不需要連接,OV7725時鐘輸入引腳,攝像頭內已自帶晶振
OV7725_VSYNC <---> PC3 //OV7725幀同步信號
OV7725_WRST <---> PC4 //寫指針復位引腳,低電平復位
OV7725_WEN <---> PD3 //FIFO寫使能
OV7725_HREF <---> 不需要連接,本程序控制不需要這個信號
OV7725_D[0:7] <---> PB[8:15] //FIFO數據信號線
OV7725_SIO_C <---> PC6 //I2C 時鐘信號,模擬
OV7725_SIO_D <---> PC7 //I2C 數據信號,模擬
液晶屏:
液晶屏接口與STM32的FSMC接口相連,支565格式,
使用FSMC產生8080時序與液晶屏驅動芯片ILI9341通訊.
/*液晶控制信號線*/
ILI9341_CS <---> PD7 //片選,選擇NOR/SRAM塊 BANK1_NOR/SRAM1
ILI9341_DC <---> PD11 //PD11為FSMC_A16,本引腳決定了訪問LCD時使用的地址
ILI9341_WR <---> PD5 //寫使能
ILI9341_RD <---> PD4 //讀使能
ILI9341_RST <---> PE1 //復位引腳
ILI9341_BK <---> PD12 //背光引腳
數據信號線省略,本實驗沒有驅動觸摸屏。
串口(TTL-USB TO USART):
CH340的收發引腳與STM32的發收引腳相連。
RX<--->PA9
TX<--->PA10
/*********************************************************************************************/
單片機源程序如下:
/**
******************************************************************************
* @file main.c
* @author fire
* @version V1.0
* @date 2013-xx-xx
* @brief 攝像頭火眼ov7725測試例程
******************************************************************************
* @attention
*
* 實驗平臺:秉火 F103-指南者 STM32 開發板
*
******************************************************************************
*/
#include "stm32f10x.h"
#include "./ov7725/bsp_ov7725.h"
#include "./lcd/bsp_ili9341_lcd.h"
#include "./led/bsp_led.h"
#include "./usart/bsp_usart.h"
#include "./key/bsp_key.h"
#include "./systick/bsp_SysTick.h"
#include "./bmp/bsp_bmp.h"
#include "ff.h"
extern uint8_t Ov7725_vsync;
unsigned int Task_Delay[NumOfTask];
extern OV7725_MODE_PARAM cam_mode;
FATFS fs; /* FatFs文件系統對象 */
FRESULT res_sd; /* 文件操作結果 */
/**
* @brief 主函數
* @param 無
* @retval 無
*/
int main(void)
{
float frame_count = 0;
uint8_t retry = 0;
/* 液晶初始化 */
ILI9341_Init();
ILI9341_GramScan ( 3 );
LCD_SetFont(&Font8x16);
LCD_SetColors(RED,BLACK);
ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,顯示全黑 */
/********顯示字符串示例*******/
ILI9341_DispStringLine_EN(LINE(0),"BH OV7725 Test Demo");
USART_Config();
LED_GPIO_Config();
Key_GPIO_Config();
SysTick_Init();
/*掛載sd文件系統*/
res_sd = f_mount(&fs,"0:",1);
if(res_sd != FR_OK)
{
printf("\r\n請給開發板插入已格式化成fat格式的SD卡。\r\n");
}
printf("\r\n ** OV7725攝像頭實時液晶顯示例程** \r\n");
/* ov7725 gpio 初始化 */
OV7725_GPIO_Config();
LED_BLUE;
/* ov7725 寄存器默認配置初始化 */
while(OV7725_Init() != SUCCESS)
{
retry++;
if(retry>5)
{
printf("\r\n沒有檢測到OV7725攝像頭\r\n");
ILI9341_DispStringLine_EN(LINE(2),"No OV7725 module detected!");
while(1);
}
}
/*根據攝像頭參數組配置模式*/
OV7725_Special_Effect(cam_mode.effect);
/*光照模式*/
OV7725_Light_Mode(cam_mode.light_mode);
/*飽和度*/
OV7725_Color_Saturation(cam_mode.saturation);
/*光照度*/
OV7725_Brightness(cam_mode.brightness);
/*對比度*/
OV7725_Contrast(cam_mode.contrast);
/*特殊效果*/
OV7725_Special_Effect(cam_mode.effect);
/*設置圖像采樣及模式大小*/
OV7725_Window_Set(cam_mode.cam_sx,
cam_mode.cam_sy,
cam_mode.cam_width,
cam_mode.cam_height,
cam_mode.QVGA_VGA);
/* 設置液晶掃描模式 */
ILI9341_GramScan( cam_mode.lcd_scan );
ILI9341_DispStringLine_EN(LINE(2),"OV7725 initialize success!");
printf("\r\nOV7725攝像頭初始化完成\r\n");
Ov7725_vsync = 0;
while(1)
{
/*接收到新圖像進行顯示*/
if( Ov7725_vsync == 2 )
{
frame_count++;
FIFO_PREPARE; /*FIFO準備*/
ImagDisp(cam_mode.lcd_sx,
cam_mode.lcd_sy,
cam_mode.cam_width,
cam_mode.cam_height); /*采集并顯示*/
Ov7725_vsync = 0;
// LED1_TOGGLE;
}
/*檢測按鍵*/
if( Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN) == KEY_ON )
{
static uint8_t name_count = 0;
char name[40];
//用來設置截圖名字,防止重復,實際應用中可以使用系統時間來命名。
name_count++;
sprintf(name,"0:photo_%d.bmp",name_count);
LED_BLUE;
printf("\r\n正在截圖...");
/*截圖必需設置好液晶顯示方向和截圖窗口*/
ILI9341_GramScan ( cam_mode.lcd_scan );
if(Screen_Shot(0,0,LCD_X_LENGTH,LCD_Y_LENGTH,name) == 0)
{
printf("\r\n截圖成功!");
LED_GREEN;
}
else
{
printf("\r\n截圖失敗!");
LED_RED;
}
}
/*檢測按鍵*/
if( Key_Scan(KEY2_GPIO_PORT,KEY2_GPIO_PIN) == KEY_ON )
{
/*LED反轉*/
// LED3_TOGGLE;
/*動態配置攝像頭的模式,
有需要可以添加使用串口、用戶界面下拉選擇框等方式修改這些變量,
達到程序運行時更改攝像頭模式的目的*/
cam_mode.QVGA_VGA = 0, //QVGA模式
cam_mode.cam_sx = 0,
cam_mode.cam_sy = 0,
cam_mode.cam_width = 320,
cam_mode.cam_height = 240,
cam_mode.lcd_sx = 0,
cam_mode.lcd_sy = 0,
cam_mode.lcd_scan = 3, //LCD掃描模式,本橫屏配置可用1、3、5、7模式
//以下可根據自己的需要調整,參數范圍見結構體類型定義
cam_mode.light_mode = 0,//自動光照模式
cam_mode.saturation = 0,
cam_mode.brightness = 0,
cam_mode.contrast = 0,
cam_mode.effect = 1, //黑白模式
/*根據攝像頭參數寫入配置*/
OV7725_Special_Effect(cam_mode.effect);
/*光照模式*/
OV7725_Light_Mode(cam_mode.light_mode);
/*飽和度*/
OV7725_Color_Saturation(cam_mode.saturation);
/*光照度*/
OV7725_Brightness(cam_mode.brightness);
/*對比度*/
OV7725_Contrast(cam_mode.contrast);
/*特殊效果*/
OV7725_Special_Effect(cam_mode.effect);
/*設置圖像采樣及模式大小*/
OV7725_Window_Set(cam_mode.cam_sx,
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
2.攝像頭拍照.zip
(1.07 MB, 下載次數: 270)
2017-5-15 19:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2017-5-15 22:48
好資料,51黑有你更精彩!!!
作者:
17liqi17
時間:
2017-11-5 12:49
為了下載這個資料我發了兩個貼,但是不知道為什么下載不起,我的電腦彈不出那個窗口~嚶嚶嚶~
作者:
ZXXY009
時間:
2019-2-27 14:47
請問這個精英版可以用嗎
作者:
ZXXY009
時間:
2019-2-27 15:17
如果是TF屏幕可以用嗎,在線等
作者:
xqtop
時間:
2019-3-1 06:17
非常不錯,感謝分享。
作者:
我是阿煤
時間:
2019-5-8 14:43
沒有黑幣了,能不發我郵箱,
1787713921@qq.com
,感謝!
作者:
18846081939
時間:
2019-8-7 15:31
什么型號的開發板啊
作者:
4591314
時間:
2019-11-15 09:00
能不能用山外的串口顯示出圖像啊
作者:
lzcsheep
時間:
2021-4-18 09:51
18846081939 發表于 2019-8-7 15:31
什么型號的開發板啊
好像是F1系列的開發板
作者:
話之王
時間:
2022-3-8 10:31
18846081939 發表于 2019-8-7 15:31
什么型號的開發板啊
只要驅動是F1都能用
作者:
話之王
時間:
2022-3-10 11:42
‘攝像頭帶FIFO嗎
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美综合一区二区三区
|
欧美成人免费
|
午夜久久久
|
国产91一区
|
亚洲欧美在线一区
|
爱操影视
|
狠狠爱一区二区三区
|
高清人人天天夜夜曰狠狠狠狠
|
免费观看毛片
|
久草日韩
|
亚洲高清成人在线
|
在线视频h
|
国产在线观看一区二区
|
久久精品亚洲一区二区三区浴池
|
www.男人天堂.com
|
日韩精品在线一区
|
国产精品亚洲精品日韩已方
|
作爱视频免费看
|
国产日韩视频
|
国产精品视频专区
|
精品视频久久久久久
|
国产精成人
|
免费的一级视频
|
一区二区日韩
|
欧美freesex黑人又粗又大
|
国产精品亚洲视频
|
日本不卡视频在线播放
|
亚洲一区二区三区桃乃木香奈
|
激情91
|
国产美女一区二区
|
看一级毛片
|
蜜桃特黄a∨片免费观看
|
深夜福利影院
|
亚洲一二三区精品
|
欧美久久久久
|
精品一二
|
亚洲精品一区二区网址
|
国产精品久久亚洲
|
密色视频
|
欧美日韩综合
|
国产精品成人久久久久
|