Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Vi xử lý máy vi tính - Chương 9 docx
MIỄN PHÍ
Số trang
63
Kích thước
357.8 KB
Định dạng
PDF
Lượt xem
1261

Vi xử lý máy vi tính - Chương 9 docx

Nội dung xem thử

Mô tả chi tiết

20ms 20ms

F

Ura

1mN

20ms

F

CHÆÅNG 9

MÄÜT SÄÚ PHÄÚI GHEÏP CÅ BAÍN

1. Phäúi gheïp våïi baìn phêm

Baìn phêm laì mäüt thiãút bë vaìo ráút thäng duûng trong caïc hãû vi xæí lyï. Trong

træåìng håüp dån giaín nháút âoï coï thãø laì mäüt cäng tàõc coï gàõn phêm ( maì ta chè

thæåìng quan tám âãún kê hiãûu trãn baìn phêm) näúi vaìo moüt chán naìo âoï cuía bäü vi

xæí lyï: åí mæïc phæïc taûp hån âoï coï thãø laì haìng chuûc cäng tàõc coï gàõn phêm âæåüc täø

chæïc theo mäüt ma tráûn: phæïc taûp hån næîa, âoï laì mäüt hãû vi xæí lyï chuyãn duûng

quaín lyï caí tràm cäng tàõc coï gàõn phêm våïi nhiãm vuûh nháûn ra phêm âæåüc goî vaì

taûo maî âæa âãún hãû vi xæí lyï.

Duì âån giaín hay mäüt täø håüp phêm, khi phäúi gheïp chuïng våïi bäü vi xæí lyï

ta cuîng phaíi thoía maîn mäüt säú yãu cáöu âàûc biãût âãø âaím baío hãû thäúng laìm viãûc

âuïng .

Coï ráút nhiãöu cäng tàõc âæåüc duìng trong phäúi gheïp våïi bäü vi xæí lyï nhæng

coï thãø xãúp chuïng vaìo hai nhoïm chênh:

+ cäng tàõc coï tiãúp xuïc ccå khê ( kiãøu âiãûn tråí: âiãûn tråí thay âäøi khi áún vaì

khi nhaí phêm)

+ cäng tàõc khäng coï tiãúp xuïc cå khê kiãøu âiãûn dung: âiãûn dung thay âäøi

khi áún vaì khi nhaí phêm hoàûc kiãøu hiãûu æïng Hall: âiãûn aïp thay âäøi khi áún vaì khi

nhaí phêm).

Trong caïc loaûi cäng tàõc âoï, loaûi cäng tàõc âiãûn tråí dæû trãn tiãúp xuïc cå khê

laì ráút thäng duûng rong thæûc tãú. Trãn hçnh 9.1 laì caïc näúi cäng tàõc vaìo maûch âiãûn

vaì âaïp æïng cuía noï khik coï læûc taïc âäüng vaìo phêm (áún phêm).

..

Hçnh 9.1 Aính hæåíng âäü rung cuía cäng tàõc

t

t

Ura

+5V

Nhçn vaìo âaïp æïng vãö màût cå- âiãûn cuía cäng tàõc trãn hçnh 9.1. ta nháûn

tháúy: vç cäng tàõc laì mäüt hãû thäúng coï quaïn tênh, do âoï khi ta áún phêm vaì nhaí

phêm, xugn âiãûn thu âæåüc åí âáöu ra cuía noï khäng phaíi liãn tuûc maì bë ngàõt

quaîng taûi caïc giai âoaûn quaï âäü( luïc bàõt âáöu áún phêm vaì luïc bàõt âáöu nhaí phêm).

Âiãöu naìy xaíy ra laì do trong kãút cáúu cuía cäng tàõc coï caïc bäü pháûn âaìn häöi, khi bë

taïc däüng cuía læûc bãn ngoaìi caïc kãút cáúu âäüng cuía cäng tàõc bë dao âäüng laìm cho

bãö màût tiãúp xuïc cuía cäng tàõc bë biãún âäøi. Trong thæûc tãú thç mäùi quïa trçnh quaï âäü

trãn keïo daìi khoaíng 10 -20 ms. Nãúu trong thåìi kç quaï âäü ta âoüc thäng tin tæì caïc

cäng tàõc thç ráút dãù nháûn âæåüc thäng tin sai lãûch traûng thaïi cuía cäng tàõc, vç váûy

ngæåìi ta thæåìng chåì khoaíng 10-20 ms sau khi cängt tàõc bë áún hay nhaí âãø âoüc

traûng thaïi cuía cäng tàõc trong giai âoaûn xaïc láûp.

Khi mäüt cäng tàõc âæåüc näúi træûc tiãúp vaì mäüt chán naìo âoï cuía bäü vi xæí lyï

hoàûc caïc maûch phuû tråü, coï mäüt caïch khaïc âãø traïnh caïc hiãûu æïng khäng mong

muäún coï thãø taïc âäüng lãn hoaût âäüng cuía bäü vi xæí lyï do cäng tàõc bë rung gáy laì

