微機原理與接口技術(shù)課程設(shè)計--交通燈控制的設(shè)計與實現(xiàn)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  微機原理與接口設(shè)計報告</p><p>  學 院: 信息科學與工程學院_______T</p><p>  班 級: G</p><p>  學 號: G</p><p

2、>  姓 名: _G</p><p>  指導(dǎo)老師: G</p><p>  完成時間: 2012年06月24號 G</p><p><b>  目 錄</b></p>

3、;<p>  一、設(shè)計目的…………………………………………………1</p><p>  二、設(shè)計任務(wù)及要求…………………………………………1</p><p>  1、設(shè)計任務(wù)………………………………………………………………………………1</p><p>  2、設(shè)計內(nèi)容………………………………………………………………………………1</p>

4、<p>  3、設(shè)計器材………………………………………………………………………………2</p><p>  三、設(shè)計原理及設(shè)計方案的選擇……………………………3</p><p>  1、設(shè)計原理………………………………………………………………………………3</p><p>  2、系統(tǒng)原理………………………………………………………………………………4&l

5、t;/p><p>  2.1 8255的工作原理及內(nèi)部結(jié)構(gòu)…………………………………………………………………4</p><p>  2.2 發(fā)光二極管顯示原理……………………………………………………………………………5</p><p>  四、總體設(shè)計…………………………………………………5</p><p>  五、詳細設(shè)計…………………………

6、………………………6</p><p>  1、電路設(shè)計………………………………………………………………………………6</p><p>  2、延時模塊設(shè)計…………………………………………………………………………6</p><p>  3、交通燈主程序設(shè)計……………………………………………………………………7</p><p>  六、運行結(jié)果及

7、說明…………………………………………9</p><p>  七、課程設(shè)計總結(jié)及體會……………………………………9</p><p>  八、參考文獻…………………………………………………10</p><p>  九、程序源代碼…………………………………………………10</p><p><b>  一、設(shè)計目的</b><

8、;/p><p>  1、了解交通燈管理的基本工作原理。</p><p>  2、熟練掌握8255A可編程并行接口芯片的接口編程方法,掌握8255A在不同工作方式下通過輸出對顯示燈的控制。</p><p>  3、熟練掌握8253芯片的編程及應(yīng)用,掌握不同方式下定時計數(shù)的方法,知道用8253芯片控制時間和申請中斷。</p><p>  4、熟練掌握

9、8259芯片的編程及應(yīng)用,掌握8259芯片對中斷的控制。</p><p>  5、熟悉掌握對硬件的運用,能夠通過軟件編程來達到對硬件的控制。</p><p>  6、掌握多位LED顯示問題的解決。</p><p>  7、學習單板方式下擴展簡單I/O接口的方法以及雙色燈的使用。</p><p>  8、進一步學習微處理器的編程技術(shù)。</

10、p><p><b>  二、設(shè)計任務(wù)及要求</b></p><p><b>  1、設(shè)計任務(wù)</b></p><p>  這次課程設(shè)計的題目是交通燈控制的設(shè)計與實現(xiàn),主要是模擬十字路口的紅綠燈。 </p><p>  交通燈控制器的設(shè)計與實現(xiàn)主要是通過編寫匯編語言程序利用8255A的B口和C口實現(xiàn)對燈的

11、亮與滅進行控制。首先,要了解的是8255A是如何工作的,包括它的B、C口和控制端口是如何寫數(shù)據(jù)的,還包括芯片的初始化等。在編寫程序時得先規(guī)劃好紅綠黃所要接的端口,繼而編寫相應(yīng)的端口控制程序。對于紅綠燈的持續(xù)時間我用到的軟件延時。最后要在實驗室通過一個軟件進行調(diào)試,調(diào)試通過后即可看到設(shè)計的結(jié)果。</p><p><b>  2、設(shè)計內(nèi)容</b></p><p>  城市

12、十字交叉路口紅綠燈控制系統(tǒng)主要負責控制東西走向和南北走向的紅綠燈的狀態(tài)和轉(zhuǎn)換順序,關(guān)鍵是各個狀態(tài)之間的轉(zhuǎn)換和進行適當?shù)臅r間延時,正是基于以上考慮,采用如下設(shè)計,通過設(shè)計實現(xiàn)以下功能:</p><p>  本實驗本要用12個發(fā)光二級管,由于實驗板上只有8個發(fā)光二級管,所以我只是用到其中的六個發(fā)光二級管實現(xiàn)了相鄰兩個路口的紅綠燈控制。其總共分有四個狀態(tài):</p><p>  1.狀態(tài)一:剛開始

