《計算機原理實驗》交通燈自動控制系統(tǒng)設計_第1頁
《計算機原理實驗》交通燈自動控制系統(tǒng)設計_第2頁
《計算機原理實驗》交通燈自動控制系統(tǒng)設計_第3頁
《計算機原理實驗》交通燈自動控制系統(tǒng)設計_第4頁
《計算機原理實驗》交通燈自動控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、交通燈自動控制系統(tǒng)設計1設計要求利用實驗臺上的彩色LED模擬兩組“紅一黃一綠”交通信號指示燈,將其分別作為主 干道和支線道路的信號燈。具體要求如下:順序(狀態(tài))(空)主干路(南北)信號燈支線路(東西)信號燈狀態(tài)字(16進制)D7D6D5D4D3D2D1D0-紅黃綠紅黃綠1000011000CH 一一主干路行20001010014H 一一 主干路轉換30010000121H支線路行40010001022H-一支線路轉換利用8253實現(xiàn)秒定時。主干線綠燈亮5秒,支線亮5秒。綠燈過渡到紅燈時有兩秒的 黃燈顯示(可用閃爍效果)周期;表3.1.3 :信號燈狀態(tài)字表.設定D8255A的PC 口作輸出、顯示

2、信號燈的效果;.設定8253的CNT0做分頻器,將1MHZ信號分頻為100HZ,再由CNT1將100Hz分 頻為周期為5秒的周期性方波(模式2);.將D8255A的PA 口設定為輸入,并使用 PA0與8253的OUT1連接,CPU通過查詢 PA0的電平變化(秒信號),控制信號燈運行(即每5秒鐘改變一次信號燈的狀態(tài));.分別使用兩個單脈沖的輸出(正的脈沖輸出)與 386模塊的MIR5和SIR0連接,作 為“南北”和“東西”人行橫道的“緊急通行”呼叫信號。當產生呼叫信號后,該方向的信 號燈變?yōu)榫G色,維持一段時間后,信號燈恢復正常運行。2設計分析及系統(tǒng)方案設計對8255進行初始化配置,設定PA為輸入

3、,PB、PC為輸出功能,分別控制數(shù)碼管及交 通燈組。使用8253對外部輸入的1MHz時鐘進行分頻,得到1Hz時鐘脈沖。將此時鐘信號 輸入PA0 口,并使用查詢法,對PA0 口狀態(tài)進行判斷,檢測PA0=0則進行計數(shù)器的累加操 作,并根據計數(shù)器的數(shù)值進行交通燈的轉換及數(shù)碼管的倒計時顯示操作。使用 8259對過馬 路信號進行相應,在中斷中進行燈的強制變換。3硬件電路圖中斷響應人行橫道呼叫信號200H210H一系統(tǒng)總線系統(tǒng)總線4程序流程圖8255D7PCD0/RD/WRA1A0PB/CSPA0D7OUT2CLK2D0GATE2OUT2/RDCLK2/WRGATE2A1OUT0A0CLK0GATE0/C

4、S8254/8253L5L0查詢、 秒周期1MHH 時鐘源交通燈連接數(shù)碼管顯示部分連接邏輯筆監(jiān)測秒信號+5V8253分頻產生周期為1s脈沖信號count=0,bx=0,si=05程序清單data segmentio_address equ 210hio8255_k equ 203hio8255_c equ 202hio8255_b equ 201hio8255 equ 200hcount db 0000bportci db 0ch,14h,21h,22h,0ffhled db 06h,5bh,4fh,66h,6dh,7dh;1,2,3,4,5,6 數(shù)碼管 data endscode segme

5、ntassume cs:code,ds:data start:cli ; 關中斷;8255mov ax,datamov ds,axmov dx,io8255_k ;8255 初始化-PA 輸入,PB PC俞出mov al,10010000bout dx,al;8253mov dx,io_address+3 ;8253 初始化mov al,00110111b ; 計數(shù)器 0 方式 3out dx,al ;BCD 碼計數(shù)mov dx,io_addressmov al,0out dx,alout dx,al ; 寫初值 10000計數(shù)器 1 計數(shù)器 1 方式 3二進制計數(shù)先低后高寫初值500時鐘 5

