có phím nào nhân hay chưa.
-Táo BOUNCING đeơ chông doơi khi nhạ phím.
-Đĩc bạn tra đeơ truy tìm mã cụa phím nhân tương ứng theo dữ lieơu từ ma traơn hàng coơt đĩc veă. hàng coơt đĩc veă.
e.Hốt đoơng cụa mách bàn phím.
Tráng thái bình thường cụa PORT C_8255(I) (từ PC0 – PC4) là 11111. Nêu PORT A _8255(I) xuât ra moơt giá trị là 00H, lúc này có moơt phím được nhân thì moơt PORT A _8255(I) xuât ra moơt giá trị là 00H, lúc này có moơt phím được nhân thì moơt trong 5 đường cụa PORT C sẽ có moơt đường xuông mức [0]. Hốt đoơng quét như sau: Đaău tieđn PORT A sẽ xuât ra moơt giá trị là 00H đeơ quét hàng nhaỉm kieêm tra xem có phím nào được nhân hay khođng, nêu moơt phím được nhân thì moơt trong 5 đường cụa PORT C sẽ xuông mức [0] lúc này ta chư biêt được hàng nào có phím ân mà thođi.
Đeơ xác định chính xác vị trí cụa phím được ân PORT A sẽ xuât dữ lieơu đeơ quét coơt , giá trị thực sự là 7FH (011111112) dữ lieơu này chư có moơt coơt ở mức thâp trong khi đó ở giá trị thực sự là 7FH (011111112) dữ lieơu này chư có moơt coơt ở mức thâp trong khi đó ở các coơt khác đeău ở mức cao, bit [0] này sẽ laăn lượt xuât hieơn tređn từng phaăn tử cụa PORT A, khi bit đó rơi vào coơt được nhân PORT C sẽ phát hieơn được và thođng báo veă vi xử lý. Moơt biên đêm sẽ theo dõi sô laăn dịch chuyeơn cụa bit [0] nói tređn sẽ cho moơt mã sô tương ứng đađy chính là mã coơt. Toơ hợp mã hàng và mã coơt sẽ cho biêt phím nào được nhân.
Luaơn vaín tôt nghieơp
C.MÁCH GIAO TIÊP
III.10.Chĩn phương án thiêt kê.
Trong thực tê máy tính có theơ giao tiêp với nhieău thiêt bị ngối vi theo nhieău phương pháp khác nhau như giao tiêp qua coơng COM, Slot_card, qua coơng LPT. Nhưng phương pháp khác nhau như giao tiêp qua coơng COM, Slot_card, qua coơng LPT. Nhưng vân đeă đaịt ra là chĩn phương án nào cho phù hợp, deê thiêt kê phaăn cứng cũng như phaăn meăm, đát yeđu caău veă kỹ thuaơt và có tính kinh tê.
Theo đeă tài này, máy tính là phương tieơn đeơ gõ noơi dung quang báo và đieău khieơn, còn KIT vi xử lý có chức naíng lưu trữ và thi hành chương trình quang báo.Vân khieơn, còn KIT vi xử lý có chức naíng lưu trữ và thi hành chương trình quang báo.Vân đeă truyeăn dữ lieơu trong khoạng cách gaăn, do đó chúng em chĩn phương án giao tiêp song song giữa coơng máy in và KIT vi xử lý thođng qua 8255A. Vì giao tiêp qua coơng máy in đơn giạn deê thiêt kê, đáp ứng được truyeăn dữ lieơu vơí tôc đoơ cao, các đường tín hieơu cụa coơng LPT tương thích với mức TTL phù hợp với logic cụa KIT vi xử lý. Với cách giao tiêp qua coơng COM là khođng phù hợp vì cách giao tiêp này có nhược đieơm khođng nhỏ là tôc đoơ truyeăn data bị giới hán, mách thiêt kê đòi hỏi phức táp tôn kém.Mách giao tiêp qua slot_card cũng lhođng thích hợp vì phại thiêt kê card giao tiêp, do đó sô linh kieơn nhieău khođng kinh tê.
Như vaơy vieơc chĩn phương án giao tiêp qua coơng máy in cho vieơc thực hieơn chương trình quang báo là thích hợp nhât. chương trình quang báo là thích hợp nhât.
Đaịc đieơm cụa coơng máy in:
•truyeăn data song song 8bit.
•Tính hieơu vào ra có chôt.
•Ngõ vào ra tương thích với mức TTL.
•Có các tín hieơu baĩt tay.
•Truyeăn tín hieơu trong khoạng cách gaăn.
III.11.Thiêt kê mách giao tiêpIII.11.1. Sơ đoă nguyeđn lý III.11.1. Sơ đoă nguyeđn lý
Theo câu hình phaăn cứng KIT Z80, ta sử dúng port B cụa 8255A(I) đeơ làm các đường nhaơn data từ máy gởi qua KIT và sử dúng các đường port C cụa 8255A(II) đeơ đường nhaơn data từ máy gởi qua KIT và sử dúng các đường port C cụa 8255A(II) đeơ làm các đường tín hieơu baĩt tay. Đeơ đơn giạn cho vieơc thiêt kê phaăn cứng cũng như phaăn meăm thì chúng em chĩn cạ hai 8255A làm vieơc ở chê đoơ mode0(dữ lieơu vào khođng chôt, dữ lieơu ra có chôt). Sơ đoă kêt nôi chi tiêt như sau:
port B cụa 8255(I) kêt nôi với 8 đường data cụa coơng LPT.
8255A :
• PC0..PC3 : kêt nôi với các đường tương ứng cụa LPT:Strobe, AF,INIT,SLCTIN. AF,INIT,SLCTIN.
• PC4..PC7 : kêt nôi với các đường tương ứng cụa LPT : ACK,Busy, PE, ERROR. ACK,Busy, PE, ERROR.
Chađn 13,18 – 25 nôi mass.
Sơ đoă kêt nôi như sau:
Luaơn vaín tôt nghieơp
Luaơn vaín tôt nghieơp
III.11.2. Nguyeđn lý truyeăn dữ lieơu giữa KIT với máy tính :
Giao tiêp giữa máy tính và KIT Z80 là giao tiêp song song neđn dữ lieơu truyeăn đi laăn lượt theo từng byte(8bit). Muôn KIT vi xử lý nhaơn được dữ lieơu chính xác thì đòi hỏi laăn lượt theo từng byte(8bit). Muôn KIT vi xử lý nhaơn được dữ lieơu chính xác thì đòi hỏi khi truyeăn dữ lieơu phại có những đường tín hieơu baĩt tay đeơ đoăng boơ beđn phát và beđn thu nhaơn dữ lieơu. Có nghĩa là trước khi gởi dữ lieơu qua KIT thì máy tính phại tác đoơng moơt xung đeơ cho KIT vi xử lý biêt saĩp truyeăn sang và KIT sẵn sàng nhaơn dữ lieơu. Khi KIT nhaơn dữ lieơu xong moơt byte thì phại tác đoơng moơt xung cho máy tính biêt là KIT đã nhaơn xong moơt byte và yeđu caău máy tính gởi byte kê tiêp. Quá trình đó cứ tiêp túc cho đên khi hêt dữ lieơu.
a> Truyeăn dữ lieơu song song từ máy tính sang KIT:
Port B cụa 8255A(I) là port nhaơn dữ lieơu từ máy tính. Các đường tín hieơu từ port C cụa 8255A(II) làm tín hieơu baĩt tay đieău khieơn các đường nhaơn dữ lieơu cụa 8255A(I). cụa 8255A(II) làm tín hieơu baĩt tay đieău khieơn các đường nhaơn dữ lieơu cụa 8255A(I).
• Bit PC0 trở thành bit Strobe (strobe input, tác đoơng mức thâp). Khi chađn này xuông mức thâp báo cho vi xử lý biêt dữ lieơu từ máy tính xuât ra coơng này xuông mức thâp báo cho vi xử lý biêt dữ lieơu từ máy tính xuât ra coơng máy in.
• Bit PC4 được nôi với chađn ACK cụa LPT, chađn này tác đoơng mức thâp đeơ báo cho máy tính biêt là KIT đã nhaơn xong dữ lieơu. đeơ báo cho máy tính biêt là KIT đã nhaơn xong dữ lieơu.
• Bit PC5 nôi với chađn busy cụa LPT, bit PC5 = 1 báo cho máy tính biêt Kit vi xử lý đang nhaơn data, khi bit PC5 = 0 báo cho máy tính biêt là KIT đã Kit vi xử lý đang nhaơn data, khi bit PC5 = 0 báo cho máy tính biêt là KIT đã nhaơn xong dữ lieơu.
• Bit PC6 Và PC7 là các bít mà KIT vi xử lý tác đoơng veă đeơ người sử dúng biêt cháy xong chương trình ứng dúng cú theơ nào đó. biêt cháy xong chương trình ứng dúng cú theơ nào đó.
b>Quá trình nhaơn dữ lieơu :quá trình nhaơn dữ lieơu và thực hieơn chương trình cháy quang báo(cháy trái, cháy phại) đieău khieơn trực tiêp tređn máy tính, nghĩa là tređn máy quang báo(cháy trái, cháy phại) đieău khieơn trực tiêp tređn máy tính, nghĩa là tređn máy tính phại táo moơt menu và người sử dúng chư chĩn chê đoơ theo menu đó. Do đó tráng thái port C thâp cụa 8255A(II) cụa KIT luođn luođn đĩc vào đeơ thực hieơn theo yeđu caău cụa máy tính.
• Nêu giá trị port CL đĩc vào khác các giá trị 03h,09h,0Ah thì gõ noơi dung quang báo trực tiêp tređn KIT. quang báo trực tiêp tređn KIT.
• Nêu port CL đĩc vào là 03h có nghĩa người sử dúng muôn sử dúng máy tính gõ noơi dung vaín bạn, sau đó dữ lieơu truyeăn qua KIT và cùng lúc đó KIT tính gõ noơi dung vaín bạn, sau đó dữ lieơu truyeăn qua KIT và cùng lúc đó KIT đang ở chê đoơ sẵn sàng nhaơp dữ lieơu từ máy tính .
• Nêu port CL đĩc vào là 09h thì KIT vi xử lý tiên hành cháy chữ từ phại qua trái. qua trái.
• Nêu port CL đĩc vào là 0Ah thì KIT vi xử lý tiên hành chương trình cháy chữ từ trái qua phại. cháy chữ từ trái qua phại.
Luaơn vaín tôt nghieơp
CHƯƠNG 4: THIÊT KÊ PHAĂN MEĂM THIÊT KÊ PHAĂN MEĂM
A.THIÊT KÊ PHAĂN MEĂM Z80:IV.1.Taơp leơnh Z80: IV.1.Taơp leơnh Z80:
Taơp leơnh bao goăm các chư thị đeơ cho vi xử lý thực hieơn các hốt đoơng chính xác. Leơnh và dữ lieơu là các con sô nhị phađn đưa vào CPU theo Bus dữ lieơu và đưa vào vùng Leơnh và dữ lieơu là các con sô nhị phađn đưa vào CPU theo Bus dữ lieơu và đưa vào vùng nhớ đeơ có sự khác nhau duy nhât là vi xử lý cât leơnh vào thanh ghi và cơ câu giại mã còn dữ lieơu thì đưa đên thanh ghi dữ lieơu hay ALU. Máy tính nhaơn leơnh đưa vào dưới dáng leơnh nhị phađn, dáng này gađy khó khaín cho người viêt chương trình do vaơy người ta thường viêt chương trình dưới dáng gợi nhớ sau đó chuyeơn sang nhị phađn đeơ đưa vào CPU. Ở dáng gợi nhớ được chia làm hai phaăn :