Cấu trúc của từ điều khiển

Một phần của tài liệu BÁO CÁO BÀI TẬP LỚN MÔN VI XỬ LÝ (Trang 73 - 79)

III. Cấu trúc bên trong và hoạt động của vi mạch 8255A

3.1.Cấu trúc của từ điều khiển

3. Từ điều khiển

3.1.Cấu trúc của từ điều khiển

Do caực coồng cuỷa 8255A ủửụùc chia laứm hai nhoựm nẽn tửứ ủiều khieồn cuừng ủửụùc chia laứm hai nhoựm ủiều khieồn tửụng ửựng.

Caực bit D3, D4, D5, D6 duứng ủeồ xaực ủũnh caỏu hỡnh cho nhoựm A: - Bit D3 duứng ủeồ thieỏt laọp 4 bit cao cuỷa coồng C.

D3 = 0 coồng C laứ coồng xuaỏt dửừ lieọu. D3 = 1 coồng C laứ coồng nhaọp dửừ lieọu. - Bit D4 duứng ủeồ thieỏt laọp coồng A.

D4 = 0 coồng A laứ coồng xuaỏt dửừ lieọu. D4 = 1 coồng A laứ coồng nhaọp dửừ lieọu.

- Bit D5 vaứ D6 duứng thieỏp laọp mode ủiều khieồn cuỷa nhoựm A. D6D5 = 00 : nhoựm A hoát ủoọng ụỷ mode 0.

D6D5 = 01 : nhoựm A hoát ủoọng ụỷ mode 1. D6D5 = 1x : nhoựm A hoát ủoọng ụỷ mode 2.

- Bit D0 duứng ủeồ thieỏt laọp 4 bit thaỏp cuỷa coồng C. D0 = 0 coồng C laứ coồng xuaỏt dửừ lieọu. D0 = 1 coồng C laứ coồng nhaọp dửừ lieọu. - Bit D1 duứng ủeồ thieỏt laọp coồng B.

D1 = 0 coồng B laứ coồng xuaỏt dửừ lieọu. D1 = 1 coồng B laứ coồng nhaọp dửừ lieọu.

- Bit D2 duứng thieỏp laọp mode ủiều khieồn cuỷa nhoựm B. D2 = 0 : nhoựm B hoát ủoọng ụỷ mode 0.

D2 = 1 : nhoựm B hoát ủoọng ụỷ mode 1.

D7D6D5D4D3D2D1D0 ẹaởt tráng thaựi cụứ. Nhoựm B Nhoựm A Coồng C (4 bit thaỏp) 1 = Input 0 = OutputCoồng B 1 = Input 0 = OutputMode select 1 = mode 0 0 = mode 1 Coồng C (4 bit cao)

1 = Input 0 = OutputCoồng A 1 = Input 0 = OutputMode select 00 = mode 0 01 = mode 1 1x = mode 2

Hỡnh 3 : Caỏu truực tửứ ủiều khieồn cuỷa vi mách 8255A

b. Cụ cheỏ hoát ủoọng caực coồng cuỷa 8255A ụỷ caực tráng thaựi.

8255 hoát ủoọng ụỷ ba cheỏ ủoọ mode:

* Mode 0: “ Vaứo/ra cụ sụỷ ”. moĩi coồng PA, PB, PCL, PCH ủều ủửụùc ủũnh nghúa laứ caực coồng vaứo hoaởc ra.

* Mode 1: “ vaứo/ra coự xung cho pheựp ”, caực coồng port PA, PB coự theồ ủửụùc ủũnh nghúa laứ caực coồng vaứo hoaởc ra vụựi tớn hieọu moực noỏi do caực bit tửụng ửựng cuỷa port PC trong cuứng nhoựm ủaỷm nhieọm.

* Mode 2: “ vaứo/ra 2 chiều ”, chổ riẽng Port PA ủửụùc ủũnh nghúa thaứnh coồng vaứo/ra 2 chiều vụựi caực tớn hieọu moực noỏi do caực bit cuỷa Port PC ủaỷm nhieọm. Port PB coự theồ laứm vieọc trong cheỏ ủoọ 0 hoaởc 1.

Moực noỏi ( Hanshare ) laứ moọt phửụng phaựp kyừ thuaọt chung ủeồ truyền dửừ lieọu trong moọt giao dieọn. Moọt maựy tớnh, moọt thieỏt bũ thõng thửụứng hoát ủoọng vụựi caực ủồng hồ heọ thoỏng coự toỏc ủoọ khaực nhau vaứ do ủoự, dửừ lieọu truyền ủi giửừa caực I/O tửụng ửựng coự theồ seừ khõng coứn ủaựng tin caọy. Nhử vaọy moực noỏi ( hansharing ) coứn laứ phửụng tieọn nãng cao ủoọ tin caọy cuỷa dửừ lieọu khi truyền ủi.

* Nhoựm A vaứ Nhoựm B caỏu hỡnh ụỷ mode 0.

