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 ấ

2

3

0

1

D0

4

7

6

5

D1

B

A

9

8

D2

D

C

E

F

Vcc

D3

D3           D2           D1            D0

Cæng B ( Vµo )

Cæng A ( Ra )

Nè i ghÐp ma trËn bµn phÝm víi c ¸c cæ ng

 N i đ t các hàng và đ c các c t ộ

ố ấ

1

B¾t ®Çu

Nèi ®Êt hµng tiÕp  theo

Nèi ®Êt tÊt c¶ c¸c hµng

§äc tÊt c¶ c¸c hµng

TÊt c¶ c¸c  ­ phÝm ® îc më

S

PhÝm hµng  ­ nµy ® îc nhÊn

§

S

§

§äc tÊt c¶ c¸c cét

§äc tÊt c¶ c¸c cét

T×m phÝm ® îc ­ nhÊn

S

§

Cã phÝm  nhÊn ?

X¸c ®Þnh m∙ quÐt Chê phÝm nhÊn xong

§äc tÊt c¶ c¸c cét

Trë vÒ

S

§

Cã phÝm  nhÊn ?

1 L­îc ®å ch­¬ng tr×nh

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 Hex Hex Hex Key

ả Key

Key Key

Esc 01 15 Y and y ~ and , 29 3D F3

! and 1 02 16 U and u LeftShift 2A 3E F4

@ and 2 03 17 I and i | and \ 2B 3F F5

# and 3 04 18 O and o Z and z 2C 40 F6

$ and 4 05 19 P and p X and x 2D 41 F7

% and 5 06 1A { and [ C and c 2E 42 F8

^ and 6 07 1B } and ] V and v 2F 43 F9

& and 7 08 1C Enter B and b 30 44 F10

* and 8 09 1D Ctrl N and n 31 45 Numlock

( and 9 0A 1E A and a M and m 32 46 ScrollLock

) and 0 0B 1F S and s < and , 33 47 7 and home

_ and ­ 0C 20 D and d > and . 34 48 8 and UpArrow

+ and = 0D 21 F and f ? and / 35 49 9 and PgUp

Backspace 0E 22 G and g RightShift 36 4A ­ (gray)

Tab 0F 23 H and h PrtSc and* 37 4B 4 and LeftArrow

Q and q 10 24 J and j Alt 38 4C 5 (keypad)

W and w 11 25 K and k Spacebar 39 4D 4 and RightArrow

E and e 12 26 L and l Capslock 3A 4E + (gray)

2 and DownArrow

R and r 13 27 : and ; F1 3B 4F I and End

T and t 14 28 “ and ‘ F2 3C 50

51 3 and PgDn

52 0 and Ins

53 . and Del

Byte tr ng thái c a bàn phím

d7        d6       d5        d4       d3       d2        d1       d0

NhÊn RightShift

NhÊn nh¶ Insert

NhÊn LeftShift

NhÊn nh¶ CapsLock

NhÊns Ctrl

NhÊn nh¶ Numlock

NhÊn All

NhÊn nh¶ ScrollLock

(Khi phím ch c năng đ

c n AL=0)

ượ ấ

ứ ứ

ký tù)

 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 ự  INT 16H, AH = 1 (tìm n u cóế

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.

AH = 3B lµ m· quÐt cña F1 vµ AL

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 iả : Gi (a) AX = 2C7A. AH = 2C lµ m· quÐt vµ AL = 7A lµ m· ASCII cña "Z". (b) AX = 3B00. = 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.

 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 ầ ố

c đánh s ố ng tín ườ ễ

h 80x86 c a Intel. Ghép n i này có 36 chân đ ọ ượ 1-36 trong đó có nhi u chân đ t cho phép các đ t ề ừ hi u có đ t riêng nh m đ tránh tác đ ng c a nhi u qua ể ệ đ ườ

ng d li u - Đ chuy n d li u t

máy tính

ể ữ ệ ừ

ữ ệ

ồ ườ

ấ ng ngu n. Các đ đ 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

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

i m t th i đi m b t kỳ. ề

ể ề

máy in.

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. ề

Các đ ệ ữ ệ

ấ ể

ừ ạ

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 không s d ng các đ ử ụ cho các chân d li u và đi u khi n. ữ ệ

ố ư ch chu n DB-25P ẩ ở ỗ ng tín hi u đ t v ấ ề ệ ườ ể

B¶ng 10-7. § Þa chØ c¬ së I/O cña c¸ c cæng LPT

ượ ử ụ

ỉ ổ

ị ơ ở ủ ừ

§ Þa chØ c¬ së I/O 00 40: 0 00 8 - 0040 : 0 00 9 00 40: 0 00 A- 0040 : 0 00 B 00 40: 0 00 C- 0040 : 0 00 D 00 40: 0 00 E- 0040 : 0 00 F

LPT LPT1 LPT2 LPT3 LPT4

máy tính IBM PC, ch ng ươ Ở trình b t ngu n - t ki m tra ự ể ồ POST (Power - on - Self test) c s d ng đ c a BIOS đ ể ủ c n i ki m tra các máy in đ ể ượ ố i các c ng song song. Nh t ư ổ ớ tr c đây đã nêu, đ a ch c ng ướ vào/ra c s c a t ng máy in đ c ghi vào vùng d li u c a ữ ệ ủ ượ BIOS 0040:0008- 0040:000FH

M¸ y in dßng

LPT1 LPT2 LPT3

Cæng d÷ liÖu (R/W) 03BCH 0378H 0278H

Cæng tr¹ ng th¸ i (ChØ ®äc) 03BDH 0379H 0279H

Cæng ®iÒu khiÓn (R/W) 03BEH 037AH 037AH