硬件課程設(shè)計---交通燈指揮系統(tǒng)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  硬件課程設(shè)計</b></p><p><b>  實(shí)驗(yàn)報告</b></p><p>  課題名稱 交通燈指揮系統(tǒng) </p><p>  學(xué)院 計算機(jī)科學(xué)與技術(shù)學(xué)院 </p><p><b>  交通燈指揮系統(tǒng)&l

2、t;/b></p><p><b>  1、設(shè)計任務(wù)與要求</b></p><p>  編寫一個交通燈控制程序,實(shí)現(xiàn)東西路口與南北路口狀態(tài)燈的轉(zhuǎn)換和緊急處理。采用8253芯片計數(shù),輸出1S的時鐘脈沖,并使用8255接口芯片控制LED亮滅,同時讓8279芯片顯示倒計時,鍵盤控制緊急處理按鍵,以此實(shí)現(xiàn)交通燈指揮控制系統(tǒng)。</p><p>&l

3、t;b>  2、總體方案與說明</b></p><p>  ①南北紅燈,東西綠燈,亮6秒,且數(shù)碼管9秒倒計時顯示。</p><p> ?、谀媳奔t燈,東西黃燈,亮3秒。</p><p>  ③南北綠燈,東西紅燈,亮6秒,且數(shù)碼管6秒倒計時顯示。</p><p> ?、苣媳秉S燈,東西紅燈,亮3秒,且數(shù)碼管3秒倒計時顯示。<

4、/p><p><b> ?、蒉D(zhuǎn)①重復(fù)</b></p><p>  按鍵盤1鍵,則南北紅燈,東西綠燈;按鍵盤0鍵,恢復(fù)原狀態(tài)。</p><p>  按鍵盤2鍵,則南北綠燈,東西紅燈;按鍵盤0鍵,恢復(fù)原狀態(tài)。</p><p>  按鍵盤4鍵,則東西南北方向全亮紅燈,按鍵盤0鍵,恢復(fù)原狀態(tài)。</p><p>

5、;  按鍵盤5鍵,則東西南北方向全亮綠燈,按鍵盤0鍵,恢復(fù)原狀態(tài)。</p><p>  按鍵盤6鍵,則東西南北方向全亮黃燈,按鍵盤0鍵,恢復(fù)原狀態(tài)。</p><p><b>  3、硬件框圖與說明</b></p><p><b>  芯片8253原理</b></p><p>  簡介:8253內(nèi)部有

6、三個計數(shù)器,分別成為計數(shù)器0、計數(shù)器1和計數(shù)器2,他們的機(jī)構(gòu)完全相同。每個計數(shù)器的輸入和輸出都決定于設(shè)置在控制寄存器中的控制字,互相之間工作完全獨(dú)立。每個計數(shù)器通過三個引腳和外部聯(lián)系,一個為時鐘輸入端CLK,一個為門控信號輸入端GATE,另一個為輸出端OUT。每個計數(shù)器內(nèi)部有一個8位的控制寄存器,還有一個16位的計數(shù)初值寄存器CR、一個計數(shù)執(zhí)行部件CE和一個輸出鎖存器OL。</p><p>  工作原理:8253

7、具有3個獨(dú)立的計數(shù)通道,采用減1計數(shù)方式。在門控信號有效時,每輸入1個計數(shù)脈沖,通道作1次計數(shù)操作。當(dāng)計數(shù)脈沖是已知周期的時鐘信號時,計數(shù)就成為定時。</p><p>  工作方式:8253中各通道可有6種可供選擇的工作方式, 以完成定時、計數(shù)或脈沖發(fā)生器等多種功能。本次實(shí)驗(yàn)中,采用了工作方式3(方波發(fā)生器)。</p><p>  ?方式0——計數(shù)結(jié)束產(chǎn)生中斷 一次定時或計數(shù),重寫初值,啟

8、動新一輪的計數(shù) </p><p>  ?方式1——可編程的單脈沖(單穩(wěn))觸發(fā)器 GATE邊沿觸發(fā),啟動新一輪計數(shù)</p><p>  ?方式2——分頻器(速度波發(fā)生器) 具有計數(shù)初值重裝能力</p><p>  ?方式3——方波發(fā)生器 具有計數(shù)初值重裝能力 </p><p>  ?方式4——軟件觸發(fā)的選通信號發(fā)生器一次定時,重寫初值,啟動新一