13、是設(shè)置的是所有路口都禁止車輛通行,故所有的路口都是亮紅燈,維持5秒;然后跳到下一個狀態(tài)。</p><p>  2.狀態(tài)二:第一個狀態(tài)結(jié)束,緊接著就是南北(假設(shè)南北路口)路口的紅燈熄滅,綠燈亮起,此路口可以通車,東西路口紅燈繼續(xù)亮著,這個狀態(tài)持續(xù)15秒。</p><p>  3.狀態(tài)三:東西方向的紅燈熄滅(老師指出的缺陷:東西路口不該所有的燈都熄滅,應(yīng)持續(xù)到南北路口黃燈閃爍之后再熄滅),南北

14、方向的黃燈閃爍三次后,轉(zhuǎn)為東西方向放行15秒鐘。即南北方向的紅燈和東西方向的綠燈同時點亮15秒鐘。</p><p>  4.狀態(tài)四:東西方向放行15秒鐘后,轉(zhuǎn)為東西方向的黃燈閃爍5秒鐘,以警示將切換紅綠燈。</p><p>  5.東西方向的黃燈閃爍5秒鐘后,再轉(zhuǎn)為南北方向車輛放行15秒鐘。如此循環(huán)重復(fù)。</p><p>  十字路口交通燈分布示意圖</p&g

15、t;<p><b>  3、設(shè)計器材</b></p><p>  超想—3000TB綜合實驗/仿真系統(tǒng) </p><p><b>  導(dǎo)線若干</b></p><p>  微機原理及接口技術(shù)試驗箱</p><p>  三、設(shè)計原理及設(shè)計方案的選擇</p

16、><p><b>  1、設(shè)計原理</b></p><p>  實驗原理圖如圖5—9所示,PB4~PB7分別與發(fā)光二極管電路L1~L12相連,本實驗為模擬交通燈實驗。交通燈的亮滅規(guī)則如下:</p><p>  設(shè)有一個十字路口,1、3為南北方向,2、4為東西方向,初始為四個路口的紅燈全亮,之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向

17、通車;延時一段時間后,1、3路口的綠燈熄滅,而1、3路口黃燈開始閃爍,閃爍若干次以后,1、3路口的紅燈亮,而同時2、4路口的綠燈亮,2、4路口方向通車;延時一段時間以后,2、4路口的綠燈熄滅,而黃燈開始閃爍,閃爍若干次以后,再切換到1、3路口方向,之后重復(fù)上述過程。</p><p>  8255A的PB4~PB7對應(yīng)黃燈,PC0~PC3對應(yīng)紅燈,PC4~PC7對應(yīng)綠燈。8255A工作與模式0,并置為輸出。由于個發(fā)

18、光二極管為共陽極,使其點亮應(yīng)使8255A相應(yīng)端口清0.</p><p><b>  圖5—9</b></p><p><b>  2、系統(tǒng)原理</b></p><p>  本次課程設(shè)計使用到的芯片就只有8255, 使用這塊芯片首先應(yīng)該明白了解這塊芯片的功能、工作方式以及初始化方式等。</p><p>

19、;  2.1 8255的工作原理及內(nèi)部結(jié)構(gòu):</p><p>  圖1:8255的內(nèi)部結(jié)構(gòu)及引腳</p><p>  1) 數(shù)據(jù)總線緩沖器:這是一個雙向三態(tài)的8位數(shù)據(jù)緩沖器,它是8255與微機系統(tǒng)數(shù)據(jù)總線的接口。輸入輸出的數(shù)據(jù)、CPU輸出的控制字以及CPU輸入的狀態(tài)信息都是通過這個緩沖器傳送的。</p><p>  2) 兩個端口B和C:B端口包含一個8位數(shù)據(jù)輸入

20、/輸出鎖存器和緩沖器,一個8位數(shù)據(jù)輸入緩沖器。C端口包含一個8位數(shù)據(jù)輸出鎖存器和緩沖器,一個8位數(shù)據(jù)輸入緩沖器(輸入沒有鎖存器)。</p><p>  3) 讀寫控制邏輯:用來控制把CPU輸出的控制字或數(shù)據(jù)送至相應(yīng)端口,也由它來控制把狀態(tài)信息或輸入數(shù)據(jù)通過相應(yīng)的端口送到CPU。</p><p>  8255A的工作方式:</p><p>  方式0---基本輸入輸出

