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

正文內(nèi)容

基于stm32的數(shù)碼相框系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(軟件)_畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2024-08-15 10:14 本頁面
 

【文章內(nèi)容簡介】 IC 的集成度,對設(shè)備和供應(yīng)技術(shù)的要求,技術(shù)難度都超過傳統(tǒng)的 LSI。 功能強(qiáng)大 。 TFT 最早作為矩陣選址電路改善了液晶的光閥特性。對于高分辨率顯示器,通過 06V 范圍的電壓調(diào)節(jié)(其典型值 4V),實(shí)現(xiàn)了對象元的精確控制,從而使 LCD 實(shí)現(xiàn)高質(zhì)量的高分 辨率顯示成為可能。 TFTLCD 是人類歷史上第一種在顯示質(zhì)量上超過 CRT 的平板顯示器?,F(xiàn)在人們開始把驅(qū)動(dòng) IC 集成到玻璃基板上,整個(gè) TFT 的功能將更強(qiáng)大,這是傳統(tǒng)的大規(guī)模半導(dǎo)體集成電路所無法比擬的。 低成本 。 玻璃基板和塑料基板從根本上解決了大規(guī)模半導(dǎo)體集成電路的成本問題,為大規(guī)模半導(dǎo)體集成電路的應(yīng)用開拓了廣闊的應(yīng)用空間。 工藝靈活 。 除了采用濺射、 CVD(化學(xué)氣相沉積) MCVD(分子化學(xué)氣相沉積)等傳統(tǒng)工藝成膜以外,激光退火技術(shù)也開始應(yīng)用,既可以制作非晶膜、多晶膜,也可以制造單晶膜。不僅可以制作硅膜,也可以制作 其他的Ⅱ Ⅵ族和Ⅲ Ⅴ族半導(dǎo)體薄膜。 應(yīng)用領(lǐng)域廣泛 。以 TFT 技術(shù)為基礎(chǔ)的液晶平板顯示器是信息社會(huì)的支柱產(chǎn)業(yè),技術(shù) 可應(yīng)用到正在迅速成長中的薄膜晶體管有機(jī)電致發(fā)光 (TFTOLED)平板顯示器也在迅速的成長中。 TFT 液晶顯示屏亮度好、對比度高、層次感強(qiáng)、顏色鮮艷 ,其廣泛應(yīng)用于手機(jī)、 MP4 等消費(fèi)品 。因此,本系統(tǒng)選用 英寸 TFTLCD 屏(如圖 22 所示)可顯 26 萬色,分辨率 320*240,控制器為ILI9320,采用 16 位的 80 并口,配合觸摸屏專用芯片 XPT2046,可對屏幕進(jìn)行觸摸操作,更顯智能化和個(gè)性化 。為了方便用戶使用,我們存儲(chǔ)方式采用兼容 FAT 的文件系統(tǒng),同時(shí)該文件系統(tǒng)也兼容FAT32 等電腦主流的文件系統(tǒng)方式進(jìn)行存儲(chǔ)。 圖 22 英寸 TFTLCD 模塊 該模塊的 80 并口有如下一些信號線: CS: TFTLCD 片選信號。 WR:向 TFTLCD 寫入數(shù)據(jù)。 RD:從 TFTLCD 讀取數(shù)據(jù)。 D[15:0]: 16 位雙向數(shù)據(jù)線。 RST:硬復(fù)位 TFTLCD。 RS:命令 /數(shù)據(jù)標(biāo)志( 0,讀寫命令; 1,讀寫數(shù)據(jù))。 TFTLCD 模塊的 RST 信號線是直接接到 STM32 的復(fù)位腳上,并不由軟件控制, 這樣可以省下來一個(gè) I/O 口。另外我們還需要一個(gè)背光控制線來控制 TFTLCD 的背光。所以我們總共需要的 I/O 口數(shù)目為 21 個(gè)。 模塊的控制器為 ILI9320(可能為其他型號,但是他們的設(shè)置很相似,除了初始化序列有些區(qū)東南大學(xué)成賢學(xué)院畢業(yè)論文 8 別,其他大都是一摸一樣的,這里僅以 9320 為例介紹),該控制器自帶顯存,其顯存總大小為 172820( 240*320*18/8),即 18 位模式( 26 萬色)下的顯存量。模塊的 16 位數(shù)據(jù)線與顯寸的對應(yīng)關(guān)系為565 方式,如下圖所示: 圖 23 16 位數(shù)據(jù)與顯存對應(yīng)關(guān)系圖 最低 5 位代表藍(lán)色,中間 6 位為 綠色,最高 5 位為紅色。數(shù)值越大,表示該顏色越深。接下來介紹一下 ILI9320 的幾個(gè)重要命令,因?yàn)?ILI9320 的命令很多,這里不一一介紹。這里我們要介紹的命令列表如下: 表 ILI9320 常用命令表 R0,這個(gè)命令,有兩個(gè)功能,如果對它寫,則最低位為 OSC,用于開啟或關(guān)閉振蕩器。而如果對它讀操作,則返回的是控制器的型號。這個(gè)命令最大的功能就是通過讀它可以得到控器的型號,而我們代碼在知道了控制器的型號之后,可以針對不同型號的控制器,進(jìn)行不同的初始化。因?yàn)?93xx 系列的初始化,其實(shí)都比較類似,我 們完全可以用一個(gè)代碼兼容好幾個(gè)控制器。 R3,入口模式命令。我們重點(diǎn)關(guān)注的是 I/D0、 I/D AM 這 3 個(gè)位,因?yàn)檫@ 3 個(gè)位控制了屏幕的顯示方向。 AM:控制 GRAM 更新方向。當(dāng) AM=0 的時(shí)候,地址以行方向更新。當(dāng) AM=1 的時(shí)候,地址以列方向更新。 I/D[1:0]:當(dāng)更新了一個(gè)數(shù)據(jù)之后,根據(jù)這兩個(gè)位的設(shè)置來控制地址計(jì)數(shù)器自動(dòng)增加 /減少 1,其關(guān)系如下圖: 東南大學(xué)成賢學(xué)院畢業(yè)論文 9 圖 24 GRAM 顯示方向設(shè)置圖 通過這幾個(gè)位的設(shè)置,我們就可以控制屏幕的顯示方向了。 R7,顯示控制命令。該命令 CL 位用來控制是 8 位彩色,還 是 26 萬色。為 0時(shí) 26 萬色,為 1 時(shí)八位色。 D D0、 BASEE 這三個(gè)位用來控制顯示開關(guān)與否的。當(dāng)全部設(shè)置為 1 的時(shí)候開啟顯示,全 0是關(guān)閉。我們一般通過該命令的設(shè)置來開啟或關(guān)閉顯示器,以降低功耗。 R32, R33,設(shè)置 GRAM 的行地址和列地址。 R32 用于設(shè)置列地址( X 坐標(biāo), 0~239), R33 用于設(shè)置行地址( Y 坐標(biāo), 0~319)。當(dāng)我們要在某個(gè)指定點(diǎn)寫入一個(gè)顏色的時(shí)候,先通過這兩個(gè)命令設(shè)置到改點(diǎn),然后寫入顏色值就可以了。 R34,寫數(shù)據(jù)到 GRAM 命令,當(dāng)寫入了這個(gè)命令之后,地址計(jì)數(shù)器才會(huì)自動(dòng)的增加和減少。該 命令是我們要介紹的這一組命令里面唯一的單個(gè)操作的命令,只需要寫入該值就可以了,其他的都是要先寫入命令編號,然后寫入操作數(shù)。 R80~R83,行列 GRAM 地址位置設(shè)置。這幾個(gè)命令用于設(shè)定 顯示區(qū)域的大小,我們整個(gè)屏的大小為 240*320,但是有時(shí)候我們只需要在其中的一部分區(qū)域?qū)懭霐?shù)據(jù),如果用先寫坐標(biāo),后寫數(shù)據(jù)這樣的方式來實(shí)現(xiàn),則速度大打折扣。此時(shí)我們就可以通過這幾個(gè)命令,在其中開辟一個(gè)區(qū)域,然后不停的丟數(shù)據(jù),地址計(jì)數(shù)器就會(huì)根據(jù) R3 的設(shè)置自動(dòng)增加 /減少,這樣就不需要頻繁的寫地址了,大大提高了刷新的速度。 通過以 上介紹,我們可以得出 TFTLCD 顯示需要的相關(guān)設(shè)置步驟如下: 1)設(shè)置 STM32 與 TFTLCD 模塊相連接的 I/O。 這一步,先將我們與 TFTLCD 模塊相連的 I/O 口設(shè)置為輸出,具體使用哪些 I/O 口,這里需要根據(jù)連接電路以及 TFTLCD 模塊的設(shè)置來確定。 2)初始化 TFTLCD 模塊。 通過向 TFTLCD 寫入一系列的設(shè)置,來啟動(dòng) TFTLCD 的顯示。為后續(xù)顯示字符和數(shù)字做準(zhǔn)備。 3)通過函數(shù)將字符和數(shù)字顯示到 TFTLCD模塊上。 這里就是通過我們設(shè)計(jì)的程序,將要顯示的字符送到 TFTLCD 模塊就可 以了,這些函數(shù)將在軟件設(shè)計(jì)部分向大家介紹。通過以上三步,我們就可以使用 TFTLCD 模塊來顯示字符和數(shù)字了,并且可以顯示各種顏色的背景。 SD 存儲(chǔ)卡模塊 SD 卡( Secure Digital Memory Card)中文翻譯為安全數(shù)碼卡,是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地應(yīng)用于便攜式裝置上,例如數(shù)碼相機(jī)、個(gè)人數(shù)碼助理 (PDA)和多媒體東南大學(xué)成賢學(xué)院畢業(yè)論文 10 播放器等。 SD 卡由日本松下、東芝及美國 SanDisk 公司于 1999 年 8 月共同開發(fā)研制。大小猶如一張郵票的 SD 記憶卡,重量只有 2 克,但卻擁有高記憶 容量、快速數(shù)據(jù)傳輸率、極大的移動(dòng)靈活性以及很好的安全性,此外它可存多種格式數(shù)據(jù)文件,具有很強(qiáng)的可擴(kuò)展性;用戶可方便使用 SD 卡讀卡器對其進(jìn)行用戶信息修改。 2G 金士頓 SD 卡實(shí)物如下圖 25 所示。 SD 卡一般支持兩種操作模式: SD 卡模式與 SPI 模式。 主機(jī)可以選擇以上任意一種模式同 SD 卡通信, SD 卡模式允許 4 線的高速數(shù)據(jù)傳輸。 SPI 模式允許簡單的通過 SPI 接口來和 SD 卡通信,這種模式同 SD 卡模式相比就是喪失了速度。 SD 卡的引腳排序如下圖 26 所示: 圖 25 Kingston SD 卡 圖 26 SD 卡引腳排序圖 SD 卡引腳功能描述如下表所示: 表 SD 卡引腳功能表 SD 卡只能使用 I/O 電平,所以, MCU 一定要能夠支持 I/O 端口輸出。在 SPI 模式下, CS/MOSI/MISO/CLK 都需要加 10~100K 左右的上拉電阻。 SD 卡要進(jìn)入 SPI 模式很簡單,就是在SD 卡收到復(fù)位命令( CMD0)時(shí), CS 為有效電平(低電平)則 SPI 模式被啟用。不過在發(fā)送 CMD0 之前,要發(fā)送 74 個(gè)時(shí)鐘,這是因?yàn)?SD 卡內(nèi)部有個(gè)供電電壓上升時(shí)間,大概為 64 個(gè) CLK,剩下的 10個(gè) CLK用于 SD卡同步 ,之后才能開始 CMD0的操作,在卡初始化的時(shí)候, CLK時(shí)鐘最大不能超過 400KHZ。 本次硬件電路板使用的是 SPI 模式來讀寫 SD 卡,下面我們就重點(diǎn)介紹一下 SD 卡在 SPI 模式下的相關(guān)操作。 SPI 模式下幾個(gè)重要的操作命令,如下表所示: 表 SPI模式下 SD 卡部分操作指令 其中 R1 的回應(yīng)格式如下表所示: 東南大學(xué)成賢學(xué)院畢業(yè)論文 11 表 SD 卡 R1 回應(yīng)格式 SD 卡的典型初始化過程如下: 初始化與 SD 卡連接的硬件條件( MCU 的 SPI 配置, I/O 口配置); 上電延時(shí)( 74 個(gè) CLK); 復(fù)位卡( CMD0); 激活卡,內(nèi)部初始化并獲取卡類型( CMD1(用于 MMC 卡)、 CMD5 CMD41); 查詢 OCR,獲取供電狀況( CMD58); 是否使用 CRC( CMD59); 設(shè)置讀寫塊數(shù)據(jù)長度( CMD16); 讀取 CSD,獲取存儲(chǔ)卡的其他信息( CMD9); 發(fā)送 8CLK 后,禁止片選; 這樣我們就完成了對 SD 卡的初始化,這里面我們一般設(shè)置讀寫塊數(shù)據(jù)長度為 512 個(gè)字節(jié),并禁止使用 CRC。在完成了初始化之后,就可以開始讀寫數(shù)據(jù)了。 SD 卡讀取數(shù)據(jù),這里通過 CMD17 來實(shí)現(xiàn),具體過程如下 : 發(fā)送 CMD17; 接收卡響應(yīng) R1; 接收數(shù)據(jù)起始令牌 0XFE; 接收數(shù)據(jù); 接收 2 個(gè)字節(jié)的 CRC,如果沒有開啟 CRC,這兩個(gè)字節(jié)在讀取后可以丟掉 ; 8CLK 之后禁止片選; 以上就是一個(gè)典型的讀取 SD 卡數(shù)據(jù)過程, SD 卡的寫與讀數(shù)據(jù)差不多,寫數(shù)據(jù)通過 CMD24 來實(shí)現(xiàn),具體過程如下: 發(fā)送 CMD24; 接收卡響應(yīng) R1; 發(fā)送寫數(shù)據(jù)起始令牌 0XFE; 發(fā)送數(shù)據(jù); 發(fā)送 2 字節(jié)的偽 CRC; 8CLK 之后禁止片選; 東南大學(xué)成賢學(xué)院畢業(yè)論文 12 第三章 編程環(huán)境介紹 簡介 RVMDK 源自德國的 KEIL 公司,是 RealView MDK 的簡稱,在全球 RVMDK 被超過 10 萬的嵌入式開發(fā)工程師使用。 RealView MDK 集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),包括 181。Vision3 集成開發(fā)環(huán)境與 RealView編譯器。支持 ARM ARM9 和最新的 CortexM3 核處理器,自動(dòng)配置啟動(dòng)代碼,集成 Flash 燒寫模塊,強(qiáng)大的 Simulation 設(shè)備模擬,性能分析等功能。與 ARM 之前的工具包 相比, RealView 編譯器具有代碼更小、性能更高的優(yōu)點(diǎn)。 RealView 編譯器與 的比較:代碼密度方面比 編譯的代碼尺寸小 10%;代碼性能方面比 編譯的代碼性能提高 20%。 現(xiàn)在 RealView 的最新版本是 , 以上版本的 RVMDK 對 IDE 界面進(jìn)行了很大改變,并且支持 CortexM0 內(nèi)核的處理器。雖然 界面確實(shí)是好了,支持的器件也多了,但編譯效率沒有 ,尤其是編譯后的代碼執(zhí)行速度( FFT 運(yùn)算), 要對速度進(jìn)行 O2 優(yōu)化才能和。另外,國內(nèi)大多數(shù)單片機(jī)工程師都接觸和使用過 KEIL,相信大家都知道 KEIL 的使用是非常簡單的,而且很容易入手。基于以上幾點(diǎn),此次選擇 版本的編譯器來對軟件進(jìn)行編譯。 新建 RVMDK 工程 首先,打開 MDK(以下簡稱 RVMDK 為 MDK)軟件 , 再點(diǎn)擊 ProjectNew uVision Project 菜單項(xiàng),則彈出如圖 31 所示界面 : 圖 31 保存工程界面 新建一個(gè)文件夾 TEST,然后把工程名字設(shè)為 test, 點(diǎn)擊“保存”按 鈕,彈出選擇器件的對話框,因?yàn)槲覀兊拈_發(fā)板使用的是 STM32F103RBT6,所以在這里我們選擇 STMicroelectronics 下面的STM32F103RB(如果使用的是其他系列的芯片,選擇相應(yīng)的型號就可以了 )。 如圖 32 所示 : 東南大學(xué)成賢學(xué)院畢業(yè)論文 13 圖 32 器件選擇界面 點(diǎn)擊 OK, MDK 會(huì)彈出一個(gè)對話框,問你是否加載啟動(dòng)代碼到當(dāng)前工程下面,這里我們選擇是 。如圖 33 所示 : 圖 33 提示界面 啟動(dòng)代碼是一段和硬件相關(guān)的匯編代碼 , 是必不可少的 !這段代碼的具體作用如下:①堆棧的初始化;②向量表定義;③地址重映射及中 斷向量表的轉(zhuǎn)移;④設(shè)置系統(tǒng)時(shí)鐘頻率;⑤中斷寄存器的初始化。在上面點(diǎn)擊了是以后, MDK 就把啟動(dòng)代碼 加入到了我們的工程下面。到這里,我們就可以開始編寫自己的代碼了。 由于上面我們還沒有任何代碼在工程里面,我們在 TEST 目錄下新建一個(gè)新文件
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1