9、輪的計數(shù) </p><p>  ?方式5——硬件觸發(fā)的選通信號發(fā)生器GATE邊沿觸發(fā)新一輪計數(shù)</p><p>  8253具體的控制字格式如下:</p><p><b>  芯片原理8255</b></p><p>  簡介:一個并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口。具有24個可

10、編程設(shè)置的I/O口,即使3組8位的I/O口為PA口,PB口和PC口。它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4~PC7),B組包括B口及C口(低4位,PC0~PC3)。A組可設(shè)置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I/O3種模式;B組只能設(shè)置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定。</p><p><b>  芯片原

11、理8279</b></p><p>  簡介:8279是可編程的鍵盤、顯示接口芯片。它既具有按鍵處理功能,又具有自動顯示功能,在單片機(jī)系統(tǒng)中應(yīng)用很廣泛。8279內(nèi)部有鍵盤FIFO(先進(jìn)先出堆棧)/傳感器,雙重功能的8*8=64B RAM,鍵盤控制部分可控制8*8=64個按鍵或8*8陣列方式的傳感器。該芯片能自動消抖并具有雙鍵鎖定保護(hù)功能。顯示RAM容量為16*8,即顯示器最大配置可達(dá)16位LED數(shù)碼顯

12、示。</p><p>  工作方式:(1)鍵盤工作方式。8279在鍵盤工作方式時,可設(shè)置為雙鍵互鎖方式和N鍵循回方式。雙鍵互鎖方式:若有兩個或多個鍵同時按下時,不管按鍵先后順序如何,只能識別最后一個被釋放的鍵,并把該鍵值送入FIFO RAM中。N鍵循回方式:一次按下任意個鍵均可被識別,按鍵值按掃描次序被送入FIFO RAM中。(2)顯示方式。8279的顯示方式又可分為左端入口和右端入口方式。顯示數(shù)據(jù)只要寫入顯示R

13、AM,則可由顯示器顯示出來,因此顯示數(shù)據(jù)寫入顯示RAM的順序,決定了顯示的次序。左端入口方式即顯示位置從顯示器最左端1位(最高位)開始,以后顯示的字符逐個向右順序排列;右端入口方式即顯示位置從顯示器最右端1位(最低位)開始,已顯示的字符逐個向左移位。但無論左右入口,后輸入的總是顯示在最右邊。</p><p><b>  硬件連線圖</b></p><p><b&

14、gt;  硬件連線實(shí)物圖</b></p><p>  4、軟件主要模塊流程圖</p><p><b>  8255模塊流程圖</b></p><p><b>  8253模塊流程圖</b></p><p>  8279顯示模塊流程圖</p><p>  8279鍵

15、盤輸入及判斷模塊流程圖</p><p><b>  總流程圖</b></p><p>  5、源程序清單與注釋</p><p>  Z8279 EQU 212H</p><p>  D8279 EQU 210H</p><p>  CODE SEGMENT </p><p>

16、;  ASSUME CS:CODE DS:DATA</p><p>  DATA SEGMENT</p><p>  A DB 1 DUP(?)</p><p>  B DB 1 DUP(?)</p><p>  C DB 1 DUP(?)</p><p><b>  DATA ENDS</b>&

17、lt;/p><p><b>  START:</b></p><p>  MOV DX,20BH</p><p>  MOV AL,00110111B</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,208H</p><

18、;p>  MOV AL,00H</p><p><b>  OUT DX,AL</b></p><p>  MOV AL,50H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,20BH</p><p>  MOV AL,011

19、10111B</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,209H</p><p>  MOV AL,00H</p><p><b>  OUT DX,AL</b></p><p>  MOV AL,02H</p>

20、<p>  OUT DX,AL ;8253初始化</p><p>  MOV DX,203H</p><p>  MOV AL,10010000B</p><p>  OUT DX,AL ;8255初始化</p><p>  L0: MOV A,09H ;設(shè)置計數(shù)初值9s</p><p>

21、  MOV B,06H ;設(shè)置計數(shù)初值6s</p><p>  MOV C,03H ;設(shè)置計數(shù)初值3s</p><p>  L1: MOV DX,201H</p><p>  MOV AL,01111011B ;南北紅,東西綠</p><p>  OUT DX,AL </p><p><b> 