21、方式;</p><p>  方式1---選通輸入輸出方式;</p><p>  方式2---雙向選通輸入輸出方式。</p><p>  圖2:8255工作方式控制字和C口按位置位/復(fù)位控制字格式</p><p>  2.2 發(fā)光二極管顯示原理:</p><p>  發(fā)光二極管顯示模塊由8255的B口和C口來控制發(fā)光二極

22、管的亮滅。各口控制的二極管以及各二極管的亮滅及顏色控制如下所示:</p><p>  PB4一L2 PC0一L3 PC4一L1</p><p>  PB5一L5 PC1一L6 PC5一L4</p><p>  PB6一L8

23、PC2一L9 PC6一L7</p><p>  PB7一L11 PC3一L12 PC7一L10</p><p>  這個設(shè)計在試驗箱上仿真時只利用L1~L6這六個發(fā)光二級光來簡單模擬。</p><p><b>  四、總體設(shè)計</b></p>

24、<p>  整體實驗設(shè)計思想如下圖所示:</p><p><b>  五、詳細設(shè)計</b></p><p><b>  1、電路設(shè)計</b></p><p>  本課題的設(shè)計可通過實驗平臺上的一些功能模塊電路組成,由于各模塊電路內(nèi)部已經(jīng)連接,因此在使用時只要設(shè)計模塊間電路的連接,因此,硬件電路的設(shè)計及實現(xiàn)相對

25、簡單。完整系統(tǒng)的硬件連接如圖所示。硬件電路由控制模塊、發(fā)光二極管構(gòu)成。</p><p><b>  2、延時模塊設(shè)計</b></p><p>  在設(shè)計任務(wù)時,由于期間交通燈閃爍的情況,設(shè)計時先讓交通燈亮,在采用軟件延時的方法來讓其亮一段時間,在設(shè)置讓其滅,再延時后讓其亮,這樣交通燈就會出現(xiàn)一閃一閃的情況了。在設(shè)計軟件延時,利用執(zhí)行一條指令所需要的指令周期來達到延長時

26、間的目的。其程序設(shè)計如下:</p><p>  DELAY1: PUSH AX</p><p><b>  PUSH CX</b></p><p>  MOV CX,0030H</p><p>  DELY2:CALL DELAY2</p><p>  LOOP DELY2</p>

27、<p><b>  POP CX</b></p><p><b>  POP AX</b></p><p><b>  RET</b></p><p>  DELAY2: PUSH CX</p><p>  MOV CX,8000H</p><p

28、>  DELA1:LOOP DELA1</p><p><b>  POP CX</b></p><p><b>  RET</b></p><p>  3、交通燈主程序設(shè)計</p><p>  主程序?qū)崿F(xiàn)4種狀態(tài)及循環(huán),其程序如下:</p><p>  START:

29、 MOV AX,0H</p><p><b>  MOV DS,AX</b></p><p>  MOV AL,82H</p><p>  MOV DX,IOCONPT</p><p><b>  OUT DX,AL</b></p><p>  MOV AL,00H<

30、/p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV BYTE PTR DS:[0501H],AL</p><p>  MOV DX,IOCONPT</p><p>  MOV AL,80H</p><

31、;p><b>  OUT DX,AL</b></p><p>  MOV DX,IOBPT</p><p>  MOV AL,DS:[0501H]</p><p>  OR AL,0F0H</p><p><b>  OUT DX,AL</b></p><p>  MO

32、V DX,IOCPT</p><p>  MOV AL,0FH</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY1</p><p>  IOLED0: MOV AL,01011010B</p><p>  MOV DX,IOCPT</p>

33、<p><b>  OUT DX,AL</b></p><p>  CALL DELAY1</p><p>  CALL DELAY1</p><p>  AND AL,0F0H</p><p><b>  OUT DX,AL</b></p><p><b

34、>  MOV CX,8H</b></p><p>  IOLED1: MOV DX,IOBPT</p><p>  MOV AL,DS:[0501H]</p><p>  OR AL,01011111B</p><p><b>  OUT DX,AL</b></p><p>  

35、CALL DELAY2</p><p>  AND AL,00000000B</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY2</p><p>  LOOP IOLED1</p><p>  MOV DX,IOCPT</p><

36、p>  MOV AL,0F0H</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY2</p><p>  MOV AL,10100101B</p><p><b>  OUT DX,AL</b></p><p>  CALL

