一、實驗原理
使用8253對1mhz時鐘進行1m分頻,從而實現1s精確定時。
使用8255a口控制指示燈,8255b口控制數碼管倒計時,8255c口0-1控制數碼管片選,7口對1s時鐘進行讀取。
二、連線
8253的clk0接1mhz時鐘源,out0接clk1,out1接8255的pc7,gate0、gate1接電源+5v。
8255的pa0、pa1、pa2分別接路口1的綠、黃、紅燈,pa5、pa6、pa7分別接路口2的綠、黃、紅燈,
pb0-pb6接七段數碼管的a-g口,pc0、pc1分別接數碼管高、低位片選。
8253片選接280h,8255片選接288h。
三、匯程式設計序
1.精確延時子函式
在呼叫該delay子函式時,傳入引數cx為需要延時的時間,單位秒。在延時過程中,使用數碼管顯示距離延時結束剩餘的時間。該函式應該放在code段裡,以下為函式**:
delay proc near
push ax
push bx
push dx
cont: mov ax,cx
push cx
mov bx,10
div bl
mov bl,al
mov dx,io8255c
mov al,1
out dx,al
mov al,[bx]
mov dx,io8255b
out dx,al
mov cx,0ffffh
d1: loop d1
mov cx,0ffffh
d2: loop d2
mov bl,ah
mov dx,io8255c
mov al,2
out dx,al
mov al,[bx]
mov dx,io8255b
out dx,al
mov cx,0ffffh
d3: loop d3
mov cx,0ffffh
d4: loop d4
pop cx
mov dx,io8255c
in al,dx
and al,80h
mov ah,temp
mov temp,al
cmp ah,al
jz cont
cmp ah,80h
jnz cont
loop cont
pop dx
pop bx
pop ax
retdelay endp
2.主函式
綠燈時間60s,黃燈時間3s,紅燈時間63s。
data segment
ioport equ 0ff00h-0280h
io8253a equ ioport+280h
io8253b equ ioport+281h
io8253c equ ioport+282h
io8253d equ ioport+283h
io8255a equ ioport+288h
io8255b equ ioport+289h
io8255c equ ioport+28ah
io8255d equ ioport+28bh
ta db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
temp db 0
data ends
code segment
assume ds:data,cs:code
start: mov ax,data
mov ds,ax
mov dx,io8253d
mov al,36h
out dx,al
mov dx,io8253a
mov al,50h
out dx,al
mov al,0c3h
out dx,al
mov dx,io8253d
mov al,56h
out dx,al
mov dx,io8253b
mov al,20
out dx,al
mov dx,io8255d
mov al,88h
out dx,al
mov dx,io8255a
lo: mov al,24h
out dx,al
mov cx,60
call delay
mov al,44h
out dx,al
mov cx,3
call delay
mov al,81h
out dx,al
mov cx,60
call delay
mov al,82h
out dx,al
mov cx,3
call delay
jmp lo
code ends
end start
搶答器數碼管倒計時 八人搶答器
要求 1 八人搶答邏輯 只有乙個最先搶答有效。2 在主持人控制下,10秒內搶答有效。3 採用數碼管顯示搶答10秒倒計時,若有搶答直接結束,顯示結果。4 搶答結束後用數碼管顯示搶答結果 搶答有效人編號 若有異常 提前搶答,犯規 顯示搶答人編號和e,本次搶答結束 5 設主持人控制鍵 復位鍵。控制鍵 啟動...
微機介面實驗 數碼管顯示程式詳解
本次講解的針對的是共陰極數碼管,先把原理圖和 放上來 數碼管裡共8個led,由於說明了給定的是共陰極數碼管,即陰極是接在一起的,通過原理圖下方的7407驅動器接在了x1 x6,陽極分別通過1k電阻上拉。所以當x1 x6接8255的io口時,可以通過io口輸出低電平,將陰極拉低。同時8個段選a dp也...
驅動數碼管的實驗
課程名稱 微控制器原理與應用 專業班級 嵌入式14103班 姓 名 趙存檔 學 號 14160310317 2015 2016 學年第 1 學期 實驗專案 四 預習報告 專案名稱 驅動7段數碼管實驗 實驗目的及要求 1 掌握用proteus畫電路圖。2 用keil編寫 進行除錯。3 進行 測試 實驗...