<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > LPC1114的簡(jiǎn)易數碼相框設計

LPC1114的簡(jiǎn)易數碼相框設計

作者: 時(shí)間:2013-01-11 來(lái)源:網(wǎng)絡(luò ) 收藏

2 軟件設計
2.1 TFT彩屏模塊驅動(dòng)
彩屏模塊程序可以分為兩大類(lèi):一類(lèi)是內部函數,主要由復位函數、寫(xiě)數據函數、寫(xiě)寄存囂函數、光標設置函數、顯示窗口設置函數、清屏函數等組成,供TFT模塊內部驅動(dòng)程序調用;另一類(lèi)為外部函數,主要由TFT初始化、背光控制、顯示測試、寫(xiě)點(diǎn)函數等組成,專(zhuān)門(mén)提供用戶(hù)應用程序調用。
2.2 文件系統的移植
學(xué)習SPI總線(xiàn)時(shí)已經(jīng)介紹了讀/寫(xiě)的方法,對于的讀寫(xiě)操作都是以扇區為基本單位進(jìn)行的,但是,系統又是如何讀取的呢?又是怎么知道文件存放在哪些扇區呢?本設計采用文件系統的方法對存儲器空間進(jìn)行組織和分配,并對存入的文件進(jìn)行保護和檢索。具體來(lái)說(shuō),也就是它負責為用戶(hù)建立文件、存入、讀出、修改、轉儲以及控制文件的存取,當用戶(hù)不再使用的時(shí)候撤銷(xiāo)文件。
文件系統的結構主要分為3個(gè)層;磁盤(pán)I/O操作、FatFs模塊和應用層。前兩層分別是移植文件系統需要編寫(xiě)的驅動(dòng)函數層和文件系統操作層,而最后一層就是用戶(hù)操作層,當文件系統移植完成后,用戶(hù)可以根據自己的需要編寫(xiě)應用程序,操作磁盤(pán)。
FatFs作為一種開(kāi)源項目具有容易移植、代碼小、占用資源少、支持RTOS和多扇區讀/寫(xiě)等特點(diǎn),非常適合微處理器使用。要移植FatFs文件系統,首先需要到FatFs文件系統的官方網(wǎng)站,下載文件系統源代碼。設計中使用的版本是FatFs R0.08b,具體移植步驟介紹如下:
①解壓下載的文件系統,可以看到一共有兩個(gè)文件夾:一個(gè)是doe,包含FatFs的描述、特性說(shuō)明等;另一個(gè)是src,可以存放所有的源代碼信息,一共有8個(gè)文件。
②在工程下新建一個(gè)文件夾,存放文件系統源代碼。
③把源代碼都添加到相應的工程中,首先根據需要修改數據類(lèi)型,在integer.h中修改適合的數據類(lèi)型。
④配置文件系統,可以根據字節的需要進(jìn)行配置,從而減小代碼和內存空間。
⑤打開(kāi)diskio.c文件,編寫(xiě)相應的函數,如初始化磁盤(pán)函數、磁盤(pán)狀態(tài)函數、讀/寫(xiě)扇區函數、磁盤(pán)相關(guān)功能控制函數等。
⑥最后,需要在ff.c中添加函數get_fattime,此函數可獲取操作時(shí)間,便于在文件屬性中填寫(xiě)相應的創(chuàng )建、修改、訪(fǎng)問(wèn)時(shí)間。
2. 3 BMP位圖顯示
BMP是Windows操作系統中的標準圖像文件格式,應用非常廣泛。它采用位映射存儲格式,除了圖像深度可選擇以外,不采用其他任何壓縮,因此,BMP占用的空間很大。BMP文件的圖像深度可選擇1位、4位、8位、16位、32位等。BMP文件存儲數據時(shí),圖像的掃描方式是按照從左到右、從下到上的順序。典型的BMP圖像文件由4部分組成,如表1所列。

本文引用地址:http://dyxdggzs.com/article/175923.htm

h.JPG


位圖顯示是通過(guò)函數參數傳遞文件名,通過(guò)文件名讀取文件數據。讀取位圖數據時(shí),先讀取54字節的頭信息,再根據頭信息判斷是否為位圖圖像。如果不是位圖,直接返回不再讀取數據;如果是位圖,再判斷是16位還是24位,并循環(huán)讀取數據信息,經(jīng)過(guò)數據轉換后發(fā)送到TFT進(jìn)行顯示。
讀取位圖文件需要調用FatFs文件系統的API函數,在讀取文件時(shí)需要注意以下3點(diǎn):
①首先要f_mounth函數注冊工作區,在文件讀取完成后,再調用這個(gè)函數來(lái)注銷(xiāo)工作區;
②打開(kāi)文件需要調用的f_open函數,當文件讀取完成后,再調用f_close函數關(guān)閉文件,所以這兩個(gè)函數必須成對出現;
③在讀取文件時(shí),可以由f_read函數返回的結果和次函數的讀取結果來(lái)判斷數據是否讀取完成。
2.4 系統整體工作流程
圖6為軟件流程圖。系統上電后先按順序初始化系統時(shí)鐘、SSPO總線(xiàn)、以及TFT,之后循環(huán)掃描顯示數碼照片。代碼編寫(xiě)過(guò)程中完全實(shí)現結構化,只需要直接調用,掃描顯示函數BmpFileSean()即可實(shí)現其功能。

a.JPG



結語(yǔ)
是基于NXP公司推出的Cortex—M0內核LPC1100系列ARM芯片設計的,主要從硬件和軟件兩個(gè)方面介紹了一種簡(jiǎn)易數碼相框的制作過(guò)程。硬件電路較為簡(jiǎn)單,軟件方面通過(guò)FatFs文件系統的移植,能夠很好地完成BMP圖片的循環(huán)播放。經(jīng)試驗,微控制器能夠穩定地實(shí)現數碼相框的基本功能,實(shí)物效果如圖7所示。

b.JPG


對于一些特殊效果尚無(wú)法實(shí)現,再加上除了BMP格式外,都要涉及解碼問(wèn)題,而使用微處理器軟件解碼非常緩慢的。對于這些不完善的地方在后續的研究中將逐步解決。

電源濾波器相關(guān)文章:電源濾波器原理



上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>