b. Mođ tạ leơnh Z80:
2.4.1. Đưa chương trình ra RAM chung.
Giạ sử raỉng ta đã có moơt file nhị phađn (có phaăn mở roơng là.bin; file này là moơt chương trình cụa Z80 CPU đã được dịch ra dáng mã máy), nhieơm vú là phại đưa file này theo từng byte moơt vào RAM chung cụa KIT (tương đương với Rom chương trình cụa KIT Z80). Đeơ làm được vieơc này phại tuađn theo các bước sau:
Bước 1: Câm Z80.
Tích cực chađn RESET cụa Z80. Lúc này đường data bus cụa Z80 ở tráng thái trở kháng cao. Các IC 74LS244 (U4 & U5) bị câm neđn các ngõ ra cụa IC này cũng ở tráng thái trở kháng cao. Do đó kêt quạ là moơt phaăn mách bị cođ laơp.
Bước 2: Câm RAM chung.
Vieơc này được thực hieơn baỉng cách cài 1 bit thâp tương ứng qua IC 74LS374 đeơ đưa CS cụa RAM chung xuông mức logic '0'.
Bước 3: Khởi đoơng 8255.
Đeơ khởi đoơng 8255 trước hêt phại chĩn các tín hieơu đieău khieơn thích hợp (CS, A0, A1), các tín hieơu này được gởi đên theo data bus cụa coơng máy in và được chôt baỉng moơt xung cài được phát ra từ ngõ ra INIT cụa coơng máy in.
Từ đieău khieơn được đưa vào 8255 qua IC đeơm tuyên 74LS244 đoăng thời với vieơc phát xung WR tređn ngõ ra AF cụa coơng máy in.
8255 được khởi đoơng ở chê đoơ sau: Mode 0, PA là port xuât, PC là port xuât.
Bước 4: Xác định địa chư đeơ truy xuât RAM chung.
Chĩn CS 8255 baỉng moơt bit tương ứng trong sô 8 bit data cụa coơng máy in, phát xung cài tređn ngõ ra INIT cụa coơng máy in.
Baĩt đaău từ địa chư 0000H, đưa byte thâp cụa địa chư ra data bus cụa coơng máy in, phát tiêp xung WR, đưa tiêp byte cao cụa địa chư ra data bus cụa coơng máy in, phát xung WR. Lúc này địa chư đeơ truy xuât RAM chung đã được đaịt tái ngõ ra cụa 8255.
Bước 5: Ghi data vào RAM chung.
Chĩn CS RAM chung baỉng moơt bit tương ứng tređn data bus cụa coơng máy in, phát xung cài tređn ngõ ra INIT cụa coơng máy in. Đưa byte data tương ứng với địa chư đã phát leđn data bus cụa coơng máy in, phát xung WR đeơ ghi vào RAM chung.
Bước 6: Đĩc data veă từ RAM chung và kieơm tra.
Giữ nguyeđn giá trị địa chư, chĩn OE cụa RAM chung baỉng 1 bit tương ứng đeơ tiên hành đĩc byte vừa được ghi. Đaău tieđn đaịt pin A/B cụa 74LS157 ở mức logic '0' đeơ đĩc 4 bit thâp cụa data bus vào thanh ghi tráng thái, cât giá trị vừa đĩc được, tiêp đó đaịt pin này ở mức logic cao đeơ đĩc tiêp 4 bit cao vào thanh ghi tráng thái, tiên hành khođi phúc byte data vừa đĩc, so sánh với byte đã phát. Nêu byte phát đi trùng byte thu veă thì tiên hành bước tiêp theo, nêu khođng phát lái byte này. Nêu phát lái 3 laăn mà văn còn sai thì ngừng và báo loêi. Các loêi có theơ xạy ra là:
Có byte trong vùng RAM chung bị hư, trường hợp này caăn thay RAM, hoaịc phaăn cứng hỏng (các IC 8255 74LS244, 74LS374, 74LS157, 74LS08, 74LS04), hoaịc đơn giạn hơn là chưa câp nguoăn cho KIT.
Taíng địa chư và data tương ứng.
Laịp lái bước 5 và bước 6 cho đên khi hoàn tât.
Chú ý: Ở cùng 1 thời đieơm chư có 1 trong 2 IC hoaịc 8255 hoaịc RAM chung được chĩn đeơ tránh sự va chám data bus.
Bước 7: Làm phép đĩc giạ đeơ biên PA & PC trở thành ngõ vào.
Đeơ khởi đoơng lái 8255 trước hêt phại chĩn các tín hieơu đieău khieơn thích hợp (CS, A0, A1), các tín hieơu này được gởi đên theo data bus cụa coơng máy in và được chôt baỉng moơt xung cài được phát ra từ ngõ ra INIT cụa coơng máy in.
Từ đieău khieơn được đưa vào 8255 qua IC đeơm tuyên 74LS244 đoăng thời với vieơc phát xung WR tređn ngõ ra AF cụa coơng máy in.