duìng caïc maûch têch phán näúi bãn caûnh cäng tàõc nhæ trong træåìng håüp taûo tên

hiãûu cho âáöu vaìo RESET cuía hãû vi xæí lyï ( xem hçnh 5.6).

Tiãúp theo ta xeït truåìng håüp mäüt säú cäng tàõc nháút âënh âæåüc täø chæïc theo

ma tráûn gäöm caïc haìng vaì caïc cäüt âãø taûo thaình baìn phêm cho mäüt hãû vi xæí lyï.

Våïi täøng säú phêm khoíang 20-30 ( baìn phêm HEXA) thç âoï laì truåìng håüp

thæåìng tháúy trong caïc hãû thäúng nhoí: caïc maïy vi tênh trãn mäüt baíng maûch in

hoàûc caïc baíng maûch âiãöu khiãøn nhoí (hay âæåüc goüi laì “kit”). Trong caïc maïy

tênh caï nhán nhæ IBM PC chàóng haûn thç säú phêm coï thãø laì tæì 80-101 phêm tuìy

theo thãú hãû maïy.

Âãø nháûn âæåüc thäng tin chênh xaïc vãö traûng thaïi cuía mäüt phêm trong caïc

hãû thäúng nhæ váûy ta phaíi thæåìng laìm 3 khäúi cäng viãûc sau:

+Phaït hiãûn coï áún phêm.

+ Chåì cäng tàõc åí traûng thaïi äøn âënh( chäúng rung).

+Tçm phêm âæåüc áún vaì taûo maî cho phêm âoï.

Vaì âãø coï âæåüc mäüt phäúi gheïp baìn phêm våïi bäü vi xæí lyï thæûc hiãûn caïc

chæïc nàng âaî nãu åí trãn trong thæûc tãú ngæåìi ta coï thãø laìm theo 2 caïch:

+ duìng bäü vi xæí lyï âãø quaín lyï træûc tiãúp baìn phêm gheïp qua mäüt säú maûch

cäøng. Coï thãø nháûn tháúy ràòng åí dáy CPU laìm viãûc theo chãú âäü thàm doì. Bàòng

caïch naìy CPU phaíi âãø mäüt pháön thåìi gian âãø quaín lyï baìn phêm nhæng ta laûi âaût

âæåüc sæû âån giaín vãö pháön cæïng.

+ duìng mäüt maûch quaín lyï baìn phêm chuyãn duûng âãø phäúi gheïp våïi baìn

phêm. ÅÍ âáy CPU laìm viãûc våïi bäü quaín lyï baìn phêm qua yãu cáöu ngàõt. Bàòng

caïch naìy ta coï thãø giaíi phoïng CPU âãø noï daình thåìi gian cho caïc viãûc khaïc quan

troüng hån.

Cäøng ra 00

CPU

Cäøng vaìo 01

Hçnh 9.2. Maûch phäúi gheïp baìn phêm

• CPU træûc tiãúp quaín lyï baìn phêm

Trong caïch laìm naìy, âãø âån giaín trong trçnh baìy, ta giaí thiãút baìn phêm

hãû 16 gäöm 16 cäng tàõc- phêm âaïnh dáúu tæì 0 - FH gheïp våïi bäü vi xæí lyï thäng

qua caïc maûch cäøng nhæ trãn hçnh 9.2. Caïc maûhc cäøng coï thãø laì caïc maûch IC

nhæ 74LS373 hoàûc mäüt pháönn cuía PPI 8255A âæåüc láûp trçnh thêch håüp.

Thuáût toaïn cuía chæång trçnh âiãöu khiãøn viãûc phäúi gheïp CPU - baìn phêm

theo så âäö pháön cæïng noïi trãn âæåüc trçnh baìy bàòng læu âäö trãn hçnh 9.3.

Âáöu tiãn ta phaíi kiãøm tra tçnh traûng (täút, xáúu) cuía baìn phêm khi noï chæa

âæåüc áún ( âuïng ra laì khi ta chæa këp áún phêm naìo hoàûc chæa këp áún phêm tiãúp

D0

D1

D2

D3

D7

D6

D5

D4

D3

D2

D1

D0

+5V

0 1 2 3

C D E F

10K

theo) xem coï phêm naìo bë keûp ( dênh ) khäng bàòng caïch âæa ra caïc haìng vaì doüc

caïc cäüt âãø queït toaìn bäü caïc phêm.

Hçnh 9.3. Læu âäö thuáût toaïn chæång trçnh phäúi gheïp baìn phêm.

Bàõt âáöu

Âæa 0 ra

mäüt haìng

Âoüc caïc cäüt

Phêm täút

Âoüc caïc cäüt

Coï phêm áún

Chåì 20ms

Âoüc caïc cäüt

Coï phêm áún

Âæa 0 ra

mäüt haìng

Âoüc caïc cäüt

Tçm tháúy

Taûo maî phêm

Kãút thuïc

Nãúu coï mäüt cäng tàõc naìo âoï näúi haìng vaì cäüt, mæïc âiãûn aïp 0 åí haìng seî

