微機系統介面課程設計
題目:交通燈電風扇定時開關
微機系統介面課程設計
一實習的目的
本次實習是基於微機原理與微機接**術的實踐課程設計。
1,通過實習熟悉並掌握介面晶元8253、8255、8259的原理、功能和應用
2,對微機原理知識的熟悉和鞏固,了解微機工作基本原理。
二硬體課程設計題目
1,十字路**通訊號燈控制系統設計
2,電風扇的自動定時開關控制系統設計
三對題目的簡單分析(用到哪些晶元及作用)
(1)十字路**通訊號燈控制系統設計
8253 計數控制,用於交通訊號燈的時間控制
8255 數碼管顯示,用於倒計時時間的顯示
8259 突發事件的控制及訊號燈的切換
(2)電風扇的自動定時開關控制系統設計
8253 定時
8259 中斷,開關控制
8255 定時時間的輸入
四以下是三個題目分別的實習報告
(一) 十字路**通訊號燈控制系統設計
一硬體課程設計題目
交叉路**通訊號燈控制系統設計
二設計任務
編寫乙個交通燈控制程式,實現東西路口與南北路口狀態燈的轉換,並設定緊急鍵,能使交通燈實現緊急處理。
利用中斷程式實現多次迴圈呼叫電風扇工作子程式,並在顯示器上提示進入中斷服務程式的資訊。
具體實現如下:
1.用試驗台提供的發光二極體(紅綠黃各兩支,共六支)作為南北路口(紅綠黃各一支)和東西路口(紅綠黃各一支)的模擬交通燈。如圖:d7,d5,d3作為南北路口的交通燈與a7,a5,a3相連,d6,d4,d2作為東西路口的交通燈與a6,a4,a2相連。
程式設計使六個燈按交通燈變化規律燃滅
2.用可程式設計並行介面晶元8255a控制模擬交通燈的亮與滅和數碼管的倒計時顯示。
3.用可程式設計定時器/計數器晶元8253實現模擬交通燈亮與滅的時間延遲控制。
4.用數碼管作為模擬交通燈亮與滅的時間延遲控制的倒計時顯示。
5.用組合語言程式設計使六個燈按交通燈變化規律「亮/滅」。交通燈變化規律要求:
南北綠燈,東西紅燈同時亮30秒,且數碼管30秒倒計時顯示。
南北黃燈閃爍5秒,同時東西路紅燈繼續亮,且數碼管5秒倒計時顯示。
南北路紅燈,東西路綠燈同時亮30秒,且數碼管30秒倒計時顯示。
南北路紅燈繼續亮,同時東西路黃燈閃爍5秒,且數碼管5秒倒計時顯示。
轉①重複
按壓「東西緊急鍵」,則東西方向綠燈,南北方向紅燈;再次按壓「東西緊急鍵」,解除東西緊急通行狀態。
按壓「南北緊急鍵」,則南北方向綠燈,東西方向紅燈;再次按壓「南北緊急鍵」,解除南北緊急通行狀態。
按壓「夜間緊急鍵」,則東西南北中黃燈閃爍;再次按壓「夜間緊急鍵」,解除夜間緊急狀態。
8259主從級聯兩片,中斷請求埠irq接時鐘脈衝每秒檢測中斷請求輸入端。開中斷,檢測到有中斷請求時,初始化pci板卡暫存器,保護現場,設定遮蔽字,執行中斷處理,設定中斷訊號量keep_int,並傳遞到主程式,返回斷點。
主程式中檢測中斷訊號量,與預設中斷條件符合,則執行紅綠燈中斷變化主程式。
三設計目的
通過可程式設計並行介面晶元8255a和可程式設計定時器/計數器晶元8253實現十字路**通燈的模擬控制,進一步掌握並行介面和定時器/計數器及數碼管控制的實際應用。
四課程設計的環境(使用的硬體環境,裝置等)
tdn-cm+計算機組成原理教學實驗系統一台,排線若干
五硬體和軟體設計
1、硬體部分
通過8253計數,每1ms重新整理一次,cx計數不為零,計數值減1,重新整理1000次,持續一秒鐘(其中,輸入始終脈衝為1khz)。pa7~pa0控制二極體的亮滅,pb7~pb0控制數碼管的顯示。通過設定控制字,使8255的c口高四位輸出,低四位輸入,pc4和pc5對數碼管進行位控,讓兩位十進位制數同時顯示,pc3、pc2和pc1分別連線k3和k2,分別代表東西緊急鍵和南北緊急鍵。
紅綠燈轉換中檢測pc3~pc1的狀態,判斷是否有緊急鍵按下。在黃燈顯示的時候,通過判斷使黃燈亮時滅,滅時亮,以此設定黃燈閃爍。
8255連線埠ioy0,a口輸出發光二極體;b口輸出接數碼管;c0~c3輸入,c0接8254的out端,c1~c3接緊急鍵;c4~c7輸出,對數碼管進行位控。8254的clk0接1khz,out0接8255的c0。
整體實驗設計思想如下圖所示:
連線/接圖如下所示:
中斷控制流程圖:
2 軟體部分
;8255 埠位址 iyo0
addr8255_a equ 1400h ;a口
addr8255_b equ 1401h ;b口
addr8255_c equ 1402h ;c口
addr8255 equ 1403h ;控制口
;8253 埠位址 iyo2
addr8253 equ 1443h
addr8253_0 equ 1440h;8253計數器口位址
;數字段
data segment
run db 'jiao tong deng is running.......',0ah,0dh,'$' ;提示資訊
mess db 'press esc key to dos.$'
ledbuf db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
data ends
;**段
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov dx,offset run顯示提示資訊
mov ah,09h
int 21h
mov dx,offset mess
mov ah,09h
int 21h
;8255初始化 a口接發光二極體;b口接數碼管;c4-7 out,c0-3 in
call initial_8255
;8253初始化初值1000 clko接1kh out0 接c0 gate0 接+5v
;計數通道0 方式0 先低8位後高8位 bcd方式控制字: 00110001b
call initial_8253
e_w_red_s_n_gre:
;在發光二極體上顯示東西紅燈亮,南北綠燈亮
mov dx,addr8255_a
mov al,10011111b
out dx,al
;計時秒
mov cx,31
call delay_min1
mov dx,addr8255_a從的a口讀出燈的狀態
in al,dx
cmp al,10011111b
je e_w_red_s_n_yel
cmp al,0110111b
je e_w_gre_s_n_yel
cmp al,11111111b
je e_w_red_s_n_gre
cmp al,11110011b
je e_w_red_s_n_gre查燈的狀態
e_w_red_s_n_yel:
;在發光二極體上顯示東西紅燈亮,南北黃燈亮
mov dx,addr8255_a
mov al,10110111b
out dx,al
;計時秒
mov cx,6
call delay_min2
mov dx,addr8255_a從的a口讀出燈的狀態
in al,dx
cmp al,10011111b
je e_w_red_s_n_yel
cmp al,0110111b
je e_w_gre_s_n_yel
cmp al,11111111b
je e_w_red_s_n_gre
cmp al,11110011b
je e_w_red_s_n_gre查燈的狀態
e_w_gre_s_n_red:
;在發光二極體上顯示東西綠燈亮,南北紅燈亮
mov dx,addr8255_a
mov al,01101111b
out dx,al
;計時秒
mov cx,31
call delay_min1
mov dx,addr8255_a從的a口讀出燈的狀態
in al,dx
cmp al,10011111b
je e_w_red_s_n_yel
cmp al,0110111b
je e_w_gre_s_n_yel
cmp al,11111111b
je e_w_red_s_n_gre
cmp al,11110011b
je e_w_red_s_n_gre查燈的狀態
e_w_gre_s_n_yel:
;在發光二極體上顯示東西黃燈亮,南北紅燈亮
mov dx,addr8255_a
mov al,01111011b
out dx,al
微機介面實驗報告三
組合語言程式設計上機實驗報告 實驗三 1 實驗目的 內容及要求 題目 迴圈程式1 內容 編寫按十五行 每行十六列的 形式顯示ascii碼為10h ffh的所有字元。即以行為主的順序及ascii碼遞增的次序顯示對應的字元。每十六個字元為一行,每行中的相鄰兩個字元之間用空格 ascii碼為20h 隔開。...
微機介面實驗報告五
組合語言程式設計上機實驗報告 實驗五 1 實驗目的 內容及要求 題目 子程式設計 dos系統功能呼叫 內容 編寫鍵盤輸入4位十六進製制數,結果以二進位制數儲存到bx暫存器中的程式。要求 實驗前要做好充分準備,包括程式清單,除錯步驟 除錯方法 對程式結果的分析等。實驗過程要注意觀察結果。本實驗要求在e...
微機介面課後習題答案
2.3 8086對儲存器的管理為什麼採用分段的辦法 答 8086是乙個16位的結構,採用分段管理辦法可形成超過16位的儲存器實體地址,擴 大對儲存器的定址範圍 1mb,20位位址 若不用分段方法,16位位址只能定址64kb空間.2.13 80386內部結構由哪幾部分組成簡述各部分的作用.答 8038...