Tải bản đầy đủ (.ppt) (12 trang)

Bàn phím và phối ghép bàn phím doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (334.3 KB, 12 trang )


Bàn phím và phối ghép bàn phím
1. Giao di n b n phímệ à

Quét v xác nh phím nà đị ấ

N i t các h ng v c các c tố đấ à àđọ ộ
2. L p trình v giao di n b n phímậ à ệ à

Các mã quét c u IBM PCả

L p trình b n phím b ng ng t BIOS INT 16Hậ à ằ ắ

Tr n b n phímà à

1. Giao diện bàn phím

Quét và xác định phím ấn
D
3
D
2
D
1
D
0

D
0
D
1


D
2
D
3
7
3
B
F
5
Cæng A
( Ra )
Cæng B
( Vµo )
V
cc
6
2
A
E
1
9
D
4
0
8
C
Nèi ghÐp ma trËn bµn phÝm víi c¸c cæng


Ni t cỏc hng v c cỏc ct

Đọc tất cả các cột
Đọc tất cả các cột
Chờ phím nhấn xong
Đọc tất cả các cột
S
Tất cả các
phím đ ợc mở
Có phím nhấn
?
Có phím nhấn
?
1
Bắt đầu
S
S
Đ
1
Nối đất hàng tiếp theo
Đọc tất cả các hàng
Tìm phím đ ợc nhấn
Xác định mã quét
Trở về
Phím hàng này
đ ợc nhấn
S
Đ
Đ
Đ
L ợc đồ ch ơng trình
Nối đất tất cả các hàng


2. Lập trình và giao diện bàn phím

Các mã quét của IBM PC
B ng m· quÐt bµn phÝm 83 phÝm cña m¸y tÝnh PC/XTả
Hex Key Hex Key Hex Key Hex Key
01 Esc 15 Y and y 29 ~ and
,
3D F3
02 ! and 1 16 U and u 2A LeftShift 3E F4
03 @ and 2 17 I and i 2B | and \ 3F F5
04 # and 3 18 O and o 2C Z and z 40 F6
05 $ and 4 19 P and p 2D X and x 41 F7
06 % and 5 1A { and [ 2E C and c 42 F8
07 ^ and 6 1B } and ] 2F V and v 43 F9
08 & and 7 1C Enter 30 B and b 44 F10
09 * and 8 1D Ctrl 31 N and n 45 Numlock
0A ( and 9 1E A and a 32 M and m 46 ScrollLock
0B ) and 0 1F S and s 33 < and , 47 7 and home
0C _ and - 20 D and d 34 > and . 48 8 and UpArrow
0D + and = 21 F and f 35 ? and / 49 9 and PgUp
0E Backspace 22 G and g 36 RightShift 4A - (gray)
0F Tab 23 H and h 37 PrtSc and
*
4B 4 and LeftArrow
10 Q and q 24 J and j 38 Alt 4C 5 (keypad)
11 W and w 25 K and k 39 Spacebar 4D 4 and RightArrow
12 E and e 26 L and l 3A Capslock 4E + (gray)
13 R and r 27 : and ; 3B F1 4F I and End
14 T and t 28 “ and ‘ 3C F2 50

2 and DownArrow

51 3 and PgDn
52 0 and Ins
53 . and Del

Byte tr ng thái c a b n phímạ ủ à
NhÊn RightShift
NhÊn LeftShift
NhÊns Ctrl
NhÊn All
NhÊn nh¶ Insert
NhÊn nh¶ CapsLock
NhÊn nh¶ Numlock
NhÊn nh¶ ScrollLock

d7 d6 d5 d4 d3 d2 d1 d0


L p trỡnh b n phớm b ng ng t BIOS INT 16H

INT 16H, AH = 0 (đọc 1 ký tự)
AH: Ch a mó quột b n phớm
AL: Ch a mó ASCII c a ký t (Khi phớm ch c n ng c n AL=0)

INT 16H, AH = 1 (tỡm n u cú ký tự)
Nếu có ký tự , hàm sẽ tr mã quét bàn phím vào AH còn mã
ASCII của ký tự vào AL và đặt cờ ZF = 0. Nếu không có ký tự nào ở bộ
đệm, hàm sẽ không chờ đến khi phím đ ợc nhấn mà đơn gi n đặt cờ ZF =
1 để xác nhận.