37、 DELAY1</p><p>  CALL DELAY1</p><p>  AND AL,0F0H</p><p><b>  OUT DX,AL</b></p><p><b>  MOV CX,8H</b></p><p>  IOLED2: MOV DX,IOBPT

38、</p><p>  MOV AL,DS:[0501H]</p><p>  OR AL,10101111B</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY2</p><p>  AND AL,00000000B</p><p&

39、gt;<b>  OUT DX,AL</b></p><p>  CALL DELAY2</p><p>  LOOP IOLED2</p><p>  MOV DX,IOCPT</p><p>  MOV AL,0F0H</p><p><b>  OUT DX,AL</b>

40、;</p><p>  CALL DELAY2</p><p>  JMP IOLED0</p><p>  DELAY1: PUSH AX</p><p><b>  PUSH CX</b></p><p>  MOV CX,0030H</p><p>  DELY2:

41、CALL DELAY2</p><p>  LOOP DELY2</p><p><b>  POP CX</b></p><p><b>  POP AX</b></p><p><b>  RET</b></p><p>  DELAY2: PUSH

42、 CX</p><p>  MOV CX,8000H</p><p>  DELA1:LOOP DELA1</p><p><b>  POP CX</b></p><p><b>  RET</b></p><p><b>  CODE ENDS</b&g

43、t;</p><p>  1END START</p><p><b>  六、運行結(jié)果及說明</b></p><p>  1.剛開始是設(shè)置的是所有路口都禁止車輛通行,故所有的路口都是亮紅燈,維持5秒;然后跳到下一個狀態(tài)。</p><p>  2.第一個狀態(tài)結(jié)束,緊接著就是南北(假設(shè)南北路口)路口的紅燈熄滅,綠燈亮起,

44、此路口可以通車,東西路口紅燈繼續(xù)亮著,這個狀態(tài)持續(xù)15秒。</p><p>  3.東西方向的紅燈熄滅(老師指出的缺陷:東西路口不該所有的燈都熄滅,應(yīng)持續(xù)到南北路口黃燈閃爍之后再熄滅),南北方向的黃燈閃爍三次后,轉(zhuǎn)為東西方向放行15秒鐘。即南北方向的紅燈和東西方向的綠燈同時點亮15秒鐘。</p><p>  4.東西方向放行15秒鐘后,轉(zhuǎn)為東西方向的黃燈閃爍5秒鐘,以警示將切換紅綠燈。&l

45、t;/p><p>  5.東西方向的黃燈閃爍5秒鐘后,再轉(zhuǎn)為南北方向車輛放行15秒鐘。如此循環(huán)重復(fù)。</p><p>  七、課程設(shè)計總結(jié)及體會</p><p>  本次實驗較為成功,實現(xiàn)了交通燈的基本功能,但也還有不足之處。比如設(shè)計交通燈黃燈閃爍的時候,其使用了軟件延時來控制燈亮滅的時間實現(xiàn)閃爍的效果,這樣的話就會使軟件延時和硬件計時同時存在調(diào)用,這樣就會產(chǎn)生時間差,

46、比實際的時間稍有延遲,雖在不影響閃爍效果前提下計過程中延時次說已經(jīng)很短,但偏差還是存在,另外就是在黃燈開始閃爍的同時其相鄰路口的紅燈熄滅了,現(xiàn)實中是要等黃燈閃爍完畢再熄滅的。</p><p>  經(jīng)過將近一個星期的接口課程設(shè)計及學習,雖然實現(xiàn)的功能不是很多,并且其中還是有些問題,但是還是基本符合要求,,最主要的就是在設(shè)計過程中,讓我學到了很多在課本中學不到的知識,收獲頗豐。而且也讓我更深層次了解了接口,懂得了怎樣

47、快速學習運用軟件來編程,來設(shè)計東西。懂得怎樣快速把自己所學的運用到實際中。在這個過程中我過得很充實,很有意義。</p><p>  此次實習可以說是獲益匪淺。通過查閱了很多資料,了解了許多匯編程序的思想,擴展了自己的視野,不再僅僅局限于書本中幾條簡短的程序,而且更重要的是明白寫程序的態(tài)度:仔細謹慎,精益求精。</p><p>  在實際操作過程中犯的一些錯誤還會有意外的收獲,感覺設(shè)計很有意