22、 MOV CL,A</b></p><p>  CALL SHOW ;調(diào)用顯示模塊</p><p>  CALL LOK ;調(diào)用檢測上升沿子程序</p><p>  CALL KZ ;調(diào)用鍵盤檢測及特殊鍵判斷子程序</p><p><b>  DEC A</b></p&

23、gt;<p><b>  CMP A,03H</b></p><p><b>  JNZ L1</b></p><p>  PP: MOV DX,201H</p><p>  MOV AL,01110111B;南北紅,東西黃</p><p><b>  OUT DX,AL&

24、lt;/b></p><p><b>  MOV CL,A</b></p><p>  CALL SHOW ;調(diào)用顯示模塊</p><p>  CALL LOK ;調(diào)用檢測上升沿子程序</p><p>  CALL KZ ;調(diào)用鍵盤檢測及特殊鍵判斷子程序</p><p

25、><b>  DEC A</b></p><p><b>  CMP A,00H</b></p><p><b>  JNZ PP</b></p><p>  L4: MOV DX,201H</p><p>  MOV AL,11001111B ;南北綠,東西紅<

26、;/p><p><b>  OUT DX,AL</b></p><p><b>  MOV CL,B</b></p><p>  CALL SHOW ;調(diào)用顯示模塊</p><p>  CALL LOK ;調(diào)用檢測上升沿子程序</p><p>  CALL K

27、Z ;調(diào)用鍵盤檢測及特殊鍵判斷子程序</p><p><b>  DEC B</b></p><p><b>  CMP B,00H</b></p><p><b>  JNZ L4</b></p><p>  L5: MOV DX,201H</p>

28、<p>  MOV AL,10101111B ;南北黃,東西紅</p><p><b>  OUT DX,AL</b></p><p><b>  MOV CL,C</b></p><p>  CALL SHOW ;調(diào)用顯示模塊</p><p>  CALL LOK

29、 ;調(diào)用檢測上升沿子程序</p><p>  CALL KZ ;調(diào)用鍵盤檢測及特殊鍵判斷子程序</p><p><b>  DEC C</b></p><p><b>  CMP C,00H</b></p><p><b>  JNZ L5</b></p&g

30、t;<p><b>  JMP L0</b></p><p>  LOK PROC NEAR ;檢測上升沿子程序</p><p>  L2:MOV DX,200H</p><p><b>  IN AL,DX</b></p><p>  CMP AL,00H</p>

31、<p><b>  JNZ L2</b></p><p>  L3:IN AL,DX</p><p>  CMP AL,01H</p><p><b>  JNZ L3</b></p><p><b>  RET</b></p><p>&l

32、t;b>  LOK ENDP</b></p><p>  SHOW PROC NEAR ;顯示模塊</p><p>  MOV DX,Z8279</p><p>  MOV AL,00H</p><p><b>  OUT DX,AL</b></p><p>  MOV A

33、L,38H</p><p>  OUT DX,AL;初始化 8279</p><p>  MOV DX,D8279</p><p>  MOV AL,00H</p><p><b>  OUT DX,AL</b></p><p><b>  OUT DX,AL</b><

34、/p><p><b>  OUT DX,AL</b></p><p><b>  OUT DX,AL</b></p><p><b>  OUT DX,AL</b></p><p><b>  OUT DX,AL</b></p><p>

35、;<b>  OUT DX,AL</b></p><p>  OUT DX,AL ; 熄滅8279數(shù)碼管</p><p><b>  MOV AL,CL</b></p><p><b>  MOV AH,0</b></p><p><b>  MOV DL,10

36、</b></p><p>  DIV DL ;AX/DL=BL...BH</p><p>  MOV BL,AH ; 將余數(shù)(即秒的個位)放在BL中</p><p>  MOV BH,AL ; 將商(即秒的十位)放在BH中</p><p>  CALL TRANS ; 調(diào)用8279顯示秒的個位</p>

37、<p><b>  MOV BL,BH</b></p><p>  CALL TRANS ; 調(diào)用8279顯示秒的十位</p><p><b>  RET</b></p><p><b>  SHOW ENDP</b></p><p>  TRANS PROC NE

38、AR ;數(shù)碼管顯示數(shù)值程序</p><p><b>  ONE:</b></p><p><b>  CMP BL,1</b></p><p><b>  JNZ TWO</b></p><p>  MOV AL,00000110B</p><p>&l

