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

正文內(nèi)容

基于stm32的數(shù)碼相框系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(軟件)_畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2025-07-01 10:14本頁(yè)面

【導(dǎo)讀】下完成,引用他人成果的部分均已列出參考文獻(xiàn)。如論文涉及任何知識(shí)產(chǎn)。權(quán)糾紛,本人將承擔(dān)一切責(zé)任。系列嵌入式處理器,本設(shè)計(jì)包含主控制器核心板、LCD液晶顯示、SD卡存儲(chǔ)器等多個(gè)功能模塊?,F(xiàn)對(duì)SD卡里多幅圖片以幻燈片形式在TFT屏上動(dòng)態(tài)顯示的效果,且?guī)в袑?shí)時(shí)時(shí)鐘的功能。

  

【正文】 而在 硬件 板上這些 I/O 口都是非常有用的,并造成部分外設(shè)無法使用。所以建議大家在調(diào)試的時(shí)候,一定要選擇 SW 模式。 Max Clock,可以點(diǎn)擊 Auto Clk 來自動(dòng)設(shè)置,這里設(shè)置 JLINK 的調(diào)試速度為 10MHZ,如果 USB 數(shù)據(jù)線比較差,那么可能會(huì)出問題,此時(shí),可以通過降低這里的速率來試試。 單擊 OK,完 成此部分設(shè)置,接下來我們還需要在 Utilities 選項(xiàng)卡里面設(shè)置下載時(shí)的目標(biāo)編程器,如下圖所示: 圖 326 FLASH 編程器選擇 上圖中,我們選擇 JLINK 來調(diào)試 CortexM3,然后點(diǎn)擊 Settings,設(shè)置如下圖所示: 東南大學(xué)成賢學(xué)院畢業(yè)論文 27 圖 327 編程設(shè)置 這里要根據(jù)不同的 MCU 選擇 FLASH 的大小,因?yàn)槲覀冮_發(fā)板使用的是 STM32F103RBT6,其 FLASH大小為 128K,所以我們?cè)?Programming Algorithm 里面選擇 128K 型號(hào)的 STM32。然后選中 Reset and Run,以實(shí) 現(xiàn)在編程后自動(dòng)啟動(dòng)。其他默認(rèn)設(shè)置即可。 在設(shè)置完之后,點(diǎn)擊 OK,然后再點(diǎn)擊 OK,回到 IDE 界面,編譯一下工程。再點(diǎn)擊 ,開始仿真(如果開發(fā)板的代碼沒被更新過,則會(huì)先更新代碼,再仿真,你也可以通過按 ,只下載代碼,而不進(jìn)入仿真,特別注意:開發(fā)板上的 B0 要設(shè)置到 GND,否則代碼下載后不會(huì)自動(dòng)運(yùn)行 的?。缦聢D所示: 圖 328 開始仿真 可以看到都是一些匯編碼的查看,如果我們要快速運(yùn)行到 main 函數(shù),可以在 main 函數(shù)的第一句語(yǔ)句處放入斷點(diǎn),然后點(diǎn)擊 ,來快速執(zhí)行到該處。如下圖所示: 東南大學(xué)成賢學(xué)院畢業(yè)論文 28 圖 329 程序運(yùn)行到斷點(diǎn)處 接下來,我們就可以和軟件仿真一樣的開始仿真了,不過這是真正的在硬件上的仿真,其結(jié)果更可信。 程序下載 STM32 的程序下載有多種方法: USB、串口、 JTAG、 SWD 等,這幾種方式 都可以用來給 STM32 下載代碼。不過,我們最常用的,最經(jīng)濟(jì)的,就是通過串口給 STM32 下載 代碼。 STM32 的串口下載一般是通過串口 1 下載的,本設(shè)計(jì)的硬件 板,不是通過 RS232 串口下載的,而是通過自帶的 USB 串口來下載??雌饋硐袷?USB 下載(只有一根 USB 線,并沒有串口線)的,實(shí)際上,是通過 USB 轉(zhuǎn)成串口,然后再下載的。 下面,我們就一步步 實(shí)現(xiàn) 如何在實(shí)驗(yàn)平臺(tái)上利用 USB 串口來下載代碼。 首先要在板子上設(shè)置一下,在板子上把 RXD 和 PA9( STM32 的 TXD), TXD 和 PA10(STM32 的 RXD)通過跳線帽連接起來,這樣我們就把 PL2303 和 MCU 的串口 1 連接上了。這里由于 硬件板自帶了一鍵下載電 路,所以 并不需要去關(guān)心 BOOT0和 BOOT1 的狀態(tài),但是為了讓下載完后可以按復(fù)位執(zhí)行程序,要把 BOOT1 和 BOOT0 都設(shè)置為 0。設(shè)置完成如下圖所示: 東南大學(xué)成賢學(xué)院畢業(yè)論文 29 圖 330 開發(fā)板串口下載跳線設(shè)置 接著我們?cè)?USB_232 處插入 USB 線,并接上電腦,如果之前沒有安裝 PL2303 的驅(qū)動(dòng)(如果已經(jīng)安裝過了驅(qū)動(dòng),則應(yīng)該能在設(shè)備管理器里面看到 USB 串口,如果不能則要先卸載之前的驅(qū)動(dòng),卸載完后重啟電腦(必要步驟),再重新安裝我們提供的驅(qū)動(dòng)),則電腦會(huì)提示找到新硬件,如下圖所示: 圖 331 找到新硬件 我們不理會(huì)這個(gè)提 示,直接找到光盤 軟件文件夾下的 PL2303 驅(qū)動(dòng),安裝該驅(qū)動(dòng)。在驅(qū)動(dòng)安裝完成之后,拔掉 USB 線,然后重新插入電腦,此時(shí)電腦就會(huì)自動(dòng)給其安裝驅(qū)動(dòng)了。在安裝完成之后,可以在電腦的設(shè)備管理器里面找到 USB 串口(如果找不到,則重啟下電腦),如下圖所示 : 圖 332 USB 串口驅(qū)動(dòng)安裝成功 東南大學(xué)成賢學(xué)院畢業(yè)論文 30 上圖中我們顯示的 USB 串口為 COM5,不同電腦可能不一樣, 可能是 COM COM6 等,但是 Prolific USBtoSerial Comm Port,這個(gè)一定是一樣的,如果沒找到,則有可能是 安裝有誤 或者系統(tǒng)不兼容。 在安裝了 USB 串口驅(qū)動(dòng)之后,我們就可以開始串口下載程序了,這里我們的串口下載軟件選擇的是 mcuisp,該軟件屬于第三方軟件,由單片機(jī)在線編程網(wǎng)提供,大家可以去 免費(fèi)下載,目前最新版本為 。該軟件啟動(dòng)界面如下: 圖 333 mcuisp 啟動(dòng)界面 然后我們選擇要下載的 HEX文件,以前面我們新建的工程為例,因?yàn)槲覀兦懊娴墓こ虥]有在 KEIL里面設(shè)置生成 .hex 文件,所以在 USER 文件夾下是找不到 .hex 文件的。下面我們看看如何設(shè)置:先在工程里面點(diǎn)擊,打開 Output 選項(xiàng) 卡,勾選 Create HEX File 選項(xiàng),如下圖所示: 圖 334 MDK 設(shè)置生成 HEX 文件 圖中選中第二個(gè)紅圈內(nèi)的選項(xiàng),可以使編譯器產(chǎn)生瀏覽信息,方便快速查看函數(shù)和變量等,這點(diǎn)在后面會(huì)介紹。選中之后點(diǎn)擊 OK,重新編譯,編譯結(jié)果如下圖所示: 東南大學(xué)成賢學(xué)院畢業(yè)論文 31 圖 335 重新編譯結(jié)果 從上圖中可以看到,編譯器已經(jīng)產(chǎn)生了 hex 文件了, 然后我們打開 USER 文件夾,看看里面發(fā)生了什么變化?如下圖所示: 圖 336 新編譯生成文件 從上圖可以看到,重新編譯產(chǎn)生了很多文件,其中就有我們所需要的 hex 文件(圖中紅 圈圈中),至此,我們就可以開始下載了。用 mcuisp 軟件打開 USER 文件夾,找到 ,打開并進(jìn)行相應(yīng)設(shè)置后,如下圖所示: 圖 337 mcuisp 設(shè)置 東南大學(xué)成賢學(xué)院畢業(yè)論文 32 圖 337 中紅圈圈中的設(shè)置,是我們建議的設(shè)置。編程后執(zhí)行,這個(gè)選項(xiàng)在無一鍵下載功能的條件下是很有用的,當(dāng)選中該選項(xiàng)之后,可以在下載完程序之后自動(dòng)運(yùn)行代碼。否則,下載代碼之后,必須先將 B0 連接 GND,再按復(fù)位鍵,才能開始運(yùn)行剛剛下載的代碼。 硬件 板雖然自帶了一鍵下載功能,但是還是建議選上這個(gè)設(shè)置。 編程前重裝文件,該選項(xiàng)也比較有用,當(dāng)選中該選 項(xiàng)之后, mcuisp 會(huì)在每次編程之前,將 hex文件重新裝載一遍,這對(duì)于代碼調(diào)試的時(shí)候是比較有用的。 最后,我們選擇的 DTR 的低電平復(fù)位, RTS 高電平進(jìn) BootLoader,這個(gè)選擇項(xiàng)選中, mcuisp就會(huì)通過 DTR 和 RTS 信號(hào)來控制板載的一鍵下載功能電路,以實(shí)現(xiàn)一鍵下載功能。如果不選擇,則無法實(shí)現(xiàn)一鍵下載功能。這個(gè)是必要的選項(xiàng)(在 BOOT0 接 GND 的條件下)。 在裝載了 hex 文件之后,我們要下載代碼還需要選擇串口,這里 mcuisp 有智能串口搜索功能。每次打開 mcuisp 軟件,軟件會(huì)自動(dòng)去搜索當(dāng)前電 腦上可用的串口,然后選中一個(gè)作為默認(rèn)的串口(一般是您最后一次關(guān)閉時(shí)所選則的串口)。也可以通過點(diǎn)擊菜單欄的搜索串口,來實(shí)現(xiàn)自動(dòng)搜索當(dāng)前可用串口。串口波特率則可以通過 bps 那里設(shè)置,對(duì)于 STM32,該波特率最大為 230400bps,這里我們一般選擇最高的波特率: 460800,讓 mcuisp 自動(dòng)去同步。搜索完串口之后界面如下圖所示: 圖 338 搜索串口 從之前 USB 串口的安裝可知,開發(fā)板的串口被識(shí)別為 COM5 了 ,所以我 選擇 COM5。選擇了相應(yīng)串口之后 就可以通過按 ” 開始編程( P) ” 這個(gè)按鈕,一鍵下載代碼到 STM32 上,下載成功后如下圖所示: 東南大學(xué)成賢學(xué)院畢業(yè)論文 33 圖 339 下載完成 上 圖 中,我 用圈圈圈出了 mcuisp 對(duì)一鍵下載電路的控制過程,其實(shí)就是控制 DTR和 RTS 電平的變化,控制 BOOT0 和 RESET,從而實(shí)現(xiàn)自動(dòng)下載。另外界面提示已經(jīng)下載完成(如果老提示:開始連接?,需要檢查一下,開發(fā)板的設(shè)置是否正確,是否有其他因素干擾等),并且從 0X80000000 處開始運(yùn)行了,我 打開串口調(diào)試助手選擇 COM5,會(huì)發(fā)現(xiàn)從 硬件 板發(fā)回來的信息,如下圖所示: 圖 340 程序開始運(yùn)行了 接收到的數(shù)據(jù)和我 仿真的是一樣的,證明程序沒有 問題。 至此,說明下載代碼成功了,并且也從硬件上驗(yàn)證了 代碼的正確性。 東南大學(xué)成賢學(xué)院畢業(yè)論文 34 第四章 程序設(shè)計(jì)與調(diào)試 系統(tǒng)描述 本系統(tǒng)采用基于 ARM CortexM3 內(nèi)核的 STM32 作為主控制器,外擴(kuò) SD 卡以及 TFT 彩屏。系統(tǒng)通過文件系統(tǒng)讀取 SD 卡內(nèi)存儲(chǔ)的 BMP、 JPEG、 JPG 格式圖片,把多幅圖片以幻燈片的形式從 TFT 屏上顯示出來。同時(shí),通過 STM32 內(nèi)部的 RTC 模塊使系統(tǒng)具有掉電不遺失日期及時(shí)鐘的功能。系統(tǒng)框圖如圖 41 所示。 圖 41 系統(tǒng)框圖 軟件設(shè)計(jì) 文件讀取 本設(shè)計(jì)需要用到 FAT(FAT16/32)文件系統(tǒng)來讀取 SD 卡上的字庫(kù)和 UNICODE到 GBK的轉(zhuǎn)換碼表到W25X16 部分,因此要重點(diǎn)介紹 FAT 文件系統(tǒng)。 FAT 文件系統(tǒng)本身比較復(fù)雜,所以這里 只簡(jiǎn)單介紹一下。 常用的文件系統(tǒng)有 FAT12/16/32 等, FAT12 是最古老的文件系統(tǒng),只能管理 8M 左右的空間,現(xiàn)在基本淘汰了。 FAT16 則可以管理 2G 的空間 (通過特殊處理也能管理 2G 以上的空間 ),而 FAT32 則能管理到 2TB( 2048GB)的空間。 FAT32較 FAT16 的優(yōu)勢(shì)還在于 FAT32 采用了 更小的簇,可以更有效的保存信息,而不會(huì)造成 較 多的浪費(fèi)。 XP 在 SD 卡里面建立的文件系統(tǒng)最常用的也就是 FAT16和 FAT32。這是由 XP 在格式化 SD 卡的時(shí)候建立的,通常 SD 卡上的數(shù)據(jù)信息由 MBR、 DBR、 FAT、 FDT 和數(shù)據(jù)區(qū) 5 個(gè)部分組成(有的也沒有 MBR)。我們以 FAT32 為例做介紹。 MBR 稱為主引導(dǎo)記錄區(qū),該區(qū)存儲(chǔ)了分區(qū)表等信息,位于 SD 卡的扇區(qū) 0(物理扇區(qū)),在其分區(qū)信息里面記錄了 DBR 所在的位置, SD 卡一般只會(huì)有一個(gè)分區(qū),所以也就只要找到分區(qū) 1 的 DBR 所在位置就可以了。 DBR 稱為操作系統(tǒng)引導(dǎo)記錄區(qū),如果沒有 MBR,那么 DBR 就位于 0 扇 區(qū),如果有則必須通過 MBR區(qū)得到 DBR 所在的地址,然后讀出 DBR 信息。在 DBR 區(qū),我們可以知道每個(gè)扇區(qū)所占用的字節(jié)數(shù)、每個(gè)簇的扇區(qū)數(shù)、 FAT 表的份數(shù)、每個(gè) FAT 表的扇區(qū)數(shù)、跟目錄簇號(hào)、 FAT表 1 所在的扇區(qū)等一系列非常重要的信息。 FAT 稱為文件分配表( FAT 表),一般一個(gè)卡上會(huì)存在 2個(gè) FAT 表,一個(gè)用作備份,一個(gè)用作使用。 FAT 表一般緊隨 DBR,另一個(gè) FAT 表則緊隨第一個(gè) FAT 表,這樣只要知道了第一個(gè) FAT 表的位置及大小,那么第二個(gè) FAT 表的位置也就確定了。 FAT 表記錄了每個(gè)文件的位置和區(qū)域,是一種鏈?zhǔn)浇Y(jié)構(gòu) , FAT 以“ F8 FF FF 0F FF FF FF FF”這樣的 8 個(gè)字節(jié)為表頭,用以表示 FAT 表的開始,后面的數(shù)據(jù)每四個(gè)字節(jié)為一個(gè)簇項(xiàng)(從第 2 簇開始) ,用來標(biāo)記下一個(gè)簇所在的位置,這樣每個(gè)位置都存儲(chǔ)了下一個(gè)簇,只要按著這個(gè)表走,就可以找到文件的所有內(nèi)容。如果找到下一個(gè)簇位置,里面記錄的是“ FF FF FF 0F”,代表這個(gè)文件到此就結(jié)束了,沒有后續(xù)簇了,這樣一個(gè)文件的讀取就結(jié)束東南大學(xué)成賢學(xué)院畢業(yè)論文 35 了。 FDT 稱為文件根目錄表,這個(gè)區(qū)域固定為 32 個(gè)扇區(qū),假設(shè)每個(gè)扇區(qū)為 512 個(gè)字節(jié),那么更目錄下最多存放 512 個(gè)文件(假設(shè)都用短文 件名存儲(chǔ),每個(gè)短文件名占 32 個(gè)字節(jié))。 文件目錄表是另一個(gè)重要的部分, FAT 文件系統(tǒng)中(僅以短文件名介紹),文件目錄項(xiàng)在目錄表下以 32 個(gè)字節(jié)的方式記錄,各 字段定義如下: 表 文件目錄項(xiàng)各字節(jié)定義 從上表可知,我們?cè)谖募哪夸涰?xiàng)就可以找到該文件的其實(shí)簇,然后在 FAT 表里面找到該簇開始的下一個(gè)簇,依次讀取這些簇就可以把整個(gè)文件讀出來了。 圖像解碼與顯示 BMP 文件格式 BMP 是一種與硬件設(shè)備無關(guān)的圖像文件格式,使用非常廣。它采用位映射存儲(chǔ)格式,除了圖像深度可選以外,不采用其 他任何壓縮,因此, BMP 文件所占用的空間很大。 BMP 文件的圖像深度可選lbit、 4bit、 8bit 及 24bit。 BMP 文件存儲(chǔ)數(shù)據(jù)時(shí),圖像的掃描方式是按從左到右、從下到上的順序。典型的 BMP 圖像文件由三部分組成:位圖文件頭數(shù)據(jù)結(jié)構(gòu),它包含 BMP 圖像文件的類型、顯示內(nèi)容等信息;位圖信息數(shù)據(jù)結(jié)構(gòu),它包含有 BMP 圖像的寬、高、壓縮方法,以及定義顏色等信息。 部分代碼: //BMP 信息頭 typedef __packed struct { DWORD biSize 。 //說明 BITMAPINFOHEADER 結(jié)構(gòu)所需要的字?jǐn)?shù)。 LONG biWidth 。 //說明圖象的寬度,以象素為單位 LONG biHeight 。 //說明圖象的高度,以象素為單位 WORD biPlanes 。 //為目標(biāo)設(shè)備說明位面數(shù),其值將總是
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1