freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于stm32的照相機(jī)系統(tǒng)的實(shí)現(xiàn)-資料下載頁(yè)

2024-12-03 19:16本頁(yè)面

【導(dǎo)讀】一幅圖像可以描述為“一個(gè)平面上與位置成函數(shù)關(guān)系的光強(qiáng)或反射率的變化”。以可以重現(xiàn)的方式存儲(chǔ)的信號(hào)[1]。電子相機(jī)又根據(jù)存儲(chǔ)的方式不同,分為模擬相機(jī)和數(shù)碼相機(jī)。光圈數(shù)值越大則光圈開(kāi)口越??;自1991年第一款商用數(shù)碼相機(jī)面市以來(lái),數(shù)碼相機(jī)的性能有了極大的提高[2]。

  

【正文】 ( 2) SCCB 總線傳輸 SCCB 與 I2C 總線的協(xié)議基本一致,讀寫(xiě)時(shí)序相同,故對(duì) SCCB 的通信時(shí)序不再展開(kāi)28 討論。 ① SCCB 的讀操作: int SCCB_ReadByte(uint8_t* pBuffer, uint16_t length, uint8_t ReadAddress); 入口參數(shù): pBuffer 存放待讀出的數(shù)據(jù); length:待讀出的長(zhǎng)度; ReadAddress:待讀出的地址。 第一步:判斷起始信號(hào),若初始化成功,進(jìn)入 第二步 ,否則返回失??; 第二步:發(fā)送器件地址 DEV_ADR,并等待應(yīng)答 ,若有應(yīng)答,進(jìn)入第三步,否則返回失??; 第三步:設(shè)置器件內(nèi)部 待讀出 的 寄存器的低起始地址,并等待應(yīng)答,釋放總線; 第四步:再次啟用總線,并發(fā)送器件地址( DEV_ADR+1) ,并等待應(yīng)答,進(jìn)入第五步,否則返回失??; 第五步:將數(shù)據(jù)讀到 pBuffer中,共讀取 length個(gè)字節(jié) ,全部讀出后,釋放總線,返回成功。 ② SCCB寫(xiě)操作: int SCCB_WriteByte( uint16_t WriteAddress , uint8_t SendByte ); 入口參數(shù): WriteAddress 待寫(xiě)入的地址; SendByte 待寫(xiě)入的數(shù)據(jù)。 第一步:判斷起始信號(hào),若初始化成功,進(jìn)入第二步,否則返回失??; 第二步:發(fā)送器件地址 DEV_ADR,并等待應(yīng)答,若有應(yīng)答,進(jìn)入第三步,否則返回失敗; 第三步: 設(shè)置器件內(nèi)部待寫(xiě)入的寄存器的低起始地址,并等待應(yīng)答 ,進(jìn)入第四步 ; 第四步: 發(fā)送數(shù)據(jù),并等待應(yīng)答,釋放總線,返回成功 。 29 第 3 章 系統(tǒng) 軟件設(shè)計(jì) 關(guān)于 STM32 的片上資源, LCD ILI9341 液晶屏的基本配置, SD 卡的驅(qū)動(dòng)及文件系統(tǒng), OV7725 攝像頭功能的介紹已經(jīng)在上一個(gè)章節(jié)中進(jìn)行了詳細(xì)的說(shuō)明。硬件平臺(tái)的搭建都是建立在 STM32 開(kāi)發(fā)板與其他器件模塊連接上的,本章節(jié) 則 主要采用自頂向下,層層細(xì)化 的 程序設(shè)計(jì)思想 , 分模塊講解整個(gè)系統(tǒng)的軟件實(shí)現(xiàn)流程。 頂層程序設(shè)計(jì) STM32 照相機(jī)基本流程可以描述為: 系統(tǒng)初始化,拍照處理。 首先 是系統(tǒng)初始化,包括 系統(tǒng)時(shí)鐘 配置 , 對(duì)按鍵 的 GPIO 和中斷使能, LED 的 GPIO 初始化;再初始化 LCD的 GPIO, FSMC 總線功能和內(nèi)部寄存器 ;還有初始化 SD卡 FATFS 文件系統(tǒng) 并使能 SDIO的中斷 ;最后 , 在實(shí)現(xiàn)模擬 SCCB 總線后, OV7725 還 需要配置 FIFO 的 GPIO 和 OV7725內(nèi)部的寄存器,并初始化場(chǎng)信號(hào)線。 接著, 拍照處理:等待幀同步信號(hào),進(jìn)入攝像;等待按鍵,開(kāi)始拍照(即液晶截屏)并將圖片保存到 SD 卡中 ,見(jiàn)圖 。 系統(tǒng)初始化程序設(shè)計(jì) GPIO 初始化 在第二章的主控模塊部分 已經(jīng)介紹了 GPIO 的寄存器和引腳的輸入輸出模式,對(duì)復(fù)用功能實(shí)現(xiàn)也做出了詳細(xì)說(shuō)明。在 STM32 控制下的 LED, KEY的 GPIO以及 LCD, SD card,攝像頭使用的所有 GPIO 或特殊功能引腳的設(shè)置都要通過(guò)流程圖來(lái)實(shí)現(xiàn) (圖 )。 LCD 初始化 LCD 初始化主要包括兩個(gè)內(nèi)容: FSMC 總線配置, LCD 寄存器配置 ,見(jiàn)圖 。 程序中 的涉及液晶屏的讀寫(xiě)操作(如清屏,設(shè)置液晶掃描方向以及寫(xiě)入圖片信息),都是在向 Bank1_LCD_C 和 Bank1_LCD_D 兩個(gè)區(qū)域分別寫(xiě)入命令和數(shù)據(jù)實(shí)現(xiàn)的。其中,命令 /數(shù)據(jù)的含義可參考 ILI9341 參考手冊(cè)上的內(nèi)容 ,在第二章的液晶顯示模塊中也給出了部分指令的含義 。 SD 卡文件系統(tǒng)初始化 SD 卡文件系統(tǒng)初始化可分兩塊: SD 卡中斷初始化和硬件初始化。如何設(shè)置中斷和FatFs 文件系統(tǒng)的函數(shù)接口前面都已經(jīng)介紹過(guò)了,圖 是整個(gè) SD 卡文件系統(tǒng)的初始化流程圖。 30 OV7725 初始化 攝像頭 OV7725 的初始化分為三大部分: SCCB 總線和 FIFO 的 GPIO 初始化,傳感器的初始化,場(chǎng)信號(hào)線的初始化。其中的 SCCB 總線時(shí)序在上一章已經(jīng)講過(guò),圖 是 OV7725初始化的程序流程圖。 開(kāi) 始配 置 系 統(tǒng) 時(shí) 鐘 ( 添 加s y s t e m _ s t m 3 2 f 1 0 x . c 文 件 )按 鍵 初 始 化L E D 初 始 化液 晶 初 始 化并 設(shè) 置 液 晶 掃 描 方 向 和 清 屏初 始 化 S D 卡 文 件 系 統(tǒng)O V 7 7 2 5 的 G P I O 和 寄 存 器配 置 ; 場(chǎng) 信 號(hào) 線 初 始 化是 否 有 幀 同 步信 號(hào) ?F I F O 準(zhǔn) 備采 集 并 顯 示YNNY重 設(shè) 液 晶 掃 描 方 向截 圖 并 保 存檢 測(cè) 是 否 有按 鍵 按 下 ? 圖 主程序流程圖 31 G P I O 配 置開(kāi) 啟 對(duì) 應(yīng) 引 腳 時(shí) 鐘設(shè) 置 管 腳 的 模 式( 共 8 種 )對(duì) 于 輸 出 引 腳 需 要配 置 引 腳 速 度 ( 輸入 引 腳 無(wú) 需 設(shè) 置 )返 回G P I O 的 復(fù) 用開(kāi) 啟 對(duì) 應(yīng) 引 腳 時(shí) 鐘設(shè) 置 管 腳 的 模 式( 共 5 種 )對(duì) 于 輸 出 引 腳 需 要配 置 引 腳 速 度 ( 輸入 引 腳 無(wú) 需 設(shè) 置 )選 擇 要 復(fù) 用 的 功 能 LCD初始化配置LCD的GPIO(復(fù)用FSM總線功能)配FSMCLCD屏復(fù)位LCD寄存器(由廠家提供參數(shù))返回 圖 GPIO的配置及復(fù)用 圖 LCD初始化流程S D 卡 文 件 系 統(tǒng) 初 始 化S D 卡 中 斷 初 始 化S D 卡 硬 件 初 始 化( 初 始 化 盤(pán) 符 為 0 )返 回S D 卡 中 斷 初 始 化搶 占 優(yōu) 先 級(jí) 分 組選 擇 中 斷 通 道設(shè) 置 搶 占 優(yōu) 先 級(jí) 和 響應(yīng) 優(yōu) 先 級(jí)使 能 中 斷S D 卡 中 斷 初 始 化S D 卡 硬 件 初 始 化獲 取 當(dāng) 前 文 件 對(duì) 象盤(pán) 符 號(hào) 是 否有 效 ?注 銷(xiāo) 舊 的 文 件 對(duì) 象注 冊(cè) 文 件 新 的 對(duì) 象返 回 初 始 化 成 功YN初 始 化 失 敗圖 SD卡文件初始化流程 32 O V 7 7 2 5 初 始 化S C C B 和 F I F O 的 G P I O初 始 化傳 感 器 初 始 化E r r o r S t a t u s的 值 是 否 為 1 ?返 回YN傳 感 器 初 始 化復(fù) 位 傳 感 器讀 取 傳 感 器 I D 號(hào)I D 是 否 為O V 7 7 2 5 ?返 回E r r o r S t a t u s = 1YN配 置 S e n s o r 寄 存 器場(chǎng) 信 號(hào) 線 初 始 化場(chǎng) 信 號(hào) 線 初 始 化配 置 G P I O設(shè) 置 外 部 中 斷和 嵌 套 中 斷返 回返 回E r r o r S t a t u s = 0 圖 OV7725初始化流程 拍照處理程序設(shè)計(jì) 前幾個(gè)小節(jié)詳細(xì)介紹了各個(gè)子模塊的初始化的實(shí)現(xiàn),從主程序框圖上看,還要有FIFO 的準(zhǔn)備,圖像采集與顯示,中斷服務(wù)程序,液晶截屏與保存子程序。 FIFO 的準(zhǔn)備(使能數(shù)據(jù)出 FIFO 輸出),圖像采集與顯示是通過(guò)反復(fù)的讀 FIFO 的輸出并往 LCD 寄存器寫(xiě)入數(shù)據(jù)的過(guò)程,這些可以參考 第二章的液晶顯示模塊和圖像采集模塊中 FIFO 的時(shí)序。 最后一小節(jié)的重點(diǎn)是 液晶截屏和 圖片 保存 的 流程 控制,見(jiàn)圖 。 33 液 晶 截 圖 與 保 存定 義 b m p 文 件 的 頭部 信 息 ( 共 5 4 B )設(shè) 置 文 件 大 ?。?寬 * 高 + 補(bǔ) 充 的 字節(jié) + 頭 部 信 息 )文 件 大 小 , 位 圖 的寬 和 高 都 占 4 B ( 每個(gè) 字 節(jié) 分 開(kāi) 保 存 )注 冊(cè) 工 作 區(qū)新 建 文 件 ( 需 先關(guān) 閉 后 再 打 開(kāi) )寫(xiě) 入 b m p 頭 部 信 息將 指 定 端 口 數(shù) 據(jù) 讀 到并 寫(xiě) 入 到 文 件 中( 若 位 圖 寬 不 是 4 個(gè) 字 節(jié) 對(duì)齊 , 需 要 補(bǔ) 對(duì) 齊 )文 件 是 否 成 功 打 開(kāi) ?文 件 是 否已 存 在 ?返 回 文 件 已 存 在返 回返 回 截 屏 失 敗NYYN圖 液晶截屏與保存流程 34 第 4 章 系統(tǒng)功能測(cè)試分析 整個(gè)系統(tǒng)的功能測(cè)試是在一塊 STM32 的開(kāi)發(fā)板上完成的,開(kāi)發(fā)板上已有資源:STM32 最小系統(tǒng)、 ILI9341 液晶屏一塊、按鍵和 LED 燈、以及攝像頭的接口和 SD 卡的卡槽 ,見(jiàn)圖 。還準(zhǔn)備了一張內(nèi)存為 128MB 的 SD 卡和 OV7725 攝像頭 (帶軟排線,保證接線一樣長(zhǎng),防止失真) ,見(jiàn)圖 和 。 圖 STM32開(kāi)發(fā)板 圖 SD卡 圖 OV7725攝像頭 將程序下載到開(kāi)發(fā)板中,接上電源(用電腦的 USB 供電),將板上的 Boot 開(kāi)關(guān)撥到“ FLASH”,再打開(kāi)板上的電源開(kāi)關(guān)。 系統(tǒng)啟動(dòng)后, LCD 屏上會(huì)顯示攝像頭拍攝到的圖片,見(jiàn)圖 。按下按鍵拍照,液晶屏 上 會(huì)固定住畫(huà)面 1 秒左右,見(jiàn)圖 。拍完后,取下 SD卡,用讀卡器接到電腦上,查看里面保存的圖片,見(jiàn)圖 ,這些圖片足以證明本文設(shè)計(jì)的 STM32 照相機(jī)具有可行性 。 35 圖 系統(tǒng)啟動(dòng)后顯示的效果 圖 按下按鍵拍照 圖 SD卡內(nèi)的圖片 36 總結(jié) 由于構(gòu)成 STM32 照相機(jī)的 STM32 芯片, 0V7725 攝像頭, LCD 屏和 SD 卡價(jià)格不是很昂貴,而且能根據(jù)需要靈活的選擇器件,代碼的移植性也不錯(cuò),因此本文設(shè)計(jì)出的 STM32照相機(jī)系統(tǒng)不僅成本比較低,而且可以很好地嵌入到其它系統(tǒng)中。對(duì)于某些智能控制行業(yè)中需要使用像素要求不是太高,低成本,可嵌入的照相功能提供了解決方案。 照相機(jī)系統(tǒng)的硬件部分選用 STM32F103ZET6 作為主控芯片、 OV7725 模塊作為圖像傳感器、 ILI9341 芯片作為 TFT 液晶屏驅(qū)動(dòng)、 SD 卡為存儲(chǔ)器。各個(gè)模塊的接線都是參 考了對(duì)應(yīng)的芯片手冊(cè),在第二章中對(duì)用到的寄存器配置以及接線都做出了 詳細(xì)的講解。本文的重點(diǎn)放在了系統(tǒng)的 程序設(shè)計(jì)上,總體上可將程序劃分成:系統(tǒng)初始化、 FIFO 準(zhǔn)備、圖像采集與顯示、液晶截圖與保存。而系統(tǒng)初始化又包含了 GPIO、 LCD、 SD 卡文件系統(tǒng)、 OV7725初始化。 FIFO 準(zhǔn)備和圖像采集主要需要通過(guò) SCCB 總線操作 OV7725 內(nèi)部寄存器,并配置好時(shí)序: FIFO 的讀寫(xiě)時(shí)序、幀時(shí)序、行時(shí)序以及像素輸出時(shí)序。編寫(xiě)液晶顯示與截屏程序首先是配置 FSMC 總線,接著摸清時(shí)序后對(duì)照芯片手冊(cè)向 LCD 寄存器發(fā)送命令和數(shù)據(jù)。截取到液晶屏上的圖像后,就要保存 到 SD卡中, 借助 FatFs文件系統(tǒng)的 API函數(shù)就能 實(shí)現(xiàn) 。 總之,對(duì)于無(wú)論 一個(gè)多 么 龐大的程序,都可以分解成一個(gè)個(gè)的子程序,每個(gè)子程序又可以繼續(xù)細(xì)分下去,直到落實(shí)到幾條簡(jiǎn)單的 C 語(yǔ)句。而且,盡管程序再多,資料再亂,程序的執(zhí)行都是有先有后的(即程序流程)。另外,良好的程序設(shè)計(jì)風(fēng)格可以大大提高程序可讀性和避免很多 BUG 的出現(xiàn),即使出錯(cuò)也很容易調(diào)試。 本文設(shè)計(jì)出的 STM32 照相機(jī)能實(shí)現(xiàn)液晶屏上顯示圖像,按下按鍵會(huì)開(kāi)始拍照并將圖片自動(dòng)保存在 SD 卡中,但不能自動(dòng)聚焦,物體快速移動(dòng)時(shí)圖像捕捉不夠靈敏,有待改進(jìn)。 37 參考文獻(xiàn) [1](日) Junichi Nakamura 著 .數(shù)碼相機(jī)中的傳感器和信號(hào)處理 .徐江濤等譯 .北京:清華大學(xué)出版社, 2021. [2] 佳音 .當(dāng)前數(shù)碼相機(jī)的流行趨勢(shì) [J].攝影世界, 2021,(7): 111113. [3] 汪永明 .數(shù)碼相機(jī)的發(fā)展趨勢(shì) [J].影像材料, 2021,(6): 45. [4] 荊海霞 .STM32 系列微控制器的時(shí)鐘系統(tǒng)分析 [J]. 機(jī)械與電子 , 2021, (33): 511512. [5] ILI9341 Datasheet[Z].ILITEK. [6] 王選民,李明利,張利川 .基于 ADS7846的電阻式觸摸屏接口設(shè)計(jì) [J].現(xiàn)代電子技術(shù),2021,322(11): 8890. [7] 宋敬衛(wèi) , 付廣春 , 馬獻(xiàn)國(guó) .基于 STM32的多路電壓采集研究 [J].電子 研究 , 2021,(12): 5556. [8] 楊剛 .基于 STM32的數(shù)字化射線介質(zhì)識(shí)別系統(tǒng)的研究 [J].計(jì)算機(jī)工程應(yīng)用技術(shù), 2021,(31):210212. [9] 李世奇,董浩斌,李榮生 .基于 FatFs 文件系統(tǒng)的 SD 卡存儲(chǔ)器設(shè)計(jì) [J].2021,(12): 79
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1