truyãön sang cäüt vaì ta seî âoüc âæåüc åí cäüt tæång æïng mæïc âiãn aïp 0. Mäüt baìn phêm

täút seî khäng coï caïc tiãúp âiãøm cuía mäüt cäng tàõc naì âæåüc näúi trong luïc naìy vaì ta

seí âoüc âæåüc mæïc 1 åí táút caí caïc cäüt. Chæång trçnh cuía læu âäö trãn seî bë quáøn

nãúu baìn phêm cuía ta bë dênh. Mäüt caíi tiãún coï thãø âæåüc thãm vaìo chæång trçnh

trãn âãø thoaït ra khoíi voìng quáøn âoï vaì thäng baïo baìn phêm bë hoíng.

Nãúu baìn phêm khäng bë hoíng thç ta måïi âi vaìo pháön phaït hiãûn xem liãûu

coï mäüt phêm naìo âoï bë áún khäng. Nãúu phaït hiãûn ra coï mäüt phêm bë áún ta seî phaíi

chåì cåî 10 ms âãø cho cäng tàõc coï thåìi gian äøn âënh hãû thäúng. Tiãúp theo laì ta

phaíi xaïc âënh laûi xem coï âuïng laì coï mäüt phêm naìo âoï bë áún khäng, nãúu coï thç ta

måïi tiãún haình xaïc âënh cuû thãø xem âoï laì phêm naìo trong säú caïc phêm. Ta laìm

viãûc naìy bàòng caïch âæa 0 vaìo láön læåüt caïc haìng vaì doüc caïc cäüt. Khi âaî biãút toüa

âäü haìng vaì ccäüt cuía mäüt phêm bë áún thç cäng viãûc tiãúp theo laì taûo maî cho phêm

âoï. Trong så âäö âån giaín nhæ så âäö trãn hçnh 9.3 thç viãûc taûo maî cho phêm væìa

tçm tháúy âæåüc thæûc hiãûn bàòng caïch âoüc 8 bêt tæì cäøng vaìo ( 4 bit cao chæïa thäng

tin vãö toüa âäü haìng vaì 4 bit tháúp chæïa thäng tin vãö toüa âäü cäüt) räöi chuyãøn thaình

maî hãû 16 tæång æïng våïi phêm bàòng caïch tra mäüt baíng thêch håüp.

Sau âáy laì vàn baín chæång trçnh thæûc hiãûn thuáût toaïn âaî nãu dæûa trãn så

âäö trãn hçnh 9.2 bàòng caïch duìng maûch PPI 8255A våïi âëa chè cå baín laì 60H.

Cáön chuï yï ràòng âáy chè laì chæång trçnh duìng âãø mä taí thuáût toaïn.

• Chæång trçnh 8.1. CPU- HexKeyboard cpu_kbd.asm

. Model Small

. Stack 100

. Data

;0 1 2 3 4 5 6 7

Key DB 77H 7BH 7DH 7EH 0B7H 0BBH 0BDH 0BEH

;8 9 A B C D E F

DB 0D7H 0DBH 0D0H 0DEH 0E7H 0EBH 0EDH 0EEH

PA EQU 60H

PB EQU 61H

CWR EQU 63H

CW EQU 68H ;Chãú âäü 0, PA : ra ; PB & PC : vaìo

.Code

Main Proc

MOV AX , @Data ;khåíi âáöu DS

MOW DS , AX

MOW AL , CW ;khåíi âáöu 8255A

OUT CRW, AL

CALL RD_KBD ;goüi chæång trçnh âoüc phêm

Xuly:... ; caïc xæí lyï tiãúp theo

Main Endp

RD_KBD Proc

; thuí tuûc âoüc vaì taûo maî cho phêm bë áún

; Ra : AL : maî phêm,

; AH=00H khi khäng coï läùi

; AH=01 khi coï läùi

PUSHF ;cáút caïc thanh ghi

PUSH BX

PUSH CX

PUSH DX

MOV AL,00 ;âæa 0 ra moüi haìng

OUT PA, LA

MOV CX, 3 ;säú láön kiãøm tra dênh

Wait_Open: IN AL, PB ;âoüc cäüt âãø kiãøm tra dênh

AND AL, 0FH ;che caïc bit cao

CMP AL, 0FH ;coï phêm dênh?

LOOPNE Wait_Open ;âuïng, chåì khoíi dênh

JCXZ Sai ;”quaï tam ba báûn” : phêm bë keût

Wait_Pres: IN AL,PB ;âoüc cäüt âeí kiãøm tra áún phêm

AND AL, 0FH ; che caïc bit cao

CMP AL, 0FH ;coï phêm áún?

JE Wait_Pres ;khäng, chåì áún phêm

MOV CX, 5880 ;Coï, trãù 20ms âãø chäúng rung

Tre: LOOP Tre

;âoüc âãø kiãøm tra laûi phêm bë áún

IN AL, PB

AND AL, 0FH ;che caïc bit cao

Tải ngay đi em, còn do dự, trời tối mất!