48、思。在具體操作中對這學期所學的接口技術(shù)的理論知識得到鞏固,尤其是對于書本中的比較重要的芯片,平時在做題目過程中,總感覺對于芯片的應(yīng)用更多的是被動的通過題目來熟悉再理解,而這次是通過實際操作然后在理解的基礎(chǔ)上再熟記于心。這是一種飛躍的進步。達到設(shè)計的基本目的,也發(fā)現(xiàn)自己的不足之出,在以后的上機中應(yīng)更加注意,同時體會到科技的魅力所在。</p><p>  總之,通過這次微機原理及接口課程設(shè)計實驗,增加了自己的動手能力

49、,鍛煉了學習能力,達到了熟練課程的目的,培養(yǎng)了自己學習的熱情。同時也明白了學習過程中不能在完全學會了才動手去做,我們應(yīng)該邊學邊做,在摸索中學習,不斷發(fā)現(xiàn)問題,不斷解決問題,這樣才能在更正錯誤、補充不足中不斷進步。尤其在現(xiàn)在這個信息時代,一切更新都是那么的快,新的技術(shù)層出不窮。所以我們更應(yīng)當有學習的精神,和快速學習和應(yīng)用的能力,經(jīng)過這次課程實驗,我認為,在收獲知識的同時,還收獲了閱歷,收獲了成熟,在此過程中,通過查找大量資料,請教老師和同

50、學,以及不懈的努力,不僅培養(yǎng)了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在設(shè)計中,我們學會了很多學習的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐。堅信:付出就一定有收獲!</p><p><b>  八、參考文獻</b></p><p>  微機原理與接口技術(shù) 主編:梁建武

51、 中國水利水電出版社</p><p>  IBM-PC匯編語言程序設(shè)計 清華大學出版社</p><p>  單片機基礎(chǔ) 北京航空航天出版社</p><p><b>  九、程序源代碼</b></p><p>  CODE SEGM

52、ENT</p><p>  ASSUME CS:CODE</p><p>  IOCONPT EQU 0073H</p><p>  IOAPTEQU 0070H</p><p>  IOBPTEQU 0071H</p><p>  IOCPTEQU 0072H</p><p>  IOB

53、DATA EQU 0500H</p><p>  DATA1EQU 0640H</p><p>  START: MOV AX,0H</p><p><b>  MOV DS,AX</b></p><p>  MOV AL,82H</p><p>  MOV DX,IOCONPT</p&

54、gt;<p><b>  OUT DX,AL</b></p><p>  MOV AL,00H</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV BYTE PTR DS:[0501H],AL<

55、/p><p>  MOV DX,IOCONPT</p><p>  MOV AL,80H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,IOBPT</p><p>  MOV AL,DS:[0501H]</p><p>  OR AL

56、,0F0H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,IOCPT</p><p>  MOV AL,0FH</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY1</p>

57、<p>  IOLED0: MOV AL,01011010B</p><p>  MOV DX,IOCPT</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY1</p><p>  CALL DELAY1</p><p>  AND AL,

58、0F0H</p><p><b>  OUT DX,AL</b></p><p><b>  MOV CX,8H</b></p><p>  IOLED1: MOV DX,IOBPT</p><p>  MOV AL,DS:[0501H]</p><p>  OR AL,01

59、011111B</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY2</p><p>  AND AL,00000000B</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY2<

60、/p><p>  LOOP IOLED1</p><p>  MOV DX,IOCPT</p><p>  MOV AL,0F0H</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY2</p><p>  MOV AL,101001

61、01B</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY1</p><p>  CALL DELAY1</p><p>  AND AL,0F0H</p><p><b>  OUT DX,AL</b></p>&

62、lt;p><b>  MOV CX,8H</b></p><p>  IOLED2: MOV DX,IOBPT</p><p>  MOV AL,DS:[0501H]</p><p>  OR AL,10101111B</p><p><b>  OUT DX,AL</b></p>

63、<p>  CALL DELAY2</p><p>  AND AL,00000000B</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY2</p><p>  LOOP IOLED2</p><p>  MOV DX,IOCPT<

64、;/p><p>  MOV AL,0F0H</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY2</p><p>  JMP IOLED0</p><p>  DELAY1: PUSH AX</p><p><b>  P

65、USH CX</b></p><p>  MOV CX,0030H</p><p>  DELY2:CALL DELAY2</p><p>  LOOP DELY2</p><p><b>  POP CX</b></p><p><b>  POP AX</b>

66、;</p><p><b>  RET</b></p><p>  DELAY2: PUSH CX</p><p>  MOV CX,8000H</p><p>  DELA1:LOOP DELA1</p><p><b>  POP CX</b></p>&

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論