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