計算機應用嵌入式課程設計.doc_第1頁
計算機應用嵌入式課程設計.doc_第2頁
計算機應用嵌入式課程設計.doc_第3頁
計算機應用嵌入式課程設計.doc_第4頁
計算機應用嵌入式課程設計.doc_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

湖南涉外經(jīng)濟學院計算機科學與技術學部課程設計報告題目(中文) 片外數(shù)據(jù)的流動與存儲 (英文)Chip flow and storage of date姓 名 曾 瑾 學 號 200702602318 學 部 計算機科學與技術學部 專業(yè)、年級 計應0702班 指 導 教 師 劉曉秋 計算機科學與技術學部目 錄 第一部分:基本情況和內(nèi)容 1組員基本情況與內(nèi)容 3 2 與課程設計相關的課程學習情況3 3 組內(nèi)成員中當任班干部的姓名與職務情況3 4 指導教師對課程設計的評語3 第二部分:報告內(nèi)容與總結 1選題描述4 2設計過程5 3程序詳細設計11 4總結報告12 5程序附錄 13 第三部分:設計說明書 14第一部分:基本情況與內(nèi)容1 組內(nèi)成員基本情況題目片外數(shù)據(jù)的存儲同組隊員信息學號姓名專業(yè)有效聯(lián)系方式學生1學生2學生3學生4學生5學生6學生7注:有效聯(lián)系方式主要是電話和E-mail兩項,根據(jù)組內(nèi)成員的多少,調(diào)整表的大小。2與課程設計相關的課程學習情況(分別列出已學過的課程)課程1 嵌入式系統(tǒng)課程2 匯編語言課程3 微機接口 課程 4 PLC 原理及程序設計課程 5 計算機組成原理3組內(nèi)成員中當任班干部的姓名與職務情況4指導教師對課程設計的評語 教師: 年 月 日第二部分:報告內(nèi)容選題描述l 現(xiàn)狀概述(現(xiàn)象、環(huán)境、條件)眾所周知MCS-51系列CPU里大多有一個4K的ROM 8K的EPROM和128B/256B的RAM(有的則沒有ROM),當我們需要存儲更大容量時就必須進行片外的擴充或者想將數(shù)據(jù)傳到片外時就得再接一個外部存儲器(片內(nèi)片外的ROM是實行統(tǒng)一編止的)。當訪問外部存儲器(簡稱外部數(shù)據(jù)存儲器)時,使用的是MOVX指令,若執(zhí)行的是“MOVX A,DPTR”或“ MOVX DPTR,A”指令,則此地址就是DPL(數(shù)據(jù)指針的低8位);同時,在P2口上出現(xiàn)的是DPH(數(shù)據(jù)指針的高8位)。若執(zhí)行的是“MOVX A,Ri”或“MOVX Ri,A”指令,則Ri的內(nèi)容為低8位地址,而P2口線上將是P2口鎖存器的內(nèi)容。當RD/WR有效時,P0口將讀/寫數(shù)據(jù)存儲器中的數(shù)據(jù)。 在這種情況下, 由P2口提供高8位地址,P0口分時提供低8位地址和用作8位雙向數(shù)據(jù)總線。片外數(shù)據(jù)存儲器RAM的讀和寫由51系列的RD(P3.7)和WR(P3.6)信號控制。在第一個機器周期的S2、p2時刻,外部低8位數(shù)據(jù)鎖存器74LS373利用單片機的ALE信號下降沿將單片機P0口輸出的低8位地址信號進行鎖存(暫存),為外存儲器提供低8位地址信號。以指令MOVX A,DPTR指令為例,在S5、P1時刻,指令經(jīng)過編譯后,將DPTR中的內(nèi)容(即外部數(shù)據(jù)存儲器的地址),分別經(jīng)P0、P2口輸出,并在 S5、P2時刻74LS373將P0口中低8位地址鎖存,與P2口共同為外部數(shù)據(jù)存儲器提供一個完整的16位地址信號從而使單片機系統(tǒng)的尋址范圍達到64KB。在指令執(zhí)行第2個機器周期的S1,P1時刻,外部數(shù)據(jù)存儲器RAM在單片機發(fā)送的RD低電平信號作用下,將選中的單元中的數(shù)據(jù)送到P0口傳送到累加器A。l 功能要求(達到的功能要求、知識要求、使用工具和器件是什么)功能要求:片外數(shù)據(jù)的存儲與傳送知識要求:要實現(xiàn)片外數(shù)據(jù)的流動存儲就首先必須熟練一般的匯編語言,對微機接口及單片機方面的知識都要有一定的了解,而且又有一定的數(shù)字電路基礎,要實現(xiàn)片外數(shù)據(jù)的存儲,我們必須得在MCS-51系列的CPU上外掛一個數(shù)據(jù)存儲器使用工具:在此我們選的是51系列CPU及靜態(tài)RAM6116(2K*8).74LS373(外部低8位數(shù)據(jù)鎖存器)調(diào)試軟件:在MCS51仿真軟件上進行調(diào)試l 規(guī)范使用(如何使用才能保證設計效果) 要保證設計所達到預期的設計效果就必須規(guī)范使用,首先得把握好題目的意思,如各方面的要求,功能的實現(xiàn),數(shù)字及代碼的規(guī)范使用,應該達到的效果,而且操作應該在一個相對比較好的環(huán)境下(確保器件的齊全,可用,無故障),在實驗之前對元器件進行檢查以確保實驗的正常進行,拿取集成電路時請盡量不要觸碰到核心芯片及其引腳。設計過程l 總體框圖(由幾部分組成,各部分的聯(lián)系及次序,最后體現(xiàn)整體流程圖)(1)該課程設計主要由選題描、設計過程、程序詳細設計、總結報告、程序附錄五部分組成,各個部分的聯(lián)系是逐層遞進的,完成上一部分才能進行下一部分的工作,大概框圖如下:選描述設計過程硬件設計存選題描述設計過程硬件設計包括以下三個分配存儲分配出錯處理設計包括以下三個程序詳細設計總結報告程序附錄主程序設計 2.程序流程圖(圖右)累加器A賦值A中的內(nèi)容送到片外DPTR地址加1R0加1R0=0?計數(shù)器R0原始清零,并指針賦值開始N結束Yl 硬件設計(將要使用的接口集成電路、CPU、數(shù)據(jù)存儲器、程序存儲器如何構成一個整體,系統(tǒng)資源如何統(tǒng)一安排等。)片外數(shù)據(jù)的流動與存儲設計硬件電路主要由以下部分組成:1. 微機系統(tǒng)(MCU)2. 信號鎖存單元(74LS373)3. 外部存儲單元(RAM)等MCS-51系列CPU負責數(shù)據(jù)的傳輸與控制,將片內(nèi)的數(shù)據(jù)通過其P0,P2口輸出,其中P0是輸出低八位地址(因為P0口線既要用作低八位地址總線同時還要分時復用成數(shù)據(jù)總線,因此需要加一個8位數(shù)據(jù)鎖存器,先把低8位地址送鎖存器暫存然后由鎖存器給系統(tǒng)提供低八位地址),P2口輸出的是高八位地址(本題只需三位),然后將數(shù)據(jù)存到外部數(shù)據(jù)寄存器RAM中。A0A10地址輸入線O0O7雙向三態(tài)數(shù)據(jù)線CE片選信號輸入線,低電平有效,且CE為低電平時才選中該片OE讀選通信號輸入線,低電平有效WE寫允許信號是輸入線,低電平有效VCC工作電源,電壓為+5VGND使能控制端6116為2K*8位靜態(tài)SRAM芯片,在此作為片外數(shù)據(jù)存儲器使用(6116存儲容量只2KB,引腳數(shù)24只,工作電壓5V,典型工作電流35MA,典型維持電流5MA)方式 信號CE/OE/WE/ O0O7讀VIL VIL VIH數(shù)據(jù)輸出寫 VIL VIH VIL數(shù)據(jù)輸入維持 VIH 任意 任意高阻態(tài)(6116操作控制圖) 設計采用的電路圖如下所示:OE/WE/A8A9A10A0A76116(SRAM)I/00I/01I/02I/03I/04I/05I/06 CE/I/07 P3.7(RD/)P3.6(WE/)P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7MCU(微處理器) P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7EA/ ALE 74LS373DO Q0 Q7D7G OE/ G G (邏輯電路圖)l 存儲分配(片內(nèi)、片外用戶數(shù)據(jù)區(qū)的劃分與存儲,片選信號的正確使用。)7FH用戶RAM區(qū)30H2FH位尋址區(qū)20H1FH寄存器組0FH (1)由圖左我們能看出片內(nèi)RAM的分配: 1.80HFFH:專用寄存器區(qū),128字節(jié) 2.30H7FH:用戶區(qū),80字節(jié) 3.20H2FH:位,尋址區(qū),16個字節(jié) 4.60H1FH:四組寄存器,32個字節(jié)(圖左1) FFFFH64KBRAM(I/O)0000H(2)我們從圖左2可看出片外用戶數(shù)據(jù)區(qū)地址劃分為0000FFFFH,存儲空間大小為16KB(以擴展的最大空間為例) (圖左2)(3) 6116的片選信號端為CE/,低電平有效,所以我們可以給它送一個低電平或者直接接地即可(此處直接接地)l 出錯處理設計(估計可能出差的情況分析、出錯以后處理對策方案。)在各種51系列單片機測控系統(tǒng)中,RAM是其中一個很重要的組成部分。而在本題中片外數(shù)據(jù)的存儲與流動涉及到片外,所以外部寄存器的好與壞是關系到本次設計能否成功的決定性因素,RAM的正常與否,直接關系到系統(tǒng)能否正常工作。在系統(tǒng)開始正常工作之前,如能對系統(tǒng)RAM進行自檢,則可有效的避免因RAM失常對測控系統(tǒng)帶來的危害。因此,對系統(tǒng)RAM進行自檢是非常重要的。測試外部存儲器是否出現(xiàn)故障:方法1:首先將MCS51中的數(shù)據(jù)寫到外部存儲器RAM中(寫到任意單元中),然后再讀出寫入得內(nèi)容,若對任意區(qū)讀出和寫入的內(nèi)容都一致的話,則表示RAM存儲器完好,無故障,否則有故障,若有故障,此時則應根據(jù)讀寫結果分析原因,故障原因有可能是工作電源沒有加上或地址線數(shù)據(jù)線有錯位、開路、短路、或讀、寫信號線沒有連接好等等 有一資料上介紹了另一種方法,方法2:程序測試法(此方法是首先向整個數(shù)據(jù)區(qū)寫入同一數(shù)據(jù),再一一讀出比較,若不一樣,則出錯)。 測試程序如下:ORG 0001HSTART: MOV A,#55H ;準備向數(shù)據(jù)區(qū)2000H3FFFH寫55H MOV B,A ;保存在B中 MOV DPTR,#2000H ;RAM首地址2000HWR: MOV A,B ;取出要寫至RAM的數(shù)據(jù) MOVX DPTR,A ;寫入RAM的一個單元中 INC DPTR ;DPTR加1 MOV A,DPL ;取地址低字節(jié) JNZ WR ;不為0,轉(zhuǎn)WR繼續(xù) MOV A,DPH ;取地址高字節(jié) CJNE A,#40H,WR ;40H(最高地址+1的高字節(jié)) MOV DPTR,#2000H ;等于,即寫完,重新置RAM首地址RD : MOVX A,DPTR ;讀出單元的數(shù)據(jù) CJNE A,B,ERR ;與寫入的數(shù)比較,不相等則出錯 INC DPTR ;加1 MOV A,DPL ;判別是否末地址 JNZ RD MOV A,DPH CJNE A,#40H,RD GOOD: SETB P1.0 ;全部比較完,正確 SJMP GOODERR : SETB P1.7 SETB ERR ;出錯處理運行該程序時如果D0二極管亮,說明外部RAM正常,否則,二極管D7亮,說明有故障。還有一種網(wǎng)上文獻所做的:ORG 0000HLJMP STARTORG 0040HSTART: MOV SP,#60H MOV DPTR,#1000H ;置外部RAM讀寫地址 MOV A,#55H ;測試的數(shù)據(jù)一 MOV B,A MOVX DPTR,A ;寫外部RAM MOVX A,DPTR ;讀外部RAM XRL A,B ;比較讀回的數(shù)據(jù) JNZ ERROR MOV A,#0AAH ;測試的數(shù)據(jù)二 MOV B,A MOVX DPTR,A MOVX A,DPTR XRL A,B JZ PASS ;測試通過ERROR: SETB P1.0 ;測試失敗,點亮L1 SJMP $ ;停機PASS: CPL P1.0 ;L1狀態(tài)(亮/滅)轉(zhuǎn)換 MOV R1,#00H ;延時DELAY: MOV R2,#00H DJNZ R2,$ DJNZ R1,DELAY LJMP START ;測試循環(huán) END 程序詳細設計l 主程序設計i. 要完成的功能簡述(符合處理程序流程圖) 將片外RAM的3000H到30FFH單元的內(nèi)容設為7FH,程序從0050H開始ii. 程序代碼和注釋(程序代碼具有獨特性)ORG 0050H ;程序啟動地址MAIN: MOV R0,#00H ;將計數(shù)器R0清零 MOV DPTR,#3000H ;給DPTR存儲器指針賦初值 LOOP1: MOV A,,#7FH ;累加器A賦值為7FH MOVX DPTR,A ;將存儲器A中內(nèi)容送到片外 INC DPTR ;單元地址自動加1 INC R0 ;計數(shù)器R0的值增1 CJNE R0,#00H,LOOP1 ;判斷是否跳轉(zhuǎn)執(zhí)行循環(huán),R0不為零則執(zhí)行循環(huán),為0則繼續(xù)執(zhí)行下條指令 END ;程序結束標志 l 接口設置i. 使用的集成電路與達到的要求我們使用的集成電路時最簡單的單片機電路來實現(xiàn)片外數(shù)據(jù)的存儲與流動,要求我們將51系列CPU的P0口當做輸入第八位地址用,同時還要分時復用成數(shù)據(jù)總線,P2口當做高八位地址所用(在此只需取高三位地址限于所選的芯片)。l 程序的調(diào)試i. 調(diào)度的工具我們在此應用的調(diào)度工具是MCS-51仿真軟件使用條件:在WINDOWS平臺下進行操作調(diào)度步驟:首先將程序代碼調(diào)入軟件中進行調(diào)試,先構建再編譯,裝載程序后,如其能運行,則按F8觀看數(shù)據(jù)的變化,在程序運行中觀察R0,A,CODE的值,程序運行后在打開XDATA窗口觀察XDATE的值ii. 調(diào)試數(shù)據(jù)的正確性分析 經(jīng)調(diào)試打開XDATE窗口3000H30FFH單元中的值都為7FH,我們可以下出結論該程序設計正確,達到設計的目的??偨Y報告l 用文字概括課程設計的全過程(簡單扼要、文體合適)本次設計片外數(shù)據(jù)的存儲與流動,實際上是擴展外部存儲器,已滿足用戶的需求,片外數(shù)據(jù)的流動與存儲課程設計重點是理論與實際相結合,不單單只是書上的一條條分離的指令。課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題,是對學生實際工作能力的具體訓練和考察過程,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。l 經(jīng)驗與教訓 鍛煉實踐能力的重要環(huán)節(jié),回顧起此次的課程設計,我仍感慨頗多,的確,從選題到定稿,花了將近五個星期,但是可以學到很多東西,不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說對匯編語言掌握得不好通過這次課程設計之后,一定把以前所學過的知識重新溫故。這次課程設計終于順利完成了,在設計中遇到了很多編問題,最后在同學的幫助和老師的指導下終于游逆而解。最后,對給過我?guī)椭乃型?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論