掌握8255a控制鍵盤及顯示電路的基本功能及程式設計方法。
掌握一般鍵盤和顯示電路的工作原理。
設定8255a的c口鍵盤輸入,a口為數碼管段碼輸出。
翻轉法的原理其實很簡單:首先行線全部輸出為0,然後查詢哪一列輸入為0;然後翻轉,列線全部輸出為0,查詢哪一行輸入為0;找到行號和列號後,簡單計算就能得到按下字元的序號。
stack segment stack
db 200
dup(0)
stack ends
data segment
aport equ 288h
cport equ 28ah
ctrl equ 28bh
codes db 3fh,
06h,
5bh,
4fh,
66h,
6dh,
7dh,
07h,
7fh,
6fh,
77h,
7ch,
39h,
5eh,
79h,
71h ;0~
9, a~f
data ends
code segment
assume cs:code,ds:data,ss:stack
delay macro ;延時巨集
local loop_delay
local flag
push cx
push bx
xor bx, bx
flag:mov cx,
0ffffh
loop_delay:loop loop_delay
inc bx
cmp bx,
10 jnz flag
pop bx
pop cx
endm
main:mov ax,data ;
0出1入
mov ds,ax
mov ax, stack
mov ss, ax
mov al,
10001000b ;a口方式0輸出,c口高四位輸入,列輸入,c口低四位輸出,行輸出
mov dx, ctrl
out dx, al
mov al,
0 mov dx, cport
out dx, al ;行輸出為0
xor bx, bx
no_key:mov dx, cport
in al, dx ;檢查輸入列訊號(c口高四位)
and al,
0f0h
cmp al,
0f0h ;高四位全為1,即列訊號全為1,無鍵按下
jz no_key
delay ;延時消除抖動
mov dx, cport
in al, dx ;逐列檢查,看哪一列輸入為0
shr al,
1 shr al,
1 shr al,
1 shr al,
1;c口高四位列輸入訊號移至低四位
xor bl, bl ;依次查詢四列哪一列為0
mov cx,
4 loop1:shr al,
1;將最低位傳至cf
jnc loop2 ;cf為0表示bl列輸入為0
inc bl
loop loop1
loop2:mov al,
10000001b ;a口方式0輸出,c口高四位輸出,列輸出,c口低四位輸入,行輸入
mov dx, ctrl
out dx, al
xor al, al
mov dx, cport
out dx, al ;列輸出全部為0,查詢哪一行輸入為0
mov dx, cport
in al, dx
and al,
0fh
cmp al,
0fh ;低四位全為1,即行輸入全為1,表示有鍵按錯
jz error
mov bh,
0;否則有行輸入為0,迴圈找到行號
mov cx,
4 loop3:shr al,
1;低位傳送至cf
jnc loop4 ;有一行為0,找到行輸入序號為bh
inc bh
loop loop3
loop4:shl bh,
1;計算4
*bh+bl,表示鍵號
shl bh,
1 add bh, bl ;dh為鍵號(0-
15)mov al,
01h mov dx, cport
out dx, al
mov bl, bh
xor bh, bh
mov di, bx
mov al, codes[di]
;輸出顯示
mov dx, aport
out dx, al
delay
error:mov ah,
4ch int
21hcode ends
end main
微機介面實驗 數碼管顯示程式詳解
本次講解的針對的是共陰極數碼管,先把原理圖和 放上來 數碼管裡共8個led,由於說明了給定的是共陰極數碼管,即陰極是接在一起的,通過原理圖下方的7407驅動器接在了x1 x6,陽極分別通過1k電阻上拉。所以當x1 x6接8255的io口時,可以通過io口輸出低電平,將陰極拉低。同時8個段選a dp也...
南郵微機介面彙編實驗2
第二次實驗,名稱 使用者登陸驗證程式的設計 實驗要求 1 執行程式後,介面首先出現自己的學號,例如 b18060701 2 在學號下方輸入登入密碼,密碼長度不超過30個字元。密碼內容不能顯示在螢幕上,要求用字元 替代。3 驗證輸入密碼與事先設定的密碼是否相同,如果密碼正確,給出提示 ok 程式結束 ...
可程式設計控制 微機介面及微機應用綜合實驗台
zn plc3可程式設計控制 微機介面及微機應用綜合實驗台 一 概述 plc可程式設計控制器及微機介面及微機應用綜合實驗裝置是,做到一機多用 資源共享 便於管理。這一嶄新的系統實現了專業基礎課 模擬 數位電路 專業課 微機原理 課程設計和畢業設計 微機應用 的三合一,真正做到了一機多用,大大節省實驗...