39、t;b>  TWO:</b></p><p><b>  CMP BL,2</b></p><p><b>  JNZ TRI</b></p><p>  MOV AL,01011011B</p><p><b>  TRI:</b></p>&

40、lt;p><b>  CMP BL,3</b></p><p><b>  JNZ FOR</b></p><p>  MOV AL,01001111B</p><p><b>  FOR:</b></p><p><b>  CMP BL,4</b>

41、;</p><p><b>  JNZ FIV</b></p><p>  MOV AL,01100110B</p><p><b>  FIV:</b></p><p><b>  CMP BL,5</b></p><p><b>  JNZ

42、 SIX</b></p><p>  MOV AL,01101101B</p><p><b>  SIX:</b></p><p><b>  CMP BL,6</b></p><p><b>  JNZ SEV</b></p><p> 

43、 MOV AL,01111101B</p><p><b>  SEV:</b></p><p><b>  CMP BL,7</b></p><p><b>  JNZ EIT</b></p><p>  MOV AL,00000111B</p><p&g

44、t;<b>  EIT:</b></p><p><b>  CMP BL,8</b></p><p><b>  JNZ NIN</b></p><p>  MOV AL,01111111B</p><p><b>  NIN:</b></p>

45、;<p><b>  CMP BL,9</b></p><p><b>  JNZ ZRO</b></p><p>  MOV AL,01101111B</p><p><b>  ZRO:</b></p><p><b>  CMP BL,0</

46、b></p><p><b>  JNZ SHW</b></p><p>  MOV AL,00111111B</p><p><b>  SHW:</b></p><p>  MOV DX,D8279</p><p><b>  OUT DX,AL</

47、b></p><p><b>  RET</b></p><p>  TRANS ENDP </p><p>  KZ PROC NEAR ;鍵盤檢測及判斷模塊</p><p>  MOV DX,Z8279</p><p><b>  IN AL,DX</b>&l

48、t;/p><p>  AND AL,0FH</p><p>  CMP AL,00H</p><p><b>  JE JIESHU</b></p><p>  MOV AL,40H</p><p><b>  OUT DX,AL</b></p><p>

49、  MOV DX,D8279</p><p><b>  IN AL,DX</b></p><p>  NHDL: </p><p>  CMP AL,02D</p><p><b>  JNZ NLDH</b></p><p>  MOV DX,201H;82

50、55B</p><p>  MOV AL,01111011B;南北紅東西綠</p><p><b>  OUT DX,AL</b></p><p>  CALL HUIFU</p><p><b>  NLDH:</b></p><p>  CMP AL,10D</p&

51、gt;<p><b>  JNZ HH</b></p><p>  MOV DX,201H;8255B</p><p>  MOV AL,11001111B;南北綠東西紅</p><p><b>  OUT DX,AL</b></p><p>  CALL HUIFU</p>

52、;<p><b>  HH:</b></p><p>  CMP AL,01D</p><p><b>  JNZ LL</b></p><p>  MOV DX,201H;8255B</p><p>  MOV AL,01101111B;東西南北全紅</p><p

53、><b>  OUT DX,AL</b></p><p>  CALL HUIFU</p><p><b>  LL:</b></p><p>  CMP AL,09D</p><p><b>  JNZ YY</b></p><p>  MOV

54、DX,201H;8255B</p><p>  MOV AL,11011011B;東西南北全綠</p><p><b>  OUT DX,AL</b></p><p>  CALL HUIFU</p><p><b>  YY:</b></p><p>  CMP AL,33

55、D</p><p>  JNZ JIESHU</p><p>  MOV DX,201H;8255B</p><p>  MOV AL,10110111B;東西南北全黃</p><p><b>  OUT DX,AL</b></p><p>  CALL HUIFU</p><

56、p><b>  JIESHU:</b></p><p><b>  RET</b></p><p><b>  KZ ENDP</b></p><p>  HUIFU PROC NEAR ;恢復(fù)鍵0判斷</p><p><b>  WAITS:</b

57、></p><p>  MOV DX,Z8279</p><p><b>  IN AL,DX</b></p><p>  AND AL,0FH</p><p>  CMP AL,00H</p><p><b>  JE WAITS</b></p><

58、;p>  MOV AL,40H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,D8279</p><p><b>  IN AL,DX</b></p><p>  CMP AL,03D</p><p><b>  J