INT 16H, AH = 2 (tr v byte tr ng thỏi b n phớm hi n h nh )
Hàm này cung cấp byte trạng thái của bàn phím ở thanh ghi AL.
Byte trạng thái bàn phím (cũng t ơng ứng với byte cờ của bàn phím) đ ợc
định vị ở trong vùng d liệu BIOS tại địa chỉ 0040:0017H. ý nghĩa của
từng bít của byte trạng thái thanh ghi dịch đ ợc giới thiệu ở Hỡnh 10-3.

Vớ d : Chạy ch ơng trỡnh d ới đây trong DEBUG và biểu diễn
kết qu ứng với tr ờng hợp gõ các phím sau: (a) Z, (b) F1, (c)
ALT.
MOV AH, 0
INT 16H
INT 3
Gi i :
(a) AX = 2C7A. AH = 2C là mã quét và AL = 7A là mã
ASCII của "Z".
(b) AX = 3B00. AH = 3B là mã quét của F1 và AL = 00 vỡ
F1 không ph i là phím mã ASCII.
(c) Không x y ra chuyện g ỡ vỡ không có mã quét cho phím
ALT. Trạng thái của các phím nh ALT đ ợc tỡm thấy ở byte
trạng thái bàn phím ở BIOS ở 40:17 và 40:18.
f


Tr n b n phớm:
Mạch 8042 ở phần bàn phím thực hiện chuyển mã bàn phím
sang dạng nối tiếp và chuyển tới b ng mạch chủ gửi đi qua cáp
bàn phím. Tại b ng mạch chủ cũng có một mạch điện t ơng ứng
chịu trách nhiệm nhận các d liệu nối tiếp và tạo thành một
byte để CPU đọc. Sẽ x y ra điều g ỡ nếu CPU bận và không

đọc kịp các phím nhấn. Tỡnh huống này đ ợc gọi là tràn bàn
phím. Khi đó b ng mạch chủ sẽ kích loa kêu bip. Quá trỡnh
tạo tiếng bip ở loa thực hiện nh sau: mạch xử lý bàn phím có
bộ đệm riêng và l u đ ợc 20 phím nhấn. Khi bộ đệm bị đầy, nó
sẽ dừng nhận phím nhấn và gửi một byte đặc biệt gọi là byte
tràn (ở PC/XT có giá trị là FFH) đến b ng mạch chủ. Sau khi
có mã quét, INT09 đầu tiên kiểm tra xem nếu mã quét đ ợc
nhận là byte tràn FFH. Nếu đúng là byte tràn, loa sẽ kêu

MÁY IN VÀ GIAO DIỆN MÁY
IN Ở MÁY TÍNH IBM-PC

Nối ghép Centronic
Là chuẩn giao diện máy in đầu tiên dành cho các máy tính họ
80x86 của Intel. Ghép nối này có 36 chân được đánh số từ
1-36 trong đó có nhiều chân đất cho phép các đường tín hiệu
có đất riêng nhằm để tránh tác động của nhiễu qua đường
nguồn.

Các đường dữ liệu - Để chuyển dữ liệu từ máy tính đến
máy in

Các tín hiệu trạng thái máy in – Xác định trạng thái
máy in tại một thời điểm bất kỳ.

Các tín hiệu điều khiển máy in – Dùng để điều khiển
máy in.

Các đường đất - Để cấp đất cho từng tín hiệu tín hiệu
dữ liệu, tín hiệu điều khiển và trạng thái.


Nối ghép LPT

Từ máy tính AT dùng BVXL 80286 trở đi nối
ghép máy in dùng giao diện DB-25P (25 chân). Về
cơ bản giống như chuẩn Cetronic khác nhau ở chỗ
chuẩn DB-25P không sử dụng các đường tín hiệu
đất về cho các chân dữ liệu và điều khiển.

mỏy tớnh IBM PC, chng
trỡnh bt ngun - t kim tra
POST (Power - on - Self test)
ca BIOS c s dng kim
tra cỏc mỏy in c ni ti cỏc
cng song song. Nh trc õy
ó nờu, a ch cng vo/ra c s
ca tng mỏy in c ghi vo
vựng d liu ca BIOS
0040:0008- 0040:000FH
Địa chỉ cơ sở I/O LPT
0040:0008-0040:0009
0040:000A-0040:000B
0040:000C-0040:000D
0040:000E-0040:000F
LPT1
LPT2
LPT3
LPT4



Bảng 10-7. Địa chỉ cơ sở I/O của các
cổng LPT

×