版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 微機(jī)原理課程設(shè)計(jì)</b></p><p> 題 目 帶數(shù)碼管顯示的交通燈模擬控制系統(tǒng)設(shè)計(jì) </p><p> 課 程 名 稱(chēng) 微機(jī)原理及應(yīng)用A </p><p> 課題名稱(chēng) 帶數(shù)碼管顯示的交通燈模擬控制系統(tǒng)設(shè)計(jì)</p><p><b> 一、概述</b
2、></p><p> 在STAR ES598PCI實(shí)驗(yàn)系統(tǒng)的基礎(chǔ)上,應(yīng)用可編程并行接口8255、定時(shí)/計(jì)數(shù)器8253、可編程中斷控制器8259等I/O接口芯片,設(shè)計(jì)一個(gè)十字路口交通信號(hào)燈模擬控制系統(tǒng)。</p><p><b> 二、設(shè)計(jì)目的</b></p><p> 通過(guò)設(shè)計(jì)一個(gè)十字路口交通燈系統(tǒng)掌握8255、8253、8259等接
3、口芯片的編程和應(yīng)用方法,做到理論聯(lián)系實(shí)際。</p><p><b> 三、設(shè)計(jì)要求</b></p><p> 要求繪制流程圖、編寫(xiě)源程序,并在實(shí)驗(yàn)系統(tǒng)上調(diào)試通過(guò)程序。</p><p><b> 四、設(shè)計(jì)內(nèi)容</b></p><p> 1、十字路口交通信號(hào)燈設(shè)置</p><
4、p> 某十字路口交通信號(hào)燈系統(tǒng)在4個(gè)路口均裝設(shè)紅、綠2個(gè)燈,并裝設(shè)數(shù)碼管顯示倒計(jì)時(shí)。</p><p> 圖1 交通信號(hào)燈設(shè)置</p><p> 實(shí)驗(yàn)時(shí)用LED(發(fā)光二極管)代替十字路口的紅綠燈。</p><p> 2、交通信號(hào)燈亮滅規(guī)律</p><p> 交通信號(hào)燈系統(tǒng)初始狀態(tài)為所有紅燈閃爍N1秒鐘(不必在數(shù)碼管顯示);之后
5、東西向車(chē)行道綠燈亮,車(chē)輛放行N秒鐘,此時(shí)南北向車(chē)行道紅燈亮,之后轉(zhuǎn)為南北向車(chē)行道放行N秒鐘,如此循環(huán)重復(fù)。要求數(shù)碼管能夠顯示倒計(jì)時(shí)。</p><p><b> 參數(shù)選擇:</b></p><p> N=20s/25s…85s/90s(每隔5s取一個(gè)秒數(shù))</p><p> N1≤10s,閃爍次數(shù)為3~8次</p><p
6、> 每組自行選擇N、N1(及閃爍次數(shù))。</p><p><b> 3、參考方案</b></p><p> 采用8255、8253、8259組成系統(tǒng),采用8253產(chǎn)生定時(shí),運(yùn)用8259采用中斷法編寫(xiě)程序。</p><p> 如果加入緊急車(chē)輛通過(guò)功能或其他任何先進(jìn)功能,可根據(jù)具體情況加創(chuàng)新分。</p><p>
7、;<b> 一、硬件設(shè)計(jì)</b></p><p><b> 源程序清單</b></p><p> DATA SEGMENT</p><p> TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH</p><p> COUNT DB ?</p
8、><p> SCAN DW 485 ;掃描次數(shù)</p><p><b> DATA ENDS</b></p><p> CODE SEGMENT</p><p> ASSUME CS:CODE , DS:DATA,SS:STCK</p&g
9、t;<p> START:MOV AX,DATA</p><p><b> MOV DS,AX</b></p><p><b> MOV ES,AX</b></p><p><b> NOP</b></p><p> MOV DX,K8255K
10、 ;寫(xiě)8255控制字,A,B,C均為輸出,方式0</p><p> MOV AL,80H</p><p><b> OUT DX,AL</b></p><p> START1: MOV DX,K8255C ;C口輸出,控制燈</
11、p><p><b> MOV CX,4</b></p><p> FLASH: MOV AL,RED_ON ;紅燈亮</p><p><b> OUT DX,AL</b></p><p> CALL DELAY
12、 ;調(diào)延時(shí)</p><p> MOV AL,RED_OFF ;紅燈滅</p><p><b> OUT DX,AL</b></p><p> CALL DELAY</p><p> LOOP FLASH </p>
13、<p> START2: MOV DX,ADD8253_C ;寫(xiě)8253控制字</p><p> MOV AL,37H ;0#計(jì)數(shù)器,讀寫(xiě)16位低高字節(jié),方式三,BCD碼</p><p><b> OUT DX,AL</b></p><p> MOV AX,1000H
14、 ;寫(xiě)0#的計(jì)數(shù)初值1000H,根據(jù)輸入設(shè)定2M=1000H*2000</p><p> MOV DX,ADD8253_0</p><p><b> OUT DX,AL</b></p><p><b> MOV AL,AH</b></p><p><b> OUT DX,AL<
15、;/b></p><p> MOV DX,ADD8253_C ;寫(xiě)8253控制字</p><p> MOV AL,77H ;1#計(jì)數(shù)器,讀寫(xiě)16位低高字節(jié),方式三,BCD碼</p><p><b> OUT DX,AL</b></p><p> MO
16、V AX,2000H ;寫(xiě)1#計(jì)數(shù)初值2000H,根據(jù)輸入設(shè)定,方波頻率1HZ</p><p> MOV DX,ADD8253_1</p><p><b> OUT DX,AL</b></p><p><b> MOV AL,AH</b></p><p><
17、b> OUT DX,AL</b></p><p> MOV COUNT,COUNTER ;寫(xiě)計(jì)數(shù)值(紅綠燈變換的間隔時(shí)間)</p><p> CALL Init8259 ;調(diào)8259初始化子程序</p><p> CALL WriIntver_8
18、 ;調(diào)寫(xiě)中斷向量表子程序</p><p> CALL WriIntver_9 ;調(diào)寫(xiě)中斷向量表子程序</p><p> MOV CL,E_W</p><p><b> MOV AL,CL</b></p><p> MOV DX,K8255C</p><p>
19、;<b> OUT DX,AL</b></p><p><b> STI</b></p><p><b> NOP</b></p><p> START3: JMP $ ;給出中斷以外CPU的工作</p><p> Init8
20、259 PROC NEAR ;8259初始化子程序</p><p> MOV DX,IO8259_0 ;寫(xiě)ICW1,邊沿觸發(fā),單片,需寫(xiě)ICW4</p><p> MOV AL,13H</p><p><b> OUT DX,AL</b></p>
21、<p> MOV DX,IO8259_1 ;寫(xiě)ICW2,確定中斷類(lèi)型號(hào)</p><p> MOV AL,08H</p><p><b> OUT DX,AL</b></p><p> MOV AL,09H ;寫(xiě)ICW4</p><p>
22、<b> OUT DX,AL</b></p><p> MOV AL,0FCH ;寫(xiě)OCW1,除IR0、IR1全屏蔽</p><p><b> OUT DX,AL</b></p><p><b> RET</b></p><p>
23、 Init8259 ENDP</p><p> WriIntver_9 PROC NEAR ;寫(xiě)中斷向量表子程序</p><p><b> PUSH ES</b></p><p><b> MOV AX,0</b></p><p><b&
24、gt; MOV ES,AX</b></p><p> MOV DI,24H ;中斷類(lèi)型號(hào)9,對(duì)應(yīng)24H,25H,26H,27H四個(gè)單元</p><p> LEA AX,INT_9 ;取中斷服務(wù)程序IP</p><p><b> STOSW</b>
25、;</p><p> MOV AX,CS ;取中段服務(wù)程序CS</p><p><b> STOSW</b></p><p><b> POP ES</b></p><p><b> RET</b></p>
26、<p> WriIntver_9 ENDP</p><p> WriIntver_8 PROC NEAR ;寫(xiě)中斷向量表子程序</p><p><b> PUSH ES</b></p><p><b> MOV AX,0</b></p>&
27、lt;p><b> MOV ES,AX</b></p><p> MOV DI,20H ;中斷類(lèi)型號(hào)8,對(duì)應(yīng)20H,21H,22H,23H四個(gè)單元</p><p> LEA AX,INT_8 ;取中斷服務(wù)程序IP</p><p><b>
28、STOSW</b></p><p> MOV AX,CS ;取中段服務(wù)程序CS</p><p><b> STOSW</b></p><p><b> POP ES</b></p><p><b> RET</b
29、></p><p> WriIntver_8 ENDP</p><p> INT_9:MOV AL,COUNT</p><p> SUB AL,01H</p><p><b> DAS </b></p><p> MOV COUNT,AL
30、 ;中斷服務(wù)程序</p><p><b> PUSH AX</b></p><p> PUSH DX </p><p><b> PUSH BX</b></p><p><b> PUSH CX</b></p&g
31、t;<p> PUSH SCAN ;保護(hù)循環(huán)值,否則取數(shù)碼管顯示會(huì)破壞</p><p> LOO: MOV AL,55H</p><p> MOV DX, K8255A</p><p><b> OUT DX,AL</b></p><p> MOV
32、 AL,COUNT ;選高位數(shù)碼管 </p><p> MOV AH,AL ;暫存AH</p><p><b> MOV CL,4</b></p><p><b> SHR AL,CL</b></p>
33、<p> LEA BX,TAB</p><p> XLAT ;十進(jìn)制轉(zhuǎn)數(shù)碼管編碼</p><p> MOV DX, K8255B</p><p> OUT DX,AL ;顯數(shù)</p><p>
34、CALL DL1ms ;調(diào)延時(shí)</p><p><b> MOV AL,0</b></p><p> OUT DX,AL ;清除</p><p> MOV AL,0AAH </p><
35、;p> MOV DX, K8255A</p><p> OUT DX,AL ;選低位數(shù)碼管 </p><p> MOV AL,AH </p><p><b> SHL AL,CL</b></p><p&g
36、t; SHR AL,CL </p><p> XLAT ;十進(jìn)制轉(zhuǎn)數(shù)碼管編碼</p><p> MOV DX, K8255B</p><p> OUT DX,AL ;顯數(shù) </p><p> CALL
37、 DL1ms</p><p><b> MOV AL,0</b></p><p> OUT DX,AL ;清除</p><p> DEC SCAN </p><p> CMP SCAN,0</p>
38、;<p> JNZ LOO ;循環(huán)掃描</p><p><b> POP SCAN</b></p><p><b> POP CX</b></p><p> CMP COUNT,0</p><p>
39、JNZ STOP ;計(jì)數(shù)到零則重新置數(shù),并將燈取反,未到零則直接結(jié)束中斷子程序</p><p> MOV COUNT,COUNTER</p><p><b> NOT CL</b></p><p><b> MOV AL,CL</b></p><p> MOV DX,K
40、8255C</p><p><b> OUT DX,AL</b></p><p> STOP: MOV DX,IO8259_0 ;結(jié)束中斷服務(wù),寫(xiě)OCW2,給8259送EOI命令,LSR1清零</p><p> MOV AL,20H</p><p><b> OUT DX,AL</b>&l
41、t;/p><p><b> POP BX</b></p><p><b> POP DX</b></p><p><b> POP AX</b></p><p><b> IRET</b></p><p> INT_8:PUS
42、H DX</p><p><b> PUSH AX</b></p><p><b> PUSH CX</b></p><p> MOV DX,K8255C ;C口輸出,控制燈</p><p><b> MOV CX,4</b></p>&
43、lt;p> A: MOV AL,RED_ON ;紅燈亮</p><p><b> OUT DX,AL</b></p><p> CALL DELAY ;調(diào)延時(shí)</p><p> MOV AL,RED_OFF ;紅燈滅</p><p
44、><b> OUT DX,AL</b></p><p> CALL DELAY</p><p><b> LOOP A</b></p><p> MOV DX,IO8259_0 ;結(jié)束中斷服務(wù),寫(xiě)OCW</p><p><b> POP CX</b></
45、p><p> MOV DX,K8255C</p><p><b> MOV AL,CL</b></p><p><b> OUT DX,AL</b></p><p><b> POP AX</b></p><p><b> POP DX&
46、lt;/b></p><p><b> IRET</b></p><p> DELAY PROC;延時(shí)子程序</p><p><b> PUSH BX</b></p><p><b> PUSH CX</b></p><p> MOV B
47、X,04H</p><p> DELAY1:MOV CX,0FFFFH</p><p><b> LOOP $</b></p><p><b> DEC BX</b></p><p> JNZ DELAY1</p><p><b> POP CX</
48、b></p><p><b> POP BX</b></p><p><b> RET </b></p><p> DELAY ENDP </p><p> DL1ms PROC NEAR</p><p><b> PUSH AX</b&g
49、t;</p><p><b> PUSH CX</b></p><p> MOV AX,0100H</p><p> MOV CX,AX</p><p><b> LOOP $</b></p><p><b> POP CX</b><
50、;/p><p><b> POP AX</b></p><p><b> RET</b></p><p> DL1ms ENDP</p><p><b> CODE ENDS</b></p><p> END START </p>
51、;<p><b> 三、調(diào)試現(xiàn)象</b></p><p> 程序調(diào)試時(shí),交通信號(hào)燈系統(tǒng)初始狀態(tài)為所有紅燈閃爍4次,數(shù)碼管此時(shí)不顯示;系統(tǒng)初始狀態(tài)之后東西向車(chē)行道綠燈亮,南北向車(chē)道紅燈亮,此時(shí)數(shù)碼管從60秒倒計(jì)時(shí);當(dāng)數(shù)碼管數(shù)字減為0時(shí),東西向、南北向紅綠燈交換亮,即南北向車(chē)行道綠燈亮,東西向車(chē)道紅燈亮,此時(shí)數(shù)碼管重新從60秒開(kāi)始計(jì)數(shù),數(shù)碼管數(shù)字減為0秒后,紅綠燈再次交換,如此
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 帶數(shù)碼管顯示的交通燈
- 微機(jī)課程設(shè)計(jì)---交通燈控制系統(tǒng)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)----交通燈控制系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)---交通燈控制系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)——交通燈控制系統(tǒng)
- 微機(jī)原理課程設(shè)計(jì)--交通燈控制系統(tǒng)設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)---帶數(shù)字顯示的交通燈
- 交通燈課程設(shè)計(jì)--交通燈控制系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)---模擬交通燈控制系統(tǒng)
- eda交通燈課程設(shè)計(jì)---交通燈控制系統(tǒng)的設(shè)計(jì)
- eda交通燈課程設(shè)計(jì)---交通燈控制系統(tǒng)
- 交通燈控制系統(tǒng)課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)---交通控制系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)--交通燈控制系統(tǒng)
- 課程設(shè)計(jì)--交通燈控制系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)---交通燈控制系統(tǒng)設(shè)計(jì)
- 交通燈控制系統(tǒng)課程設(shè)計(jì)
- 交通燈控制系統(tǒng) 課程設(shè)計(jì)
- 帶時(shí)間顯示的交通燈課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)--8個(gè)開(kāi)關(guān)控制霓虹燈閃爍,有數(shù)碼管顯示
評(píng)論
0/150
提交評(píng)論