Khi ủửụùc ủũnh cụ caỏu hỡnh naứy, caực coồng cuỷa hai nhoựm hoát ủoọng xuaỏt hoaởc nhaọp dửừ lieọu ủoọc laọp vụựi nhau.

Tửứ ủiều khieồn:

1 0 0 D4 D3 0 D1 D0

Vụựi D0, D1. D3, D4 tuứy chón theo yẽu cầu cuỷa ngửụứi sửỷ dúng.

* Nhoựm A ủửụùc caỏu hỡnh ụỷ mode 1.

ễÛ mode 1, caực coồng laứm vieọc coự choỏt (Strobed I/O), thieỏt bũ giao tieỏp muoỏn 8255A nhaọn dửừ lieọu thỡ thieỏt bũ ủoự phaỷi táo ra moọt tớn hieọu yẽu cầu 8255A nhaọn dửừ lieọu vaứ ngửụùc lái, 8255A muoỏn gụỷi dửừ lieọu cho moọt thieỏt bũ khaực thỡ noự phaỷi gụỷi 1 tớn hieọu yẽu cầu thieỏt bũ ủoự nhaọn dửừ lieọu, tớn hieọu ủoự gói laứ tớn hieọu choỏt.

+ Khi coồng A ủửụùc caỏu hỡnh laứ coồng nhaọp dửừ lieọu, chửực naờng caực ủửụứng tớn hieọu ủửụùc trỡnh baứy nhử hỡnh veừ:

Tửứ ủiều khieồn : 75 RD\ PC4 PC5 PC3 PC PA0–PA7 INTE A STB A\ IBF A INTRA I/O

1 0 1 1 D3 x x x

Hỡnh 4 : Chửực naờng caực ủửụứng tớn hieọu khi coồng A laứ coồng nhaọp dửừ lieọu

Caực ủửụứng tớn hieọu coồng C trụỷ thaứnh caực ủửụứng ủiều khieồn cuỷa coồng A. Trong ủoự : (adsbygoogle = window.adsbygoogle || []).push({});

Bit INTEA (Interrupt Enable) ủửụùc thieỏt laọp mửực logic dửụựi sửù ủiều khieồn cuỷa phần mềm duứng caỏu truực Set/Reset cuỷa 8255A.

Bit PC4 trụỷ thaứnh bit STBA (Strobed Input, taực ủoọng mửực thaỏp), ủửụùc duứng ủeồ choỏt caực dửừ lieọu ụỷ caực ngoừ vaứo PA0 – PA7 vaứo mách choỏt bẽn trong.

Bit PC5 trụỷ thaứnh bit IBFA (Input Buffer Full, taực ủoọng mửực cao), duứng ủeồ baựo cho bẽn ngoaứi bieỏt dửừ lieọu ủaừ ủửụùc choỏt bẽn trong.

Bit PC3 trụỷ thaứnh bit INTRA (Interrupt Request, taực ủoọng mửực cao), bit naứy coự mửực logic 1 khi bit STRA = 1, bit IBFA = 1 vaứ bit INTEA = 1. Thõng thửụứng bit naứy duứng ủeồ taực ủoọng vaứo ngoừ vaứo ngaột cuỷa vi xửỷ lyự ủeồ baựo cho vi xửỷ lyự bieỏt : dửừ lieọu mụựi ủaừ xuaỏt hieọn ụỷ ngoừ vaứo.

Caực bit PC6, PC7cuỷa coồng C laứ caực bit xuaỏt/ nhaọp bỡnh thửụứng tuứy thuoọc vaứo tửứ ủiều khieồn trong thanh ghi ủiều khieồn. Coứn coồng B ủửụùc ủiều khieồn baống caực bit D0 – D2 trong thanh ghi ủiều khieồn (neỏu coồng B hoát ủoọng ụỷ mode 1 thỡ caực bit PC0 – PC2 laứ caực bit ủiều khieồn).

+ Coồng A ủửụùc caỏu hỡnh laứ coồng xuaỏt dửừ lieọu.

Chửực naờng caực ủửụứng tớn hieọu ủửụùc trỡnh baứy ụỷ hỡnh veừ: Tửứ ủiều khieồn :

1 0 1 0 D3 X x x

Hỡnh 5 : Chửực naờng caực ủửụứng tớn hieọu khi coồng A laứ coồng xuaỏt dửừ lieọu

Bit PC7trụỷ thaứnh bit OBFA (Output Buffer Full, taực ủoọng mửực thaỏp), khi coự dửừ lieọu tửứ vi xửỷ lyự gụỷi ra coồng A, tớn hieồu OBF seừ yẽu cầu thieỏt bũ bẽn ngoaứi

WR\ PC7 PC 6 PC3 PC4,5 PA0–PA7 INTE A OBF A\ ACK A\ INTRA I/O

WR\ PC1 PC2 PC0 PB 0–PB 7 INTE B OBFB\ ACKB\ INTRB nhaọn dửừ lieọu.

