II. Câu trúc phaăn meăm cụa 8279
IC 8279 cĩ 1 đường địa chư A0 cĩ chức nng lựa chĩn như sau:
0A0 =0 : 8279 xem dữ liu từ vi đieău khieơn gởi đên là dữ liu đeơ hieơn thị. 1A0 =1 : 8279 xem dữ liu từ vi đieău khieơn gởi đên là dữ liu cụa lnh đieău khieơn 8279.
Các lnh đieău khieơn cụa 8279:
1. Keyboard/ Display Mode Set:1. Keyboard/ Display Mode Set: 1. Keyboard/ Display Mode Set:
+ Mã:
O O O D D K K K
+ Trong đĩ 2 bit DD dùng đeơ thiêt lp mode hieơn thị, 3 bit KKK dùng đeơ thiêt lp mode quét bàn phím.
+ Hai bit DD:
DD=00 : hieơn thị 8 ký tự - lơi vào trái. DD=01 : hieơn thị 16 ký tự - lơi vào trái. DD=10 : hieơn thị 8 ký tự - lơi vào phại. DD=11 : hieơn thị 16 ký tự - lơi vào phại. + Ba bit KKK :
000 encode scan keyboard - 2 key lockout. 001 decode scan keyboard - 2 key lockout. 010 encode scan keyboard - N key rollover. 011 decode scan keyboard - N key rollover. 100 encode scan sensor matrix.
101 decode scan sensor matrix.
110 strobe input, encode display scan. 111 strobe input, decode display scan .
2. Program Clock:2. Program Clock: 2. Program Clock:
+ Mã
O O 1 P P P P P
+ Lnh này cĩ chức nng chia taăn sơ xung clock ở ngõ vào clk ở chađn sơ 3, các bit PPPPP dùng đeơ xác định sơ chia naỉm trong khoạng từ 2 đên 30, taăn sơ hốt đng cụa mách quét hieơn thị và chĩng di cụa 8279 thường là 100 Khz, nêu taăn sơ ở ngõ vào là 2Mhz thì phại chia cho 20 đeơ được 100 Khz, khi đĩ các bit PPPPP cĩ giá trị là 10100.
3. Read FIFO / sensor RAM:3. Read FIFO / sensor RAM: 3. Read FIFO / sensor RAM:
+Mã
O 1 1 AI X A A A
8279 cĩ 8 byte RAM beđn trong đeơ chứa mã cụa phím ân hay mã cụa các sensor, đeơ truy xuât đên từng byte dữ liu mã cụa phím ân hay cụa sensor ta cĩ theơ đieău chưnh các bit AAA tương ứng. B nhớ này thuc kieơu FIFO.
+ Al ( automatically increment): ở mức 1 cĩ chức nng làm con trỏ tự đng tng leđn byte kê đeơ sẵn sàng cho vic đĩc dữ liu. Nêu Al= 0 con trỏ sẽ khođng thay đoơi.
4. Read Display RAM:4. Read Display RAM: 4. Read Display RAM:
+ Mã
O 1 1 Al A A A A
+ 8279 có 16 byte RAM beđn trong do con trỏ 4 bit AAAA quạn lý, 16 byte RAM này dùng đeơ chứa dữ liu caăn hieơn thị do vi đieău khieơn gởi đên, đeơ đĩc dữ liu ođ nhớ nào trong vùng nhớ RAM này ta cĩ theơ đieău chưnh các bit AAA tương ứng. B nhớ hieơn thị này thuc kieơu FIFO.
+ Al (Automatically Increment): ở mức 1 chức nng làm con trỏ tự đng tng leđn byte kê đeơ sẵn sàng cho vic đĩc byte dữ liu. Nêu Al=0 con trỏ sẽ khođng thay đoơi.
5. End Interrupt:5. End Interrupt: 5. End Interrupt:
+ Mã
1 1 1 E 0 0 0 0
+ Bit E baỉng 1 sẽ xĩa ngaĩt IRQ veă mức logic 0.
6. Leơnh Write Display Ram:6. Leơnh Write Display Ram: 6. Leơnh Write Display Ram:
+ Mã
1 0 0 Al A A A A
+ 8279 cĩ 16 byte RAM beđn trong con trỏ 4 bit AAAA quạn lý, 16 ođ nhớ RAM này dùng đeơ chứa dữ liu caăn hieơn thị do vi đieău khieơn gởi đên, đeơ gởi dữ liu đên 8279 tái byte Ram thứ mây trong 16 byte RAM ta cĩ theơ đieău chưnh các bit AAAA tương ứng.
+ Al (automatically increment): ở mức mt chức nng làm con trỏ tự đng tng leđn byte kê đeơ sẵn sàng nhn dữ liu. Nêu Al=0 con trỏ sẽ khođng thay đoơi do đĩ byte dữ liu sau sẽ ghi đè leđn byte dữ liu trước đĩ.
7. Leơnh Clear: 7. Lnh Clear:
+ Mã
1 1 0 CD CD CF CA
+ Những bit CD trong lnh này dùng đeơ xĩa tât cạ các hàng cụa Ram hieơn thị đên mt mã xĩa được chĩn lĩc như sau:
CD CD
0 X Tât cạ là 0 (X : khođng quan tađm)
1 0 AB = Hex 20 (0010 0000)
1 1 Tât cạ là 1
Cho phép xĩa hieơn thị khi =1 (hoaịc bởi CA=1)
+ Trong suơt thời gian Ram hieơn thị đang xĩa (160 s) nĩ khođng được viêt vào, bit lớn nhât cụa từ tráng thái FIFO được đaịt leđn 1 trong suơt thời gian này. Khi Ram hieơn thị được sử dúng lái thì bit này được reset veă 0.
+ Nêu như bit CF tích cực (CF =1), từ tráng thái FIFO sẽ bị xĩa và ngõ ra Interrupt bị reset.
+ Bit CA cĩ chức nng xĩa tât cạ các bit, nĩ cịn ạnh hưởng bởi bit CD và CF. Nĩ dùng bit CD đeơ xĩa mã tređn Ram hieơn thị và nĩ cũng xĩa luođn tráng thái FIFO.
I. Sơ đoă khôi kit vi đieău khieơn 8951: