版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 硬件課程設(shè)計——交通燈指揮系統(tǒng)設(shè)計
- 硬件設(shè)計課程設(shè)計---復(fù)雜交通燈指揮系統(tǒng)
- 交通燈指揮系統(tǒng)課程設(shè)計
- 硬件課程設(shè)計---交通燈設(shè)計報告
- 交通燈課程設(shè)計--交通燈控制系統(tǒng)設(shè)計
- eda交通燈課程設(shè)計---交通燈控制系統(tǒng)
- 交通燈課程設(shè)計
- 課程設(shè)計交通燈
- 課程設(shè)計—交通燈
- 交通燈課程設(shè)計
- eda交通燈課程設(shè)計---交通燈控制系統(tǒng)的設(shè)計
- 交通燈課程設(shè)計
- 交通燈課程設(shè)計
- 交通燈課程設(shè)計
- 硬件課程設(shè)計實(shí)踐報告-- 模擬交通燈控制系統(tǒng)
- 交通燈設(shè)計數(shù)電交通燈課程設(shè)計數(shù)電交通燈設(shè)計
- 交通燈課程設(shè)計--基于fpga的交通燈設(shè)計
- 交通燈課程設(shè)計--plc實(shí)現(xiàn)交通燈控制設(shè)計
- 模擬交通燈課程設(shè)計--模擬交通燈的設(shè)計
- 交通燈課程設(shè)計--交通燈控制器
評論
0/150
提交評論