59、NZ WAITS</b></p><p><b>  RET</b></p><p>  HUIFU ENDP</p><p><b>  CODE ENDS</b></p><p><b>  END START</b></p><p> 

60、 6、問題分析與解決方案</p><p><b>  8279數(shù)碼管顯示</b></p><p><b>  問題分析:</b></p><p>  通過查閱大量8279資料初步對8279有了一定的了解,在8279數(shù)碼管顯示數(shù)字的過程中遇到了諸多問題,如:數(shù)碼管控制字、顯示出錯、RAM清零等重要操作無法正常實(shí)現(xiàn)。</

61、p><p><b>  解決方案:</b></p><p> ?、俨捎面I盤/顯示控制字00000000B,時鐘編程控制字00111000B,各數(shù)字對應(yīng)的LED八段顯示數(shù)據(jù);</p><p> ?、?279數(shù)據(jù)口和控制口混淆,數(shù)據(jù)輸出至控制口中而出現(xiàn)顯示錯誤;</p><p> ?、矍宄@示RAM和FIFO后無法正常顯示數(shù)據(jù),

62、采用輸出“00H”逐個LED熄滅的方式熄滅LED,達(dá)到清零目的。</p><p>  8279鍵盤輸入及判斷</p><p><b>  問題分析:</b></p><p> ?、倥袛噫I盤是否有按鍵按下;</p><p>  ②怎樣判斷按下的按鍵對應(yīng)的鍵碼值;</p><p><b> 

63、?、鄞a冗余復(fù)雜</b></p><p>  ④特殊鍵按下后恢復(fù)問題</p><p><b>  解決方案:</b></p><p> ?、僮x8279控制口,讓得到的狀態(tài)字和0FH相與,其結(jié)果再用CMP和00H比較,以此判斷是否有鍵按下;</p><p> ?、谕ㄟ^測試每一個按鍵,確定各個鍵碼值;</p

64、><p> ?、鄄捎米映绦虿⒄{(diào)用子程序的方式,重復(fù)利用了相同的代碼,減少了代碼的行數(shù);</p><p> ?、茉谶M(jìn)入特殊狀態(tài)下不斷地循環(huán)檢測是否有恢復(fù)鍵“0鍵”按下。</p><p><b>  各芯片之間的組合</b></p><p>  問題分析:調(diào)用子程序和循環(huán)的順序混亂</p><p>  解

65、決方案:首先實(shí)現(xiàn)單個芯片的各項功能,再將每個芯片加入到總程序中,使總程序過程清晰明了。</p><p><b>  7、結(jié)論與體會</b></p><p>  經(jīng)過這次硬件課程設(shè)計,我們對匯編語言和各個接口芯片8253、8255、8279有了更深入的了解。在實(shí)驗(yàn)中,通過和同學(xué)交流,開闊了自己的思路,改進(jìn)了程序的方法,使程序明晰易懂、更加高效。在這次實(shí)驗(yàn)中,我們自主學(xué)習(xí)

66、了8279芯片,并遇到了諸多問題和困難。發(fā)現(xiàn)將書本中的理論性知識運(yùn)用在實(shí)際中還是有一定困難的,需要通過大量的閱讀資料、實(shí)踐、學(xué)習(xí)代碼實(shí)例,才能不斷地更正以前的錯誤思想、改進(jìn)代碼,完成所選擇的課題。</p><p>  在整個課程設(shè)計中,我們得到了許多老師和同學(xué)的熱心幫助、鼓勵,這讓我們更加相信團(tuán)隊的力量不可忽視,只有同心協(xié)力、分工明確才能高效地完成任務(wù)。 </p><p><b>

67、;  8、設(shè)備與環(huán)境</b></p><p>  硬件:微機(jī)原理與接口技術(shù)試驗(yàn)箱</p><p>  軟件:Windows XP及以上的操作系統(tǒng)</p><p>  Microsoft Office Visio 2007</p><p>  Microsoft Word 2007</p><p><b

68、>  HK88TE</b></p><p><b>  9、參考資料</b></p><p>  1.《微型計算機(jī)原理與接口技術(shù)》第4版 周荷琴 吳秀清著 </p><p>  中國科學(xué)技術(shù)大學(xué)出版社</p><p>  2.《匯編語言》第2版 王爽著 清華大學(xué)出版社</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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論