版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 微機接口技術(shù)課程設(shè)計</p><p><b> 交</b></p><p><b> 通</b></p><p><b> 信</b></p><p><b> 號</b></p><p><b&
2、gt; 燈</b></p><p><b> 的</b></p><p><b> 實</b></p><p><b> 時</b></p><p><b> 控</b></p><p><b>
3、制</b></p><p><b> 一.設(shè)計目的</b></p><p> 通過本次課程設(shè)計實踐,熟悉和掌握微機系統(tǒng)的軟件,硬件設(shè)計方法,設(shè)計步驟,提高綜合應(yīng)用所學(xué)知識及動手和分析問題,解決問題的能力;同時還應(yīng)達到以下目的:</p><p> 1.了解交通燈控制的基本工作原理的工作過程;</p><p&g
4、t; 2.熟悉8259A中斷控制器的工作原理和應(yīng)用編程;</p><p> 3.熟悉8255A并行接口的各種工作方式和應(yīng)用;</p><p> 4.熟悉8253A計數(shù)器/定時器的工作方式及應(yīng)用編程,掌握利用軟硬相結(jié)合的定時方法;</p><p><b> 二.設(shè)計的任務(wù)</b></p><p> 設(shè)有一十字路口
5、,東,西,南,北路口各有紅,黃,綠交通指示燈,實現(xiàn)交通信號燈的控制;具體要求如下:</p><p> 1.系統(tǒng)初始運行時,東西南北路口的紅燈點亮;然后,東西方向的車輛放行60秒,即東西路口的綠燈和南北路口的紅燈同時點亮;同時在顯示器上顯示該車方向車輛放行得到及時間值,從60減到0,以模擬路口車輛放行的倒計時間顯示</p><p> 2.1分鐘后,東西路口的綠燈熄滅,黃燈閃爍5秒鐘,以警
6、示車輛將切換紅綠燈,此時南北路口仍維持紅燈點亮;同事在顯示器上顯示黃燈閃爍的倒計時間值,從5減為0</p><p> 3.東西路口的黃燈閃爍5秒后,轉(zhuǎn)為南北方向的車輛放行60秒,即東西路口的紅燈和南北路口的綠燈同時點亮;同時在顯示器上顯示該方向車輛放行的倒計時,從60減為0</p><p> 4.南,北方向的車輛放行20秒后,南,北路口的綠燈熄滅,黃燈閃爍5秒鐘,以警示車輛將切紅,綠燈
7、,此時東,西路口仍維持紅燈點亮;同時在顯示器上顯示黃燈閃爍的倒計時間值(每秒減1),從5減到0.</p><p> 5.南,北路口的黃燈閃爍5秒鐘后,再轉(zhuǎn)為東,西方向的車輛放行60秒;同時在顯示器上顯示該方向車輛放行的倒計時間值(每秒減1),從60減為0;如此反復(fù)循環(huán)。</p><p><b> 提示:</b></p><p> 用825
8、5A控制發(fā)光二極管點亮/熄滅。</p><p> 由8255A定時產(chǎn)生中斷控制車輛放行,黃燈閃爍時間;1秒產(chǎn)生一次中斷,8254A計數(shù)通道的CLK輸入可采用10KHz的方波信號。</p><p> 終端采用PC機內(nèi)部可屏蔽中斷控制器(8259A)的IRQ7.</p><p> 8255A的端口地址:A口-210H,B口-211H,C口-212H,控制口-213
9、H;</p><p> 8254A的端口地址:計數(shù)器0-230H,計數(shù)器1-231H,計數(shù)器2-232H,控制口-233H;</p><p> 8259A的端口地址:20H和21H.</p><p><b> 三.硬件選用</b></p><p> 開關(guān)及LED顯示單元 </p><p>
10、 共兩組D7~D0LED燈由左至右根據(jù)高低電平1,0通斷控制進行亮滅。通過兩組各6個LED燈的顯示方式及亮滅時間來模擬交通信號燈。本次設(shè)計所使用的LED點陣是使每行LED的陰極連接在一起,再經(jīng)過驅(qū)動電路分別進行驅(qū)動。LED燈在不工作時處于低電平不工作狀態(tài)。若要點亮其中的LED,則需行為高電平1。設(shè)置每組D7、D4為紅燈,D6、D3為黃燈,D5、D2為綠燈。燈亮?xí)r的控制要求分別為88H、44H、22H。</p><p
11、> 可編程并行接口8255</p><p> 8255工作在方式0時,A口和B口的輸出是可以獨立的,而且都具有鎖存能力。其連接如“硬件電路接線圖”部分。</p><p> RD為讀信號線,接系統(tǒng)總線的IOR信號,實現(xiàn)對8255的讀操作。</p><p> WR為寫信號線,接系統(tǒng)總線的IOW端,實現(xiàn)對8255的寫操作。</p><p&
12、gt; CS為片選信號線,接系統(tǒng)總線的IOY1,當(dāng)它為低電平(有效)時,才選</p><p> 該8255芯片。A0、A1為口地址選擇信號線。本次設(shè)計使其分別與系統(tǒng)總線的XA1、XA2相連,它們的不同編碼可分別尋址3個口和一個控制寄存器,具體規(guī)定如下:</p><p> PA0~PA7為A口的8條輸入輸出信號線,該口的這8條線是工作于輸入、輸出還是雙向(輸入、輸出)方式,可由軟件編程
13、來決定。</p><p> PB0~PB7為B口的8條輸入輸出信號線,利用軟件編程可指定這8條線是輸入還是輸出。</p><p> PC0~PC78條線根據(jù)其工作方式可作為數(shù)據(jù)的輸入或輸出線,也可以用做控制信號的輸出或狀態(tài)信號的輸入線。</p><p> 這里的8255接口所占地址范圍為0640H~0646H。當(dāng)對8255接口進行寫操作時,各信號線的狀態(tài)如表所
14、示:</p><p> 8255在應(yīng)用過程中,將不同的控制字裝入芯片中控制寄存器,即可確定8255的工作方式。8255的控制字由8位二進制數(shù)構(gòu)成,各位的控制功能如下圖:</p><p><b> 圖2.2.1</b></p><p> 說明:當(dāng)控制字bit7=1時,控制字的bit6~bit3這4位用來控制A組,即A口的8位和C口的高4位,
15、而控制字的低3位bit2~bit0用來控制B組,包括B口的8位和C口的低4位。</p><p><b> 四.軟件設(shè)計</b></p><p> 通過硬件電路的設(shè)計,已將各芯片連接成一個完整的電路,在此基礎(chǔ)上,即可進行程序的編寫、改錯與調(diào)試。</p><p><b> LED燈的設(shè)置</b></p>&
16、lt;p> 紅燈 黃燈 綠燈 空 紅燈 黃燈 綠燈 空</p><p> 說明:初始時,所有LED燈處于低電平0。當(dāng)紅燈亮?xí)r,表示為“88H”;當(dāng)綠燈亮?xí)r,表示為“44H”;當(dāng)綠燈亮?xí)r,表示為“22H”;不亮?xí)r,表示為“0H”。</p><p> 循環(huán)設(shè)計:首先設(shè)置一個循環(huán)次數(shù)CX,然后設(shè)計所要循環(huán)的程序內(nèi)容當(dāng)PP指向這一
17、40字節(jié)內(nèi)存的后7個字節(jié)時,從PP開始掃描已不足8個字節(jié),剩下幾個字節(jié)應(yīng)再從TABLE開始,等到PP指向最后一個字節(jié)時,如果再加1,也應(yīng)使PP重</p><p> 新指向TABLE首地址,這就使時間滾動起來,為實現(xiàn)這一功能,應(yīng)在每次掃描顯示</p><p> 前,先判斷PP的位置,根據(jù)PP的內(nèi)容決定是否進行分步掃描或使PP回到TABLE起始值。</p><p>
18、<b> 五.主要元器件介紹</b></p><p><b> 8255引腳功能:</b></p><p> RESET:復(fù)位輸入線,當(dāng)該輸入端外于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。CS:片選信號線,當(dāng)這個輸入引腳為低電平時,表示芯片被選中,允許8255與CPU進行通訊。RD:讀信號線,當(dāng)這個
19、輸入引腳為低電平時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。WR:寫入信號,當(dāng)這個輸入引腳為低電平時,允許CPU將數(shù)據(jù)或控制字寫入8255。D0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。PA0~PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入鎖存器
20、。PB0~PB7:端口B</p><p> 輸入輸出線,一個8位的I/O鎖存器, 一個8位的輸入輸出緩沖器。PC0~PC7:端口C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。A1、A0:端口地址總線,8255中有端口A、B、C和一
21、個內(nèi)部控制字寄存器,共4個端口,由A0、A1輸入地址信號來尋址。</p><p> 設(shè)計原理流程圖 </p><p><b> 圖4</b></p><p><b> 六.實際硬件接線圖</b></p><p><b> 圖5</b></p>
22、<p><b> 七.源程序</b></p><p> MY8255A EQU 0640H</p><p> MY8255B EQU 0642H</p><p> MY8255C EQU 0644H</p><p> MY8255CON EQU 0646H</p>&l
23、t;p> SSTACK SEGMENT STACK ;定義堆棧段</p><p> DW 32 DUP(?)</p><p> SSTACK ENDS</p><p> CODE SEGMENT ;定義代碼段</p><p> ASSUME CS:
24、CODE,SS:SSTACK</p><p> START: MOV AL,89H ;送控制字</p><p> MOV DX,MY8255CON ;送控制字寄存器地址放DX寄存器</p><p> OUT DX,AL ;輸入8255控制字</p><
25、;p> ;A、B口輸出 C口輸入 工作方式0</p><p> WEGREEN: MOV AL,22H</p><p> MOV DX,MY8255B</p><p> OUT DX,AL ;東、西方亮綠交通燈</p><p> MOV AL,80H</p><p&g
26、t; MOV DX,MY8255A</p><p> OUT DX,AL ;南方亮紅交通燈</p><p> MOV BX,0FFH ;通過BX計數(shù)來控制調(diào)用delay的次數(shù)</p><p> TT1: CALL DELAY </p><p><
27、;b> DEC BX</b></p><p> JNZ TT1 ;調(diào)用延時程序</p><p> MOV CX,3 ;東、西方向黃燈循環(huán)次數(shù)</p><p> WEYELLOW: MOV AL,44H</p><p> MOV DX,MY82
28、55B </p><p> OUT DX,AL ;東、西方向黃燈亮</p><p> MOV BX,0FH</p><p> TT2: CALL DELAY</p><p><b> DEC BX</b></p><p> JNZ TT
29、2 ;調(diào)用延時程序</p><p> MOV AL,00H</p><p> MOV DX,MY8255B</p><p> OUT DX,AL ;東、西方向黃燈滅</p><p> MOV BX,0FH</p><p> TT3:
30、 CALL DELAY</p><p><b> DEC BX</b></p><p> JNZ TT3 ;調(diào)用延時程序</p><p> LOOP WEYELLOW ;循環(huán)東、西黃燈亮滅過程</p><p> SGREEN: MOV AL,88H<
31、;/p><p> MOV DX,MY8255B</p><p> OUT DX,AL ;東、西方亮紅交通燈</p><p> MOV AL,20H</p><p> MOV DX,MY8255A</p><p> OUT DX,AL ;南方亮綠交通燈&l
32、t;/p><p> MOV BX,0FFH </p><p> TT4: CALL DELAY</p><p><b> DEC BX</b></p><p> JNZ TT4 ;調(diào)用延時程序</p><p> MOV CX,3
33、 ;南方黃燈循環(huán)次數(shù)</p><p> SYELLOW: MOV AL,40H</p><p> MOV DX,MY8255A</p><p> OUT DX,AL ;南方黃燈亮</p><p> MOV BX,0FH</p><p> TT5:
34、 CALL delay</p><p><b> DEC BX</b></p><p> JNZ TT5 ;調(diào)用延時程序</p><p> MOV AL,00H</p><p> MOV DX,MY8255A</p><p> OUT DX,AL
35、 ;南方黃燈滅</p><p> MOV BX,0FH</p><p> TT6: CALL DELAY</p><p><b> DEC BX</b></p><p> JNZ TT6 ;調(diào)用延時程序</p><p>
36、; LOOP SYELLOW ;循環(huán)南、北黃燈亮滅過程</p><p> JMP WEGREEN ;整個交通燈過程循環(huán) </p><p> DELAY: PUSH CX ;延時程序</p><p> MOV CX,0F00H ;設(shè)
37、置CX循環(huán)計數(shù)值</p><p> CHAXUN: MOV DX,MY8255C</p><p> IN AL,DX ;從8255C口讀緊急情況模擬數(shù)據(jù)</p><p> TEST AL,01H ;測試CX最低位是否為1</p><p> JZ WE1
38、 ;CX最低位不為1,則正常</p><p> ;CX最低位為1,發(fā)生緊急情況</p><p> MOV AL,88H</p><p> MOV DX,MY8255B</p><p> OUT DX,AL ;東、西方向強制紅燈亮</p><p> MOV AL,80
39、H</p><p> MOV DX,MY8255A</p><p><b> OUT DX,AL</b></p><p><b> JMP RIGHT</b></p><p> WE1 : TEST AL,02H</p><p><b> JZ S
40、2</b></p><p> MOV AL,88H</p><p> MOV DX,MY8255B</p><p><b> OUT DX,AL</b></p><p><b> JMP RIGHT</b></p><p> S2: TEST
41、 AL,04H</p><p><b> JZ RIGHT</b></p><p> MOV AL,80H</p><p> MOV DX,MY8255A</p><p> OUT DX,AL ;南方強制紅燈亮</p><p> RIGHT: PUSH
42、 AX</p><p><b> POP AX</b></p><p> LOOP CHAXUN ;正常情況下的延時循環(huán)</p><p><b> POP CX</b></p><p><b> RET</b></p><p
43、><b> CODE ENDS</b></p><p><b> END START</b></p><p><b> 八.組內(nèi)分工</b></p><p> 牟龔波:做的是硬件選用工作</p><p> 楊靖:做的是軟件設(shè)計工作</p><
44、p> 張凱彥:做的是實際硬件接線圖工作</p><p> 海小龍:做的是源代碼工作</p><p><b> 九.課程設(shè)計總結(jié)</b></p><p> 通過本次課程設(shè)計實踐,我們從中學(xué)到了熟悉和掌握微機系統(tǒng)的軟件,硬件設(shè)計方法,設(shè)計步驟,提高綜合應(yīng)用所學(xué)知識及動手和分析問題,解決問題的能力,使我對微機原理更加的加深了,對8259
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機原理課程設(shè)計---交通信號燈的控制
- 微機原理課程設(shè)計---交通信號燈的控制
- 微機型交通信號燈課程設(shè)計
- 交通信號燈課程設(shè)計---交通信號燈系統(tǒng)設(shè)計
- 交通信號燈課程設(shè)計--交通信號燈控制電路的設(shè)計
- 《微機接口及應(yīng)用》課程設(shè)計——交通信號燈控制系統(tǒng)
- 微機原理課程設(shè)計--交通信號燈設(shè)計
- 交通信號燈電子技術(shù)課程設(shè)計
- 交通信號燈電子技術(shù)課程設(shè)計
- 交通信號燈控制課程設(shè)計
- 交通信號燈控制課程設(shè)計
- 課程設(shè)計---交通信號燈控制
- 課程設(shè)計---交通信號燈控制設(shè)計
- 課程設(shè)計交通信號燈
- 交通信號燈課程設(shè)計
- 交通信號燈課程設(shè)計
- 交通信號燈課程設(shè)計
- 數(shù)字電子技術(shù)課程設(shè)計—交通信號燈
- 交通信號燈課程設(shè)計
- 信號燈課程設(shè)計---簡易交通信號燈控制器
評論
0/150
提交評論