6、s計數(shù)器2 方式3二進制計數(shù)先低后高out dx,al ;mov dx,io_address+1mov al,11110100b ;out dx,almov al,1out dx,al ;OUT1mov dx,io_address+3 mov al,10010110b ;out dx,al ;mov dx,io_address+2 mov al,100 ; 寫初值 100out dx,al ;OUT2 時鐘 1s;8259in al,21h ;8259初始化and al,11011011b; 開放主片 IR5 中斷和一個從片輸入IR2out 21h,alin al,0a1Hand al,111

7、11110B ;開放 IR0out 0a1h,al;- 設置中斷向量表-push ds ; 設置中斷向量表mov ax,0mov ds,ax;-設置MIR5對應的中斷向量-lea ax,cs:int_proc1 ;AX 指向中斷程序入口地址mov si,35hadd si,siadd si,simov ds:si,axpush cspop axmov ds:si+2,ax;-設置MIR5對應的中斷向量-lea ax,cs:int_proc2 ;AX 指向中斷程序入口地址mov si,70hadd si,siadd si,simov ds:si,axpush cspop axmov ds:si+

8、2,axpop dssti ; 開中斷;led 顯示 si 置 0led_reon:mov si,0jmp go; 檢測 PA0 ddd:mov dx,io8255 in al,dx and al,01H jz dddcmp count,0 ;count je led_reongo: inc count jmp changeon:mov dx,io8255_c mov al,portc1bx out dx,al ;PC mov dx,io8255_b mov al,ledsi-1 out dx,al ;PB dec si;loop:mov dx,io8255 in al,dx and al,0

9、1H jnz loop jmp dddchange:cmp count,6 ja chack1 mov bx,0 cmp si,1 ;jb led1 jmp onchack1:cmp count,9 ;ja chack2 mov bx,1 cmp si,1 ;置零, si 置零口輸出交通燈顯示指令口輸出數(shù)碼管顯示字符每完成一次輸出, si 遞減16 :bx=0,si=6檢測 si 大小,進行賦值79 :bx=1,si=3檢測 si 大小,進行賦值jb led2 jmp onchack2:cmp count,14 ;1014 :bx=2,si=5ja chack3mov bx,2cmp si,1

10、 ;檢測 si 大小,進行賦值jb led3jmp on chack3:mov bx,3 ;1516 :bx=3,si=2cmp count,16jae re_oncmp si,1 ;檢測 si 大小,進行賦值jb led4jmp onled1:mov si,6jmp onled2:mov si,3jmp onled3:mov si,5jmp onled4:mov si,2jmp onre_on:mov count,0jmp on; 中斷子程序1int_proc1 proc farpush bxpush dxmov dx,io8255_cmov al,0cHout dx,almov cx,20

11、00de1:mov di,2000de0:dec dijnz de0loop de1mov al,20H;發(fā)送中斷結束命令(向 386EX主8259的MIR5),主干路行out 20h,alpop dxpop bxstiiretint_proc1 endp; 中斷子程序2int_proc2 proc farpush bxpush dxmov dx,io8255_cmov al,21Hout dx,almov cx,1500de2:mov di,1500de3:dec dijnz de3loop de2mov al,20Hout 20H,almov al,20H out 0a0h,al pop

12、dx pop bx sti iretint_proc2 endp code ends end start 6系統(tǒng)調試運行結果說明、分析所出現(xiàn)得問題,設計體會與建議系統(tǒng)使用匯編語言進行設計,在調試過程中,對于不同操作的結合上出現(xiàn)了問題。 初始 選擇使用8253分別產生1s,5s兩種周期脈沖函數(shù),作為各操作的觸發(fā)時間標準,使用查詢法, 查詢A0 口,控制交通燈以5s為間隔進行轉換,對于數(shù)碼管的倒計時顯示,使用查詢法, 查詢A1 口,控制數(shù)字的變化。但在兩種端口的查詢上出現(xiàn)了問題,而且此時,交通燈的轉 換時間只能固定設置為5的倍數(shù),無法進一步具體設置。隨后決定整個系統(tǒng)使用1s的時間脈沖進行控制,在交通燈的轉換上,根據計數(shù)器的不同數(shù)值進行操作,控制時間分別為 6s,3s,5s,2s并在每次查詢端口時對數(shù)碼管進行操作,根據計數(shù)器數(shù)值,設定數(shù)碼管顯示的 初始值,并進行每次減一的操作,達到倒計時顯示的目的。7結論及設計體會設計系統(tǒng)完成模擬兩組“紅一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論