基于單片機(jī)的多功能數(shù)碼相框設(shè)計(jì)與實(shí)現(xiàn)
《基于單片機(jī)的多功能數(shù)碼相框設(shè)計(jì)與實(shí)現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的多功能數(shù)碼相框設(shè)計(jì)與實(shí)現(xiàn)(87頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
畢 業(yè) 設(shè) 計(jì) 設(shè)計(jì)題目:基于單片機(jī)的多功能數(shù)碼相框設(shè)計(jì)與實(shí)現(xiàn)學(xué) 院 物理科學(xué)與工程技術(shù)學(xué)院專 業(yè) 電子信息工程 年 級 2009 級 姓 名 劉勇 指導(dǎo)教師 劉莉 職 稱 講師 (2013 年 6 月)宜春學(xué)院教務(wù)處制目 錄1.畢業(yè)設(shè)計(jì)任務(wù)書2.畢業(yè)設(shè)計(jì)開題報(bào)告3.畢業(yè)設(shè)計(jì)答辯資格審查表4.論文原創(chuàng)性申明5.論文版權(quán)使用授權(quán)書6.畢業(yè)設(shè)計(jì)正文7.外文資料譯文8.外文資料原文宜春學(xué)院畢業(yè)設(shè)計(jì)任務(wù)書題 目: 基于單片機(jī)的多功能數(shù)碼相框設(shè)計(jì)與實(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ú)立完成開題報(bào)告,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)成,能實(shí)現(xiàn)BMP圖片的播放、簡易萬年歷、演示程序以及系統(tǒng)時(shí)間日期設(shè)置功能,同時(shí)能實(shí)現(xiàn)簡單的GUI顯示控制。系統(tǒng)的功能切換由KEY_ENTER、KEY_NEXT、KEY_PRE、KEY_UP、KEY_DOWN_EXIT完成。其中KEY_ENTER為“確認(rèn)”鍵,當(dāng)滿足一定條件時(shí),按下此鍵進(jìn)入相應(yīng)功能程序,。KEY_NEXT為“向右”按鍵,可實(shí)現(xiàn)鼠標(biāo)向右移動(dòng)、下一張圖片切換、是非選擇、時(shí)間日期增加等功能。KEY_PRE為“向左”按鍵,可實(shí)現(xiàn)鼠標(biāo)向左移動(dòng)、上一張圖片切換、是非選擇、時(shí)間日期減小等功能。KEY_UP為“向上”按鍵,實(shí)現(xiàn)鼠標(biāo)向上移動(dòng)。KEY_DOWN_EXIT為“向下—退出”鍵,實(shí)現(xiàn)鼠標(biāo)向下移動(dòng)或退出功能。電子相冊、萬年歷、系統(tǒng)設(shè)置、演示程序是通過輕量級任務(wù)系統(tǒng)Protothreads簡稱pt)進(jìn)行切換的,pt是一個(gè)占用內(nèi)存極小的C語言封裝宏函數(shù)庫,為一種無堆棧的輕量線程環(huán)境,能夠?qū)崿F(xiàn)模擬線程的條件阻塞、信號量操作等操作系統(tǒng)中特有的機(jī)制,從而使程序?qū)崿F(xiàn)多線程操作。它的最大特點(diǎn)就是每個(gè)pt線程只需增加十行代碼,并且只占用2字節(jié)的RAM資源。這使像51這種RAM資源小微控制器可以很輕松的實(shí)現(xiàn)pt多任務(wù)進(jìn)程。在BMP圖片的解碼顯示速度上要求刷新一幅圖片所需時(shí)間在5秒以下。二、研究方案、目標(biāo)本系統(tǒng)采用 STC12C5A60S2單片機(jī)芯片作為系統(tǒng)的核心部件,它除了具備微機(jī) CPU的數(shù)值計(jì)算功能外,還具有靈活強(qiáng)大的控制功能,以便實(shí)時(shí)檢測系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,實(shí)現(xiàn)自動(dòng)控制。在本次設(shè)計(jì)中采用技術(shù)來實(shí)現(xiàn)電單片機(jī)子相冊功能。方案的設(shè)計(jì)可以從以下幾個(gè)方面來確定。微處理器的選擇,STC12 系列單片機(jī)是我國宏晶科技公司生產(chǎn)的單時(shí)鐘/機(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è)計(jì)中采用 STC12C5A60S2單片機(jī),它具有 60k的程序存儲空間,1280Byte 的 RAM空間,在保證本系統(tǒng)功能實(shí)現(xiàn)的基礎(chǔ)上,還保留有很大的升級空間,非常適合用來設(shè)計(jì)這種讀寫數(shù)據(jù)大的場合;顯示電路的設(shè)計(jì),隨著信息科技的快速發(fā)展,液晶顯示的使用越來越方便,已被普遍的使用。由于液晶顯示與驅(qū)動(dòng)都集成在一個(gè)芯片上,因此使用起來很方便,因此在這里采用液晶顯示技術(shù),使用 ILI9325控制的 TFT彩屏作為整個(gè)系統(tǒng)的顯示模塊;GUI 界面控制電路的設(shè)計(jì);以及 SD卡電路的設(shè)計(jì);其中 SD卡的設(shè)計(jì)至關(guān)重要,是決定本設(shè)計(jì)成敗的關(guān)鍵,因?yàn)?SD卡里面存儲有電子相冊需要播放的 BMP圖片、系統(tǒng)應(yīng)用程序圖標(biāo)和其他系統(tǒng)所需資源。4SD卡設(shè)計(jì)成功后,將 SD卡中的圖片數(shù)據(jù)讀出通過單片機(jī)控制彩屏顯示出來,從而實(shí)現(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ā)實(shí)例精解 C 語言[M].上海:上??茖W(xué)技術(shù)出版社,2011.[5]蘇義鑫,程敏,何力.基于 AT89C52 單片機(jī)的 SD 卡讀寫設(shè)計(jì)[J]. 世界電子元器件,2008,(5):65-69.[6]林倩,嚴(yán)桂林.基于 STC12C5A60S2 單片機(jī)的 SD 卡讀寫[J].電子元器件應(yīng)用,2010,(4):1.[7]倪天龍,路林.基于 STC12C5A60S2 的電子相框設(shè)計(jì)[J].鄭州輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,(5):31-33,47.[8]楊永竹.液晶顯示模塊圖像的編輯以及點(diǎn)陣數(shù)據(jù)的提取[J].儀表技術(shù)與傳感器,2003,(8):48-50.[9]何欽銘,顏暉.C 語言程序設(shè)計(jì)[M].北京:高等教育出版社,2008.[10]閆石,馬潮.時(shí)間觸發(fā)模式下的 Protothreads 設(shè)計(jì)應(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ū)動(dòng)彩屏的設(shè)計(jì)[J].無線電,2012,(2):62-66. [13]洪岳煒,王百鳴,謝超英.一種易于移植和使用的文件系統(tǒng)FatFs_Module[J ].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(5).[14]賈玉珍,靳冰,劉琮等.BMP 文件結(jié)構(gòu)的信息隱藏方法與實(shí)現(xiàn)[J].江西理工大學(xué)學(xué)報(bào),2009,(1):42-44.[15]龔成清.RLE 改進(jìn)算法對 BMP 圖像無損壓縮的實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2006,(12):79-81,92.[16]李偉,張利華.BMP 文件解碼的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,(7):1180-1182 .6四、畢業(yè)論文進(jìn)度計(jì)劃序號 各階段工作內(nèi)容 起止日期 備注1 查閱資料,撰寫開題 報(bào)告 2012.11.15—2013.01.052 總體方案設(shè)計(jì) 2013.01.06--02.043 軟、硬件詳細(xì)設(shè)計(jì) 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ā)實(shí)例精解 C 語言[M].上海:上海科學(xué)技術(shù)出版社,2011.[5]蘇義鑫,程敏,何力.基于 AT89C52 單片機(jī)的 SD 卡讀寫設(shè)計(jì)[J]. 世界電子元器件,2008,(5):65-69.[6]林倩,嚴(yán)桂林.基于 STC12C5A60S2 單片機(jī)的 SD 卡讀寫[J].電子元器件應(yīng)用,2010,(4):1.[7]倪天龍,路林.基于 STC12C5A60S2 的電子相框設(shè)計(jì)[J].鄭州輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,(5):31-33,47.[8]楊永竹.液晶顯示模塊圖像的編輯以及點(diǎn)陣數(shù)據(jù)的提取[J].儀表技術(shù)與傳感器,2003,(8):48-50.[9]何欽銘,顏暉.C 語言程序設(shè)計(jì)[M].北京:高等教育出版社,2008.[10]閆石,馬潮.時(shí)間觸發(fā)模式下的 Protothreads 設(shè)計(jì)應(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ā)展趨勢,同時(shí)與老師聯(lián)系,咨詢一些畢業(yè)設(shè)計(jì)方面的信息并在老師的指導(dǎo)下進(jìn)行一些大致工作。在電腦上安裝 Keil uVision4 和 Altium Designer 軟件,學(xué)會用它們設(shè)計(jì)并在開發(fā)板上仿真一些模塊電路的程序,為畢業(yè)設(shè)計(jì)的的寫作作準(zhǔn)備。指導(dǎo)教師審查意見:年 月 日8中 期( 2013 年 1月 12 日至2013 年 5 月5 日)學(xué)生主要工作:整理好前期收集的一些資料并認(rèn)真閱讀,做好相關(guān)的知識準(zhǔn)備,對設(shè)計(jì)課題的可行性進(jìn)行分析,初步形成設(shè)計(jì)的大體思路,形成基本框架,確定設(shè)計(jì)方案和目標(biāo),將之前做好的各個(gè)部分的設(shè)計(jì)組織起來,完成各個(gè)電路模塊的設(shè)計(jì)和程序設(shè)計(jì)仿真并形成初稿。指導(dǎo)教師審查意見:年 月 日9后 期(2013 年 5 月 7日至2013 年 5 月 18日)學(xué)生主要工作:將設(shè)計(jì)初稿交給指導(dǎo)老師審查,依據(jù)老師的一些意見和建議來對論文進(jìn)行修改和完善,完成論文終稿。指導(dǎo)教師審查意見:年 月 日10七、其他(學(xué)生提交)1.開題報(bào)告 1 份 2.外文資料譯文 1 份(1000 字以上,并附資料原文) 3.設(shè)計(jì) 1 份(理科 4000 字以上,文科 6000 字以上) 指 導(dǎo) 教 師: 系 負(fù) 責(zé) 人: 學(xué)生開始執(zhí)行任 務(wù) 書 日 期 : 學(xué) 生 姓 名 : 送交畢業(yè)設(shè)計(jì)日 期 : 宜春學(xué)院畢業(yè)設(shè)計(jì)開題報(bào)告題 目:基于單片機(jī)的多功能數(shù)碼相框設(shè)計(jì)與實(shí)現(xiàn) 學(xué) 院:物理科學(xué)與工程技術(shù)學(xué)院 系 電子與信息工程系 專 業(yè): 電子信息工程 班 級: 09 電信 學(xué) 號: 0934301122 姓 名: 劉勇 指導(dǎo)教師: 劉莉 填表日期: 2012 年 11 月 26 日2一、選題的依據(jù)及意義數(shù)碼相框是一個(gè)瀏覽圖片的電子設(shè)備,具有很多傳統(tǒng)紙質(zhì)照片不可比擬的優(yōu)點(diǎn)。傳統(tǒng)紙質(zhì)的相冊占用空間大,容易丟失,攜帶不方便,而且不能永久保存,時(shí)間久了會變得很模糊,致使很值得紀(jì)念的相片失去了紀(jì)念的意義。而數(shù)碼相框可以很好的解決這些問題,而且數(shù)碼相框能以圖、文、聲、像等多種方式呈現(xiàn)給用戶,使用戶可以獲得聽覺及視覺上的享受。數(shù)碼相框還可以使用計(jì)算機(jī)方便的修改編輯照片,使照片更具個(gè)性化。同時(shí)數(shù)碼相框可以快速的查找檢索到所要瀏覽的相片,具有永不掉色和永久保存,復(fù)制分享照片非常方便,攜帶方便,而且還可以隨時(shí)將自己旅游、學(xué)習(xí)、畢業(yè)留影、生活中的點(diǎn)點(diǎn)滴滴拍攝成照片加入到數(shù)碼相框中瀏覽,方便與家人朋友同事分享自己的相片。為老人準(zhǔn)備一個(gè)精致小巧的數(shù)碼相框,把老人的親人在外拍的各種有意思的相片放入數(shù)碼相冊中,對老人的老年生活來說會是一個(gè)不錯(cuò)的選擇。正是因?yàn)閿?shù)碼相框具有如上那么多的優(yōu)點(diǎn),數(shù)碼相框的發(fā)展需求才越來越大,因此選擇數(shù)碼相框作為畢業(yè)設(shè)計(jì)課題將會是一個(gè)不錯(cuò)的選擇。二、國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢(含文獻(xiàn)綜述)數(shù)碼相框從剛提出發(fā)展到現(xiàn)在,已有近九年的時(shí)間。起初數(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在實(shí)現(xiàn)復(fù)雜算法時(shí)會提高實(shí)時(shí)性,因此在數(shù)據(jù)計(jì)算、通信、自動(dòng)控制等領(lǐng)域的應(yīng)用越來越廣泛,使用它減少了系統(tǒng)開發(fā)的風(fēng)險(xiǎn)和成本,縮短了開發(fā)維護(hù)周期。因?yàn)?FPGA的快速發(fā)展,采用 Nios II處理器的自定義指令,而且硬件也能實(shí)現(xiàn)一些重要的算法,所以使得數(shù)據(jù)處理的速度很快,保證了整個(gè)系統(tǒng)的良好的實(shí)時(shí)性。并且在外圍電路不改變的情況下,通過 FPGA內(nèi)部充足的硬件邏輯資源,能很方便的對系統(tǒng)升級及功能增強(qiáng)。所以,F(xiàn)PGA 是一個(gè)發(fā)展趨勢。嵌入式現(xiàn)在在電子領(lǐng)域是最熱門的概念之一,是當(dāng)前電子技術(shù)發(fā)展的又一新熱點(diǎn)。它是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積和功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),在消費(fèi)電子產(chǎn)品中應(yīng)用非常廣泛。嵌入式系統(tǒng)在硬件上已經(jīng)進(jìn)入片上系統(tǒng)階段,使用片上系統(tǒng)開發(fā)產(chǎn)品設(shè)計(jì)快速、靈活,具有完善的軟件開發(fā)平臺,使基于 FPGA的片上系統(tǒng)得到了廣泛的應(yīng)用。采用片上系統(tǒng)作為數(shù)碼相框的設(shè)計(jì)將是一種前所未有的新方法。三、本課題研究內(nèi)容(1)主要實(shí)現(xiàn)數(shù)碼相框功能,解碼 SD 卡中的 BMP 圖片并將其顯示到液晶顯示屏上。(2)有按鍵控制系統(tǒng),能用按鍵控制,進(jìn)行程序間的切換,并能用按鍵對 BMP 圖片的播放進(jìn)行控制,例如上下幅圖片的切換,自動(dòng)播放的切換。還能用按鍵對系統(tǒng)時(shí)間進(jìn)行設(shè)置。(3)用定時(shí)器實(shí)現(xiàn)軟時(shí)鐘,能正確顯示當(dāng)前時(shí)間、日期以及星期,并設(shè)計(jì)制作一個(gè)簡易的萬年歷程序。(4)實(shí)現(xiàn)多任務(wù)圖片菜單設(shè)計(jì),當(dāng)鼠標(biāo)移到應(yīng)用程序圖標(biāo)處,按下確定鍵進(jìn)入應(yīng)用程序。 四、本課題研究方法3本課題是使用實(shí)驗(yàn)的研究方法,數(shù)碼相框的現(xiàn)有專業(yè)解決放啊都是基于 ARM 或者 DSP 等高端處理器所設(shè)計(jì)的嵌入式系統(tǒng)。這種數(shù)碼相框一般都帶有適合本處理器的操作系統(tǒng),例如 UCOS 等微操作系統(tǒng),操作系統(tǒng)一般帶有文件系統(tǒng),不需要移植其他操作系統(tǒng)就可以方便的對存儲在 SD 卡中的各種文件進(jìn)行讀寫操作。而基于單片機(jī)等低端處理器的數(shù)碼相框解決方案則少之又少,根據(jù)課題所提出的要求和所要實(shí)現(xiàn)的功能,在單片機(jī)開發(fā)板上進(jìn)行實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)步驟包括以下幾步:(1)編寫各個(gè)模塊的驅(qū)動(dòng)程序,將各個(gè)模塊的硬件驅(qū)動(dòng),使其正常工作。(2)第一步功能實(shí)現(xiàn)后,再根據(jù)課題要求,考慮移植一個(gè)功能完善而又精簡的文件系統(tǒng),實(shí)現(xiàn)對存儲在 SD 卡中的 BMP 圖像文件進(jìn)行讀操作。經(jīng)過網(wǎng)上查找資料,最終確定移植一個(gè)占用內(nèi)存很小的文件系統(tǒng) FATFS,這個(gè)文件系統(tǒng)不僅代碼量少,而且功能強(qiáng)大,還不依賴于任何硬件,方便移植。(3)移植了文件系統(tǒng)后,接下來要做的就是對 BMP 圖片的解碼工作了,利用文件系統(tǒng)對存儲在 SD 卡中的 BMP 圖像文件數(shù)據(jù)讀取出來并送單片機(jī)處理,單片機(jī)將數(shù)據(jù)送液晶顯示屏顯示,就可以實(shí)現(xiàn) BMP 圖像文件的顯示了。經(jīng)過以上三個(gè)步驟的驗(yàn)證,數(shù)碼相框的功能已經(jīng)基本上實(shí)現(xiàn)了,需要做的就是不停的優(yōu)化程序代碼,調(diào)試程序,使其性能能滿足課題所需的要求,在速度和解碼圖片顯示的質(zhì)量上都要達(dá)到一定的性能要求。通過不斷的實(shí)驗(yàn)和改進(jìn)程序,從而使整個(gè)系統(tǒng)的軟件功能完善,再進(jìn)行相應(yīng)硬件的設(shè)計(jì)。五、研究目標(biāo)、主要特色及工作進(jìn)度研究目的:實(shí)現(xiàn) BMP 圖片的解碼操作,實(shí)現(xiàn)數(shù)碼相框功能。主要特點(diǎn):通過 GUI函數(shù)庫,設(shè)計(jì)出比較漂亮的圖片播放顯示控制界面,移植入一個(gè)輕量級線程庫,使系統(tǒng)實(shí)時(shí)性得到提高,并且移植了移植功能強(qiáng)大的文件系統(tǒng),可以對 SD卡中的文件進(jìn)行各種操作,能將 SD卡中的 BMP圖片解碼顯示到液晶顯示屏上。并利用單片機(jī)的定時(shí)器設(shè)計(jì)了一個(gè)軟時(shí)鐘,在軟時(shí)鐘的基礎(chǔ)上實(shí)現(xiàn)了簡易萬年歷的功能,同時(shí)能對系統(tǒng)的時(shí)間日期進(jìn)行設(shè)置,以便準(zhǔn)確調(diào)時(shí)。工作進(jìn)度:(1)2012.11.15—2013.01.05 收集各種與設(shè)計(jì)相關(guān)的軟硬件資料并仔細(xì)閱讀,直到對所做設(shè)計(jì)有一個(gè)比較清晰的認(rèn)識和初步的設(shè)計(jì)思路。(2)2013.01.06--03.20 對所收集的資料進(jìn)行整理,確定設(shè)計(jì)研究方案,按要求編寫開題報(bào)告。(3)2013.03.21—04.20 根據(jù)任務(wù)書和開題報(bào)告以及收集的各種有用資料進(jìn)行初步設(shè)計(jì),進(jìn)行電路模塊的驗(yàn)證,驗(yàn)證最簡單的電路模塊是否工作正常,循序漸進(jìn)的完成每個(gè)電路模塊的設(shè)計(jì)。各電路模塊硬件設(shè)計(jì)完成后編寫各個(gè)模塊的驅(qū)動(dòng)程序,不斷的調(diào)試軟硬件,直到該模塊軟硬件都正常工作。(4)2013.04.21—05.15 完成了各電路模塊的軟硬件設(shè)計(jì)后,將各模塊合并成一張電路圖,進(jìn)行系統(tǒng)總硬件設(shè)計(jì)。然后編寫系統(tǒng)源程序,通過調(diào)用上一步所設(shè)計(jì)的各個(gè)模塊的驅(qū)動(dòng)程序,不斷完善程序,設(shè)計(jì)出漂亮的 GUI顯示界面。(5)2013.05.16--05.18 所有軟硬件設(shè)計(jì)都成功實(shí)現(xiàn)了后,開始編寫畢業(yè)設(shè)計(jì)正文。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ā)實(shí)例精解 C 語言[M].上海:上??茖W(xué)技術(shù)出版社,2011.[5]蘇義鑫,程敏,何力.基于 AT89C52 單片機(jī)的 SD 卡讀寫設(shè)計(jì)[J]. 世界電子元器件,2008,(5):65-69.[6]林倩,嚴(yán)桂林.基于 STC12C5A60S2 單片機(jī)的 SD 卡讀寫[J].電子元器件應(yīng)用,2010,(4):1.[7]倪天龍,路林.基于 STC12C5A60S2 的電子相框設(shè)計(jì)[J].鄭州輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,(5):31-33,47.[8]楊永竹.液晶顯示模塊圖像的編輯以及點(diǎn)陣數(shù)據(jù)的提取[J].儀表技術(shù)與傳感器,2003,(8):48-50.[9]何欽銘,顏暉.C 語言程序設(shè)計(jì)[M].北京:高等教育出版社,2008.[10]閆石,馬潮.時(shí)間觸發(fā)模式下的 Protothreads 設(shè)計(jì)應(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ū)動(dòng)彩屏的設(shè)計(jì)[J].無線電,2012,(2):62-66. [13]洪岳煒,王百鳴,謝超英.一種易于移植和使用的文件系統(tǒng)FatFs_Module[J ].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(5).[14]賈玉珍,靳冰,劉琮等.BMP 文件結(jié)構(gòu)的信息隱藏方法與實(shí)現(xiàn)[J].江西理工大學(xué)學(xué)報(bào),2009,(1):42-44.[15]龔成清.RLE 改進(jìn)算法對 BMP 圖像無損壓縮的實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2006,(12):79-81,92.[16]李偉,張利華.BMP 文件解碼的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,(7):1180-1182 .宜春學(xué)院 2013 屆畢業(yè)設(shè)計(jì)答辯資格審查表題 目 基于單片機(jī)的多功能數(shù)碼相框設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名 劉勇 專業(yè) 電子信息工程 班級 09電信 學(xué)號 0934301122論文完成情況 完成開題報(bào)告 完成外文資料翻譯 完成中、英文摘要 完成檢查內(nèi)容軟硬件驗(yàn)收 完成論文期間考勤情況 滿勤 累計(jì)曠課時(shí)間 無學(xué)生自查說明本人嚴(yán)格按照任務(wù)書進(jìn)度開展論文設(shè)計(jì)工作及時(shí)發(fā)現(xiàn)問題并發(fā)饋給指導(dǎo)老師,跟老師一起探討最佳解決方案,不斷的改進(jìn)設(shè)計(jì);嚴(yán)格按照任務(wù)書的要求,對論文進(jìn)行排版,確保內(nèi)容的準(zhǔn)確性、格式無誤的情況下完成畢業(yè)論文設(shè)計(jì)工作。學(xué)生簽名:年 月 日指導(dǎo)教師意見(說明是否進(jìn)行答辯及評定成績)指導(dǎo)教師簽名:成績 年 月 日宜春學(xué)院論文原創(chuàng)性申明本人鄭重申明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果。對本文的研究作出重要貢獻(xiàn)的個(gè)人和集體,均在文中以明確方式表明。本人完全意識到本申明的法律責(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è)計(jì)I基于單片機(jī)的多功能數(shù)碼相框設(shè)計(jì)與實(shí)現(xiàn)宜春學(xué)院 物理科學(xué)與工程技術(shù)學(xué)院 電子信息工程 劉勇指導(dǎo)老師:劉莉摘要:設(shè)計(jì)并實(shí)現(xiàn)了一款基于單片機(jī)的電子數(shù)碼相框。系統(tǒng)主要包括 4 個(gè)任務(wù)程序:圖片播放器、演示程序、萬年歷程序以及系統(tǒng)設(shè)置程序。通過按鍵選擇,支持人工控制播放及系統(tǒng)自動(dòng)播放兩種播放功能。采用一種開源的適合 SD 卡使用的 FATFS 文件系統(tǒng),實(shí)現(xiàn)對 SD 卡內(nèi)的文件進(jìn)行讀、寫、枚舉操作;通過定時(shí)器設(shè)計(jì)產(chǎn)生系統(tǒng)時(shí)間;采用軟件解碼技術(shù),對存儲在 SD 卡 photo 目錄下的BMP 圖像文件進(jìn)行解碼操作,并將其顯示到液晶顯示屏上。通過對多任務(wù)實(shí)時(shí)操作系統(tǒng)Protothreads 的移植,保證了系統(tǒng)工作的實(shí)時(shí)性,實(shí)現(xiàn)了系統(tǒng)主菜單和應(yīng)用程序之間切換。由于系統(tǒng)功能的實(shí)現(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è)計(jì)II目 錄1 前言 11.1 選題背景 .11.2 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢 .11.3 論文研究的主要內(nèi)容 .12 方案設(shè)計(jì)與選擇 12.1 數(shù)碼相框主流設(shè)計(jì)方案 .12.2 本課題設(shè)計(jì)方案介紹 .22.3 系統(tǒng)總體硬件介紹 .23 詳細(xì)硬件設(shè)計(jì) 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è)計(jì) 64.1 軟件總體設(shè)計(jì) .64.1.1 Protothreads 極輕量級系統(tǒng)介紹 74.2 驅(qū)動(dòng)程序設(shè)計(jì) .84.2.1 SPI 驅(qū)動(dòng)程序設(shè)計(jì) 84.2.2 SD 卡驅(qū)動(dòng)程序設(shè)計(jì) .84.2.3 ILI9325 驅(qū)動(dòng)程序設(shè)計(jì) .94.2.4 鼠標(biāo)按鍵驅(qū)動(dòng)程序設(shè)計(jì) 104.3 FATFS 文件系統(tǒng)移植設(shè)計(jì) .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è)計(jì) .144.4.1 BMP 圖像文件簡介 144.4.2 BMP 圖像軟件解碼過程 144.4.3 BMP 圖像的顯示控制 154.5 系統(tǒng)時(shí)間程序設(shè)計(jì) .174.6 萬年歷程序設(shè)計(jì) .184.7 系統(tǒng)設(shè)置程序設(shè)計(jì) .185 實(shí)現(xiàn)與測試 195.1 圖像顯示結(jié)果及分析 .196 結(jié)論與展望 22參考文獻(xiàn) 23謝 辭 24附錄 1 總電路圖 .25附錄 2 系統(tǒng)源程序 .26宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)11 前言1.1 選題背景數(shù)碼相框是一個(gè)瀏覽圖片的電子設(shè)備,具有很多傳統(tǒng)紙質(zhì)照片不可比擬的優(yōu)點(diǎn)。傳統(tǒng)紙質(zhì)的相冊占用空間大,容易丟失,攜帶不方便,而且不能永久保存,時(shí)間久了會變得很模糊,致使很值得紀(jì)念的相片失去了紀(jì)念的意義。而數(shù)碼相框可以很好的解決這些問題,而且數(shù)碼相框能以圖、文、聲、像等多種方式呈現(xiàn)給用戶,使用戶可以獲得聽覺及視覺上的享受。數(shù)碼相框還可以使用計(jì)算機(jī)方便的修改編輯照片,使照片更具個(gè)性化。同時(shí)數(shù)碼相框可以快速的查找檢索到所要瀏覽的相片,具有永不掉色和永久保存,復(fù)制分享照片非常方便,攜帶方便,而且還可以隨時(shí)將自己旅游、學(xué)習(xí)、畢業(yè)留影、生活中的點(diǎn)點(diǎn)滴滴拍攝成照片加入到數(shù)碼相框中瀏覽,方便親朋好友分享自己的相片。為老人準(zhǔn)備一個(gè)精致小巧的數(shù)碼相框,把老人的親人在外拍的各種有意思的相片放入數(shù)碼相冊中,對老人的老年生活來說也會是一個(gè)不錯(cuò)的選擇。正是因?yàn)閿?shù)碼相框具有如上那么多的優(yōu)點(diǎn),數(shù)碼相框的發(fā)展需求才越來越大,因此選擇數(shù)碼相框作為畢業(yè)設(shè)計(jì)課題將會是一個(gè)不錯(cuò)的選擇。1.2 國內(nèi)外研究現(xiàn)狀及發(fā)展趨勢數(shù)碼相框從剛提出發(fā)展到現(xiàn)在,已有近九年的時(shí)間。起初數(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在實(shí)現(xiàn)復(fù)雜算法時(shí)會提高實(shí)時(shí)性,因此在數(shù)據(jù)計(jì)算、通信、自動(dòng)控制等領(lǐng)域的應(yīng)用越來越廣泛,使用它減少了系統(tǒng)開發(fā)的風(fēng)險(xiǎn)和成本,縮短了開發(fā)維護(hù)周期。因?yàn)?FPGA的快速發(fā)展,采用 Nios II處理器的自定義指令,而且硬件也能實(shí)現(xiàn)一些重要的算法,所以使得數(shù)據(jù)處理的速度很快,保證了整個(gè)系統(tǒng)的良好的實(shí)時(shí)性。并且在外圍電路不改變的情況下,通過 FPGA內(nèi)部充足的硬件邏輯資源,能很方便的對系統(tǒng)升級及功能增強(qiáng)。所以,F(xiàn)PGA 是一個(gè)發(fā)展趨勢。嵌入式現(xiàn)在在電子領(lǐng)域是最熱門的概念之一,是當(dāng)前電子技術(shù)發(fā)展的又一新熱點(diǎn)。它是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積和功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),在消費(fèi)電子產(chǎn)品中應(yīng)用非常廣泛。嵌入式系統(tǒng)在硬件上已經(jīng)進(jìn)入片上系統(tǒng)階段,使用片上系統(tǒng)開發(fā)產(chǎn)品設(shè)計(jì)快速、靈活,具有完善的軟件開發(fā)平臺,使基于 FPGA的片上系統(tǒng)得到了廣泛的應(yīng)用。采用片上系統(tǒng)作為數(shù)碼相框的設(shè)計(jì)將是一種前所未有的新方法。1.3 論文研究的主要內(nèi)容本課題設(shè)計(jì)的數(shù)碼相框主要以 STC12C5A60S2 單片機(jī)作為主要控制中心,采用 BMP 圖片軟件解碼技術(shù),并移植 FATFS 文件系統(tǒng),實(shí)現(xiàn)對存儲在 SD 卡內(nèi)的 BMP 圖片文件進(jìn)行讀取操作,并且編寫解碼算法對 BMP 圖片進(jìn)行解碼操作,然后通過 STC12C5A60S2 單片機(jī)驅(qū)動(dòng)液晶顯示屏,對解碼后的圖片進(jìn)行顯示。并在 TFT 彩屏上實(shí)現(xiàn)簡單的 GUI 界面操作,使顯示界面更漂亮美觀。此方案有如下兩個(gè)優(yōu)點(diǎn)。一是制作成本低,硬件結(jié)構(gòu)簡單,軟硬件設(shè)計(jì)方便。而且易于擴(kuò)展和升級更多功能。其中的圖片解碼功能是通過軟件模擬實(shí)現(xiàn),不依賴于硬件,這樣使系統(tǒng)具有良好的靈活性和適應(yīng)性,易于移植。宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)22 方案設(shè)計(jì)與選擇2.1 數(shù)碼相框主流設(shè)計(jì)方案目前,國內(nèi)外數(shù)碼相框的設(shè)計(jì)方案主要有以下幾種 [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,對圖像的任何編輯操作均通過硬件來實(shí)現(xiàn),這類數(shù)碼相框圖像處理速度快,支持圖像的分辨率也比較高。但與第一類方案相比,功能單一,娛樂性能受到限制。在國內(nèi),數(shù)碼相框的產(chǎn)品更注重多功能,因?yàn)閲鴥?nèi)用戶更傾向于一機(jī)多用,即一種電子產(chǎn)品具有多種功能。但是國外尤其是歐美的用戶,更傾向于簡潔、實(shí)用的電子產(chǎn)品。例如愛國者的“雙屏數(shù)碼相框”研發(fā)的目標(biāo)就是僅僅把數(shù)碼相框的“照片展示”特性發(fā)揮到極致,使照片在數(shù)碼相框上的顯示效果多種多樣。事實(shí)證明,這類數(shù)碼相框產(chǎn)品也會越來越受人們的喜歡,因此,數(shù)碼相框的發(fā)展也在朝這方面不斷的創(chuàng)新和發(fā)展。2.2 本課題設(shè)計(jì)方案介紹以上方案都是比較成熟的方案,在市場上利用這些方案制作的數(shù)碼相框也比較多,其功能也比較全面,一般具有圖片瀏覽、音頻播放、視頻播放、游戲娛樂等功能。滿足大多數(shù)消費(fèi)者對功能的要求,其主控芯片一般都是采用 ARM 或者 DSP 等高級單片機(jī)。而采用單片機(jī)設(shè)計(jì)的數(shù)碼相框雖然沒有 ARM 或者 DSP 設(shè)計(jì)的數(shù)碼相框那么高級,功能沒有那么多,但是也有其優(yōu)越性,成本低、易于開發(fā)、功能擴(kuò)展方便。特別是現(xiàn)在單片機(jī)處理速度也越來越快,內(nèi)部資源越來越豐富,ROM 和RAM 也都比較大。所以利用單片機(jī)設(shè)計(jì)一個(gè)簡易數(shù)碼相框還是有研究意義的?;谝陨显颍驹O(shè)計(jì)選擇的是以 STC12C5A60S2 單片機(jī),搭載 FATFS 文件系統(tǒng),將存儲與SD 卡中的 BMP 圖片解碼并通過單片機(jī)控制液晶顯示屏將圖片顯示出來,并且在顯示速度上能夠滿足要求,完全顯示一幅圖片一般不能超過 5 秒,否則就沒有研究意義了,試想一下如果顯示一幅圖片需要 7、8 秒甚至上 10 秒,那是很糟糕的。此方案有兩個(gè)方面優(yōu)點(diǎn)。一是制作成本低,硬件結(jié)構(gòu)簡單,設(shè)計(jì)方便,易于開發(fā),而且易于擴(kuò)展和升級其他功能。2.3 系統(tǒng)總體硬件介紹數(shù)碼相框系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)框圖如圖 2-1 所示。圖 2-1 數(shù)碼相框系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)框圖本系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)簡單,主要以 51 單片機(jī)最小系統(tǒng)為主控中心,搭載電源電路、SD 卡存儲STC12C5A60S2單片機(jī)電源電路SD 卡接口電路按鍵電路時(shí)鐘電路復(fù)位電路LCD 液晶顯示電路宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)3電路、按鍵控制電路以及 LCD 液晶顯示電路。51 單片機(jī)最小系統(tǒng)包含了晶振電路及復(fù)位電路,是整個(gè)系統(tǒng)能正常工作的基礎(chǔ)。電源電路應(yīng)該包含電源轉(zhuǎn)換電路,因?yàn)?SD 卡和 LCD 液晶顯示屏的工作電壓和系統(tǒng)工作電源不同,所以應(yīng)該進(jìn)行電壓轉(zhuǎn)換,保證 SD 卡和 LCD 液晶顯示屏能夠正常的工作。SD 卡存儲電路配置一個(gè) SD 卡卡座,并設(shè)計(jì)了 SD 卡卡座與單片機(jī)的連接。按鍵控制電路主要完成系統(tǒng)功能的切換、系統(tǒng)設(shè)置以及圖片瀏覽控制。3 詳細(xì)硬件設(shè)計(jì)3.1 STC12C5A60S2 單片機(jī)概述本設(shè)計(jì)選擇的主控芯片是 STC12C5A60S2。該單片機(jī)是我國宏晶科技生產(chǎn)的單時(shí)鐘 /機(jī)器周期的單片機(jī),具有高速、功耗低、抗干擾能力強(qiáng)、指令代碼完全兼容 51 單片機(jī)等優(yōu)點(diǎn)。與普通 51 單片機(jī)結(jié)構(gòu)基本相同,所不同的是其內(nèi)部集成了更多的實(shí)用功能(如:AD 、PWM 等功能) 。其工作電壓范圍寬,為 3.3V-5.5V,工作頻率為 0~35MHz,程序存儲空間為 60KB,RAM 容量為1280Byte,具有 40 個(gè)通用 I/O 口。內(nèi)置復(fù)位、通用全雙工串行接口、SPI 總線接口,用來和 SD 卡通訊可以顯著提高讀取速度。該單片機(jī)內(nèi)部資源豐富,可以完全滿足本次設(shè)計(jì)的要求,充分利用其內(nèi)部資源,減少外圍硬件設(shè)計(jì),既可以降低成本,還使設(shè)計(jì)更加簡單。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)上拉、僅為輸入(高阻)或開漏輸出功能。每個(gè)口由 2 個(gè)控制寄存器中的相應(yīng)位控制每個(gè)引腳工作類型。STC12C5A60S2 系列單片機(jī)上電復(fù)位后為準(zhǔn)雙向口/ 弱上拉模式。2V 以上時(shí)為高電平,0.8V 以下時(shí)為低電平。每個(gè) I/O口驅(qū)動(dòng)能力均可達(dá)到 20mA,但整個(gè)芯片最大不得超過 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,由于制造誤差,實(shí)際為 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)兩個(gè)寄存器賦值就行。宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)4圖 3-1 STC12C5A60S2 單片機(jī)引腳圖3.1.2 單片機(jī)最小系統(tǒng)單片機(jī)電路要正常工作,除了有 STC12C5A60S2 單片機(jī)外,還需設(shè)計(jì)有正確的時(shí)鐘電路和可靠的復(fù)位電路,這三個(gè)部分組成了單片機(jī)最小系統(tǒng),當(dāng)然還要有電源電路。(1)時(shí)鐘電路STC12 系列單片機(jī)既可以使用外部時(shí)鐘,也可以使用內(nèi)部振蕩器提供時(shí)鐘信號。本設(shè)計(jì)使用的是外部時(shí)鐘,并且使用的晶振是 32MHz,提高了圖片刷新的速度。將晶振連接于 XTAL2 和XTAL1 引腳之間,并與兩個(gè) 20-40pF 之間的電容連接接地,電路圖如圖 3-2 所示:圖 3-2 單片機(jī)最小系統(tǒng)時(shí)鐘電路(2)復(fù)位電路復(fù)位操作完成單片機(jī)片內(nèi)電路的初始化,使單片機(jī)從一種確定的狀態(tài)開始運(yùn)行,而不至于使程序運(yùn)行出錯(cuò)。一般是 RST引腳出現(xiàn) 5ms以上的高電平時(shí),單片機(jī)就可以完成復(fù)位過程。復(fù)位有上電復(fù)位、開關(guān)復(fù)位。本設(shè)計(jì)同時(shí)使用了上電復(fù)位和開關(guān)復(fù)位。上電復(fù)位是上電時(shí)使單片機(jī)復(fù)位,而開關(guān)復(fù)位是在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。如圖 4-3復(fù)位電路增加了二極管,在電源電壓出現(xiàn)跳變時(shí)加快電容放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復(fù)位。通常復(fù)位電容和復(fù)位電阻的值為 C1=10~30uF,R2=1~10K。單片機(jī)最小系統(tǒng)復(fù)位電路如圖 3-3所示:宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)5圖 3-3 單片機(jī)最小系統(tǒng)復(fù)位電路3.2 電源電路在本系統(tǒng)中,各個(gè)模塊的工作電壓不盡相同,TFT 液晶顯示屏和 SD卡工作電壓為 3.3V,而單片機(jī)工作電壓為 5V。為了完成各模塊電壓匹配問題,需要設(shè)計(jì)一個(gè)電源電路,完成電壓轉(zhuǎn)換。其電路圖如圖 3-4所示:圖 3-4 電源電路在單片機(jī)系統(tǒng)中,電源轉(zhuǎn)換一般都是選用 AMS1117-3.3V穩(wěn)壓芯片。AMS1117 是一個(gè)正向低壓降三端穩(wěn)壓器,其內(nèi)部集成過熱保護(hù)和限流電路,體積小,穩(wěn)壓特性好,輸出電壓精度高,是便攜電子產(chǎn)品中最常用的穩(wěn)壓芯片。在本設(shè)計(jì)中選擇該穩(wěn)壓芯片,簡化了電路設(shè)計(jì)與制作,同時(shí)又能解決整個(gè)系統(tǒng)電壓不匹配的問題。在設(shè)計(jì)中加入了濾波電容 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,還要使用一根時(shí)鐘線 CLK和命令線 CMD。SD 總線上通信的命令和數(shù)據(jù)比特流從一個(gè)起始位開始,以停止位中止。采用 SD模式時(shí)傳輸速度非???,但是傳輸?shù)拿罴皡f(xié)議復(fù)雜。SPI 模式則一般采用 4線制,即時(shí)鐘線 CLK、片選線 CS、主機(jī)輸出,從機(jī)輸入線 MOSI以及從機(jī)輸出,主機(jī)輸入線 MISO。由于在傳輸期間,每次只使用一條數(shù)據(jù),傳輸速率低,但是相比于 SD模式而言,其傳輸協(xié)議及命令簡單,易于實(shí)現(xiàn)。而且,SD 模式需要微處理器帶有相對應(yīng)的控制器接口,而 51單片機(jī)是不支持 SD卡模式的,選用 SD模式則要增加硬件成本。相反,SPI 總線接口很多 51單片機(jī)都帶有,選擇該模式不但可以簡化主機(jī)和程序的設(shè)計(jì),還降低成本。雖然 SPI模式相對于 SD模式速率較低,但是在帶有 SPI接口的單片機(jī)上用 SPI模式讀取 SD卡里面的圖片數(shù)據(jù)在速度上還是能滿足本設(shè)計(jì)要求的,而且它只需要四根線,連接簡單,軟硬件設(shè)計(jì)方便。因此,在本設(shè)計(jì)中使用 SPI模式是最好的選擇。SD 卡接口電路如圖 3-5所示:圖 3-5 SD 卡接口電路宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)6SD卡的 CS、MOSI、MISO、CLK 分別與單片機(jī)的 P1.4、P1.5~P1.7 連接進(jìn)行通信。SD 卡的工作電壓為 3.3V,而單片機(jī)的工作電壓一般為 5V,所以要進(jìn)行電平轉(zhuǎn)換,實(shí)現(xiàn)各功能模塊間的電平匹配,電平轉(zhuǎn)換右電源電路實(shí)現(xiàn)。3.4 按鍵電路因?yàn)楸菊n題設(shè)計(jì)了幾個(gè)功能,為了方便的在各個(gè)功能件進(jìn)行切換,使用了五個(gè)按鍵,分別是左移 KEY_PRE、右移 KEY_NEXT、上移 KEY_UP、下移/ 退出 KEY_DOWN_EXIT、確定KEY_ENTER 五個(gè)按鍵。按鍵一般有矩陣按鍵和獨(dú)立按鍵,由于設(shè)計(jì)使用的按鍵不多,只有五個(gè),I/O 口充足,所以使用獨(dú)立按鍵設(shè)計(jì)。KEY_PRE、KEY_NEXT、KEY_DOWN_EXIT 、KEY_UP、KEY_ENTER 分別和單片機(jī)的P1.0、P1.2、P1.3 、P1.4、P2.0 連接,當(dāng)按下按鍵時(shí),單片機(jī)相應(yīng)引腳電平被拉低(為 0) ,通過檢測相應(yīng)引腳電平狀態(tài)就可以確定是哪個(gè)按鍵按下,從而執(zhí)行相對應(yīng)的功能,操作方便,容易實(shí)現(xiàn)。按鍵電路如圖 3-6 所示:圖 3-6 按鍵電路3.5 LCD 液晶顯示電路TFT(Thin Film Transistor)薄膜場效應(yīng)晶體管,是值液晶顯示器上的每一個(gè)像素點(diǎn)都是由集成在其后的薄膜晶體管來驅(qū)動(dòng)。從而可以做到高速高亮高對比度顯示液晶屏上的信息,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)行通信。顯示時(shí),一個(gè)像素用 16 位表示,即采用 565RGB 方式,紅色分量用 5 位表示,綠色分量用 6 位表示,藍(lán)色分量用 5 位表示。要想液晶顯示屏正常工作,還要通過片選 CS、寫入 WR、數(shù)據(jù)命令選擇 RS、復(fù)位RST、RD 寫五根線與單片機(jī)連接進(jìn)行控制。液晶彩屏顯示電路如圖 3-7 所示。系統(tǒng)整個(gè)電路圖設(shè)計(jì)見附錄 1。圖 3-7 LCD 液晶顯示電路4 數(shù)碼相框的軟件設(shè)計(jì)4.1 軟件總體設(shè)計(jì)整個(gè)數(shù)碼相框的軟件系統(tǒng)可以分為三個(gè)功能模塊:系統(tǒng)主任務(wù)、系統(tǒng)菜單顯示任務(wù)、系統(tǒng)時(shí)間宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì)7顯示任務(wù)。在主函數(shù)前,先創(chuàng)建三個(gè)以上三個(gè)任務(wù)。系統(tǒng)主任務(wù)主要完成的是系統(tǒng)各種設(shè)備的初始化操作以及不停的進(jìn)行按鍵的掃描,通過按鍵掃描來確定鼠標(biāo)移動(dòng)到液晶顯示屏的哪個(gè)位置,從而調(diào)用相關(guān)函數(shù),按下確定鍵后轉(zhuǎn)到按鍵處理程序執(zhí)行對應(yīng)的功能;系統(tǒng)菜單顯示任務(wù)主要完成的是菜單的選擇與 GUI 窗口的顯示以及各種應(yīng)用程序的選擇處理程序;系統(tǒng)時(shí)間顯示任務(wù)主要完成的是系統(tǒng)時(shí)間的顯示功能,通過調(diào)用相關(guān)函數(shù)實(shí)現(xiàn)時(shí)間的顯示。創(chuàng)建了以上三個(gè)任務(wù)以后,主函數(shù)在 while(1)死循環(huán)中調(diào)用三個(gè)任務(wù),不停的循環(huán)執(zhí)行,等待某個(gè)事件發(fā)生再轉(zhuǎn)到相應(yīng)程序處理。程序流程圖如圖 4-1 所示:NYNYNY圖 4-1 主程序流程圖4.1.1 Protothreads 極輕量級系統(tǒng)介紹Protothreads 是一種在小 RAM 單片機(jī)上實(shí)現(xiàn)多線程的方法,使用 Protothreads 可以很方便的在單片機(jī)上實(shí)現(xiàn)多任務(wù)操作,使得每個(gè)任務(wù)都有自己單獨(dú)的 while(1)循環(huán)。對于單片機(jī)這樣的小 RAM微處理器不能進(jìn)行移植操作系統(tǒng),而使用 Protothreads 可以輕松實(shí)現(xiàn),達(dá)到一樣的效果,大大簡化了程序的設(shè)計(jì)。Protothreads 最大的特點(diǎn)是占用內(nèi)存非常小,每個(gè) Protothreads 只需占用 2 字節(jié)的RAM,而且代碼非常短,移植很方便,只需在工程中包含三個(gè)頭文件 lc.h、lc-switch.h、pt.h 即可。主函數(shù)中創(chuàng)建的三個(gè)任務(wù)就是利用 protothreads 創(chuàng)建的。以下幾個(gè)函數(shù)是 Protothreads 中比較重要的幾個(gè)函數(shù),分別對其進(jìn)行說明 [11]:PT_INIT(pt):初始化任務(wù)變量,只需在初始化函數(shù)中執(zhí)行一次即可。PT_BEGIN(pt):啟動(dòng)任務(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è)計(jì)8PT_WAIT_UNTIL(pt, condition):等待某個(gè)條件(條件可以為時(shí)鐘或其它變量,IO 等)成立,否則直接退出本函數(shù),下一次進(jìn)入本函數(shù)就直接跳到這個(gè)位置運(yùn)行,再次判斷運(yùn)行條件是否滿足,并執(zhí)行后續(xù)程序或繼續(xù)阻塞。4.2 驅(qū)動(dòng)程序設(shè)計(jì)4.2.1 SPI 驅(qū)動(dòng)程序設(shè)計(jì)SPI 總線接口是 STC12C5A60S2 單片機(jī)提供的高速串行外設(shè)接口,SPI 接口是一種高速、全雙工、同步的串行通信總線。與 SPI 通信相關(guān)的特殊功能寄存器主要有三個(gè):控制寄存器 SPCTL、狀態(tài)寄存器 SPSTAT 以及數(shù)據(jù)寄存器 SPDAT。(1)控制寄存器 SPCTL:確定單片機(jī)作為主機(jī)還是從機(jī),使能 SPI,設(shè)定 SPI 發(fā)送和接收的位順序以及設(shè)定 SPI 傳輸數(shù)據(jù)的時(shí)鐘速率。(2)狀態(tài)寄存器 SPSTAT:用來判斷 SPI 數(shù)據(jù)有沒有傳輸完成以及檢測是否對數(shù)據(jù)寄存器SPDAT 進(jìn)行寫操作。(3)數(shù)據(jù)寄存器 SPDAT:所要傳輸?shù)?8 位數(shù)據(jù),為 Bit7~Bit0。SPI 驅(qū)動(dòng)程序主要包括四個(gè)函數(shù):SPI 初始化函數(shù)主要對以上三個(gè)寄存器進(jìn)行初始化操作;SPI時(shí)鐘速率設(shè)置函數(shù)用來設(shè)置數(shù)據(jù)傳輸時(shí)的速率,為高速模式還是低速模式;SPI 發(fā)送數(shù)據(jù)函數(shù)用來發(fā)送指定數(shù)據(jù)到 SPI 總線上; SPI 接收數(shù)據(jù)函數(shù)則是用來接收來自 SPI 總線上的數(shù)據(jù)。4.2.2 SD 卡驅(qū)動(dòng)程序設(shè)計(jì)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 卡之間通信的命令有幾十個(gè),但是常用的只有 19 個(gè),每個(gè)命令都會產(chǎn)生不同的響應(yīng)碼,用以判斷 SD 卡處于什么狀態(tài)。SD 卡驅(qū)動(dòng)程序設(shè)計(jì)主要有兩個(gè)函數(shù):SD 卡初始化函數(shù)和 SD卡讀扇區(qū)函數(shù)。(1)SD 卡初始化函數(shù):初始化函數(shù)主要完成 SD 卡的上電復(fù)位并將 SD 卡初始化為 SPI 模式。初始化程序流程圖如 4-2 所示:NYN開始發(fā)送 74 個(gè)時(shí)鐘周期發(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è)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機(jī) 多功能 數(shù)碼 設(shè)計(jì) 實(shí)現(xiàn)
鏈接地址:http://www.3dchina-expo.com/p-398359.html