Bit PC6 trụỷ thaứnh bit ACKA (Acknowledge Input, taực ủoọng mửực thaỏp), thieỏt bũ nhaọn dửừ lieọu duứng tớn hieọu naứy ủeồ baựo cho 8255A bieỏt dửừ lieọu ủaừ ủửụùc nhaọn vaứ saỹn saứng nhaọn dửừ lieọu mụựi.

Bit PC3 trụỷ thaứnh bit INTRA (Interrupt Request, taực ủoọng mửực cao), bit naứy coự mửực logic baống 1 khi bit OBFA = 1, ACKA = 1 vaứ bit INTEA = 1. Tớn hieọu INTRA taực ủoọng ủeỏn ngoừ vaứo ngaột cuỷa vi xửỷ lyự ủeồ baựo cho vi xửỷ lyự bieỏt thieỏt bũ bẽn ngoaứi ủaừ nhaọn dửừ lieọu tửứ coồng A.

Caực bit PC4, PC5vaĩn laứ bit nhaọp/ xuaỏt dửừ lieọu bỡnh thửụứng tuứy thuoọc vaứo tửứ ủiều khieồn. Caực bit D0 – D2 trong thanh ghi ủiều khieồn duứng ủeồ thieỏt laọp caỏu hỡnh cho coồng B.

* Nhoựm B ủửụùc caỏu hỡnh ụỷ mode 1.

+ Coồng B ủửụùc caỏu hỡnh laứ coồng nhaọp dửừ lieọu.

Chửực naờng caực ủửụứng tớn hieọu ủửụùc trỡnh baứy nhử hỡnh veừ: Tửứ ủiều khieồn :

1 x x x x 1 1 x

Hỡnh 6 : Chửực naờng caực ủửụứng tớn hieọu khi coồng B laứ coồng nhaọp dửừ lieọu

Chửực naờng cuỷa caực bit ủiều khieồn gioỏng nhử khi nhoựm A hoát ủoọng ụỷ mode 1 vaứ coồng A ủửụùc caỏu hỡnh laứ coồng nhaọp dửừ lieọu.

+ Coồng B ủửụùc caỏu hỡnh laứ coồng xuaỏt dửừ lieọu.

Tửứ ủiều khieồn: 1 x X x x 1 0 x RD\ PC2 PC1 PC0 PB0–PB7 INTE B STBB\ IBFB INTRB

Hỡnh 7 : Chửực naờng caực ủửụứng tớn hieọu khi coồng B laứ coồng xuaỏt dửừ lieọu

Chửực naờng cuỷa caực tửứ ủiều khieồn gioỏng nhử khi nhoựm A hoát ủoọng ụỷ mode 1 vaứ coồng A ủửụùc caỏu hỡnh laứ coồng xuaỏt dửừ lieọu.

* Nhoựm A ủửụùc caỏu hỡnh ụỷ mode 2.

Mode 2 laứ kieồu hoát ủoọng strobed bi-directional IO : coự hai chửực naờng nhaọp xuaỏt dửừ lieọu.

Tửứ ủiều khieồn khi nhoựm A ủửụùc caỏu hỡnh ụỷ mode 2 vaứ chửực naờng cuỷa caực ủửụứng tớn hieọu ủửụùc trỡnh baứy ụỷ hỡnh veừ:

Tửứ ủiều khieồn :

1 0 1 1 D3 x x x (adsbygoogle = window.adsbygoogle || []).push({});

Hỡnh 8: Chửực naờng caực ủửụứng tớn hieọu khi nhoựm A hoát ủoọng ụỷ mode 2

Caực ủửụứng tớn hieọu coồng C trụỷ thaứnh caực ủửụứng ủiều khieồn cuỷa coồng A.

Bit PC7 trụỷ thaứnh bit OBFA, PC6 trụỷ thaứnh bit ACKA, PC4 trụỷ thaứnh bit STBA, PC5 trụỷ thaứnh bit IBFA vaứ bit PC3 trụỷ thaứnh bit INTRA, chửực naờng cuỷa caực bit ủiều khieồn gioỏng nhử ụỷ mode 1, chổ khaực tớn hieọu INTRA = 1 khi OBFA = 1 vaứ INTE1 = 1 hoaởc IBFA = 1 vaứ INTE2 = 1.

Caực bit PC0 – PC2 laứ caực bit nhaọp xuaỏt dửừ lieọu bỡnh thửụứng tuứy thuoọc

WR\ PA0–PA7 OBF A\ ACKA\ PC3 PC7 PC6 PC4 PC5 STBA\ IBFA RD\ INTE 1 INTE 2 PC2,1,0 I/O INTE A

vaứo tửứ ủiều khieồn trong thanh ghi ủiều khieồn.

Moọt chuự yự cần thieỏt laứ khi nhoựm A ủửụùc caỏu hỡnh ụỷ mode 2 thỡ nhoựm B chổ ủửụùc caỏu hỡnh ụỷ mode 0.

Một phần của tài liệu BÁO CÁO BÀI TẬP LỚN MÔN VI XỬ LÝ (Trang 73 - 79)