版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、交通燈設(shè)計(jì)中南大學(xué)微機(jī)課程設(shè)計(jì)報(bào)告題 目 交通燈設(shè)計(jì) 專(zhuān) 業(yè)班級(jí) 姓 名 學(xué) 號(hào) 指導(dǎo)老師 林立新老師 目錄1. 課程設(shè)計(jì)題目、功能、目的.22. 系統(tǒng)分析與設(shè)計(jì)32.1 系統(tǒng)所用芯片分析.32.2 所選用芯片的簡(jiǎn)要介紹42.3 系統(tǒng)框圖.63. 程序設(shè)計(jì).73.1十字路口交通燈狀態(tài)轉(zhuǎn)換表73.2主程序流程圖73.3 中斷子程序流程圖.83.4 數(shù)碼管碼表.83.5 各芯片初始化說(shuō)明.94. 運(yùn)行情況.105. 具體源代碼及注釋116. 心得體會(huì).16一、 課程設(shè)計(jì)題目、功能、目的1. 課程設(shè)計(jì)題目-交通燈設(shè)計(jì)2. 本設(shè)計(jì)所實(shí)現(xiàn)功能1) 實(shí)現(xiàn)十字路口交通燈各種狀態(tài)的轉(zhuǎn)換;2) 各種狀態(tài)轉(zhuǎn)換的時(shí)
2、間可進(jìn)行靈活設(shè)置;3) 采用中斷的方法對(duì)狀態(tài)轉(zhuǎn)換進(jìn)行控制,提高處理器效率;4) 在各個(gè)狀態(tài)轉(zhuǎn)換的同時(shí)實(shí)現(xiàn)倒計(jì)時(shí)提醒。3. 本次課程設(shè)計(jì)目的1) 通過(guò)微機(jī)原理與接口課程設(shè)計(jì),使學(xué)生能夠進(jìn)一步了解微型計(jì)算機(jī)工作原理, 微型計(jì)算機(jī)的硬件結(jié)構(gòu)及微型計(jì)算機(jī)軟件編程。2) 要求學(xué)生根據(jù)接口電路的硬件要求進(jìn)行計(jì)算機(jī)的匯編語(yǔ)言程序設(shè)計(jì),使學(xué)生的軟件編程能力得到加強(qiáng),對(duì)接口電路的綜合應(yīng)用能力有較大提高。二、 系統(tǒng)分析與設(shè)計(jì)1. 系統(tǒng)所用芯片分析1) 首先本個(gè)系統(tǒng)需要一個(gè)中央處理器來(lái)負(fù)責(zé)對(duì)整個(gè)系統(tǒng)進(jìn)行控制管理,因?yàn)槲C(jī)原理與接口技術(shù)這門(mén)課上介紹了8086芯片,所以可以采用8086作為本系統(tǒng)的中央處理器。
3、2) 由于本次的課程設(shè)計(jì)的題目是交通燈,而根據(jù)十字路口處的交通燈南北和東西方向各有紅、綠、黃三種顏色的燈,因此可用8255來(lái)控制6個(gè)led燈的實(shí)現(xiàn)模擬的南北和東西方向上的交通燈。3) 而交通燈的狀態(tài)轉(zhuǎn)換時(shí)間要由中斷方式來(lái)控制,所以很容易想到了可以用8259作為中斷芯片,與8086芯片相連。4) 交通燈的狀態(tài)轉(zhuǎn)換時(shí)間可靈活設(shè)置,于是想到了可以采用一塊8253或8254芯片和一個(gè)脈沖源相連,8253對(duì)脈沖源送來(lái)的脈沖進(jìn)行分頻,然后將輸出送到8259作為中斷源,而8253采用不用的計(jì)數(shù)初值其輸出脈沖的頻率就不一樣,因此實(shí)現(xiàn)了交通類(lèi)狀態(tài)轉(zhuǎn)換時(shí)間的靈活設(shè)置。5) 最后關(guān)于交通燈狀態(tài)轉(zhuǎn)換的倒計(jì)時(shí)功能,可由
4、一個(gè)七段數(shù)碼管來(lái)顯示倒計(jì)時(shí),而本次課程設(shè)計(jì)的實(shí)驗(yàn)箱沒(méi)有提供單個(gè)數(shù)碼管,而是提供了一個(gè)八位一體七段數(shù)碼管,所以還需一塊8279芯片來(lái)對(duì)數(shù)碼管進(jìn)行控制。2. 所選用芯片的簡(jiǎn)要介紹8255是intel公司生產(chǎn)的可編程并行i/o接口芯片,有3個(gè)8位并行i/o口。具有3個(gè)通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8255可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口a、b、c口。由于8255可編程,所以必須具有邏輯控制部分,因而
5、8255內(nèi)部結(jié)構(gòu)分為3個(gè)部分:與cpu連接部分、與外設(shè)連接部分、控制部分。intel8253是nmos工藝制成的可編程計(jì)數(shù)器/定時(shí)器,有幾種芯片型號(hào),外形引腳及功能都是兼容的,只是工作的最高計(jì)數(shù)速率有所差異,例如8253(2.6mhz),8253-5(5mhz) 8253內(nèi)部有三個(gè)計(jì)數(shù)器,分別稱(chēng)為計(jì)數(shù)器0、計(jì)數(shù)器1和計(jì)數(shù)器2,他們的機(jī)構(gòu)完全相同。每個(gè)計(jì)數(shù)器的輸入和輸出都決定于設(shè)置在控制寄存器中的控制字,互相之間工作完全獨(dú)立。每個(gè)計(jì)數(shù)器通過(guò)三個(gè)引腳和外部聯(lián)系,一個(gè)為時(shí)鐘輸入端clk,一個(gè)為門(mén)控信號(hào)輸入端gate,另一個(gè)為輸出端out。每個(gè)計(jì)數(shù)器內(nèi)部有一個(gè)8位的控制寄存器,還有一個(gè)16位的計(jì)數(shù)初值
6、寄存器cr、一個(gè)計(jì)數(shù)執(zhí)行部件ce和一個(gè)輸出鎖存器ol。執(zhí)行部件實(shí)際上是一個(gè)16位的減法計(jì)數(shù)器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通過(guò)程序設(shè)置的。輸出鎖存器的值是通過(guò)程序設(shè)置的。輸出鎖存器ol用來(lái)鎖存計(jì)數(shù)執(zhí)行部件ce的內(nèi)容,從而使cpu可以對(duì)此進(jìn)行讀操作。順便提一下,cr、ce和ol都是16位寄存器,但是也可以作8位寄存器來(lái)用。intel 8086擁有四個(gè)16位的通用寄存器,也能夠當(dāng)作八個(gè)8位寄存器來(lái)存取,以及四個(gè)16位索引寄存器(包含了堆棧指標(biāo))。資料寄存器通常由指令隱含地使用,針對(duì)暫存值需要復(fù)雜的寄存器配置。它提供64k 8 位元的輸出輸入(或32k 16 位元),以及固定的
7、向量中斷。大部分的指令只能夠存取一個(gè)內(nèi)存位址,所以其中一個(gè)操作數(shù)必須是一個(gè)寄存器。運(yùn)算結(jié)果會(huì)儲(chǔ)存在操作數(shù)中的一個(gè)寄存器。intel 8086有四個(gè) 內(nèi)存區(qū)段(segment)寄存器,可以從索引寄存器來(lái)設(shè)定。區(qū)段寄存器可以讓 cpu 利用特殊的方式存取1 mb內(nèi)存。8086 把段地址左移 4 位然后把它加上偏移地址。大部分的人都認(rèn)為這是一個(gè)很不好的設(shè)計(jì),因?yàn)檫@樣的結(jié)果是會(huì)讓各分段有重疊。盡管這樣對(duì)組合語(yǔ)言而言大部分被接受(也甚至有用),可以完全地控制分段,使在編程中使用指針(如c編程語(yǔ)言) 變得困難。它導(dǎo)致指針的高效率表示變得困難,且有可能產(chǎn)生兩個(gè)指向同一個(gè)地方的指針擁有不同的地址。更壞的是,這
8、種方式產(chǎn)生要讓內(nèi)存擴(kuò)充到大于 1 mb 的困難。而 8086 的尋址方式改變讓內(nèi)存擴(kuò)充較有效率。8086處理器的時(shí)鐘頻率介于4.77mhz(在原先的ibm pc頻率)和10 mhz之間。8086 沒(méi)有包含浮點(diǎn)指令部分(fpu),但是可以通過(guò)外接數(shù)學(xué)輔助處理器來(lái)增強(qiáng)浮點(diǎn)計(jì)算能力。3. 系統(tǒng)框圖三、 程序設(shè)計(jì)1. 十字路口交通燈狀態(tài)轉(zhuǎn)換表:南北方向東西方向十六進(jìn)制代碼紅綠黃紅綠黃0010001022h0010000121h0001010014h000011000ch2. 主程序流程圖:3. 中斷子程序流程圖:4. 共陰數(shù)碼管碼表:數(shù)字01234編碼0x3f0x060x5b0x4f0x66數(shù)字567
9、89編碼0x6d0x7d0x070x7f0x9058259初始化說(shuō)明mov al,13h;寫(xiě)icw1,需要icw4、單片工作、邊沿觸發(fā)方式mov dx,intport1out dx,almov al,08h;寫(xiě)icw2,設(shè)置中斷向量號(hào)mov dx,intport2out dx,almov al,09h;寫(xiě)icw4,普通全嵌套方式、采用緩沖方式out dx,almov al,0f7h;寫(xiě)ocw1,只開(kāi)ir3中斷請(qǐng)求,其余屏蔽out dx,al68253初始化說(shuō)明mov dx,tcontromov al,10110100b;采用二進(jìn)制計(jì)數(shù)方式,工作方式二,十六們計(jì)數(shù),計(jì)數(shù)器二out dx,almo
10、v dx,tcon2mov al,0ah;計(jì)數(shù)初值為10,即1s中斷一次out dx,almov al,00hout dx,al78255初始化說(shuō)明mov al,80h;pa、pb、pc口都設(shè)定為輸出工作方式mov dx,ioconptout dx,al四、 運(yùn)行情況 經(jīng)多次調(diào)試后,系統(tǒng)運(yùn)行良好,實(shí)現(xiàn)了要求和設(shè)想中的全部功能,如上圖為實(shí)際運(yùn)行時(shí)的圖片。五、 具體代碼及注釋code segmentassume cs:codeintport1equ 0020hintport2equ 0021hintq3 equ intreeup3;8259contport equ 00dfhdataport eq
11、u 00deh;8279tcontro equ 004bh;8253tcon2 equ 004ahioconpt equ 0073h所用芯片端口地址初始化iocptequ 0072hiobptequ 0071h;8255data0 equ 0580hdata1 equ 0500hdata2 equ 0508hdata3 equ 0518hdata4 equ 0520horg 1000hstart:jmp tint1tint1: climov ax,0hmov ds,axmov dx,contportmov al,00hout dx,al 8279初始化及工作方式的設(shè)定mov al,2ahout
12、 dx,al mov al,0d0hout dx,al mov al,90hout dx,al 8255初始化及工作方式的設(shè)定 mov al,80h mov dx,ioconptout dx,almov dx,tcontromov al,10110100bout dx,al8253初始化及工作方式的設(shè)定mov dx,tcon2mov al,0ahout dx,almoval,00hout dx,alcallformatclimov di,data0mov cx,08hxor ax,axrep stoswmov si,data3call leddisp;數(shù)碼管顯示初始圖案“-”mov ax,0h
13、mov ds,axcall wrintver;調(diào)用子程序,設(shè)置中斷地址向量表mov al,13hmov dx,intport1out dx,almov al,08h8259初始化及工作方式的設(shè)定mov dx,intport2out dx,almov al,09hout dx,almov al,0f7hout dx,almov byte ptr ds:0601h,03hmov byte ptr ds:0602h,00hsti;開(kāi)中斷wating: jmp wating;等待中斷,無(wú)限循環(huán)wrintver:mov ax,0h mov es,ax mov di,002ch設(shè)置中斷地址向量表子程序 l
14、ea ax,intq3 stosw mov ax,cs stosw retintreeup3:;中斷子程序climov al,ds:0601hcall conversmov si,data0call leddispcmp byte ptr ds:0601h,03hjnz nextmov dx,iobptcomp: cmp byte ptr ds:0602h,00hjz si0cmp byte ptr ds:0602h,01hjz si1cmp byte ptr ds:0602h,02hjz si2cmp byte ptr ds:0602h,03hjz si3si0:mov al,22h判斷ds
15、:0602h里面的值,并跟據(jù)結(jié)果來(lái)進(jìn)行對(duì)應(yīng)的轉(zhuǎn)換add byte ptr ds:0602h,01hjmp putsi1:mov al,21hadd byte ptr ds:0602h,01hjmp putsi2:mov al,14hadd byte ptr ds:0602h,01hjmp putsi3:mov al,0chmov byte ptr ds:0602h,00hjmp putput: mov dx,iobptout dx,alnext:mov al,20hmov dx,intport1out dx,alsub byte ptr ds:0601h,01hcmp byte ptr ds:
16、0601h,00hjz intre1jmp exconvers:mov bh,0hand al,0fhmov bl,almoval,cs:bx+data2mov bx,data0mov ds:bx,alretintre1: mov byte ptr ds:0601h,03h ex:mov al,20h中斷結(jié)束控制方式ocw2,普通中斷結(jié)束方式mov dx,intport1out dx,alstiiretleddisp:mov al,90hmovdx,contportout dx,almov byte ptr ds:0600h,00led1:cmp byte ptr ds:0600h,07h顯示
17、子程序,從左到右依次送數(shù)ja led2mov bl,ds:0600hmov bh,0hmov al,cs:bx+simov dx,dataportoutdx,aladd byte ptr ds:0600h,01hjnz led1led2:ret格式化內(nèi)存,將數(shù)碼管將要顯示的字符的編碼寫(xiě)入內(nèi)存format: mov bx,0;mov word ptr ds:bx+0500h,5050hadd bx,2mov word ptr ds:bx+0500h,0079hadd bx,2mov word ptr ds:bx+0500h,0000hadd bx,2mov word ptr ds:bx+0500
18、h,0000hadd bx,2mov word ptr ds:bx+0500h,063fhadd bx,2mov word ptr ds:bx+0500h,4f5bhadd bx,2mov word ptr ds:bx+0500h,6d66hadd bx,2mov word ptr ds:bx+0500h,077dhadd bx,2mov word ptr ds:bx+0500h,6f7fhadd bx,2mov word ptr ds:bx+0500h,7c77hadd bx,2mov word ptr ds:bx+0500h,5e39hadd bx,2mov word ptr ds:bx+
19、0500h,7179hadd bx,2mov word ptr ds:bx+0500h,4040hadd bx,2mov word ptr ds:bx+0500h,4040hadd bx,2mov word ptr ds:bx+0500h,4040hadd bx,2mov word ptr ds:bx+0500h,4040hadd bx,2retcode endsend start六、 心得體會(huì)本學(xué)期的微機(jī)原理和接口技術(shù)及其課程設(shè)計(jì)都已經(jīng)結(jié)束。在這個(gè)過(guò)程中,我們有所付出,也有所回報(bào),讓我感受頗多。 對(duì)于微機(jī)原理與接口技術(shù)這門(mén)課程而言,初學(xué)時(shí),感覺(jué)摸不著頭緒。面對(duì)著眾多的術(shù)語(yǔ)、概念及原
20、理性的問(wèn)題不知道該如何下手。在了解課程的特點(diǎn)后,我發(fā)現(xiàn),應(yīng)該以微機(jī)的整機(jī)概念為突破口,在如何建立整體概念上下功夫。“麻雀雖小,五臟俱全”,可以通過(guò)學(xué)習(xí)一個(gè)模型機(jī)的組成和指令執(zhí)行的過(guò)程,了解和熟悉計(jì)算機(jī)的結(jié)構(gòu)、特點(diǎn)和工作過(guò)程。微機(jī)原理與接口技術(shù)課程有許多新名詞、新專(zhuān)業(yè)術(shù)語(yǔ)。透徹理解這些名詞、術(shù)語(yǔ)的意思,為今后深入學(xué)習(xí)打下基礎(chǔ)。一個(gè)新的名詞從首次接觸到理解和應(yīng)用,需要一個(gè)反復(fù)的過(guò)程。而在眾多概念中,真正關(guān)鍵的并不是很多。比如“中斷”概念,既是重點(diǎn)又是難點(diǎn),如果不懂中斷技術(shù),就不能算是搞懂了微機(jī)原理。在學(xué)習(xí)中凡是遇到這種情況,絕對(duì)不輕易放過(guò),要力求真正弄懂,搞懂一個(gè)重點(diǎn),將使一大串概念迎刃而解。學(xué)習(xí)
21、過(guò)程中,我發(fā)現(xiàn)許多概念很相近,為了更好地掌握,將一些容易混淆的概念集中在一起進(jìn)行分析,比較它們之間的異同點(diǎn)。比如:微機(jī)原理中,引入了計(jì)算機(jī)由五大部分組成這一概念;從中央處理器引出微處理器的定義;在引出微型計(jì)算機(jī)定義時(shí),強(qiáng)調(diào)輸入/輸出接口的重要性;在引出微型計(jì)算機(jī)系統(tǒng)的定義時(shí),強(qiáng)調(diào)計(jì)算機(jī)軟件與計(jì)算機(jī)硬件的相輔相成的關(guān)系。微處理器是微型計(jì)算機(jī)的重要組成部分,它與微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)是完全不同的概念。 微處理器、微型計(jì)算機(jī)和微型計(jì)算機(jī)系統(tǒng)在微機(jī)中,最基礎(chǔ)的語(yǔ)言是匯編語(yǔ)言。匯編語(yǔ)言是一個(gè)最基礎(chǔ)最古老的計(jì)算機(jī)語(yǔ)言。語(yǔ)言總是越基礎(chǔ)越重要,在重大的編程項(xiàng)目中應(yīng)用最廣泛。就我的個(gè)人理解,匯編是
22、對(duì)寄存的地址以及數(shù)據(jù)單元進(jìn)行最直接的修改。而在某些時(shí)候,這種方法是最有效,最可靠的。比如,在當(dāng)今的戰(zhàn)爭(zhēng)中,首先就是運(yùn)用這方面的知識(shí)來(lái)修改地方的系統(tǒng)程序。讓地方的衛(wèi)星偏離軌道,從而不能發(fā)現(xiàn)目標(biāo)。其威力可見(jiàn)一斑。 然而,事物總有兩面性,有優(yōu)點(diǎn)自然缺點(diǎn)也不少。其中,最重要的一點(diǎn)就是,匯編語(yǔ)言很復(fù)雜,對(duì)某個(gè)數(shù)據(jù)進(jìn)行修改時(shí),本來(lái)很簡(jiǎn)單的一個(gè)操作會(huì)用比較煩瑣的語(yǔ)言來(lái)解決,而這些語(yǔ)言本身在執(zhí)行和操作的過(guò)程中,占有大量的時(shí)間和成本。在一些講求效率的場(chǎng)合,并不可取。匯編語(yǔ)言對(duì)學(xué)習(xí)其他計(jì)算機(jī)起到一個(gè)比較、對(duì)照、參考的促進(jìn)作用。學(xué)習(xí)事物總是從最簡(jiǎn)單基礎(chǔ)的開(kāi)始。那么學(xué)習(xí)高級(jí)語(yǔ)言也當(dāng)然應(yīng)當(dāng)從匯編開(kāi)始。學(xué)習(xí)匯編語(yǔ)言實(shí)際上是培養(yǎng)了學(xué)習(xí)計(jì)算機(jī)語(yǔ)言的能力和素養(yǎng)。個(gè)人認(rèn)為,學(xué)習(xí)匯編語(yǔ)言對(duì)學(xué)習(xí)其他語(yǔ)言很有促進(jìn)作用。 匯編語(yǔ)言在本學(xué)期微機(jī)學(xué)習(xí)中有核心地位。本學(xué)期微機(jī)原理課程內(nèi)容繁多,還學(xué)習(xí)了可編程的計(jì)數(shù)/定時(shí)的8
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年智能計(jì)量終端項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2025年有聲閱讀項(xiàng)目提案報(bào)告模板
- 2025年抗滴蟲(chóng)病藥項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模板
- 2025年加氣加注設(shè)備項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 2024-2025學(xué)年西鄉(xiāng)塘區(qū)數(shù)學(xué)三上期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 2025年水質(zhì)分析儀項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 2025年印刷品項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 2025年工業(yè)物聯(lián)網(wǎng)項(xiàng)目提案報(bào)告
- 2025年涂料光亮劑項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模稿
- 2024年礦山槽探工程承包合同版B版
- 2024北京西城初一(上)期末數(shù)學(xué)(教師版)
- (2024年)中國(guó)傳統(tǒng)文化介紹課件
- 宗親捐款倡議書(shū)
- 蛇年春聯(lián)對(duì)聯(lián)240副
- 廣東省廣州天河區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試卷含答案
- 互聯(lián)網(wǎng)+創(chuàng)新商業(yè)模式考核試卷
- 江蘇省百校2025屆高三上學(xué)期12月聯(lián)考語(yǔ)文試題(含答案)
- 四川省南充市2023-2024學(xué)年高一上學(xué)期期末考試 政治 含解析
- 寒假安全教育 1
- 江蘇省揚(yáng)州市梅嶺中學(xué)2023-2024學(xué)年七年級(jí)上學(xué)期期末地理試題(含答案)
- 2023-2024學(xué)年廣東省深圳市南山區(qū)七年級(jí)(上)期末地理試卷
評(píng)論
0/150
提交評(píng)論