版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-.z.中南大學(xué)微機課程設(shè)計報告題目交通燈設(shè)計專業(yè)班級姓名學(xué)號指導(dǎo)教師林立新教師目錄課程設(shè)計題目、功能、目的……..2系統(tǒng)分析與設(shè)計…………3系統(tǒng)所用芯片分析…………..3所選用芯片的簡要介紹……………………4系統(tǒng)框圖…………..6程序設(shè)計………….…………73.1十字路口交通燈狀態(tài)轉(zhuǎn)換表……………73.2主程序流程圖……………………73.3中斷子程序流程圖…………..83.4數(shù)碼管碼表……………………..83.5各芯片初始化說明………….9運行情況………….………10具體源代碼及注釋……………………11心得體會………….………16課程設(shè)計題目、功能、目的課程設(shè)計題目--------------交通燈設(shè)計本設(shè)計所實現(xiàn)功能實現(xiàn)十字路口交通燈各種狀態(tài)的轉(zhuǎn)換;各種狀態(tài)轉(zhuǎn)換的時間可進展靈活設(shè)置;采用中斷的方法對狀態(tài)轉(zhuǎn)換進展控制,提高處理器效率;在各個狀態(tài)轉(zhuǎn)換的同時實現(xiàn)倒計時提醒。本次課程設(shè)計目的通過"微機原理與接口"課程設(shè)計,使學(xué)生能夠進一步了解微型計算機工作原理,微型計算機的硬件構(gòu)造及微型計算機軟件編程。要求學(xué)生根據(jù)接口電路的硬件要求進展計算機的匯編語言程序設(shè)計,使學(xué)生的軟件編程能力得到加強,對接口電路的綜合應(yīng)用能力有較大提高。系統(tǒng)分析與設(shè)計系統(tǒng)所用芯片分析首先本個系統(tǒng)需要一個中央處理器來負責(zé)對整個系統(tǒng)進展控制管理,因為"微機原理與接口技術(shù)"這門課上介紹了8086芯片,所以可以采用8086作為本系統(tǒng)的中央處理器。由于本次的課程設(shè)計的題目是交通燈,而根據(jù)十字路口處的交通燈南北和東西方向各有紅、綠、黃三種顏色的燈,因此可用8255來控制6個LED燈的實現(xiàn)模擬的南北和東西方向上的交通燈。而交通燈的狀態(tài)轉(zhuǎn)換時間要由中斷方式來控制,所以很容易想到了可以用8259作為中斷芯片,與8086芯片相連。交通燈的狀態(tài)轉(zhuǎn)換時間可靈活設(shè)置,于是想到了可以采用一塊8253或8254芯片和一個脈沖源相連,8253對脈沖源送來的脈沖進展分頻,然后將輸出送到8259作為中斷源,而8253采用不用的計數(shù)初值其輸出脈沖的頻率就不一樣,因此實現(xiàn)了交通類狀態(tài)轉(zhuǎn)換時間的靈活設(shè)置。最后關(guān)于交通燈狀態(tài)轉(zhuǎn)換的倒計時功能,可由一個七段數(shù)碼管來顯示倒計時,而本次課程設(shè)計的實驗箱沒有提供單個數(shù)碼管,而是提供了一個八位一體七段數(shù)碼管,所以還需一塊8279芯片來對數(shù)碼管進展控制。所選用芯片的簡要介紹8255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個8位并行I/O口。具有3個通道3種工作方式的可編程并行接口芯片〔40引腳〕。其各口功能可由軟件選擇,使用靈活,通用性強。8255可作為單片機與多種外設(shè)連接時的中間接口電路。8255作為主機與外設(shè)的連接芯片,必須提供與主機相連的3個總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制局部,因而8255內(nèi)部構(gòu)造分為3個局部:與CPU連接局部、與外設(shè)連接局部、控制局部。intel8253是NMOS工藝制成的可編程計數(shù)器/定時器,有幾種芯片型號,外形引腳及功能都是兼容的,只是工作的最高計數(shù)速率有所差異,例如8253〔2.6MHz〕,8253-5(5MHz)8253內(nèi)部有三個計數(shù)器,分別稱為計數(shù)器0、計數(shù)器1和計數(shù)器2,他們的機構(gòu)完全一樣。每個計數(shù)器的輸入和輸出都決定于設(shè)置在控制存放器中的控制字,互相之間工作完全獨立。每個計數(shù)器通過三個引腳和外部聯(lián)系,一個為時鐘輸入端CLK,一個為門控信號輸入端GATE,另一個為輸出端OUT。每個計數(shù)器內(nèi)部有一個8位的控制存放器,還有一個16位的計數(shù)初值存放器CR、一個計數(shù)執(zhí)行部件CE和一個輸出鎖存器OL。執(zhí)行部件實際上是一個16位的減法計數(shù)器,它的起始值就是初值存放器的值,而初始值存放器的值是通過程序設(shè)置的。輸出鎖存器的值是通過程序設(shè)置的。輸出鎖存器OL用來鎖存計數(shù)執(zhí)行部件CE的內(nèi)容,從而使CPU可以對此進展讀操作。順便提一下,CR、CE和OL都是16位存放器,但是也可以作8位存放器來用。Intel8086擁有四個16位的通用存放器,也能夠當(dāng)作八個8位存放器來存取,以及四個16位索引存放器〔包含了堆棧指標〕。資料存放器通常由指令隱含地使用,針對暫存值需要復(fù)雜的存放器配置。它提供64K8位元的輸出輸入〔或32K16位元〕,以及固定的向量中斷。大局部的指令只能夠存取一個內(nèi)存位址,所以其中一個操作數(shù)必須是一個存放器。運算結(jié)果會儲存在操作數(shù)中的一個存放器。Intel8086有四個內(nèi)存區(qū)段〔segment)存放器,可以從索引存放器來設(shè)定。區(qū)段存放器可以讓CPU利用特殊的方式存取1MB內(nèi)存。8086把段地址左移4位然后把它加上偏移地址。大局部的人都認為這是一個很不好的設(shè)計,因為這樣的結(jié)果是會讓各分段有重疊。盡管這樣對組合語言而言大局部被承受〔也甚至有用〕,可以完全地控制分段,,使在編程中使用指針〔如C編程語言〕變得困難。它導(dǎo)致指針的高效率表示變得困難,且有可能產(chǎn)生兩個指向同一個地方的指針擁有不同的地址。更壞的是,這種方式產(chǎn)生要讓內(nèi)存擴大到大于1MB的困難。而8086的尋址方式改變讓內(nèi)存擴大較有效率。8086處理器的時鐘頻率介于4.77MHz〔在原先的IBMPC頻率〕和10MHz之間。8086沒有包含浮點指令局部〔FPU〕,但是可以通過外接數(shù)學(xué)輔助處理器來增強浮點計算能力。系統(tǒng)框圖程序設(shè)計十字路口交通燈狀態(tài)轉(zhuǎn)換表:南北方向東西方向十六進制代碼紅綠黃紅綠黃0010001022H0010000121H0001010014H000011000CH主程序流程圖:中斷子程序流程圖:共陰數(shù)碼管碼表:數(shù)字01234編碼0*3F0*060*5B0*4F0*66數(shù)字56789編碼0*6D0*7D0*070*7F0*905.8259初始化說明MOVAL,13H ;寫ICW1,需要ICW4、單片工作、邊沿觸發(fā)方式MOVD*,INTPORT1OUTD*,ALMOVAL,08H ;寫ICW2,設(shè)置中斷向量號MOVD*,INTPORT2OUTD*,ALMOVAL,09H ;寫ICW4,普通全嵌套方式、采用緩沖方式OUTD*,ALMOVAL,0F7H ;寫OCW1,只開IR3中斷請求,其余屏蔽OUTD*,AL6.8253初始化說明MOVD*,TCONTRO MOVAL,10110100B;采用二進制計數(shù)方式,工作方式二,十六們計數(shù),計數(shù)器二OUTD*,ALMOVD*,TCON2MOVAL,0AH ;計數(shù)初值為10,即1S中斷一次OUTD*,ALMOVAL,00HOUTD*,AL7.8255初始化說明MOVAL,80H ;PA、PB、PC口都設(shè)定為輸出工作方式MOVD*,IOCONPTOUTD*,AL運行情況經(jīng)屢次調(diào)試后,系統(tǒng)運行良好,實現(xiàn)了要求和設(shè)想中的全部功能,如上圖為實際運行時的圖片。具體代碼及注釋CODESEGMENTASSUMECS:CODEINTPORT1EQU0020HINTPORT2EQU0021HINTQ3 EQUINTREEUP3 ;8259CONTPORTEQU00DFHDATAPORTEQU00DEH ;8279TCONTROEQU004BH ;8253TCON2 EQU004AHIOCONPTEQU0073H 所用芯片端口地址初始化IOCPT EQU0072HIOBPT EQU0071H ;8255DATA0 EQU0580HDATA1 EQU0500HDATA2 EQU0508HDATA3 EQU0518HDATA4 EQU0520HORG1000HSTART: JMPTint1Tint1:CLI MOVA*,0H MOVDS,A* MOVD*,CONTPORT MOVAL,00H OUTD*,AL8279初始化及工作方式的設(shè)定 MOVAL,2AH8279初始化及工作方式的設(shè)定 OUTD*,AL MOVAL,0d0h OUTD*,AL MOVAL,90h OUTD*,AL8255初始化及工作方式的設(shè)定MOVAL,80H 8255初始化及工作方式的設(shè)定MOVD*,IOCONPT OUTD*,AL MOVD*,TCONTRO MOVAL,10110100B OUTD*,AL8253初始化及工作方式的設(shè)定 MOVD*,TCON28253初始化及工作方式的設(shè)定 MOVAL,0AH OUTD*,AL MOVAL,00H OUTD*,ALCALLFORMAT CLI MOVDI,DATA0 MOVC*,08H *ORA*,A* REPSTOSW MOVSI,DATA3 CALLLEDDISP ;數(shù)碼管顯示初始圖案"-------〞 MOVA*,0H MOVDS,A* CALLWRINTVER ;調(diào)用子程序,設(shè)置中斷地址向量表 MOVAL,13H MOVD*,INTPORT1 OUTD*,AL MOVAL,08H8259初始化及工作方式的設(shè)定 MOVD*,INTPORT28259初始化及工作方式的設(shè)定 OUTD*,AL MOVAL,09H OUTD*,AL MOVAL,0F7H OUTD*,AL MOVBYTEPTRDS:[0601H],03H MOVBYTEPTRDS:[0602H],00H STI ;開中斷WATING:JMPWATING ;等待中斷,無限循環(huán)WRINTVER:MOVA*,0H MOVES,A* MOVDI,002CH設(shè)置中斷地址向量表子程序 LEAA*,INTQ3設(shè)置中斷地址向量表子程序 STOSW MOVA*,CS STOSW RETINTREEUP3: ;中斷子程序 CLI MOVAL,DS:[0601H] CALLCONVERS MOVSI,DATA0 CALLLEDDISP CMPBYTEPTRDS:[0601H],03H JNZNE*T MOVD*,IOBPTCOMP: CMPBYTEPTRDS:[0602H],00H JZSI0 CMPBYTEPTRDS:[0602H],01H JZSI1 CMPBYTEPTRDS:[0602H],02H JZSI2 CMPBYTEPTRDS:[0602H],03H JZSI3SI0: MOVAL,22H判斷DS:[0602H]判斷DS:[0602H]里面的值,并跟據(jù)結(jié)果來進展對應(yīng)的轉(zhuǎn)換 JMPPUTSI1: MOVAL,21H ADDBYTEPTRDS:[0602H],01H JMPPUTSI2: MOVAL,14H ADDBYTEPTRDS:[0602H],01H JMPPUTSI3: MOVAL,0CH MOVBYTEPTRDS:[0602H],00H JMPPUT PUT: MOVD*,IOBPT OUTD*,ALNE*T: MOVAL,20H MOVD*,INTPORT1 OUTD*,AL SUBBYTEPTRDS:[0601H],01H CMPBYTEPTRDS:[0601H],00H JZINTRE1 JMPE*CONVERS: MOVBH,0H ANDAL,0FH MOVBL,AL MOVAL,CS:[B*+DATA2] MOVB*,DATA0 MOVDS:[B*],AL RETINTRE1: MOVBYTEPTRDS:[0601H],03HE*: MOVAL,20H中斷完畢控制方式OCW2,普通中斷完畢方式 MOVD*,INTPORT1中斷完畢控制方式OCW2,普通中斷完畢方式 OUTD*,AL STI IRETLEDDISP: MOVAL,90H MOVD*,CONTPORT OUTD*,AL MOVBYTEPTRDS:[0600H],00LED1: CMPBYTEPTRDS:[0600H],07H顯示子程序,從左到右依次送數(shù) JALED2顯示子程序,從左到右依次送數(shù) MOVBL,DS:[0600H] MOVBH,0H MOVAL,CS:[B*+SI] MOVD*,DATAPORT OUTD*,AL ADDBYTEPTRDS:[0600H],01H JNZLED1LED2: RET格式化內(nèi)存,將數(shù)碼管將要顯示的字符的編碼寫入內(nèi)存FORMAT:MOVB*,0 ;格式化內(nèi)存,將數(shù)碼管將要顯示的字符的編碼寫入內(nèi)存 MOVWORDPTRDS:[B*+0500H],5050H ADDB*,2 MOVWORDPTRDS:[B*+0500H],0079H ADDB*,2 MOVWORDPTRDS:[B*+0500H],0000H ADDB*,2 MOVWORDPTRDS:[B*+0500H],0000H ADDB*,2 MOVWORDPTRDS:[B*+0500H],063FH ADDB*,2 MOVWORDPTRDS:[B*+0500H],4F5BH ADDB*,2 MOVWORDPTRDS:[B*+0500H],6D66H ADDB*,2 MOVWORDPTRDS:[B*+0500H],077DH ADDB*,2 MOVWORDPTRDS:[B*+0500H],6F7FH ADDB*,2 MOVWORDPTRDS:[B*+0500H],7C77H ADDB*,2 MOVWORDPTRDS:[B*+0500H],5E39H ADDB*,2 MOVWORDPTRDS:[B*+0500H],7179H ADDB*,2 MOVWORDPTRDS:[B*+0500H],4040H ADDB*,2 MOVWORDPTRDS:[B*+0500H],4040H ADDB*,2 MOVWORDPTRDS:[B*+0500H],4040H ADDB*,2 MOVWORDPTRDS:[B*+0500H],4040H ADDB*,2 RETCODEENDSENDSTART心得體會本學(xué)期的微機原理和接口技術(shù)及其課程設(shè)計都已經(jīng)完畢。在這個過程中,我們有所付出,也有所回報,讓我感受頗多。對于"微機原理與接口技術(shù)"這門課程而言,初學(xué)時,感覺摸不著頭緒。面對著眾多的術(shù)語、概念及原理性的問題不知道該如何下手。在了解課程的特點后,我發(fā)現(xiàn),應(yīng)該以微機的整機概念為突破口,在如何建立整體概念上下功夫。"麻雀雖小,五臟俱全〞,可以通過學(xué)習(xí)一個模型機的組成和指令執(zhí)行的過程,了解和熟悉計算機的構(gòu)造、特點和工作過程。"微機原理與接口技術(shù)"課程有許多新名詞、新專業(yè)術(shù)語。透徹理解這些名詞、術(shù)語的意思,為今后深入學(xué)習(xí)打下根底。一個新的名詞從首次接觸到理解和應(yīng)用,需要一個反復(fù)的過程。而在眾多概念中,真正關(guān)鍵的并不是很多。比方"中斷〞概念,既是重點又是難點,如果不懂中斷技術(shù),就不能算是搞懂了微機原理。在學(xué)習(xí)中但凡遇到這種情況,絕對不輕易放過,要力求真正弄懂,搞懂一個重點,將使一大串概念迎刃而解。學(xué)習(xí)過程中,我發(fā)現(xiàn)許多概念很相近,為了更好地掌握,將一些容易混淆的概念集中在一起進展分析,比擬它們之間的異同點。比方:微機原理中,引入了計算機由五大局部組成這一概念;從中央處理器引出微處理器的定義;在引出微型計算機定義時,強調(diào)輸入/輸出接口的重要性;在引出微型計算機系統(tǒng)的定義時,強調(diào)計算機軟件與計算機硬件的相輔相成的關(guān)系。微處理器是微型計算機的重要組成局部,它與微型計算機、微型計算機系統(tǒng)是完全不同的概念。微處理器、微型計算機和微型計算機系統(tǒng)在微機中,最根底的語言是匯編語言。匯編語言是一個最根底最古老的計算機語言。語言總是越根底越重要,在重大的編程工程中應(yīng)用最廣泛。就我的個人理解,匯編是對存放的地址以及數(shù)據(jù)單元進展最直接的修改。而在*些時候,這種方法是最有效,最可靠的。比方,在當(dāng)今的戰(zhàn)爭中,首先就是運用這方面的知識來修改地方的系統(tǒng)程序。讓地方的衛(wèi)星偏離軌道,從而不能發(fā)現(xiàn)目標。其威力可見一斑。然而,事物總有兩面性,有優(yōu)點自然缺點也不少。其中,最重要的一點就是,匯編語言很復(fù)雜,對*個數(shù)據(jù)進展修改時,本來很簡單的一個操作會用比擬煩瑣的語言來解決,而這些語言本身在執(zhí)行和操作的過程中,占有大量的時間和本錢。在一些講求效率的場合,并不可取。匯編語言對學(xué)習(xí)其他計算機起到一個比擬、對照、參考的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版美容院會員積分體系合作協(xié)議4篇
- 2025年度教育培訓(xùn)機構(gòu)課程開發(fā)及師資培訓(xùn)合同4篇
- 2025年成都美食研發(fā)上灶師父招聘與新品開發(fā)合同2篇
- 三方產(chǎn)品銷售合同范本(2024版)
- 二零二五年度商業(yè)地產(chǎn)租賃收益權(quán)轉(zhuǎn)讓合同3篇
- 2025年度智慧農(nóng)業(yè)項目采購合同解除協(xié)議2篇
- 二零二五年度鋼管車輛運輸合同車輛保險理賠與費用結(jié)算合同3篇
- 2025版動漫主題咖啡廳經(jīng)營管理協(xié)議3篇
- 二零二五年度車輛抵押抵押權(quán)轉(zhuǎn)讓合同范本3篇
- 2025年生態(tài)園區(qū)委托物業(yè)管理合同范本3篇
- 《天潤乳業(yè)營運能力及風(fēng)險管理問題及完善對策(7900字論文)》
- 醫(yī)院醫(yī)學(xué)倫理委員會章程
- xx單位政務(wù)云商用密碼應(yīng)用方案V2.0
- 農(nóng)民專業(yè)合作社財務(wù)報表(三張報表)
- 動土作業(yè)專項安全培訓(xùn)考試試題(帶答案)
- 大學(xué)生就業(yè)指導(dǎo)(高職就業(yè)指導(dǎo)課程 )全套教學(xué)課件
- 死亡病例討論總結(jié)分析
- 第二章 會展的產(chǎn)生與發(fā)展
- 空域規(guī)劃與管理V2.0
- JGT266-2011 泡沫混凝土標準規(guī)范
- 商戶用電申請表
評論
0/150
提交評論