基于單片機(jī)的多功能數(shù)碼相框設(shè)計與實現(xiàn)
《基于單片機(jī)的多功能數(shù)碼相框設(shè)計與實現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的多功能數(shù)碼相框設(shè)計與實現(xiàn)(87頁珍藏版)》請在裝配圖網(wǎng)上搜索。
畢 業(yè) 設(shè) 計 設(shè)計題目:基于單片機(jī)的多功能數(shù)碼相框設(shè)計與實現(xiàn)學(xué) 院 物理科學(xué)與工程技術(shù)學(xué)院專 業(yè) 電子信息工程 年 級 2009 級 姓 名 劉勇 指導(dǎo)教師 劉莉 職 稱 講師 (2013 年 6 月)宜春學(xué)院教務(wù)處制目 錄1.畢業(yè)設(shè)計任務(wù)書2.畢業(yè)設(shè)計開題報告3.畢業(yè)設(shè)計答辯資格審查表4.論文原創(chuàng)性申明5.論文版權(quán)使用授權(quán)書6.畢業(yè)設(shè)計正文7.外文資料譯文8.外文資料原文宜春學(xué)院畢業(yè)設(shè)計任務(wù)書題 目: 基于單片機(jī)的多功能數(shù)碼相框設(shè)計與實現(xiàn) 學(xué) 院: 物理科學(xué)與工程技術(shù)學(xué)院 系 電子與信息工程系 專 業(yè): 電子信息工程 班 級: 09 電信 學(xué) 號: 0934301122 姓 名: 劉勇 起止日期: 2012.11.17-2013.5.18 指導(dǎo)教師: 劉莉 職稱: 講師 系 主 任: 審核日期: 2說 明1. 畢業(yè)論文任務(wù)書由指導(dǎo)教師填寫,并經(jīng)教研室審定,下達(dá)到學(xué)生。2. 進(jìn)度表分前、中、后三期由學(xué)生填寫,每期填寫后交指導(dǎo)教師簽署審查意見,并作為畢業(yè)論文工作檢查的主要依據(jù)。3. 學(xué)生根據(jù)指導(dǎo)教師下達(dá)的任務(wù)書獨(dú)立完成開題報告,3 周內(nèi)提交給指導(dǎo)教師批閱。4. 本任務(wù)書在畢業(yè)論文完成后,與論文一起交指導(dǎo)教師,作為論文評閱和畢業(yè)論文答辯的主要檔案資料,是學(xué)士學(xué)位論文成冊的主要內(nèi)容之一。3一、畢業(yè)論文的要求和內(nèi)容數(shù)碼相框又叫電子相冊,是一種可以播放圖片的電子設(shè)備。數(shù)碼相框硬件由STC12C5A60S2單片機(jī)、ILI9325芯片控制的2.4TFT彩屏、按鍵、發(fā)光二極管、SD卡等部分構(gòu)成,能實現(xiàn)BMP圖片的播放、簡易萬年歷、演示程序以及系統(tǒng)時間日期設(shè)置功能,同時能實現(xiàn)簡單的GUI顯示控制。系統(tǒng)的功能切換由KEY_ENTER、KEY_NEXT、KEY_PRE、KEY_UP、KEY_DOWN_EXIT完成。其中KEY_ENTER為“確認(rèn)”鍵,當(dāng)滿足一定條件時,按下此鍵進(jìn)入相應(yīng)功能程序,。KEY_NEXT為“向右”按鍵,可實現(xiàn)鼠標(biāo)向右移動、下一張圖片切換、是非選擇、時間日期增加等功能。KEY_PRE為“向左”按鍵,可實現(xiàn)鼠標(biāo)向左移動、上一張圖片切換、是非選擇、時間日期減小等功能。KEY_UP為“向上”按鍵,實現(xiàn)鼠標(biāo)向上移動。KEY_DOWN_EXIT為“向下—退出”鍵,實現(xiàn)鼠標(biāo)向下移動或退出功能。電子相冊、萬年歷、系統(tǒng)設(shè)置、演示程序是通過輕量級任務(wù)系統(tǒng)Protothreads簡稱pt)進(jìn)行切換的,pt是一個占用內(nèi)存極小的C語言封裝宏函數(shù)庫,為一種無堆棧的輕量線程環(huán)境,能夠?qū)崿F(xiàn)模擬線程的條件阻塞、信號量操作等操作系統(tǒng)中特有的機(jī)制,從而使程序?qū)崿F(xiàn)多線程操作。它的最大特點(diǎn)就是每個pt線程只需增加十行代碼,并且只占用2字節(jié)的RAM資源。這使像51這種RAM資源小微控制器可以很輕松的實現(xiàn)pt多任務(wù)進(jìn)程。在BMP圖片的解碼顯示速度上要求刷新一幅圖片所需時間在5秒以下。二、研究方案、目標(biāo)本系統(tǒng)采用 STC12C5A60S2單片機(jī)芯片作為系統(tǒng)的核心部件,它除了具備微機(jī) CPU的數(shù)值計算功能外,還具有靈活強(qiáng)大的控制功能,以便實時檢測系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,實現(xiàn)自動控制。在本次設(shè)計中采用技術(shù)來實現(xiàn)電單片機(jī)子相冊功能。方案的設(shè)計可以從以下幾個方面來確定。微處理器的選擇,STC12 系列單片機(jī)是我國宏晶科技公司生產(chǎn)的單時鐘/機(jī)器周期(1T)的單片機(jī), 是高速/低功耗/超強(qiáng)抗干擾的新一代 8051單片機(jī),指令代碼完全兼容傳統(tǒng) 8051,但速度快 8-12倍。還增加了 ISP(在系統(tǒng)編程)/IAP(在應(yīng)用編程)編程、看門狗和 MAX810專用復(fù)位電路等功能,內(nèi)部資源非常豐富,flash 容量和 RAM容量可選范圍寬。在本次設(shè)計中采用 STC12C5A60S2單片機(jī),它具有 60k的程序存儲空間,1280Byte 的 RAM空間,在保證本系統(tǒng)功能實現(xiàn)的基礎(chǔ)上,還保留有很大的升級空間,非常適合用來設(shè)計這種讀寫數(shù)據(jù)大的場合;顯示電路的設(shè)計,隨著信息科技的快速發(fā)展,液晶顯示的使用越來越方便,已被普遍的使用。由于液晶顯示與驅(qū)動都集成在一個芯片上,因此使用起來很方便,因此在這里采用液晶顯示技術(shù),使用 ILI9325控制的 TFT彩屏作為整個系統(tǒng)的顯示模塊;GUI 界面控制電路的設(shè)計;以及 SD卡電路的設(shè)計;其中 SD卡的設(shè)計至關(guān)重要,是決定本設(shè)計成敗的關(guān)鍵,因為 SD卡里面存儲有電子相冊需要播放的 BMP圖片、系統(tǒng)應(yīng)用程序圖標(biāo)和其他系統(tǒng)所需資源。4SD卡設(shè)計成功后,將 SD卡中的圖片數(shù)據(jù)讀出通過單片機(jī)控制彩屏顯示出來,從而實現(xiàn)電子相冊的功能。5三、閱讀書目清單[1]現(xiàn)有主流數(shù)碼相框方案解析及對比[EB/OL].http://www.liangteng.com/,2008.[2]李群芳,肖看.單片機(jī)原理、接口及應(yīng)用-嵌入式系統(tǒng)技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2005.[3]宋戈,黃鶴松,員玉良等.51 單片機(jī)應(yīng)用開發(fā)范例大全[M].北京:人民郵電出版社,2010.[4]唐繼賢.51 單片機(jī)應(yīng)用系統(tǒng)開發(fā)實例精解 C 語言[M].上海:上海科學(xué)技術(shù)出版社,2011.[5]蘇義鑫,程敏,何力.基于 AT89C52 單片機(jī)的 SD 卡讀寫設(shè)計[J]. 世界電子元器件,2008,(5):65-69.[6]林倩,嚴(yán)桂林.基于 STC12C5A60S2 單片機(jī)的 SD 卡讀寫[J].電子元器件應(yīng)用,2010,(4):1.[7]倪天龍,路林.基于 STC12C5A60S2 的電子相框設(shè)計[J].鄭州輕工業(yè)學(xué)院學(xué)報(自然科學(xué)版),2011,(5):31-33,47.[8]楊永竹.液晶顯示模塊圖像的編輯以及點(diǎn)陣數(shù)據(jù)的提取[J].儀表技術(shù)與傳感器,2003,(8):48-50.[9]何欽銘,顏暉.C 語言程序設(shè)計[M].北京:高等教育出版社,2008.[10]閆石,馬潮.時間觸發(fā)模式下的 Protothreads 設(shè)計應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ,2009,(1).[11]Dunkds Adam.Protothreads- Lightweight,Stackless Threads in C[OL],2006[2008—07].http://dunkels.com/adam/pt/ .[12]周興華.51 單片機(jī)驅(qū)動彩屏的設(shè)計[J].無線電,2012,(2):62-66. [13]洪岳煒,王百鳴,謝超英.一種易于移植和使用的文件系統(tǒng)FatFs_Module[J ].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(5).[14]賈玉珍,靳冰,劉琮等.BMP 文件結(jié)構(gòu)的信息隱藏方法與實現(xiàn)[J].江西理工大學(xué)學(xué)報,2009,(1):42-44.[15]龔成清.RLE 改進(jìn)算法對 BMP 圖像無損壓縮的實現(xiàn)[J].現(xiàn)代計算機(jī),2006,(12):79-81,92.[16]李偉,張利華.BMP 文件解碼的研究與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2006,(7):1180-1182 .6四、畢業(yè)論文進(jìn)度計劃序號 各階段工作內(nèi)容 起止日期 備注1 查閱資料,撰寫開題 報告 2012.11.15—2013.01.052 總體方案設(shè)計 2013.01.06--02.043 軟、硬件詳細(xì)設(shè)計 2013.02.05—03.204 完成論文初稿 2013.03.21—04.215 修改定稿 2013.04.22--05.18五、主要參考資料[1]現(xiàn)有主流數(shù)碼相框方案解析及對比[EB/OL].http://www.liangteng.com/,2008.[2]李群芳,肖看.單片機(jī)原理、接口及應(yīng)用-嵌入式系統(tǒng)技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2005.[3]宋戈,黃鶴松,員玉良等.51 單片機(jī)應(yīng)用開發(fā)范例大全[M].北京:人民郵電出版社,2010.[4]唐繼賢.51 單片機(jī)應(yīng)用系統(tǒng)開發(fā)實例精解 C 語言[M].上海:上??茖W(xué)技術(shù)出版社,2011.[5]蘇義鑫,程敏,何力.基于 AT89C52 單片機(jī)的 SD 卡讀寫設(shè)計[J]. 世界電子元器件,2008,(5):65-69.[6]林倩,嚴(yán)桂林.基于 STC12C5A60S2 單片機(jī)的 SD 卡讀寫[J].電子元器件應(yīng)用,2010,(4):1.[7]倪天龍,路林.基于 STC12C5A60S2 的電子相框設(shè)計[J].鄭州輕工業(yè)學(xué)院學(xué)報(自然科學(xué)版),2011,(5):31-33,47.[8]楊永竹.液晶顯示模塊圖像的編輯以及點(diǎn)陣數(shù)據(jù)的提取[J].儀表技術(shù)與傳感器,2003,(8):48-50.[9]何欽銘,顏暉.C 語言程序設(shè)計[M].北京:高等教育出版社,2008.[10]閆石,馬潮.時間觸發(fā)模式下的 Protothreads 設(shè)計應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ,2009,(1).[11]Dunkds Adam.Protothreads- Lightweight,Stackless Threads in C[OL],2006[2008—07].http://dunkels.com/adam/pt/ .7六、畢業(yè)論文進(jìn)度表(本表由學(xué)生填寫,每期分別交指導(dǎo)教師簽署審查意見)前 期(2012 年 11 月17 日至2013 年 1 月8 日)學(xué)生主要工作:去圖書館借閱與數(shù)碼相框相關(guān)的書籍,并通過上網(wǎng)的方式來收集相關(guān)的資料,了解數(shù)碼相框的相關(guān)知識及其發(fā)展趨勢,同時與老師聯(lián)系,咨詢一些畢業(yè)設(shè)計方面的信息并在老師的指導(dǎo)下進(jìn)行一些大致工作。在電腦上安裝 Keil uVision4 和 Altium Designer 軟件,學(xué)會用它們設(shè)計并在開發(fā)板上仿真一些模塊電路的程序,為畢業(yè)設(shè)計的的寫作作準(zhǔn)備。指導(dǎo)教師審查意見:年 月 日8中 期( 2013 年 1月 12 日至2013 年 5 月5 日)學(xué)生主要工作:整理好前期收集的一些資料并認(rèn)真閱讀,做好相關(guān)的知識準(zhǔn)備,對設(shè)計課題的可行性進(jìn)行分析,初步形成設(shè)計的大體思路,形成基本框架,確定設(shè)計方案和目標(biāo),將之前做好的各個部分的設(shè)計組織起來,完成各個電路模塊的設(shè)計和程序設(shè)計仿真并形成初稿。指導(dǎo)教師審查意見:年 月 日9后 期(2013 年 5 月 7日至2013 年 5 月 18日)學(xué)生主要工作:將設(shè)計初稿交給指導(dǎo)老師審查,依據(jù)老師的一些意見和建議來對論文進(jìn)行修改和完善,完成論文終稿。指導(dǎo)教師審查意見:年 月 日10七、其他(學(xué)生提交)1.開題報告 1 份 2.外文資料譯文 1 份(1000 字以上,并附資料原文) 3.設(shè)計 1 份(理科 4000 字以上,文科 6000 字以上) 指 導(dǎo) 教 師: 系 負(fù) 責(zé) 人: 學(xué)生開始執(zhí)行任 務(wù) 書 日 期 : 學(xué) 生 姓 名 : 送交畢業(yè)設(shè)計日 期 : 宜春學(xué)院畢業(yè)設(shè)計開題報告題 目:基于單片機(jī)的多功能數(shù)碼相框設(shè)計與實現(xiàn) 學(xué) 院:物理科學(xué)與工程技術(shù)學(xué)院 系 電子與信息工程系 專 業(yè): 電子信息工程 班 級: 09 電信 學(xué) 號: 0934301122 姓 名: 劉勇 指導(dǎo)教師: 劉莉 填表日期: 2012 年 11 月 26 日2一、選題的依據(jù)及意義數(shù)碼相框是一個瀏覽圖片的電子設(shè)備,具有很多傳統(tǒng)紙質(zhì)照片不可比擬的優(yōu)點(diǎn)。傳統(tǒng)紙質(zhì)的相冊占用空間大,容易丟失,攜帶不方便,而且不能永久保存,時間久了會變得很模糊,致使很值得紀(jì)念的相片失去了紀(jì)念的意義。而數(shù)碼相框可以很好的解決這些問題,而且數(shù)碼相框能以圖、文、聲、像等多種方式呈現(xiàn)給用戶,使用戶可以獲得聽覺及視覺上的享受。數(shù)碼相框還可以使用計算機(jī)方便的修改編輯照片,使照片更具個性化。同時數(shù)碼相框可以快速的查找檢索到所要瀏覽的相片,具有永不掉色和永久保存,復(fù)制分享照片非常方便,攜帶方便,而且還可以隨時將自己旅游、學(xué)習(xí)、畢業(yè)留影、生活中的點(diǎn)點(diǎn)滴滴拍攝成照片加入到數(shù)碼相框中瀏覽,方便與家人朋友同事分享自己的相片。為老人準(zhǔn)備一個精致小巧的數(shù)碼相框,把老人的親人在外拍的各種有意思的相片放入數(shù)碼相冊中,對老人的老年生活來說會是一個不錯的選擇。正是因為數(shù)碼相框具有如上那么多的優(yōu)點(diǎn),數(shù)碼相框的發(fā)展需求才越來越大,因此選擇數(shù)碼相框作為畢業(yè)設(shè)計課題將會是一個不錯的選擇。二、國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(含文獻(xiàn)綜述)數(shù)碼相框從剛提出發(fā)展到現(xiàn)在,已有近九年的時間。起初數(shù)碼相框的解決方案多數(shù)是移植其他系統(tǒng)的平臺,而用于數(shù)碼相框的專業(yè)平臺不多?,F(xiàn)在,數(shù)碼相框市場需求越來越大,各種用于數(shù)碼相框的專業(yè)平臺也越來越成熟,各種解決方案也數(shù)不勝數(shù)。而在 ARM,DSP,Nios II等高端平臺上更是已開發(fā)出了各種各樣的數(shù)碼相框,更能多,這類數(shù)碼相框一般還具有音視頻播放等多媒體功能。近幾年,現(xiàn)場可編程邏輯陣列(FPGA)發(fā)展迅猛,由于 FPGA在實現(xiàn)復(fù)雜算法時會提高實時性,因此在數(shù)據(jù)計算、通信、自動控制等領(lǐng)域的應(yīng)用越來越廣泛,使用它減少了系統(tǒng)開發(fā)的風(fēng)險和成本,縮短了開發(fā)維護(hù)周期。因為 FPGA的快速發(fā)展,采用 Nios II處理器的自定義指令,而且硬件也能實現(xiàn)一些重要的算法,所以使得數(shù)據(jù)處理的速度很快,保證了整個系統(tǒng)的良好的實時性。并且在外圍電路不改變的情況下,通過 FPGA內(nèi)部充足的硬件邏輯資源,能很方便的對系統(tǒng)升級及功能增強(qiáng)。所以,F(xiàn)PGA 是一個發(fā)展趨勢。嵌入式現(xiàn)在在電子領(lǐng)域是最熱門的概念之一,是當(dāng)前電子技術(shù)發(fā)展的又一新熱點(diǎn)。它是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積和功耗嚴(yán)格要求的專用計算機(jī)系統(tǒng),在消費(fèi)電子產(chǎn)品中應(yīng)用非常廣泛。嵌入式系統(tǒng)在硬件上已經(jīng)進(jìn)入片上系統(tǒng)階段,使用片上系統(tǒng)開發(fā)產(chǎn)品設(shè)計快速、靈活,具有完善的軟件開發(fā)平臺,使基于 FPGA的片上系統(tǒng)得到了廣泛的應(yīng)用。采用片上系統(tǒng)作為數(shù)碼相框的設(shè)計將是一種前所未有的新方法。三、本課題研究內(nèi)容(1)主要實現(xiàn)數(shù)碼相框功能,解碼 SD 卡中的 BMP 圖片并將其顯示到液晶顯示屏上。(2)有按鍵控制系統(tǒng),能用按鍵控制,進(jìn)行程序間的切換,并能用按鍵對 BMP 圖片的播放進(jìn)行控制,例如上下幅圖片的切換,自動播放的切換。還能用按鍵對系統(tǒng)時間進(jìn)行設(shè)置。(3)用定時器實現(xiàn)軟時鐘,能正確顯示當(dāng)前時間、日期以及星期,并設(shè)計制作一個簡易的萬年歷程序。(4)實現(xiàn)多任務(wù)圖片菜單設(shè)計,當(dāng)鼠標(biāo)移到應(yīng)用程序圖標(biāo)處,按下確定鍵進(jìn)入應(yīng)用程序。 四、本課題研究方法3本課題是使用實驗的研究方法,數(shù)碼相框的現(xiàn)有專業(yè)解決放啊都是基于 ARM 或者 DSP 等高端處理器所設(shè)計的嵌入式系統(tǒng)。這種數(shù)碼相框一般都帶有適合本處理器的操作系統(tǒng),例如 UCOS 等微操作系統(tǒng),操作系統(tǒng)一般帶有文件系統(tǒng),不需要移植其他操作系統(tǒng)就可以方便的對存儲在 SD 卡中的各種文件進(jìn)行讀寫操作。而基于單片機(jī)等低端處理器的數(shù)碼相框解決方案則少之又少,根據(jù)課題所提出的要求和所要實現(xiàn)的功能,在單片機(jī)開發(fā)板上進(jìn)行實驗驗證。實驗步驟包括以下幾步:(1)編寫各個模塊的驅(qū)動程序,將各個模塊的硬件驅(qū)動,使其正常工作。(2)第一步功能實現(xiàn)后,再根據(jù)課題要求,考慮移植一個功能完善而又精簡的文件系統(tǒng),實現(xiàn)對存儲在 SD 卡中的 BMP 圖像文件進(jìn)行讀操作。經(jīng)過網(wǎng)上查找資料,最終確定移植一個占用內(nèi)存很小的文件系統(tǒng) FATFS,這個文件系統(tǒng)不僅代碼量少,而且功能強(qiáng)大,還不依賴于任何硬件,方便移植。(3)移植了文件系統(tǒng)后,接下來要做的就是對 BMP 圖片的解碼工作了,利用文件系統(tǒng)對存儲在 SD 卡中的 BMP 圖像文件數(shù)據(jù)讀取出來并送單片機(jī)處理,單片機(jī)將數(shù)據(jù)送液晶顯示屏顯示,就可以實現(xiàn) BMP 圖像文件的顯示了。經(jīng)過以上三個步驟的驗證,數(shù)碼相框的功能已經(jīng)基本上實現(xiàn)了,需要做的就是不停的優(yōu)化程序代碼,調(diào)試程序,使其性能能滿足課題所需的要求,在速度和解碼圖片顯示的質(zhì)量上都要達(dá)到一定的性能要求。通過不斷的實驗和改進(jìn)程序,從而使整個系統(tǒng)的軟件功能完善,再進(jìn)行相應(yīng)硬件的設(shè)計。五、研究目標(biāo)、主要特色及工作進(jìn)度研究目的:實現(xiàn) BMP 圖片的解碼操作,實現(xiàn)數(shù)碼相框功能。主要特點(diǎn):通過 GUI函數(shù)庫,設(shè)計出比較漂亮的圖片播放顯示控制界面,移植入一個輕量級線程庫,使系統(tǒng)實時性得到提高,并且移植了移植功能強(qiáng)大的文件系統(tǒng),可以對 SD卡中的文件進(jìn)行各種操作,能將 SD卡中的 BMP圖片解碼顯示到液晶顯示屏上。并利用單片機(jī)的定時器設(shè)計了一個軟時鐘,在軟時鐘的基礎(chǔ)上實現(xiàn)了簡易萬年歷的功能,同時能對系統(tǒng)的時間日期進(jìn)行設(shè)置,以便準(zhǔn)確調(diào)時。工作進(jìn)度:(1)2012.11.15—2013.01.05 收集各種與設(shè)計相關(guān)的軟硬件資料并仔細(xì)閱讀,直到對所做設(shè)計有一個比較清晰的認(rèn)識和初步的設(shè)計思路。(2)2013.01.06--03.20 對所收集的資料進(jìn)行整理,確定設(shè)計研究方案,按要求編寫開題報告。(3)2013.03.21—04.20 根據(jù)任務(wù)書和開題報告以及收集的各種有用資料進(jìn)行初步設(shè)計,進(jìn)行電路模塊的驗證,驗證最簡單的電路模塊是否工作正常,循序漸進(jìn)的完成每個電路模塊的設(shè)計。各電路模塊硬件設(shè)計完成后編寫各個模塊的驅(qū)動程序,不斷的調(diào)試軟硬件,直到該模塊軟硬件都正常工作。(4)2013.04.21—05.15 完成了各電路模塊的軟硬件設(shè)計后,將各模塊合并成一張電路圖,進(jìn)行系統(tǒng)總硬件設(shè)計。然后編寫系統(tǒng)源程序,通過調(diào)用上一步所設(shè)計的各個模塊的驅(qū)動程序,不斷完善程序,設(shè)計出漂亮的 GUI顯示界面。(5)2013.05.16--05.18 所有軟硬件設(shè)計都成功實現(xiàn)了后,開始編寫畢業(yè)設(shè)計正文。4六、參考文獻(xiàn)[1]現(xiàn)有主流數(shù)碼相框方案解析及對比[EB/OL].http://www.liangteng.com/,2008.[2]李群芳,肖看.單片機(jī)原理、接口及應(yīng)用-嵌入式系統(tǒng)技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2005.[3]宋戈,黃鶴松,員玉良等.51 單片機(jī)應(yīng)用開發(fā)范例大全[M].北京:人民郵電出版社,2010.[4]唐繼賢.51 單片機(jī)應(yīng)用系統(tǒng)開發(fā)實例精解 C 語言[M].上海:上海科學(xué)技術(shù)出版社,2011.[5]蘇義鑫,程敏,何力.基于 AT89C52 單片機(jī)的 SD 卡讀寫設(shè)計[J]. 世界電子元器件,2008,(5):65-69.[6]林倩,嚴(yán)桂林.基于 STC12C5A60S2 單片機(jī)的 SD 卡讀寫[J].電子元器件應(yīng)用,2010,(4):1.[7]倪天龍,路林.基于 STC12C5A60S2 的電子相框設(shè)計[J].鄭州輕工業(yè)學(xué)院學(xué)報(自然科學(xué)版),2011,(5):31-33,47.[8]楊永竹.液晶顯示模塊圖像的編輯以及點(diǎn)陣數(shù)據(jù)的提取[J].儀表技術(shù)與傳感器,2003,(8):48-50.[9]何欽銘,顏暉.C 語言程序設(shè)計[M].北京:高等教育出版社,2008.[10]閆石,馬潮.時間觸發(fā)模式下的 Protothreads 設(shè)計應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ,2009,(1).[11]Dunkds Adam.Protothreads- Lightweight,Stackless Threads in C[OL],2006[2008—07].http://dunkels.com/adam/pt/ .[12]周興華.51 單片機(jī)驅(qū)動彩屏的設(shè)計[J].無線電,2012,(2):62-66. [13]洪岳煒,王百鳴,謝超英.一種易于移植和使用的文件系統(tǒng)FatFs_Module[J ].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(5).[14]賈玉珍,靳冰,劉琮等.BMP 文件結(jié)構(gòu)的信息隱藏方法與實現(xiàn)[J].江西理工大學(xué)學(xué)報,2009,(1):42-44.[15]龔成清.RLE 改進(jìn)算法對 BMP 圖像無損壓縮的實現(xiàn)[J].現(xiàn)代計算機(jī),2006,(12):79-81,92.[16]李偉,張利華.BMP 文件解碼的研究與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2006,(7):1180-1182 .宜春學(xué)院 2013 屆畢業(yè)設(shè)計答辯資格審查表題 目 基于單片機(jī)的多功能數(shù)碼相框設(shè)計與實現(xiàn) 學(xué)生姓名 劉勇 專業(yè) 電子信息工程 班級 09電信 學(xué)號 0934301122論文完成情況 完成開題報告 完成外文資料翻譯 完成中、英文摘要 完成檢查內(nèi)容軟硬件驗收 完成論文期間考勤情況 滿勤 累計曠課時間 無學(xué)生自查說明本人嚴(yán)格按照任務(wù)書進(jìn)度開展論文設(shè)計工作及時發(fā)現(xiàn)問題并發(fā)饋給指導(dǎo)老師,跟老師一起探討最佳解決方案,不斷的改進(jìn)設(shè)計;嚴(yán)格按照任務(wù)書的要求,對論文進(jìn)行排版,確保內(nèi)容的準(zhǔn)確性、格式無誤的情況下完成畢業(yè)論文設(shè)計工作。學(xué)生簽名:年 月 日指導(dǎo)教師意見(說明是否進(jìn)行答辯及評定成績)指導(dǎo)教師簽名:成績 年 月 日宜春學(xué)院論文原創(chuàng)性申明本人鄭重申明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果。對本文的研究作出重要貢獻(xiàn)的個人和集體,均在文中以明確方式表明。本人完全意識到本申明的法律責(zé)任,其后果由本人承擔(dān)。作者簽名:日 期:論文版權(quán)使用授權(quán)書本論文作者完全了解學(xué)校有關(guān)保留、使用論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)宜春學(xué)院可以將本論文的全部或部分內(nèi)容編入數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本論文。作者簽名: 日期:導(dǎo)師簽名: 日期:宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計I基于單片機(jī)的多功能數(shù)碼相框設(shè)計與實現(xiàn)宜春學(xué)院 物理科學(xué)與工程技術(shù)學(xué)院 電子信息工程 劉勇指導(dǎo)老師:劉莉摘要:設(shè)計并實現(xiàn)了一款基于單片機(jī)的電子數(shù)碼相框。系統(tǒng)主要包括 4 個任務(wù)程序:圖片播放器、演示程序、萬年歷程序以及系統(tǒng)設(shè)置程序。通過按鍵選擇,支持人工控制播放及系統(tǒng)自動播放兩種播放功能。采用一種開源的適合 SD 卡使用的 FATFS 文件系統(tǒng),實現(xiàn)對 SD 卡內(nèi)的文件進(jìn)行讀、寫、枚舉操作;通過定時器設(shè)計產(chǎn)生系統(tǒng)時間;采用軟件解碼技術(shù),對存儲在 SD 卡 photo 目錄下的BMP 圖像文件進(jìn)行解碼操作,并將其顯示到液晶顯示屏上。通過對多任務(wù)實時操作系統(tǒng)Protothreads 的移植,保證了系統(tǒng)工作的實時性,實現(xiàn)了系統(tǒng)主菜單和應(yīng)用程序之間切換。由于系統(tǒng)功能的實現(xiàn)主要依賴于軟件程序,從而使系統(tǒng)具有靈活性、方便移植、硬件結(jié)構(gòu)簡單、外圍器件少,產(chǎn)品成本低,系統(tǒng)維護(hù)和升級容易等特點(diǎn)。關(guān)鍵詞:數(shù)碼相框;單片機(jī);文件系統(tǒng);多任務(wù);圖片解碼Abstract: A digital photo frame based on the single chip microcomputer ( scm) was designed and implemented. Four task programs such as pictures player, demo program, calendar program, and system setup were mainly included in this system. Manual controlled play and autoplay were all supported through the selection button. An open source FATFS file system which is suited to the secure digital (SD) card was adopted to realize reading, writing, enumeration operation of the card; System time was designed by timer; software decoding technology was used to implement the decoding operation of BMP image files in the photo directory of the SD card, so that to display on the LCD panel. To ensure the system working in real time , and to realize the programs exchanging between system main menu and application program,a multiprocessing real time operating system was transplanted , Because the system function was mainly depended on the software,it has many excellent characteristics such as the flexibility, easy to transplant, simple hardware structure, less periphery components, low product cost, system maintenance and upgrade easily and so on.Key words:Digital Photo Frame ; Single Chip Microcomputer ; File System ; Multi-tasking ; Picture Decoding宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計II目 錄1 前言 11.1 選題背景 .11.2 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢 .11.3 論文研究的主要內(nèi)容 .12 方案設(shè)計與選擇 12.1 數(shù)碼相框主流設(shè)計方案 .12.2 本課題設(shè)計方案介紹 .22.3 系統(tǒng)總體硬件介紹 .23 詳細(xì)硬件設(shè)計 33.1 STC12C5A60S2 單片機(jī)概述 33.1.1 I/O 口各種不同的工作模式及配置介紹 .33.1.2 單片機(jī)最小系統(tǒng) 43.2 電源電路 .43.3 SD 卡接口電路 53.4 按鍵電路 .53.5 LCD 液晶顯示電路 .64 數(shù)碼相框的軟件設(shè)計 64.1 軟件總體設(shè)計 .64.1.1 Protothreads 極輕量級系統(tǒng)介紹 74.2 驅(qū)動程序設(shè)計 .84.2.1 SPI 驅(qū)動程序設(shè)計 84.2.2 SD 卡驅(qū)動程序設(shè)計 .84.2.3 ILI9325 驅(qū)動程序設(shè)計 .94.2.4 鼠標(biāo)按鍵驅(qū)動程序設(shè)計 104.3 FATFS 文件系統(tǒng)移植設(shè)計 .114.3.1 FATFS 文件系統(tǒng)介紹 114.3.2 FAT 文件系統(tǒng)的結(jié)構(gòu) .114.3.3 FATFS 文件系統(tǒng)移植過程 124.3.4 FATFS 文件系統(tǒng)讀取文件過程 124.4 BMP 圖像解碼程序設(shè)計 .144.4.1 BMP 圖像文件簡介 144.4.2 BMP 圖像軟件解碼過程 144.4.3 BMP 圖像的顯示控制 154.5 系統(tǒng)時間程序設(shè)計 .174.6 萬年歷程序設(shè)計 .184.7 系統(tǒng)設(shè)置程序設(shè)計 .185 實現(xiàn)與測試 195.1 圖像顯示結(jié)果及分析 .196 結(jié)論與展望 22參考文獻(xiàn) 23謝 辭 24附錄 1 總電路圖 .25附錄 2 系統(tǒng)源程序 .26宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計11 前言1.1 選題背景數(shù)碼相框是一個瀏覽圖片的電子設(shè)備,具有很多傳統(tǒng)紙質(zhì)照片不可比擬的優(yōu)點(diǎn)。傳統(tǒng)紙質(zhì)的相冊占用空間大,容易丟失,攜帶不方便,而且不能永久保存,時間久了會變得很模糊,致使很值得紀(jì)念的相片失去了紀(jì)念的意義。而數(shù)碼相框可以很好的解決這些問題,而且數(shù)碼相框能以圖、文、聲、像等多種方式呈現(xiàn)給用戶,使用戶可以獲得聽覺及視覺上的享受。數(shù)碼相框還可以使用計算機(jī)方便的修改編輯照片,使照片更具個性化。同時數(shù)碼相框可以快速的查找檢索到所要瀏覽的相片,具有永不掉色和永久保存,復(fù)制分享照片非常方便,攜帶方便,而且還可以隨時將自己旅游、學(xué)習(xí)、畢業(yè)留影、生活中的點(diǎn)點(diǎn)滴滴拍攝成照片加入到數(shù)碼相框中瀏覽,方便親朋好友分享自己的相片。為老人準(zhǔn)備一個精致小巧的數(shù)碼相框,把老人的親人在外拍的各種有意思的相片放入數(shù)碼相冊中,對老人的老年生活來說也會是一個不錯的選擇。正是因為數(shù)碼相框具有如上那么多的優(yōu)點(diǎn),數(shù)碼相框的發(fā)展需求才越來越大,因此選擇數(shù)碼相框作為畢業(yè)設(shè)計課題將會是一個不錯的選擇。1.2 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢數(shù)碼相框從剛提出發(fā)展到現(xiàn)在,已有近九年的時間。起初數(shù)碼相框的解決方案多數(shù)是移植其他系統(tǒng)的平臺,而用于數(shù)碼相框的專業(yè)平臺不多?,F(xiàn)在,數(shù)碼相框市場需求越來越大,各種用于數(shù)碼相框的專業(yè)平臺也越來越成熟,各種解決方案也數(shù)不勝數(shù)。而在 ARM,DSP,Nios II等高端平臺上更是已開發(fā)出了各種各樣的數(shù)碼相框,更能多,這類數(shù)碼相框一般還具有音視頻播放等多媒體功能。近幾年,現(xiàn)場可編程邏輯陣列(FPGA)發(fā)展迅猛,由于 FPGA在實現(xiàn)復(fù)雜算法時會提高實時性,因此在數(shù)據(jù)計算、通信、自動控制等領(lǐng)域的應(yīng)用越來越廣泛,使用它減少了系統(tǒng)開發(fā)的風(fēng)險和成本,縮短了開發(fā)維護(hù)周期。因為 FPGA的快速發(fā)展,采用 Nios II處理器的自定義指令,而且硬件也能實現(xiàn)一些重要的算法,所以使得數(shù)據(jù)處理的速度很快,保證了整個系統(tǒng)的良好的實時性。并且在外圍電路不改變的情況下,通過 FPGA內(nèi)部充足的硬件邏輯資源,能很方便的對系統(tǒng)升級及功能增強(qiáng)。所以,F(xiàn)PGA 是一個發(fā)展趨勢。嵌入式現(xiàn)在在電子領(lǐng)域是最熱門的概念之一,是當(dāng)前電子技術(shù)發(fā)展的又一新熱點(diǎn)。它是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積和功耗嚴(yán)格要求的專用計算機(jī)系統(tǒng),在消費(fèi)電子產(chǎn)品中應(yīng)用非常廣泛。嵌入式系統(tǒng)在硬件上已經(jīng)進(jìn)入片上系統(tǒng)階段,使用片上系統(tǒng)開發(fā)產(chǎn)品設(shè)計快速、靈活,具有完善的軟件開發(fā)平臺,使基于 FPGA的片上系統(tǒng)得到了廣泛的應(yīng)用。采用片上系統(tǒng)作為數(shù)碼相框的設(shè)計將是一種前所未有的新方法。1.3 論文研究的主要內(nèi)容本課題設(shè)計的數(shù)碼相框主要以 STC12C5A60S2 單片機(jī)作為主要控制中心,采用 BMP 圖片軟件解碼技術(shù),并移植 FATFS 文件系統(tǒng),實現(xiàn)對存儲在 SD 卡內(nèi)的 BMP 圖片文件進(jìn)行讀取操作,并且編寫解碼算法對 BMP 圖片進(jìn)行解碼操作,然后通過 STC12C5A60S2 單片機(jī)驅(qū)動液晶顯示屏,對解碼后的圖片進(jìn)行顯示。并在 TFT 彩屏上實現(xiàn)簡單的 GUI 界面操作,使顯示界面更漂亮美觀。此方案有如下兩個優(yōu)點(diǎn)。一是制作成本低,硬件結(jié)構(gòu)簡單,軟硬件設(shè)計方便。而且易于擴(kuò)展和升級更多功能。其中的圖片解碼功能是通過軟件模擬實現(xiàn),不依賴于硬件,這樣使系統(tǒng)具有良好的靈活性和適應(yīng)性,易于移植。宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計22 方案設(shè)計與選擇2.1 數(shù)碼相框主流設(shè)計方案目前,國內(nèi)外數(shù)碼相框的設(shè)計方案主要有以下幾種 [1]:(1)采用 ARM+JPEG 硬件解碼器作為核心處理系統(tǒng),解碼速度快,圖片顯示速度比較快捷,支持 MPEG1、 MPEG4;在 USB 接口方面,支持 USB2.0 Slave 和 USB1.1 Host;在音頻處理方面,支持 mp3、wma 、wav 、aac、 ape、flac、alac 等音頻播放。這類數(shù)碼相框性能比較全面,包括圖片顯示播放,音視頻播放,存儲卡的支持,USB 等多種功能,而且功耗低,圖片分辨率也比較高。(2)采用單芯片處理系統(tǒng),PCB 板結(jié)構(gòu)簡單,支持 JPEG、BMP 、GIF 以及 MP3、MP4 的播放。這類數(shù)碼相框一般成本低,但是圖片顯示效果不太理想。(3)采用嵌入式的構(gòu)架來做數(shù)碼相框,采用純硬件解碼 JPEG,對圖像的任何編輯操作均通過硬件來實現(xiàn),這類數(shù)碼相框圖像處理速度快,支持圖像的分辨率也比較高。但與第一類方案相比,功能單一,娛樂性能受到限制。在國內(nèi),數(shù)碼相框的產(chǎn)品更注重多功能,因為國內(nèi)用戶更傾向于一機(jī)多用,即一種電子產(chǎn)品具有多種功能。但是國外尤其是歐美的用戶,更傾向于簡潔、實用的電子產(chǎn)品。例如愛國者的“雙屏數(shù)碼相框”研發(fā)的目標(biāo)就是僅僅把數(shù)碼相框的“照片展示”特性發(fā)揮到極致,使照片在數(shù)碼相框上的顯示效果多種多樣。事實證明,這類數(shù)碼相框產(chǎn)品也會越來越受人們的喜歡,因此,數(shù)碼相框的發(fā)展也在朝這方面不斷的創(chuàng)新和發(fā)展。2.2 本課題設(shè)計方案介紹以上方案都是比較成熟的方案,在市場上利用這些方案制作的數(shù)碼相框也比較多,其功能也比較全面,一般具有圖片瀏覽、音頻播放、視頻播放、游戲娛樂等功能。滿足大多數(shù)消費(fèi)者對功能的要求,其主控芯片一般都是采用 ARM 或者 DSP 等高級單片機(jī)。而采用單片機(jī)設(shè)計的數(shù)碼相框雖然沒有 ARM 或者 DSP 設(shè)計的數(shù)碼相框那么高級,功能沒有那么多,但是也有其優(yōu)越性,成本低、易于開發(fā)、功能擴(kuò)展方便。特別是現(xiàn)在單片機(jī)處理速度也越來越快,內(nèi)部資源越來越豐富,ROM 和RAM 也都比較大。所以利用單片機(jī)設(shè)計一個簡易數(shù)碼相框還是有研究意義的?;谝陨显?,本設(shè)計選擇的是以 STC12C5A60S2 單片機(jī),搭載 FATFS 文件系統(tǒng),將存儲與SD 卡中的 BMP 圖片解碼并通過單片機(jī)控制液晶顯示屏將圖片顯示出來,并且在顯示速度上能夠滿足要求,完全顯示一幅圖片一般不能超過 5 秒,否則就沒有研究意義了,試想一下如果顯示一幅圖片需要 7、8 秒甚至上 10 秒,那是很糟糕的。此方案有兩個方面優(yōu)點(diǎn)。一是制作成本低,硬件結(jié)構(gòu)簡單,設(shè)計方便,易于開發(fā),而且易于擴(kuò)展和升級其他功能。2.3 系統(tǒng)總體硬件介紹數(shù)碼相框系統(tǒng)硬件設(shè)計結(jié)構(gòu)框圖如圖 2-1 所示。圖 2-1 數(shù)碼相框系統(tǒng)硬件設(shè)計結(jié)構(gòu)框圖本系統(tǒng)硬件結(jié)構(gòu)設(shè)計簡單,主要以 51 單片機(jī)最小系統(tǒng)為主控中心,搭載電源電路、SD 卡存儲STC12C5A60S2單片機(jī)電源電路SD 卡接口電路按鍵電路時鐘電路復(fù)位電路LCD 液晶顯示電路宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計3電路、按鍵控制電路以及 LCD 液晶顯示電路。51 單片機(jī)最小系統(tǒng)包含了晶振電路及復(fù)位電路,是整個系統(tǒng)能正常工作的基礎(chǔ)。電源電路應(yīng)該包含電源轉(zhuǎn)換電路,因為 SD 卡和 LCD 液晶顯示屏的工作電壓和系統(tǒng)工作電源不同,所以應(yīng)該進(jìn)行電壓轉(zhuǎn)換,保證 SD 卡和 LCD 液晶顯示屏能夠正常的工作。SD 卡存儲電路配置一個 SD 卡卡座,并設(shè)計了 SD 卡卡座與單片機(jī)的連接。按鍵控制電路主要完成系統(tǒng)功能的切換、系統(tǒng)設(shè)置以及圖片瀏覽控制。3 詳細(xì)硬件設(shè)計3.1 STC12C5A60S2 單片機(jī)概述本設(shè)計選擇的主控芯片是 STC12C5A60S2。該單片機(jī)是我國宏晶科技生產(chǎn)的單時鐘 /機(jī)器周期的單片機(jī),具有高速、功耗低、抗干擾能力強(qiáng)、指令代碼完全兼容 51 單片機(jī)等優(yōu)點(diǎn)。與普通 51 單片機(jī)結(jié)構(gòu)基本相同,所不同的是其內(nèi)部集成了更多的實用功能(如:AD 、PWM 等功能) 。其工作電壓范圍寬,為 3.3V-5.5V,工作頻率為 0~35MHz,程序存儲空間為 60KB,RAM 容量為1280Byte,具有 40 個通用 I/O 口。內(nèi)置復(fù)位、通用全雙工串行接口、SPI 總線接口,用來和 SD 卡通訊可以顯著提高讀取速度。該單片機(jī)內(nèi)部資源豐富,可以完全滿足本次設(shè)計的要求,充分利用其內(nèi)部資源,減少外圍硬件設(shè)計,既可以降低成本,還使設(shè)計更加簡單。STC12C5A60S2 單片機(jī)的引腳圖如圖 3-1 所示。3.1.1 I/O 口各種不同的工作模式及配置介紹STC12C5A60S2 系列單片機(jī)所有 I/O 口均( 新增 P4 口和 P5 口)可由軟件配置成 4 種工作類型之一,如表 3-1 所示。4 種類型分別為:準(zhǔn)雙向口 /弱上拉、強(qiáng)推挽輸出/強(qiáng)上拉、僅為輸入(高阻)或開漏輸出功能。每個口由 2 個控制寄存器中的相應(yīng)位控制每個引腳工作類型。STC12C5A60S2 系列單片機(jī)上電復(fù)位后為準(zhǔn)雙向口/ 弱上拉模式。2V 以上時為高電平,0.8V 以下時為低電平。每個 I/O口驅(qū)動能力均可達(dá)到 20mA,但整個芯片最大不得超過 120mA。表 3-1 I/O 口工作類型設(shè)定P4M1[7:0] P4M0[7:0] I/O 口模式0 0 準(zhǔn)雙向口(傳統(tǒng) 8051 I/O 口模式) ,灌電流可達(dá) 20mA,拉電流為 230uA,由于制造誤差,實際為 250Ua~150uA0 1 強(qiáng)推挽輸出(強(qiáng)上拉輸出,可達(dá) 20mA,要加限流電路)1 0 僅為輸入(高阻)1 1 開漏,內(nèi)部上拉電阻斷開,要外加例如:P4M1=0XA0,P4M0=0XC0 ,則 P4.7 為開漏,P4.6 為強(qiáng)推挽輸出,P4.5 為高阻輸入,P4.4/P4.3/P4.2/P4.1/P4.0 為準(zhǔn)雙向口/ 弱上拉,其他 I/O 配置方法和 P4 口一樣,只要正確給其PiM1, PiM0( i=0,1,2,3)兩個寄存器賦值就行。宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計4圖 3-1 STC12C5A60S2 單片機(jī)引腳圖3.1.2 單片機(jī)最小系統(tǒng)單片機(jī)電路要正常工作,除了有 STC12C5A60S2 單片機(jī)外,還需設(shè)計有正確的時鐘電路和可靠的復(fù)位電路,這三個部分組成了單片機(jī)最小系統(tǒng),當(dāng)然還要有電源電路。(1)時鐘電路STC12 系列單片機(jī)既可以使用外部時鐘,也可以使用內(nèi)部振蕩器提供時鐘信號。本設(shè)計使用的是外部時鐘,并且使用的晶振是 32MHz,提高了圖片刷新的速度。將晶振連接于 XTAL2 和XTAL1 引腳之間,并與兩個 20-40pF 之間的電容連接接地,電路圖如圖 3-2 所示:圖 3-2 單片機(jī)最小系統(tǒng)時鐘電路(2)復(fù)位電路復(fù)位操作完成單片機(jī)片內(nèi)電路的初始化,使單片機(jī)從一種確定的狀態(tài)開始運(yùn)行,而不至于使程序運(yùn)行出錯。一般是 RST引腳出現(xiàn) 5ms以上的高電平時,單片機(jī)就可以完成復(fù)位過程。復(fù)位有上電復(fù)位、開關(guān)復(fù)位。本設(shè)計同時使用了上電復(fù)位和開關(guān)復(fù)位。上電復(fù)位是上電時使單片機(jī)復(fù)位,而開關(guān)復(fù)位是在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。如圖 4-3復(fù)位電路增加了二極管,在電源電壓出現(xiàn)跳變時加快電容放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復(fù)位。通常復(fù)位電容和復(fù)位電阻的值為 C1=10~30uF,R2=1~10K。單片機(jī)最小系統(tǒng)復(fù)位電路如圖 3-3所示:宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計5圖 3-3 單片機(jī)最小系統(tǒng)復(fù)位電路3.2 電源電路在本系統(tǒng)中,各個模塊的工作電壓不盡相同,TFT 液晶顯示屏和 SD卡工作電壓為 3.3V,而單片機(jī)工作電壓為 5V。為了完成各模塊電壓匹配問題,需要設(shè)計一個電源電路,完成電壓轉(zhuǎn)換。其電路圖如圖 3-4所示:圖 3-4 電源電路在單片機(jī)系統(tǒng)中,電源轉(zhuǎn)換一般都是選用 AMS1117-3.3V穩(wěn)壓芯片。AMS1117 是一個正向低壓降三端穩(wěn)壓器,其內(nèi)部集成過熱保護(hù)和限流電路,體積小,穩(wěn)壓特性好,輸出電壓精度高,是便攜電子產(chǎn)品中最常用的穩(wěn)壓芯片。在本設(shè)計中選擇該穩(wěn)壓芯片,簡化了電路設(shè)計與制作,同時又能解決整個系統(tǒng)電壓不匹配的問題。在設(shè)計中加入了濾波電容 C3、C4、C5、C6,使輸出電壓更平穩(wěn)。3.3 SD 卡接口電路SD卡(Secure Digital Memory Card)中文名稱為安全數(shù)碼卡,是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,存儲容量大,數(shù)據(jù)傳輸快,使用方便且安全可靠。它被廣泛地用于便攜式裝置上使用,例如數(shù)碼相機(jī)、手機(jī)和 MP3、MP4 等多媒體播放器。SD卡有兩種通信協(xié)議,SD 模式和 SPI模式。SD 模式允許強(qiáng)大的一線到四線數(shù)據(jù)信號設(shè)置。當(dāng)默認(rèn)的上電后,SD 卡使用 DAT0。初始化之后,主機(jī)可以改變決定是使用多少根數(shù)據(jù)線,一般使用四根線,既 DAT0~DAT3,還要使用一根時鐘線 CLK和命令線 CMD。SD 總線上通信的命令和數(shù)據(jù)比特流從一個起始位開始,以停止位中止。采用 SD模式時傳輸速度非??欤莻鬏?shù)拿罴皡f(xié)議復(fù)雜。SPI 模式則一般采用 4線制,即時鐘線 CLK、片選線 CS、主機(jī)輸出,從機(jī)輸入線 MOSI以及從機(jī)輸出,主機(jī)輸入線 MISO。由于在傳輸期間,每次只使用一條數(shù)據(jù),傳輸速率低,但是相比于 SD模式而言,其傳輸協(xié)議及命令簡單,易于實現(xiàn)。而且,SD 模式需要微處理器帶有相對應(yīng)的控制器接口,而 51單片機(jī)是不支持 SD卡模式的,選用 SD模式則要增加硬件成本。相反,SPI 總線接口很多 51單片機(jī)都帶有,選擇該模式不但可以簡化主機(jī)和程序的設(shè)計,還降低成本。雖然 SPI模式相對于 SD模式速率較低,但是在帶有 SPI接口的單片機(jī)上用 SPI模式讀取 SD卡里面的圖片數(shù)據(jù)在速度上還是能滿足本設(shè)計要求的,而且它只需要四根線,連接簡單,軟硬件設(shè)計方便。因此,在本設(shè)計中使用 SPI模式是最好的選擇。SD 卡接口電路如圖 3-5所示:圖 3-5 SD 卡接口電路宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計6SD卡的 CS、MOSI、MISO、CLK 分別與單片機(jī)的 P1.4、P1.5~P1.7 連接進(jìn)行通信。SD 卡的工作電壓為 3.3V,而單片機(jī)的工作電壓一般為 5V,所以要進(jìn)行電平轉(zhuǎn)換,實現(xiàn)各功能模塊間的電平匹配,電平轉(zhuǎn)換右電源電路實現(xiàn)。3.4 按鍵電路因為本課題設(shè)計了幾個功能,為了方便的在各個功能件進(jìn)行切換,使用了五個按鍵,分別是左移 KEY_PRE、右移 KEY_NEXT、上移 KEY_UP、下移/ 退出 KEY_DOWN_EXIT、確定KEY_ENTER 五個按鍵。按鍵一般有矩陣按鍵和獨(dú)立按鍵,由于設(shè)計使用的按鍵不多,只有五個,I/O 口充足,所以使用獨(dú)立按鍵設(shè)計。KEY_PRE、KEY_NEXT、KEY_DOWN_EXIT 、KEY_UP、KEY_ENTER 分別和單片機(jī)的P1.0、P1.2、P1.3 、P1.4、P2.0 連接,當(dāng)按下按鍵時,單片機(jī)相應(yīng)引腳電平被拉低(為 0) ,通過檢測相應(yīng)引腳電平狀態(tài)就可以確定是哪個按鍵按下,從而執(zhí)行相對應(yīng)的功能,操作方便,容易實現(xiàn)。按鍵電路如圖 3-6 所示:圖 3-6 按鍵電路3.5 LCD 液晶顯示電路TFT(Thin Film Transistor)薄膜場效應(yīng)晶體管,是值液晶顯示器上的每一個像素點(diǎn)都是由集成在其后的薄膜晶體管來驅(qū)動。從而可以做到高速高亮高對比度顯示液晶屏上的信息,TFT 液晶顯示屏是現(xiàn)在常用顯示器中的一種,普遍應(yīng)用于手機(jī)、筆記本電腦、MP3、MP4 等電子產(chǎn)品。本系統(tǒng)采用的 TFT 彩屏為 2.4 英寸的 24 位真彩數(shù)字屏,由 ILI9325 控制器控制,分辨率為240X320,數(shù)據(jù)傳輸是采用 8 位數(shù)據(jù)方式,通過 8 根數(shù)據(jù)線與單片機(jī)連接進(jìn)行通信。顯示時,一個像素用 16 位表示,即采用 565RGB 方式,紅色分量用 5 位表示,綠色分量用 6 位表示,藍(lán)色分量用 5 位表示。要想液晶顯示屏正常工作,還要通過片選 CS、寫入 WR、數(shù)據(jù)命令選擇 RS、復(fù)位RST、RD 寫五根線與單片機(jī)連接進(jìn)行控制。液晶彩屏顯示電路如圖 3-7 所示。系統(tǒng)整個電路圖設(shè)計見附錄 1。圖 3-7 LCD 液晶顯示電路4 數(shù)碼相框的軟件設(shè)計4.1 軟件總體設(shè)計整個數(shù)碼相框的軟件系統(tǒng)可以分為三個功能模塊:系統(tǒng)主任務(wù)、系統(tǒng)菜單顯示任務(wù)、系統(tǒng)時間宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計7顯示任務(wù)。在主函數(shù)前,先創(chuàng)建三個以上三個任務(wù)。系統(tǒng)主任務(wù)主要完成的是系統(tǒng)各種設(shè)備的初始化操作以及不停的進(jìn)行按鍵的掃描,通過按鍵掃描來確定鼠標(biāo)移動到液晶顯示屏的哪個位置,從而調(diào)用相關(guān)函數(shù),按下確定鍵后轉(zhuǎn)到按鍵處理程序執(zhí)行對應(yīng)的功能;系統(tǒng)菜單顯示任務(wù)主要完成的是菜單的選擇與 GUI 窗口的顯示以及各種應(yīng)用程序的選擇處理程序;系統(tǒng)時間顯示任務(wù)主要完成的是系統(tǒng)時間的顯示功能,通過調(diào)用相關(guān)函數(shù)實現(xiàn)時間的顯示。創(chuàng)建了以上三個任務(wù)以后,主函數(shù)在 while(1)死循環(huán)中調(diào)用三個任務(wù),不停的循環(huán)執(zhí)行,等待某個事件發(fā)生再轉(zhuǎn)到相應(yīng)程序處理。程序流程圖如圖 4-1 所示:NYNYNY圖 4-1 主程序流程圖4.1.1 Protothreads 極輕量級系統(tǒng)介紹Protothreads 是一種在小 RAM 單片機(jī)上實現(xiàn)多線程的方法,使用 Protothreads 可以很方便的在單片機(jī)上實現(xiàn)多任務(wù)操作,使得每個任務(wù)都有自己單獨(dú)的 while(1)循環(huán)。對于單片機(jī)這樣的小 RAM微處理器不能進(jìn)行移植操作系統(tǒng),而使用 Protothreads 可以輕松實現(xiàn),達(dá)到一樣的效果,大大簡化了程序的設(shè)計。Protothreads 最大的特點(diǎn)是占用內(nèi)存非常小,每個 Protothreads 只需占用 2 字節(jié)的RAM,而且代碼非常短,移植很方便,只需在工程中包含三個頭文件 lc.h、lc-switch.h、pt.h 即可。主函數(shù)中創(chuàng)建的三個任務(wù)就是利用 protothreads 創(chuàng)建的。以下幾個函數(shù)是 Protothreads 中比較重要的幾個函數(shù),分別對其進(jìn)行說明 [11]:PT_INIT(pt):初始化任務(wù)變量,只需在初始化函數(shù)中執(zhí)行一次即可。PT_BEGIN(pt):啟動任務(wù)處理,放在函數(shù)的開始處。PT_END(pt):結(jié)束任務(wù),放在函數(shù)的最后。開始初始化任務(wù) MAINTASK初始化任務(wù) MENUTASK初始化任務(wù) OSTIMETASKmaintaskcnt==100?運(yùn)行任務(wù) MainTask()運(yùn)行任務(wù) MenuTask()menutaskcnt==200?運(yùn)行任務(wù) OSTime()timetaskcnt==100?宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計8PT_WAIT_UNTIL(pt, condition):等待某個條件(條件可以為時鐘或其它變量,IO 等)成立,否則直接退出本函數(shù),下一次進(jìn)入本函數(shù)就直接跳到這個位置運(yùn)行,再次判斷運(yùn)行條件是否滿足,并執(zhí)行后續(xù)程序或繼續(xù)阻塞。4.2 驅(qū)動程序設(shè)計4.2.1 SPI 驅(qū)動程序設(shè)計SPI 總線接口是 STC12C5A60S2 單片機(jī)提供的高速串行外設(shè)接口,SPI 接口是一種高速、全雙工、同步的串行通信總線。與 SPI 通信相關(guān)的特殊功能寄存器主要有三個:控制寄存器 SPCTL、狀態(tài)寄存器 SPSTAT 以及數(shù)據(jù)寄存器 SPDAT。(1)控制寄存器 SPCTL:確定單片機(jī)作為主機(jī)還是從機(jī),使能 SPI,設(shè)定 SPI 發(fā)送和接收的位順序以及設(shè)定 SPI 傳輸數(shù)據(jù)的時鐘速率。(2)狀態(tài)寄存器 SPSTAT:用來判斷 SPI 數(shù)據(jù)有沒有傳輸完成以及檢測是否對數(shù)據(jù)寄存器SPDAT 進(jìn)行寫操作。(3)數(shù)據(jù)寄存器 SPDAT:所要傳輸?shù)?8 位數(shù)據(jù),為 Bit7~Bit0。SPI 驅(qū)動程序主要包括四個函數(shù):SPI 初始化函數(shù)主要對以上三個寄存器進(jìn)行初始化操作;SPI時鐘速率設(shè)置函數(shù)用來設(shè)置數(shù)據(jù)傳輸時的速率,為高速模式還是低速模式;SPI 發(fā)送數(shù)據(jù)函數(shù)用來發(fā)送指定數(shù)據(jù)到 SPI 總線上; SPI 接收數(shù)據(jù)函數(shù)則是用來接收來自 SPI 總線上的數(shù)據(jù)。4.2.2 SD 卡驅(qū)動程序設(shè)計SD 卡是在單片機(jī)的控制下進(jìn)行通信的,單片機(jī)發(fā)送特定指令給 SD 卡,并且接收來自 SD 卡的響應(yīng)并確定 SD 卡是否初始化完成,再進(jìn)行下一步的命令操作。在對 SD 卡操作之前,應(yīng)該首先確保單片機(jī)已選擇 SD 卡,即將 SD 卡的片選線 CS 置為低電平,再發(fā)送相關(guān)命令對 SD 卡進(jìn)行讀寫。單片機(jī)與 SD 卡之間通信的命令有幾十個,但是常用的只有 19 個,每個命令都會產(chǎn)生不同的響應(yīng)碼,用以判斷 SD 卡處于什么狀態(tài)。SD 卡驅(qū)動程序設(shè)計主要有兩個函數(shù):SD 卡初始化函數(shù)和 SD卡讀扇區(qū)函數(shù)。(1)SD 卡初始化函數(shù):初始化函數(shù)主要完成 SD 卡的上電復(fù)位并將 SD 卡初始化為 SPI 模式。初始化程序流程圖如 4-2 所示:NYN開始發(fā)送 74 個時鐘周期發(fā)送復(fù)位命令 CMD0進(jìn)入 SPI- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機(jī) 多功能 數(shù)碼 設(shè)計 實現(xiàn)
鏈接地址:http://www.szxfmmzy.com/p-398359.html