Thiết kế mạch điều khiển xa bằng điện thoại

Các lệnh này thực hiện các phép toán như là cộng, trừ, tăng và giảm. · Cộng : bất kỳ một số 8 bit, hoặc nội dung của thanh ghi, hoặc nội dung của một ô nhớ có thể được cộng với nội dung của thanh ghi tích trữ và tổng được lưu vào thanh ghi tích trữ. Hai thanh ghi hoặc ô nhớ không thể cộng trực tiếp với nhau. Lệnh DAD là một ngoại lệ, nó cộng trực tiếp dữ liệu 16 bit trong các cặp thanh ghi. · Trừ : Bất kì một số 8 bit, hoặc nội dung của một thanh ghi, hoặc nội dung của một ô nhớ có thể được trừ từ nội dung của thanh ghi tích trữ. Lệnh trừ được thực hiện ở dạng bù 2, và kết quả nếu âm được biểu hiện ở dạng bù 2. Hai thanh ghi hoặc ô nhớ không thể được trừ trực tiếp. · Tăng/ giảm : Nội dung 8 bit của một thanh ghi hoặc một ô nhớ có thể được tăng hoặc giảm mỗi lần 1 đơn vị. Tương tự nội dung 16 bit của một cặp thanh ghi có thể cũng được tăng hoặc giảm đi 1. Các hoạt động tăng và giảm khác với phép cộng và trừ ở một cách thức rất quan trọng, đó là : chúng có thể được thực hiện trong bất kì thanh ghi hoặc ô nhớ nào.

doc65 trang | Chia sẻ: Dung Lona | Lượt xem: 1435 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Thiết kế mạch điều khiển xa bằng điện thoại, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
thoaïi. luùc naøy toång ñaøi ngöng caáp tín hieäu chuoâng vaø keát noái thoâng thoaïi cho 2 thueâ bao. Khi ñaõ thoâng thoaïi, ngöôøi ñieàu khieån nhaán ñuùng maõ password thì heä thoáng seõ saün saøng nhaän leänh ñieàu khieån. Neáu nhaán sai maõ password thì khoái taïo aâm hieäu seõ phaùt ra aâm hieäu nhaïc ñeå baùo raèng maõ password bò sai. Sau khi ngöôøi ñieàu khieån baám ñuùng maät maõ, ngöôøi ñieàu khieån seõ baám maõ choïn thieát bò muoán ñieàu khieån. Luùc naøy khoái nhaän vaø giaûi maõ DTMF seõ giaûi maõ soá baám thaønh maõ nhò phaân 4 bit gôûi vaøo khoái vi xöû lyù trung taâm. Khoái vi xöû lyù nhaän maõ thieát bò, ñoïc cô sôû döõ lieäu cuûa thieát bò ñoù vaø ñieàu khieån khoái baùo nhaïc baùo traïng thaùi hieän thôøi cuûa thieát bò nhaèm muïc ñích gôïi nhôù cho ngöôøi ñieàu khieån. Khi bieát ñöôïc traïng thaùi cuûa thieát bò ngöôøi ñieàu khieån seõ nhaán leänh taét – môû - ñònh thôøi gian laøm vieäc. Tuøy theo maõ leänh ñieàu khieån maø caùc khoái : ñònh thôøi, khoâng ñònh thôøi, reset thieát bò seõ nhaän leänh vaø thöïc hieän vieäc ñieàu khieån khoái khoái coâng suaát ñoùng ngaét relay. Ñoàng thôøi leänh ñieàu khieån ñöôït khoái queùt phím giaûi maõ vaø hieån thò döõ lieäu leân 10 led 7 ñoaïn. Vieäc nhaän daïng phím naøo bò nhaán ñöôïc khoái giaûi maõ DTMF quyeát ñònh. Khi ngöôøi ñieàu khieån nhaán 1 phím, moät caëp taàn soá DTMF truyeàn treân ñöôøng daây ñieän thoaïi. Taàn soá naøy naèm treân daõy thoâng cuûa tín hieäu thoaïi, moät taàn soá cao vaø moät taàn soá thaáp neân khoâng theå truøng laáp vôùi tín hieäu ngöôøi noùi. Khi giaûi maõ DTMF vaø hieån thò soá ñöôïc nhaán, 4 bit ñöôïc giaûi maõ ñöa vaøo khoái vi xöû lyù trung taâm ñeå xöû lí. Khi khoâng nhaán phím (töùc laø khoâng coøn tín hieäu ñieàu khieån), boä ñeám trong khoái caûm bieán chuoâng seõ thöïc hieän vieäc ñeám thôøi gian. Sau khi ñeám ñuû soá thôøi gian qui ñònh khoái keát noái thueâ bao thöïc hieän vieäc giaûi toûa thueâ bao. Ngöôøi ñieàu khieån coù theå gaùc maùy baát cöù luùc naøo muoán ngöøng ñieàu khieån, maïch seõ töï ñoäng ngaét keát noái thueâ bao sau moät khoaûng thôøi gian nhaát ñònh ñeå giaûi toûa thueâ bao. CHÖÔNG VI : TÍNH TOAÙN – THIEÁT KEÁ MAÏCH PHAÀN CÖÙNG SÔ ÑOÀ MAÏCH CPU – GIAO TIEÁP ÑÖÔØNG TRUYEÀN – BAØN PHÍM HIEÅN THÒ: KHOÁI CAÛM BIEÁN CHUOÂNG : Sô ñoà maïch : xem hình trang beân 1.2. Nguyeân lí hoaït ñoäng : Khi toång ñaøi caáp chuoâng cho thueâ bao. Tín hieäu chuoâng coù caùc thoâng soá 75Vrms ¸ 90Vrms, f = 25 Hz, 3 giaây coù 4 giaây khoâng. Tín hieäu naøy qua tuï C1, tuï C1 coù nhieäm vuï ngaên doøng DC chæ cho tín hieäu chuoâng ñi qua. Ñoàng thôøi C1 taïo ra suït aùp AC laøm giaûm bieân ñoä tín hieäu chuoâng. Sau ñoù tín hieäu chuoâng qua caàu diode ñeå chænh löu toaøn kì. Muïc ñích cuûa caàu diode khoâng nhöõng taïo ngoõ ra cuûa caàu diode tín hieäu ñieän aùp coù cöïc tính nhaát ñònh maø coøn taêng ñoâi taàn soá gôïn soùng, nhaáp nhoâ cuûa tín hieäu, nhö vaäy taàn soá gôïn soùng sau khi qua caàu diode laø 50Hz. Khi taàn soá lôùn hôn thì vieäc trieät tieâu ñoä nhaáp nhoâ cuûa tín hieäu deã hôn. tuï C2 duøng loïc bôùt ñoä nhaáp nhoâ naøy. tín hieäu ñi qua diode Zener, qua R1 phaân cöïc thuaän cho diode OPTRON. DZ coù taùc duïng choáng nhieãu, neáu nhieãu coù möùc ñieän aùp nhoû hôn ñieän aùp ngöôõng Vz thì Dz khoâng daãn, khoâng caáp doøng cho diode phaùt quang cuûa Optron. Khi diode optron phaân cöïc thuaän, diode naøy phaùt saùng kích vaøo chaân B cuûa BJT quang laøm cho BJT quang daãn baõo hoøa, laøm ñieän aùp cöïc E cuûa BJT quang leân möùc [1], möùc logic naøy ñöôïc qua 2 maïch tích phaân vaø vi phaân keát hôïp vôùi 2 coång ñaûo ñeå ñieàu khieån boä ñeám (4518) ñeám soá laàn ñoå chuoâng. Hình : maïch nhaän tín hieäu chuoâng 1.3. Thieát keá vaø tính toaùn : Tính toùan : Tín hieäu chuoâng cuûa toång ñaøi caáp cho thueâ bao coù ñieän aùp hieäu duïng khoûang 75Vrms ñeán 90Vrms , taàn soá 25 HZ . Choïn doøng qua optron laø Ioptron = 4mA ,suït aùp treân led optron khoûang 1,1V Choïn C1 laø tuï khoâng cöïc tính coù thoâng soá C1 = 0,47 F /250 V Ôû taàn soá cuûa tín hieäu chuoâng ,tuï C1 coù trôû khaùng : Z (c) = == 13,6 K Nhö vaäy ,ñieän aùp treân tuï C1 laø : V(c1) = Ic1 * Iopto = 113,6 K *4mA =54.4V Choïn ñieän aùp tín hieäu chuoâng laø 75 Vrms Ñieän aùp qua diode caàu laø : Vdiode caàu = 75 –Vc1 –VD =75 –54,4 –1,1 = 19,5V Choïn diode zener coù Vz = 15 V Tính ñieän trôû R20 : R20 = == 850 Choïn R20 = 1K Tuï C6 ,C7 laø tuï loïc caàu diode, choïn C6 = C7 =10F / 50 V Chuù yù : ñieän aùp chòu ñöïng cuûa C1 phaûi choïn sao cho lôùn hôn 2 laàn ñieän aùp ñænh cuûa tín hieäu chuoâng, töùc laø : Vc > 2 *90250V Choïn caàu coù diode coù doøng chòu ñöïng 1A. Ta choïn optron laø 4N35 coù caùc thoâng soá : IF = 10mA ( doøng ñieän qua diode beân trong optron coupler) VCEO = 30V Heä soá truyeàn ñaït 100%. Maïch ñieän ngoõ ra duøng transistor Hieäu ñieän theá caùch ñieän VDC =3350V Ñieän theá cuûa diode beân trong optron laø 1,5V taïi IF =10mA VCE = 0,3V taïi doøng ngoõ ra laø Ic =5mA KHOÁI KEÁT NOÁI THUEÂ BAO : 2.1. Sô ñoà maïch : 2.2. Nguyeân lí hoaït ñoäng : Diode caàu ñöôïc maéc song song vaøo 2 ñöôøng daây Tip – Ring. Treân ñöôøng daây naøy khoâng nhöõng coù tín hieäu aâm thoaïi AC maø coøn coù hieäu ñieän theá DC , do ñoù diode caàu naøy khoâng coù chöùc naêng chænh löu maø coù taùc duïng choáng ñaûo cöïc. Khi relay ñoùng maïch xuaát hieän doøng chaûy qua diode caàu nhöng chæ coù 2 diode ñöôïc phaân cöïc thuaän neân daãn. Khoái taïo trôû khaùng gioáng nhö 1 thueâ bao nhaác maùy goàm T12, R11, R12, C5 ñöôïc maéc nhö hình veõ taïo thaønh 1 nguoàn doøng ñeå laáy doøng ñoå vaøo maïch gioáng nhö cuûa moät thueâ bao cuûa böu ñieän. T12 coù nhieäm vuï thay theá 1 thueâ bao treân lónh vöïc trôû khaùng. Ñieän trôû DC cuûa moät maùy ñieän thoaïi laø » 300W, ñieän trôû xoay chieàu taïi taàn soá f = 1 KHz laø 700W ± 30%. Toång trôû vaøo cuûa maïch phaûi phuø hôïp vôùi caùc thoâng soá treân tuï C5 nhaèm loïc xoay chieàu. Neân veà maët xoay chieàu xem nhö T12 hôû maïch. Tín hieäu AC khoâng aûnh höôûng ñeán trôû khaùng DC cuûa maïch. 2.3. Thieát keá vaø tính toaùn : Choïn T12 laø C2383 coù caùc thoâng soá : Pc= 900mW IC = 1A = 60 320 Doøng thoâng thoïai cuûa toång ñaøi caáp ñeán maïch coù doøng töø 20mA 100mA .Ñieän trôû voøng qua maïch taûi giaû khoûang 1501500. Ta choïn : = 60 Doøng DC cuûa toång ñaøi caáp :IDC =20mA Choïn toång trôû DC cuûa taûi laø:9V Ñieän aùp do suït aùp cuûa caàu diode laø 1V. Choïn VCE =6V R4 ==100 doøng IB ====0,3333mA R11 ===16,2K Choïn R11 =18K Tuï C5 trieät tieâu tín hieäu thoïai ñöôïc choïn sao cho: ZC4 << << vôùi =2=300HZ laø taàn soá thaáp nhaát cuûa tín hieäu thoïai ,thay vaøo ta ñöôïc : C5 >> C5 >>=0,09 Choïn C5 =10/50V. KHOÁI NHAÄN VAØ GIAÛI MAÕ DTMF : 3.1. Sô ñoà maïch : 3.2. Nguyeân lí hoaït ñoäng : Ñieän aùp taïi ngoõ vaøo ST/GT goïi laø ñieän theá VC. Ban ñaàu caëp taàn soá cuûa maõ tone ñöôïc qua boä loïc taàn soá (dial tone filter). Boä naøy seõ taùch tín hieäu thaønh hai nhoùm. Moät nhoùm taàn soá thaáp, moät nhoùm taàn soá cao. Vieäc naøy thöïc hieän ñöôïc nhôø boä loïc thoâng daõy baäc saùu. Nhoùm thöù nhaát seõ loïc thoâng daõy taàn soá töø 697HZ ñeán 941HZ vaø nhoùm thöù hai seõ loïc thoâng daõy taàn soá töø 1209 HZ ñeán 1633 HZ. Hai nhoùm tín hieäu naøy ñöôïc bieán ñoåi thaønh xung vuoâng bôûi boä doø Zero crossing. Sau khi coù ñöôïc xung vuoâng, xung naøy ñöôïc xaùc ñònh taàn soá vaø kieåm tra chuùng coù töông öùng vôùi caëp taàn soá chuaån DTMF hay khoâng nhôø thuaät toùan trung bình phöùc hôïp (complex averaging). Nhôø kyõ thuaät naøy maø maïch seõ baûo veä ñöôïc caùc tone gaây ra töø tín hieäu beân ngoøai maø tín hieäu naøy laøm cho sai leäch taàn soá nhoû. Khi boä doø cuõng nhaän ñuû coù hai tone thích hôïp thì ngoõ ra EST seõ leân möùc cao. EST leân möùc cao seõ laøm cho VC taêng ñeán ngöôõng naøo ñoù maø lôùn hôn VTST thì seõ taùc ñoäng vaøo ngoõ ST/GT laøm caëp tone ñöôïc ghi nhaän. Luùc naøy ñieän theá taïi VC tieáp tuïc taêng leân. Sau moät thôøi gian treã nhaát ñònh thì ngoõ ra STD seõ chuyeån leân möùc cao. Luùc naøy caëp tone ñaõ ñöôïc ghi nhaän vaø saün saøng truy xuaát ôû ngoõ ra neáu ngoõ TOE ôû möùc tích cöïc cao thì 4 bit maõ ñaõ giaûi maõ ñöôïc seõ truy xuaát ra beân ngoøai. Sau moät thôøi gian chuyeån traïng thaùi leân möùc cao ngoõ STD seõ chuyeån xuoáng möùc thaáp vaø VC giaûm xuoáng, khi VC <VTST thì seõ ñieàu khieån thanh ghi doø caëp tone môùi . Nhö vaäy khi xuaát hieän 1 caëp taàn soá tone treân ñöôøøng daây ,qua tuï C6 ñöa vaøo ngoõ vaøo INthì ngoõ ra seõ xuaát hieän daïng nhò phaân 4 bit töông öùng . 3.3. Thieát keá vaø tính toùan maïch nhaän vaø giaûi maõ DTMF : Caùc thoâng soá cuûa 8870 do nhaø saûn xuaát höôùng daãn. Caùc giaù trò ñieän trôû, tuï ñieän, thôøi gian an toøan, baûo veä ñöôïc nhaø saûn xuaát ñöa ra : R5 =R6=100K R7 =300K C6 =C7=100nF Xtal =3,579545 MHZ Caùc thoâng soá kyõ thuaät cuûa maïch nhaän vaø giaûi maõ DTMF: Iol =2,5mA IoH=0,8mA Illl =0,1 VCC =+5V IDD =3mA, doøng nguoàn cung caáp P =15mW KHOÁI QUEÙT PHÍM, GIAÛI MAÕ VAØ HIEÅN THÒ : 4.1. Sô ñoà maïch :(hình veõ trang beân) 4.2. Thieát keá : Do yeâu caàu cuûa ñeà taøi neân trong ñeà taøi coù thieát keá khoái naøy nhaèm muïc ñích coù theå ñieàu khieån thieát bò taïi choã khoâng caàn thoâng qua ñieän thoaïi. Trong khoái naøy chuû yeáu söû duïng IC 8279 coù chöùc naêng queùt phím, giaûi maõ vaø hieån thò led 7 ñoaïn. Khoái naøy ñöôïc thieát keá nhö sau : IC 8279 thöïc hieän chöùc naêng queùt phím vaø hieån thò. IC 74154 thöïc hieän chöùc naêng giaûi maõ 4 ñöôøng thaønh 16 ñöôøng ñeå môû roäng soá löôïng phím nhaán. IC 7414 ñaûo möùc logic töø [1] ® [0] ñöa vaøo caùc chaân cuûa led 7ñoaïn Anode chung. Söû duïng 10 led ñeå hieån thò : 2 Led hieån thò soá chæ thieát bò. 4 Led hieån thò soá thôøi gian caøi ñaët. Ñoàng thôøi hieån thò maõ password môùi khi thöïc hieän vieäc thay ñoåi maõ. 4 Led hieån thò soá thôøi gian coøn laïi cuûa thieát bò trong quaù trình ñeám. Baøn phím ñieàu khieån goàm coù 15 phím nhaán. Trong ñoù goàm coù : 10 phím soá töø [0..9]. 2 phím chöùc naêng *, #. 1 phím reset vi xöû lyù 8085. 1 phím thay ñoåi password. 1 phím reset boä ñeám tín hieäu chuoâng. KHOÁI CPU VAØ BOÄ NHÔÙ : 5.1. Sô ñoà nguyeân lí : 5.2. Nguyeân lí hoaït ñoäng : Khi maïch hoaït ñoäng, vi xöû lyù kieåm soaùt heä thoáng baèng caùch queùt töø ñòa chæ ñaàu ñeán ñòa chæ cuoái trong vuøng nhôù 64Kbyte (vì 8085 coù 16 ñöôøng ñòa chæ A0 ¸ A15). Vì vi xöû lyù khoâng coù boä nhôù trong neân caàn phaûi coù boä nhôù ngoaøi ñeå löu tröõ nhöõng chöông trình ñeå vi xöû lyù hoaït ñoäng. vì vi xöû lyù trung taâm laø caàu noái trung gian giöõa caùc thieát bò ngoaïi vi vôùi nhau cuøng chung treân Data Bus. Trong moät heä thoáng vi xöû lyù, ngoaøi caùc phaàn töû nhôù (ROM, RAM), vi xöû lyù coøn phaûi thoâng tin vôùi caùc I/O ngoaïi vi (8253, 74LS573, 8279 ….). ñeå vi xöû lyù hieåu raèng, noù ñang hay caàn thoâng tin vôùi boä nhôù naøo (ROM hay RAM), hoaëc vôùi I/O naøo vaø vôùi phaàn töû naøo trong moät thieát bò (oâ nhôù naøo, thanh ghi naøo, traïng thaùi, ñieàu khieån hay thanh ghi döõ lieäu). Baét buoäc, vaán ñeà giaûi maõ ñòa chæ phaûi ñöôïc thöïc thi. Theo thieát keá, heä thoáng goàm coù 10 phaàn töû I/O ngoaïi vi vaø 2 phaàn töû nhôù (ROM, RAM). Heä thoáng söû duïng 2 IC 74138 ñeå thöïc hieän vieäc giaûi maõ, trong ñoù 1 IC duøng giaûi maõ theo boä nhôù, 1 IC duøng giaûi maõ theo I/O. Vì IC 74138 coù chöùc naêng giaûi maõ 3 ñöôøng thaønh 8 ñöôøng neân coù 8 phaàn töû ngoaïi vi ñöôïc giaûi maõ theo kieåu I/O, 2 phaàn töû ngoaïi vi ñöôïc giaûi maõ theo kieåu boä nhôù cuøng vôù ROM vaø RAM. Baûn ñoà giaûi maõ IO/ ñöôïc trình baøy trong baûng sau : Baûng 2 : baûng ñoà giaûi maõ kieåu boä nhôù: KHOÁI ÑIEÀU KHIEÅN THIEÁT BÒ : Trong khoái naøy bao goàm caùc maïch nhö : ñònh thôøi, khoâng ñònh thôøi, reset taûi, ñieàu khieån baùo aâm hieäu, maïch relay ñieàu khieån coâng suaát ngoõ ra, maïch taïo xung 60Hz. Sô ñoà nguyeân lí cuï theå nhö sau :(xem hình trang beân) Khoái ñònh thôøi : Trong khoái naøy söû duïng IC 8253 keát noái vôùi vi xöû lyù 8085 ñöôïc laäp trình caøi ñaët soá ñeám cho thieát bò. Moãi IC coù 3 boä ñeám, trong maïch söû duïng 3 IC8253 ñeå caøi ñaët soá ñeám ñieàu khieån 8 taûi. Tín hieäu ngoõ ra cuûa 8253 khi coù soá ñeám laø möùc [0] (khoâng ñeám laø möùc [1]), ngoõ ra naøy phoái hôïp vôùi ngoõ ra cuûa maïch khoâng ñònh thôøi qua coång OR ñöa ñeán ngoõ vaøo D cuûa Flip – Flop D ñeå ñieàu khieån relay ñoùng môû taûi. Khoái khoâng ñònh thôøi : Söû duïng IC 74LS573 nhaän leänh ñieàu khieån töø vi xöû lyù, choát vaø ñieàu khieån taûi qua 8 ngoõ ra Q0 ¸ Q7. Ngoõ ra cuûa 74LS573 keát hôïp vôùi ngoõ ra cuûa 8253 qua coång OR ñeå ñieàu khieån thieát bò. Khi ngoõ ra ôû möùc [1] thì ngoõ ra naøy khoâng coù taùc vuï trong vieäc ñieàu khieån. Khi ngoõ ra ôû möùc [0] thì ngoõ ra naøy coù taùc vuï ñieàu khieån thieát bò laøm vieäc khoâng ñònh thôøi. Khoái reset taûi : Söû duïng IC74LS573 nhaän leänh ñieàu khieån töø vi xöû lyù, choát vaø taùc ñoäng vaøo ngoõ RESET cuûa Flip –Flop D. Khi muoán taét thieát bò naøo thì ngoõ ra Reset cuûa thieát bò ñoù ôû möùc [0]. Coøn khi thieát bò ñang laøm vieäc thì ngoõ ra Reset ôû möùc [1]. Khi muoán taét khaån caáp 8 thieát bò thì 8 ngoõ ra cuûa maïch naøy taùc ñoäng möùc [0] vaøo 8 ngoõ vaøo RESET cuûa Flip – Flop D Khoái ñieàu khieån baùo aâm hieäu : Söû duïng 1 boä ñeám coøn dö cuûa 8253 ñeå ñieàu khieån taét môû aâm hieäu. Maïch ñieàu khieån baùo aâm hieäu duøng 2 Optron 4N35 nhaän tín hieäu töø boä ñeám 8253 vaø 74LS573 ñeå kích môû aâm hieäu töø maïch taïo aâm thanh ña haøi ñôïi. Khi vi xöû lyù nhaän bieát ñöôïc traïng thaùi cuûa thieát bò caàn ñieàu khieån thì vi xöû lyù gôûi leänh ñeå ñieàu khieån ñeán 2 ngoõ vaøo cuûa 74LS573. IC 74LS573 choát döõ lieäu naøy vaø keát hôïp vôùi tín hieäu (3 giaây) töø 8253 qua coång NOR ñeå ñieàu khieån maïch taïo aâm thanh phaùt ra aâm hieäu töông öùng vôùi traïng thaùi cuûa thieát bò. Nguyeân lyù hoïat ñoäng : Maïch khueách ñaïi duøng 1 transistor maéc theo kieåu EC vôùi taûi cöïc C laø 1 bieán aùp caùch ly coù heä soá voøng daây 1:1.Transistor ñöôïc phaân cöïc haïng A vôùi ñieän trôû phaân cöïc doøng R5 .Tín hieäu sau khi chuyeån ñoåi D/A thaønh tín hieäu aâm taàn analog ñöa tôùi cöïc B transistor khueách ñaïi qua tuï C5 .Ngoõ ra maïch khueách ñaïi laø cuoän thöù caáp cuûa bieán aùp ñöôïc maéc vaøo 2 daây thoïai vaø tín hieäu thoïai seõ taûi treân ñöôøng daây ñieän thoïai ñeå tôùi ngöôøi ñieàu khieån . Tính toùan thieát keá : Choïn bieán aùp caùch ly loïai coù tæ soá voøng 1:1,ñieän trôû DC sô caáp = ñieän trôû DC thöù caáp = 300 C5 = 10:tuï lieân laïc ; R5 = 22K : ñieän trôû phaân cöïc doøng Maïch taïo xung 60 Hz : Söû duïng IC 5369 chuyeân duïng taïo xung 60Hz ñeå caáp cho caùc boä ñeám trong 8253. Sô ñoà maïch nhö sau : Caùc thoâng soá cuûa tuï ñieän, ñieän trôû ñöôïc choïn nhö hình veõ. Maïch relay ñieàu khieån coâng suaát ngoõ ra : Sô ñoà maïch : Nguyeân lí hoaït ñoäng : Tín hieäu ñieàu khieån töø ngoõ ra cuûa 8253 vaø 74LS573 ñöôïc ñöa ñeán ngoõ vaøo D cuûa Flip – Flop D. Vì ngoõ vaøo cuûa FF D laø möùc [0] neân laáy tín hieäu ra ôû cuûa FF D ñeå ñaûo möùc logic taùc ñoäng caùc Transistor laøm ñoùng ngaét relay. Caùc tieáp ñieåm relay ñöôïc keát noái ra beân ngoaøi ñeå keát noái thieát bò caàn ñoùng ngaét. Thieát keá vaø tính toùan maïch khueách ñaïi vaø coâng suaát ra: Choïn relay 12V, coù ñieän trôû 100, ñieän aùp chòu ñöïng cuûa tieáp ñieåm laø 220V DC. Choïn T1 ¸ T8 laø C1815 coù doøng IC khoûang 400mA. Choïn doøng qua led laø 10mA. Tính RRA :RRA =220 Choïn RRA =220 Doøng qua relay: Irelay = Toång doøng IC laø IC =50mA+10mA=60mA Ñieàu kieän ñeå transistor baûo hoøa laø : IB(choïn Tính RRRA: RRRA = Ñeå baûo hoøa saâu, ta choïn RRRA =1K KEÁT LUAÄN – ÑAÙNH GIAÙ – HÖÔÙNG PHAÙT TRIEÅN TOÙM TAÉT NOÄI DUNG ÑEÀ TAØI : Noäi dung ñeà taøi goàm caùc phaàn sau : Phaàn giôùi thieäu toång quaùt veà ñeà taøi. Phaàn thieát keá phaàn cöùng vaø thieát keá phaàn meàm. Phaàn thi coâng. Qua caùc phaàn neâu treân ñaõ cho chuùng ta thaáy heä thoáng ñieàu khieån goàm coù 2 phaàn: phaàn cöùng vaø phaàn meàm. Trong ñoù caáu truùc phaàn cöùng goàm coù: Khoái giao tieáp vôùi ñöôøng truyeàn : chuû yeáu duøng IC MT8870, IC ñeám 4518 vaø OPTO ñaûm nhaän chöùc naêng nhaän bieát tín hieäu chuoâng, ñoùng taûi giaû vaø ñöa tín hieäu töø ñöôøng truyeàn vaøo vi xöû lyù 8085. Khoái vi xöû lí trung taâm vaø boä nhôù: goàm IC 8085, ROM vaø RAM 8 Kbyte löu tröõ caùc chöông trình ñeå ñieàu khieån toaøn boä heä thoáng cuõng nhö laøm caàu noái trung gian giöõa caùc khoái vôùi nhau, IC 74573 taùch döõ lieäu – ñòa chæ, IC 74138 giaûi maõ IO/M\. Khoái ñònh thôøi ñieàu khieån relay ñoùng môû taûi: khoái naøy duøng IC ñeám laäp trình ñöôïc 8253 keát hôïp vôùi Flip – Flop D (IC 7474) vaø relay taïo thaønh maïch ñieàu khieån taûi vôùi thôøi gian caøi ñaët tuøy yù. Khoái ñeäm döõ lieäu vaø ñòa chæ duøng IC 74LS244, 74LS245 vaø 74LS537. Khoái giaûi maõ hieån thò chuû yeáu duøng IC 8279, 15 phím nhaán vaø 10 led 7 ñoaïn hieån thò. Caáu truùc phaàn meàm ñaûm nhaän chöùc naêng lieân keát taát caû caùc khoái thaønh moät heä thoáng töï ñoäng thoâng qua caùc chöông trình ñöôïc löu tröõ trong ROM 2764 vaø RAM 6264. Goàm coù caùc chöông trình sau : p p p p p p Vôùi thôøi gian thöïc hieän ñeà taøi khoâng nhieàu nhöng vôùi söï coá gaéng nghieân cöùu, cuøng vôùi söï giuùp ñôõ taän tình cuûa giaùo vieân höôùng daãn neân ñeà taøi “Thieát keá heä thoáng ñieàu khieån xa caùc thieát bò ñieän coù ñònh thôøi baèng ñieän thoaïi höõu tuyeán” ñaõ theå hieän ñöôïc gaàn nhö ñaày ñuû caùc yeáu toá caàn coù trong 1 heä thoáng ñieàu khieån thieát bò. Qua phaàn giôùi thieäu, thieát keá vaø thi coâng ñaõ theå hieän roõ nhö theá naøo laø moät heä thoáng ñieàu khieån baèng ñieän thoaïi vaø hôn nöõa töï noù khaúng ñònh ñöôïc raèng trong töông lai heä thoáng naøy seõ ñöôïc ñöa vaøo öùng duïng trong thöïc tieãn. ÑAÙNH GIAÙ – HÖÔÙNG PHAÙT TRIEÅN ÑEÀ TAØI : Qua thôøi gian laøm ñoà aùn toát nghieäp, nhoùm sinh vieân thöïc hieän ñaõ hoaøn thaønh caû lyù thuyeát laãn thi coâng. Vôùi ñeà taøi naøy giuùp cho nhoùm sinh vieân thöïc hieän hoïc ñöôïc nhieàu ñieàu boå ích vaø naém vöõng hôn veà lyù thuyeát ñieän töû, nhaát laø trong lónh vöïc Böu chính Vieãn thoâng vaø vi xöû lyù. Trong thôøi gian laøm ñeà taøi, vôùi söï haïn cheá veà taøi lieäu vì vaäy ñoøi hoûi moãi sinh vieân cuûa nhoùm phaûi coá gaéng tìm toøi vaø nhieät tình trong coâng vieäc nghieân cöùu vaø cuoái cuøng ñeà taøi ñaõ hoaøn thaønh 1 caùch troïn veïn. Ñoù laø keát quaû cuûa 1 thôøi gian daøi noã löïc cuûa moãi sinh vieân trong nhoùm döôùi söï höôùng daãn taän tình cuûa giaùo vieân höôùng daãn Ts. Traàn Thu Haø vaø Thaày Nguyeãn Thanh Bình, cuøng vôùi söï giuùp ñôõ cuûa baïn beø neân ñeà taøi ñaõ hoaøn thaønh ñuùng thôøi haïn. Vôùi ñeà taøi naøy , yeâu caàu chuùng ta phaûi coù caùi nhìn toång quaùt veà nhieàu maët: kieán thöùc veà kyõ thuaät soá, töông töï, xöû lí tín hieäu, lí thuyeát maïch, kieán thöùc phaàn cöùng vaø phaàn meàm cuûa vi xöû lyù 8085, kieán thöùc veà Böu chính Vieãn thoâng… Nhoùm sinh vieân thöïc hieän ñaõ aùp duïng nhuaàn nhuyeãn giöõa lí thuyeát – thöïc haønh vaø taän duïng ñöôïc ñöôøng truyeàn coù saün cuûa maïng Böu chính Vieãn thoâng ñeå thieát keá phaàn cöùng vaø phaàn meàm hôïp lí cho vieäc ñieàu khieån ñöôïc thieát bò töø xa qua ñieän thoaïi. Ñeà taøi “Thieát keá heä thoáng ñieàu khieån xa caùc thieát bò ñieän coù ñònh thôøi baèng ñieän thoaïi höõu tuyeán” laø söï keát hôïp giöõa caùi cuõ vaø caùi môùi, giöõa caùc khoái rieâng leû thaønh 1 heä thoáng hoaøn chænh. Trong ñoà aùn ñaõ trình baøy khaù saâu saéc veà linh kieän cuõng nhö caáu truùc vaø chöùc naêng cuûa maïch. Noäi dung ñeà taøi ñöôïc trình baøy ñaày ñuû, hình thöùc roõ raøng, töø ngöõ thoâng duïng deã hieåu. Tuy nhieân trong quaù trình thieát keá vaø thi coâng vì maïch ñieän khaù phöùc taïp, thôøi gian thi coâng ít neân ñeà taøi ñaõ theå hieän ñöôïc nhöõng öu ñieåm vaø haïn cheá nhö sau : Nhöõng öu ñieåm : Heä thoáng ñieàu khieån ñöôïc 2 nôi : qua ñieän thoaïi vaø qua phím nhaán ñaët taïi maïch ñieàu khieån, ngoaøi ra taïi moãi thieát bò coøn coù 3 phím ON – OFF – taét khaån caáp 8 thieát bò raát thuaän tieän trong vieäc ñieàu khieån. Heä thoáng coù 10 led 7 ñoaïn hieån thò döõ lieäu cuûa thieát bò thuaän lôïi trong vieäc quan saùt quaù trình laøm vieäc cuûa thieát bò. Maõ ñieàu khieån (password) cuûa heä thoáng goàm 4 chöõ soá (ñeà taøi cuõ chæ coù 2 chöõ soá) ñöôïc caøi ñaët vaø thay ñoåi tuøy theo yù thích cuûa ngöôøi söû duïng, taêng tính bí maät cho heä thoáng vì xaùc suaát ngaãu nhieân baám ñuùng maät maõ thaáp. Heä thoáng ñieàu khieån ñöôïc 8 thieát bò (ñeà taøi cuõ chæ coù 2 thieát bò). Ngoaøi chöùc naêng ñieàu khieån taét môû thieát bò thoâng thöôøng nhö caùc ñeà taøi tröôùc, heä thoáng naøy coøn caøi ñaët ñöôïc thôøi gian laøm vieäc cho thieát bò vaø khi coù tröôøng hôïp khaån caáp coù theå taét ñoàng loaït 8 taûi ñeå phoøng ngöøa caùc tröôøng hôïp ñaùng tieác xaûy ra. Heä thoáng baùo traïng thaùi cuûa thieát bò baèng aâm hieäu nhaïc (khoâng duøng lôøi noùi), maïch baùo ñôn giaûn raát kinh teá, ñaûm baûo tính kó thuaät. Sôû dó heä thoáng naøy khoâng duøng tieáng noùi ñeå baùo vì: heä thoáng chuyeån ñoåi A/D, maïch taïo tieáng noùi raát phöùc taïp. Ñeå baùo traïng thaùi taét hoaëc môû cuûa thieát bò chæ caàn 2 aâm hieäu khaùc nhau töôïng tröng cho traïng thaùi taét / môû laø ñaït yeâu caàu veà maët kó thuaät, cuõng nhö raát kinh teá. Coøn neáu söû duïng tieáng noùi ñeå baùo thì xeùt veà maët kinh teá khoâng ñaït yeâu caàu vì nhö theá laø quaù dö khi chæ ñeå baùo thieát bò taét hay môû maø thoâi. Haïn cheá cuûa ñeà taøi: Do tình hình nghieân cöùu vaø khaû naêng cuûa baûn thaân coøn bò haïn cheá trong vieäc laäp trình vi xöû lí theo kieåu ngaét neân heä thoáng coøn naëng veà phaàn cöùng: ñeám tín hieäu chuoâng, ñieàu khieån ñoùng – môû taûi giaû do phaàn cöùng ñieàu khieån. Ñeà taøi chöa theå hieän ñöôïc caùc chöùc naêng ñieàu khieån töï ñoäng khaùc nhö : töï ñoäng traû lôøi ñieän thoaïi, töï ñoäng baùo chaùy, baùo troäm…. Ñoù chính laø giôùi haïn, ñoàng thôøi cuõng laø höôùng phaùt trieån cuûa ñeà taøi. Nhoùm sinh vieân thöïc hieän raát mong ñöôïc söï chæ daãn cuûa giaùo vieân höôùng daãn vaø söï ñoùng goùp sau naøy cuûa baïn beø nhaèm xaây döïng neân 1 heä thoáng ñieàu khieån môùi coù tính qui moâ cao hôn. Vì ñaây laø 1 heä thoáng vôùi chöùc naêng ña duïng, tieän ích, hieän ñaïi, kinh teá khoâng ngoaøi muïc ñích naâng cao ñôøi soáng tieän ích cho con ngöôøi. IC 8253 Sô ñoà chaân - caáu truùc beân trong vaø caùc tín hieäu vaøo/ ra : Hình 5.13 : Sô ñoà khoái cuûa 8253 Moâ taû hoaït ñoäng: General Sau khi ñoùng nguoàn, traïng thaùi cuûa 8253 khoâng xaùc ñònh. Mode, soá ñeám vaø ngoõ ra cuûa taát caû caùc boä ñeám ñeàu khoâng xaùc ñònh. Hoaït ñoäng cuûa moãi boä ñeám ñöôïc xaùc ñònh khi laäp trình cho noù. Boä ñeám phaûi ñöôïc laäp trình tröôùc khi söû duïng vaø nhöõng boä ñeám naøo khoâng duøng ñeán thì khoâng laäp trình. Programming the 82C53 (Laäp trình cho 8253). Caùc boä ñeám ñöôïc laäp trình baèng caùch ghi vaøo moät töø ñieàu khieån vaø moät soá ñeám. Taát caû töø ñieàu khieån ñeàu ghi vaøo trong thanh ghi töø ñieàu khieån, thanh ghi töø ñieàu khieån ñöôïc choïn khi A1A0 = 11 vaø töø ñieàu khieån seõ quy ñònh boä ñeám naøo ñöôïc laäp trình. Vì vaäy, soá ñeám phaûi ñöôïc ghi vaøo trong boä ñeám chöù khoâng ghi vaøo thanh ghi töø ñieàu khieån. A1A0 choïn boä ñeám caàn ghi vaø neáu ñaët soá ñeám ñöôïc xaùc ñònh bôûi töø ñieàu khieån. Write Operations (Hoaït ñoäng ghi). Hai ñieàu caàn löu yù khi laäp trình cho 8253. Ñoái vôùi moãi boä ñeám, töø ñieàu khieån phaûi ñöôïc ghi vaøo tröôùc soá ñeám. Soá ñeám phaûi theo caùch ñaët trong töø ñieàu khieån : hoaëc LBS, hoaëc MSB, hoaëc LBS tröôùc, MBS sau. Sau khi thanh ghi töø ñieàu khieån vaø 3 boä ñeám choïn ñòa chæ (A1A0) vaø moãi töø ñieàu khieån qui ñònh 1 boä ñeám laøm vieäc (SC1 SC0) thì khoâng yeâu caàu caáu truùc laäp trình phaûi ñuùng theo trình töï maø coù theå theo moät trong boán caùch sau: A1 A0 Control word - Counter 0 A1 A0 LBS of count - Counter 0 0 0 MSB of count - Counter 0 0 0 Control word - Counter 1 1 1 LBS of count - Counter 1 0 0 MBS of count - Counter 1 0 0 Control word - Coutner 2 1 1 LBS of count - Counter 2 1 0 MBS of count - Counter 2 1 0 Soá ñeám coù theå ghi vaøo boä ñeám baát kyø luùc naøo maø khoâng aûnh höôûng ñeán kieåu laäp trình cuûa boä ñeám. Soá ñeám chæ bò aûnh höôûng khi moâ taû trong ñònh nghóa kieåu hoaït ñoäng. Soá ñeám môùi phaûi sau soá ñeám ñaõ laäp trình. Neáu moät boä ñeám ñöôïc laäp trình ñeå ñoïc/ghi 2 byte soá ñeám thì chöông trình seõ khoâng chuyeån ñoåi vieäc ñieàu khieån giöõa ghi byte thöù nhaát vaø byte thöù 2 leân boä ñeám khaùc maø chæ ghi treân cuøng moät boä ñeám. Vì vaäy, soá ñeám sai coù theå ñöôïc ñöa vaøo boä ñeám. Real Operations (Hoaït ñoäng ñoïc). Coù ba phöông phaùp ñeå ñoïc boä ñeám: ñoïc ñôn giaûn, leänh choát boä ñeám vaø leänh ñoïc veà. Ñoïc ñôn giaûn : Ñeå ñoïc moät boä ñeám, ngoõ vaøo A1A0 phaûi ñöôïc choïn vì ngoõ vaøo xung clock cuûa boä ñeám ñöôïc choïn phaûi bò caám baèng caùch duøng chaân Gate hoaëc möùc logic ngoõ vaøo. Khi boä ñeám ñang ñeám luøi soá ñeám, neáu ñoïc soá ñeám thì keát quaû cho ra seõ khoâng chính xaùc. Leänh choát boä ñeám (Counter latch command) Gioáng nhö töø ñieàu khieån leänh naøy ñöôïc ghi vaøo thanh ghi töø ñieàu khieån ñöôïc choïn khi A1 A0 = 11 vaø bit SC1 SC0 löïa choïn 1 trong 3 boä ñeám bit D5D4 = 00 ñeå phaân bieät leänh naøy. Ngoõ ra cuûa boä ñeám ñöôïc choïn (OL) seõ choát soá ñeám ngay khi nhaän leänh choát vaø giöõ laïi cho ñeán khi CPU ñoïc ra (hoaëc khi boä ñeám laäp trình laïi), soá ñeám tieáp theo seõ khoâng ñöôïc choát töï ñoäng khi ñoù ngoõ ra choát cuûa boä ñeám ñöôïc choïn laëp laïi ñeå cho ra moät giaù trò ñeám khaùc (CE) . Ñieàu naøy cho pheùp ñoïc noäi dung cuûa boä ñeám trong laøm vieäc maø khoâng aûnh höôûng ñeán tieán trình ñeám. Coù theå duøng leänh choát nhieàu laàn ñeå choát nhieàu boä ñeám vaø seõ khoâng laøm aûnh höôûng ñeán kieåu laäp trình cuûa boä ñeám. Neáu moät boä ñeám ñöôïc choát sau ñoù tieáp tuïc tröôùc khi soá ñeám ñöôïc ñoïc ra thì leänh choát laàn 2 seõ ñöôïc boû qua vaø soá ñeám ñoïc ra seõ laø soá ñeám cuûa leänh choát ñaàu tieân. Vôùi caû hai phöông phaùp soá ñeám ñeàu ñöôïc ñoïc ra sau vieäc laäp trình ñaëc bieät neáu boä ñeám ñeå ñoïc/ghi 2 byte soá ñeám thì 2 byte phaûi ñöôïc ñoïc ra. Hai byte…. Moät ñaëc ñieåm khaùc cuûa 82C53 laø ñoïc vaø ghi treân cuøng moät boä ñeám coù theå ñöôïc chen vaøo. Ví duï : Moät boä ñeám ñöôïc laäp trình ñeå ñoïc/ghi 2 byte thì: Ñoïc LBS. Ghi LBS môùi. Ñoïc MBS. Ghi MBS môùi. Neáu moät boä ñeám ñöôïc laäp trình ñeå ñoïc/ghi 2 byte thì moät chöông trình khoâng phaûi chuyeån ñoåi vieäc ñieàu khieån giöõa ñoïc byte thöù nhaát vaø byte thöù 2 vôùi moät chöông trình khaùc maø chæ ñoïc treân cuøng moät boä ñeám vaø vì vaäy moät soá ñeám coù theå ñöôïc ñoïc ra. Leänh ñoïc veà (Read - back command) Leänh naøy cho pheùp ngöôøi söû duïng kieåm tra giaù trò ñeám, kieåu laäp trình traïng thaùi ngoõ ra vaø côø ñeám khoâng hôïp leä (null count flag) cuûa boä ñeám ñöôïc choïn. Leänh ñöôïc ghi vaøo thanh ghi töø ñieàu khieån (hình 10) vaø cho pheùp choïn boä ñeám töông öùng vôùi caùc bit D3, D2, D1 = 111. Leänh ñoïc veà duøng ñeå choát ngoõ ra choát cuûa nhieàu boä ñeám (OL) baèng caùch ñaët D5 = 0 vaø choïn boä ñeám caàn ñoïc. Chöùc naêng leänh naøy cuõng gioáng nhö caùc leänh choát boä ñeám khaùc. Moãi boä ñeám choát soá ñeám cho khi ñöôïc ñoïc ra (hoaëc ñöôïc laäp trình laïi). Boä ñeám ñoù khoâng töï ñoäng ñöôïc choát laïi giaù trò ñeám khi ñoïc nhö caùc boä ñeám khaùc. Neáu duøng leänh ñoïc veà nhieàu laàn treân cuøng 1 boä ñeám maø khoâng ñoïc ra soá ñeám thì soá ñeám ñoïc ra seõ laø giaù trò ngay khi nhaän leänh ñoïc veà. Leänh ñoïc veà cuõng ñöôïc duøng ñeå choát traïng thaùi thoâng tin (Status in formation) cuûa boä ñeám ñöôïc choïn baèng caùch ñaët D5 = 0 traïng thaùi ñöôïc choát ñeå ñoïc ra. (Hình 11). Bit D5 ñeán D0 chöùc kieåu laäp trình gioáng nhö kieåu töø ñieàu khieån tröôùc ñoù. Ngoõ ra D7 chöùc traïng thaùi hieän thôøi cuûa ngoõ ra. Ñieàu naøy cho pheùp ngöôøi söû duïng “giaùm saùt” ñöôïc ngoõ ra baèng phaàn meàm vaø coù theå loaïi boû ñöôïc 1 vaøi phaàn cöùng khoûi heä thoáng. Null Count bit D6 chæ ra raèng : khi soá ñeám sau cuøng ghi trong thanh ghi boä ñeám thì (Counter Register (CR)) ñöôïc ñöa vaøo trong Couting Element (CE) thôøi gian xaûy ra phuï thuoäc vaøo kieåu boä ñeám vaø moâ taû mode nhöng cho ñeán khi soá ñeám sau cuøng ñöôïc ñöa vaøo trong Couting Element (CE) thì noù khoâng theå ñoïc ra töø boä ñeám. Neáu soá ñeám ñöôïc choát hay ñoïc tröôùc thôøi gian naøy thì soá ñeám môùi seõ ñöôïc ghi vaøo (hoaït ñoäng null count ôû hình 12). Neáu leänh choát nhieàu traïng thaùi cuûa boä ñeám maø khoâng ñoïc ra thì chæ laàn choát ñaàu tieân bò boû qua vaø traïng thaùi ñoïc ra seõ laø traïng thaùi cuûa boä ñeám ngay khi nhaän leänh. Caø 2 soá ñeám vaø traïng thaùi cuûa boä ñeám ñöôïc choïn coù theå ñöôïc choát ñoàng thôøi baèng caùch ñaët vaø D5D4 = 0, gioáng nhö khi ñaët 2 leänh ñoïc veà cuøng luùc……… Mode Definition (Ñònh nghóa kieåu hoaït ñoäng). Clk pulse : xung clock taùc ñoäng baèng caïnh xuoáng vaø ngoõ vaøo xung clock cho töøng boä ñeám. TRIGGER : xung kích hoaït caïnh treân cuûa ngoõ vaøo gate cuûa töøng boä ñeám. COUNTER LOADING : Mode 0 : ngaét khi ñeám xong : Mode 0 ñöôïc duøng tieâu bieåu cho vieäc ñeám söï kieän. Sau khi ghi töø ñieàu khieån vaøo, ngoõ ra OUT = 0 cho ñeán khi boä ñeám ñaït tôùi 0. Ngoõ ra sau ñoù leân 1 trôû laïi cho ñeán khi gaëp 1 soá ñeám môùi hoaëc 1 töø ñieàu khieån cho Mode 0. Gate = 1 cho pheùp ñeám, Gate = 0 khoâng cho pheùp ñeám vaø Gate khoâng aûnh höôûng ñeán ngoõ ra. Sau khi töø ñieàu khieån vaø soá ñeám ghi vaøo boä ñeám thì soá ñeám seõ ñöôïc chuyeån ñeán boä ñeám ôû chu kyø ñoàng hoà sau. Xung naøy khoâng laøm giaûm soá ñeám vì vaäy khi naïp vaøo N soá ñeám thì ngoõ ra OUT = 0 trong (N + 1) xung Clock. Neáu naïp vaøo 2 byte soá ñeám thì : Byte ñaàu tieân (LSB), ngoõ ra xuoáng thaáp nhöng chöa cho pheùp ñeám. Byte thöù 2 (MSB) cho pheùp baét ñaàu ñeám treân chu kyø xung keá tieáp. Neáu chæ ghi LSB vaøo boä ñeám thì sau khi boä ñeám ñaït tôùi 0 seõ quay voøng laïi FFFFH vaø döøng boä ñeám. Tuy nhieân neáu LSB ñöôïc göûi ñi sau khi boä ñeám ñeám luøi töø FFFFH thì MSB ñöôïc ñöa vaøo boä ñeám ñeå ñeám maø khoâng döøng boä ñeám laïi. Ñieàu naøy cho pheùp trình töï ñeám xaûy ra ñoàng boä bôûi phaàn meàm. Neáu 1 soá ñeám ñöôïc ghi vaøo khi Gate = 0 thì noù seõ ñöôïc chuyeån ñeán xung Clock keá tieáp, khi naøo Gate = 1 thì ngoõ ra OUT = 0. Mode 1 : HARDWARE RETRIGGERABLE ONE – SHOT (ña haøi ñôn oån taùi kích hoaït). Ban ñaàu OUT =1, OUT = 0 khi coù xung Clock keøm theo 1 xung kích hoaït ñôn oån vaø giöõ möùc 0 ñeán khi boä ñeám veà Zero. Sau ñoù ngoõ ra seõ leân möùc 1 trôû laïi vaø giöõ cho ñeán khi gaëp 1 xung kích hoaït cuûa cöûa Gate. Khi naïp vaøo soá ñeám N vaø coù xung ñôn oån kích hoaït thì ngoõ ra ôû möùc 0 trong N xung clock. Khi ñoù neáu coù kích hoaït xung ñôn oån tieáp thì ngoõ ra vaãn khoâng ñoåi. Mode 2 : RATE GENERATOR (phaùt xung). Chöùc naêng cuûa Mode naøy gioáng nhö 1 boä ñeám chia N, noù ñöôïc söû duïng cho vieäc phaùt ra 1 chuoãi xung Clock ngaét quaõng. Ñaàu tieân ngoõ ra OUT = 1, khi soá ñeám giaûm ñeán 1 thì ngoõ ra OUT = 0 trong 1 xung. Sau ñoù OUT = 1 trôû laïi vaø boä ñeám laëp laïi quaù trình ñeám. Mode 2 laøm vieäc tuaàn hoaøn vaø trình töï laëp laïi khoâng ñònh roõ. Naïp vaøo soá ñeám N thì trình töï laëp laïi laø N chu kyø xung Clock. Gate = 1 cho pheùp ñeám, Gate = 0 trong suoát 1 xung Clock ngoõ ra thì OUT = 1 ngay laäp töùc. 1 Trigger ñöôïc taûi vaøo boä ñeám cuøng vôùi soá ñeám trong xung ñoàng hoà tieáp theo vaø ngoõ ra OUT = 0 trong N xung Clock coù Trigger coäng theâm ngoõ vaøo Gate coù theå söû duïng ñoàng boä vôùi boä ñeám. Sau khi ghi 1 töø ñieàu khieån vaø 1 soá ñeám, boä ñeám seõ ñöôïc chuyeån ñeán xung Clock keá tieáp. OUT = 0 trong N xung Clock, ñieàu naøy cuõng cho pheùp boä ñeám ñoàng boä vôùi phaàn meàm. Ghi soá ñeám trong khi ñeám seõ khoâng laøm aûnh höôûng ñeán trình töï ñeám. Neáu 1 Trigger ñöôïc nhaän sau khi ghi soá ñeám nôùi nhöng tröôùc khi keát thuùc moät chu kyø laøm vieäc thì boä ñeám seõ ñöôïc chuyeån ñi cuøng soá ñeám môùi vaøo chu kyø ñoàng hoà sau vaø tieáp tuïc ñeám luøi töø soá ñeám môùi. Hay soá ñeám môùi seõ ñöôïc chuyeån ñi ngay khi keát thuùc chu kyø ñeám vaø trong Mode 2 soá ñeám laø 1 seõ khoâng hôïp leä. Hình : Minh hoïa daïng soùng ngoõ ra ôû caùc moát hoaït ñoäng cuûa 8253 IC 8085 CAÁU TRUÙC BEÂN TRONG CUÛA 8085 Hình 5.3 trình baøy caáu truùc beân trong cuûa 8085. Noù bao goàm ñôn vò logic vaø soá hoïc ALU (Arithmetic and Logic Unit), ñôn vò ñònhthôøi vaø ñieàu khieån (Timing and Comtrol Unit), Boä giaûi maõ vaø thanh ghi leänh (Instruction Register and Decoder), Daõy thanh ghi (Register Array), ñieàu khieån ngaét (Interrupt Control) vaø ñieàu khieån I/O noái tieáp (Serial I/O Control). Ñôn vò logic vaø soá hoïc ALU : Ñôn vò naøy thöïc hieän caùc chöùc naêng tính toaùn : noù bao goàm Thanh ghi tích tröõ (Accumulator), Thanh ghi taïm (Temporary register), caùc maïch logic vaø soá hoïc, 5 côø baùo (Flag). Thanh ghi taïm ñöôïc duøng ñeå duy trì döõ lieäu trong suoát moät hoaït ñoäng soá hoïc vaø logic. Keát quaû ñöôïc löu tröõ vaøo thanh ghi tích tröõ vaø caùc côø (caùc Flip – Flop) ñöôïc ñaët (set : baèng 1) hoaëc bò ñaët laïi (reset : baèng 0) tuyø theo keát quaû cuûa hoaït ñoäng. Caùc côø chòu aûnh höôûng bôûi caùc hoaït ñoäng soá hoïc vaø logic trong ALU. Trong haàu heát caùc hoaït ñoäng naøy, keát quaû ñöôïc löu tröõ vaøo thanh ghi tích tröõ. Do ñoù caùc côø thöôøng phaûn aùnh caùc ñieàu kieän döõ lieäu trong thanh ghi tích tröõ tröø moät vaøi ngoaïi leä. Hình 5.3 Sô ñoà khoái chöùc naêng cuûa 8085 S – Sign Flag : Côø daáu : sau söï thi haønh cuûa moät pheùp toaùn hoaëc moät hoaït ñoäng logic, neáu bit D7 cuûa keát quaû (luoân luoân trong thanh ghi tích tröõ) baèng 1. Thì côø daáu ñöôïc ñaët. Côø naøy ñöôïc söû duïng vôùi caùc soá coù daáu. Trong moät byte ñöôïc cho, neáu D7 laø 1, soá naøy ñöôïc xem nhö soá aâm, neáu D7 baèng 0, soá naøy ñöôïc xem nhö soá döông. Trong caùc hoaït ñoäng lieân quan tôùi caùcsoá coù daáu, bit D7 ñöôïc phuïc vuï ñeå chæ thò daáu vaø 7 bit coøn laïi ñöôïc duøng ñeå ñaïi dieän cho ñoä lôùn (magnitude) cuûa con soá ñoù. Z – Zero Flag : Côø khoâng : Côø khoâng ñöôïc ñaët (Z = 1) neáu hoaït ñoäng ALU coù keát quaû baèng 0, côø ñöôïc ñaët laïi khi keát quaû khoâng baèng 0. Côø naøy ñöôïc ñieàu chænh bôûi keát quaû trong thanh ghi tích tröõ cuõng nhö trong caùc thanh ghi khaùc. AC – Auxiliary Carry Flag : Côø möôïc phuï : Trong moät hoaït ñoäng toaùn hoïc, khi soá möôïn (carry) ñöôïc phaùtra töø soá D3 vaø chuyeån sang soá D4, thì côø AC ñöôïc ñaët. Côø naøy chæ ñöôïc söû duïng beân trong ñoái vôùi caùc pheùp toaùn lieân quan ñeán soá BCD, vaø khoâng khaû duïng ñoái vôùi ngöôøi laäp trình muoán chuyeån ñoåi trình töï cuûa moät chöông trình baèng moät leänh nhaûy. P – Parity Flag : Côø chaün leû : Sau moät pheùp toaùn soá hoïc hoaëc moät hoaït ñoäng logic, neáu keát quaû coù moät soá chaün caùc soá 1, côø P ñöôïc ñaët (P = 1), neáu coù moät soá leû caùc soá 1 thì côø P ñöôïc ñaët laïi (P = 0). CY – Carry Flag : Côø möôïn : Neáu moät pheùp toaùn soá hoïc daãn ñeán söï vay möôïn, côø C ñöôïc ñaët, ngöôïc laïi thì noù ñöôïc ñaët laïi. Vò trí caùc bit phuïc vuï cho caùc côø naøy nhö sau trong thanh ghi côø : D7 D6 D5 D4 D3 D2 D1 D0 S Z x AC x P x CY Trong soá 5 côø, côø AC ñöôïc duøng beân trong ñoái vôùi caùc pheùp toaùn BCD : taäp leänh khoâng chöùa baát kì leänh nhaûy coù ñieài kieän naøo lieân quan ñeán côø AC. Trong boán côø coøn laïi, côø Z vaø Cy laø caùc côø ñöôïc söû duïng thöôøng xuyeân nhaát. Ñôn vò ñònh thôøi vaø ñieàu khieån : Ñôn vò naøy ñoàng boä vôùi taát caû caùc hoaït ñoäng cuûa vi xöû lyù baèng xung ñoàng hoà, phaùt ra caùc tín hieäu ñieàu khieån caàn thieát cho vieäc tryeàn thoâng tin giöõa vi xöû lyù vaø caùc ngoaïi vi. Caùc tín hieäu ñieàu khieån coù chöùc naêng töông töï nhö xung ñoàng boä (synchronous pule) trong moät dao ñoäng kí. Caùc tín hieäu RD\, WR\ laø caùc xung ñoàng boä chæ thò söï coù saün cuûa döõ lieäu treân tuyeán döõ lieäu. Thanh ghi leänh vaø boä giaûi maõ : Thanh ghi leänh vaø boä giaûi maõ thuoäc veà ALU. Khi moät leänh ñöôïc tìm thaáy töø boä nhôù, noù ñöôïc naïp vaøo thanh ghi leänh. Boä giaûi maõ seõ giaûi maõ leänh vaø thöïc thi trình töï cuûa caùc söï vieäc theo sau. Thanh ghi leänh khoâng theå ñöôïc laäp trình vaø khoâng theå bò xaâm nhaäp baèng baát kì leänh naøo. Daõy thanh ghi : Caùc thanh ghi laäp trình goàm coù : A, B, C, D, E, F, H, L. Moãi thanh ghi coù theå ñöôïc laäp trình ñoäc laäp hoaëc keát hôïp thaønh caëp thanhghi : AF = (PSW), BC = (B), DC = (D), vaø HL = (H). Ngoaøi ra coøn coù hai thanh ghi phuï, goïi laø caùc thanhghi taïm W vaø Z, thuoäc daõy thanh ghi. Caùc thanh ghi naøy ñöôïc söû duïng ñeå duy trì döõ lieäu 8 bit trong khi thi haønh moät soá leänh. Tuy nhieân vì chuùng ñöôïc duøng beân trong, neân chuùng khoâng khaû duïng ñoái ngöôøi laäp trình. Töùc laø, ngöôøi laäp trình khoâng caàn thieát phaûi quan taâm ñeán noäi dung trong 2 thanh ghi naøy. SP (Stact Pointer) – con troû ngaên xeáp, PC (Program Counter) – boä ñeám chöông trình laø 2 thanh ghi 16 bit voâ cuøng quan troïng. TAÄP LEÄNH CUÛA 8085. Moät leänh (Instruction) laø moät maãu nhò phaân (Binary pattern) ñöôïc thieát keá beân trong vi xöû lí ñeå thöïc hieän moät chöùc naêng cuï theå. Moät nhoùm ñuû caùc leänh, ñöôïc goïi laø taäp leänh (Instruction set), xaùc ñònh caùc chöùc naêng maø vi xöû lí coù theå thöïc hieän. Taäp leänh cuûa 8085 coù 74 leänh (hôn 8080 hai leänh), caùc leänh naøy coù theå ñöôïc phaân thaønh 5 nhoùm chöùc naêng : Caùc hoaït ñoäng (sao cheùp) truyeàn döõ lieäu. Caùc hoaït ñoäng toaùn hoïc. Caùc hoaït ñoäng logic. Caùc hoaït ñoäng reõ nhaùnh. Caùc hoaït ñoäng ñieààu khieån. Caùc hoaït ñoäng (sao cheùp) truyeàn döõ lieäu : Nhoùm leänh naøy sao cheùp döõ lieäu töø nôi nguoàn ñeán nôi ñích, maø khoâng heà ñieàu chænh noäi dung cuûa nôi nguoàn. Trong caùc soå tay kyõ thuaät, töø truyeàn döõ lieäu ñöôïc söû duïng cho chöùc naêng sao cheùp. Sau ñaây laø caùc daïng truyeàn döõ lieäu: Daïng truyeàn Giöõa caùc thanh ghi Byte döõ lieäu cuï theå ñeán thanh ghi hoaëc oâ nhôù Giöõa moät thanh ghi vaø moät oâ nhôù Giöõa moät thieát bò I/O vaø thanh ghi tích tröõ. Giöõa caëp thanh ghi vaø ngaên xeáp. Ví duï Sao cheùp noäi dung cuûa thanhghi B vaøo thanh ghi D Naïp vaøo thanh ghi B byte döõ lieäu 32H Töø oâ nhôù 2000H ñeán thanh ghi B. Töø baøn phím vaøo thanh ghi tích tröõ. Töø caëp thanh ghi BC ñeán 2 oâ nhôù ñöôïc ñònh nghóa nhö ngaên xeáp. Caùc hoaït ñoäng toaùn hoïc : Caùc leänh naøy thöïc hieän caùc pheùp toaùn nhö laø coäng, tröø, taêng vaø giaûm. Coäng : baát kyø moät soá 8 bit, hoaëc noäi dung cuûa thanh ghi, hoaëc noäi dung cuûa moät oâ nhôù coù theå ñöôïc coäng vôùi noäi dung cuûa thanh ghi tích tröõ vaø toång ñöôïc löu vaøo thanh ghi tích tröõ. Hai thanh ghi hoaëc oâ nhôù khoâng theå coäng tröïc tieáp vôùi nhau. Leänh DAD laø moät ngoaïi leä, noù coäng tröïc tieáp döõ lieäu 16 bit trong caùc caëp thanh ghi. Tröø : Baát kì moät soá 8 bit, hoaëc noäi dung cuûa moät thanh ghi, hoaëc noäi dung cuûa moät oâ nhôù coù theå ñöôïc tröø töø noäi dung cuûa thanh ghi tích tröõ. Leänh tröø ñöôïc thöïc hieän ôû daïng buø 2, vaø keát quaû neáu aâm ñöôïc bieåu hieän ôû daïng buø 2. Hai thanh ghi hoaëc oâ nhôù khoâng theå ñöôïc tröø tröïc tieáp. Taêng/ giaûm : Noäi dung 8 bit cuûa moät thanh ghi hoaëc moät oâ nhôù coù theå ñöôïc taêng hoaëc giaûm moãi laàn 1 ñôn vò. Töông töï noäi dung 16 bit cuûa moät caëp thanh ghi coù theå cuõng ñöôïc taêng hoaëc giaûm ñi 1. Caùc hoaït ñoäng taêng vaø giaûm khaùc vôùi pheùp coäng vaø tröø ôû moät caùch thöùc raát quan troïng, ñoù laø : chuùng coù theå ñöôïc thöïc hieän trong baát kì thanh ghi hoaëc oâ nhôù naøo. Caùc hoaït ñoäng logic: Caùc leänh naøy thöïc hieän caùc hoaït ñoäng logic khaùc nhau vôùi noäi dung cuûa thanh ghi tích tröõ. AND, OR, XOR : Baát kì moät soá 8 bit, hoaëc noäi dung cuûa 1 thanh ghi, hoaëc noäi dung cuûa moät oâ nhôù coù theå ñöôïc logic AND, OR, hoaëc XOR vôùi noäi dung cuûa thanh ghi tích tröõ. Xoay : Moãi bit trong thanh ghi tích tröõ coù theå ñöôïc dòch traùi hoaëc dòch phaûi ñeán vò trí keá tieáp. So saùnh : baát kì moät soá 8 bit, hoaëc noäi dung cuûa moät thanh ghi, hoaëc noäi dung cuûa moät oâ nhôù coù theå ñöôïc so saùnh baèng, lôùn hôn, hoaëc nhoû hôn vôùi noäi dung cuûa thanh ghi tích tröõ. Buø : Noäi dung cuûa moät thanh ghi tích tröõ coù theå ñöôïc laáy buø : taát caû 0 ñöôïc thay theá baèng 1 vaø toaøn boä 1 ñöôïc ñoåi thaønh 0. Caùc hoaït ñoäng reõ nhaùnh : Nhoùm caùc leänh naøy laøm thay ñoåi trình töï thi haønh chöông trình moät caùch coù ñieàu kieän hoaëc khoâng coù ñieàu kieän. Nhaûy : Caùc leänh nhaûy coù ñieàu kieän laø moät khía caïnh quan troïng ñeå ñöa ra nhöõng quyeát ñònh trong laäp trình. Caùc leänh naøy kieåm tra moät ñieàu kieän naøo ñoù (côø Zero hoaëc côø Carry) vaø laøm thay ñoåi trình töï chöông trình khi baét gaëp ñieàu kieän. Goïi, Trôû veà, Khôûi ñoäng laïi : Caùc leänh naøy laøm thay ñoåi trình töï cuûa moät chöông trình hoaëc baèng caùch goïi moät chöông trình con hoaëc trôû veà töø moät chöông trình con. Caùc leänh Goïi vaø Trôû veà cuõng coù theå kieåm tra caùc côø ñieàu kieän. Caùc hoaït ñoäng ñieàu khieån : Caùc leänh naøy ñieàu khieån caùc chöùc naêng vaän haønh nhö laø : Döøng, Ngaét, hoaëc khoâng laøm gì caû (No Operation). Taäp leänh vi xöû lí 8085 ñöôïc phaân thaønh 3 nhoùm tuyø theo kích côõ töø : Caùc leänh moät töø hoaëc 1 byte. Caùc leänh hai töø hoaëc 2 byte. Caùc leänh ba töø hoaëc 3 byte. Leänh moät byte chöùa maõ hoaït ñoäng (Opcode) vaø toaùn töû (Operand) trong cuøng moät byte. Trong leänh hai byte, byte thöù nhaát neâu leân maõ hoaït ñoäng vaø theo sau laø toaùn töû. Ñoái vôùi leänh ba byte, byte thöù nhaát cho bieát maõ hoaït ñoäng, hai byte keá tieáp laø döõ lieäu 16 bit (noäi dung hoaëc ñòa chæ). LAÄP TRÌNH CHO 8279 Ñeå coù khaû naêng söû duïng thaønh thaïo 8279, tröôùc tieân phaûi hieåu roõ baûn chaát caùc töø ñieàu khieån cuûa 8279. 8279 coù taát caû taùm töø ñieàu khieån, tuøy theo muïc ñích söû duïng maø seõ choïn töø ñieàu khieån thích hôïp. Ñaët Mode hieån thò / baøn phím. MSB LSB Maõ 0 0 0 D D K K K Trong ñoù, DD laø Mode hieån thò vaø KKK laø Mode baøn phím : DD 0 0 hieån thò 8 kí töï, 8 bit - ghi traùi. 0 1 hieån thò 16 kí töï, 8 bit - ghi traùi. 1 0 hieån thò 8 kí töï, 8 bit - ghi phaûi. 1 1 hieån thò 16 kí töï, 8 bit - ghi phaûi. Yù nghóa cuûa Ghi traùi (Left Entry) vaø Ghi phaûi (Right Entry) ñöôïc trình baøy hình 5.25. Chuù yù raèng khi queùt coù giaûi maõ ñöôïc ñaët trong Mode baøn phím, hieån thò seõ bò giaûm xuoáng 4 kí töï khoâng phuï thuoäc vaøo vieäc ñaët Mode hieån thò. KKK 0 0 0 baøn phím coù laäp maõ - khoùa ngoaøi 2 phím. 0 0 1 baøn phím queùt coù giaûi maõ - khoùa ngoaøi 2 phím. 0 1 0 baøn phím queùt coù laäp maõ - xoay voøng N phím. 0 1 1 baøn phím queùt coù giaûi maõ - xoay voøng N phím. 1 0 0 ma traän caûm bieán, queùt coù laäp maõ 1 0 1 ma traän caûm bieán, queùt coù giaûi maõ 1 1 0 ngoõ vaøo Strob, queùt hieån thò coù laäp maõ. 1 1 1 ngoõ vaøo Strob, queùt hieån thò coù giaûi maõ. Ôû Mode laäp maõ, caùc ngoõ ra SL taùc ñoäng möùc cao vaø theo sau laø maõ bit nhò phaân töø 0 ñeán 7 hoaëc töø 0 ñeán 15, tuøy theo hieån thò 8 hoaëc 16 soá ñöôïc choïn. Ôû Mode giaûi maõ, caùc ngoõ ra SL taùc ñoäng möùc thaáp vaø chæ moät trong boán ngoõ ra ôû möùc thaáp taïi thôøi ñieåm baát kyø ñöôïc cho. Caùc ngoõ ra giaûi maõ laäp laïi maãu : 1110, 1101, 1011 vaø 0111. Ôû mode Strob, moät xung taùc ñoäng möùc cao treân chaân CN/ST seõ Strob döõ lieäu töø caùc chaân RL vaøo FIFO beân trong, nôi maø chuùng ñöôïc duy trì cho vi xöû lí Laäp trình xung ñoàng hoà : Maõ 0 0 1 P P P P P Taát caû caùc tín hieäu ñònh thôøi vaø ña hôïp cho 8279 ñöôïc phaùt ra bôûi moät boä ñaët tröôùc tæ leä (precaler) beân trong. Boä ñaët tröôùc chia xung ñoàng hoà beân ngoaøi (chaân 3) cho moät soá nguyeân coù theå laäp trình. caùc bit P P P P P quyeát ñònh giaù trò cuûa soá nguyeân naøy, trong phaïm vi töø 2 ñeán 31. Haõy choïn soá chia sao cho ñaït ñöôïc taàn soá 100 KHz. RAM LOCATION DISPLAY POSITION 0 (A) A b C d 1 (b) 2 (C) (A) REPRESENTS (d) 7 SEGMENT CODE FOR A 5 6 7 (a) Left Entry RAM LOCATION DISPLAY POSITION 0 (A) A b C d 1 (b) 2 (C) (A) REPRESENTS (d) 7 SEGMENT CODE FOR A 5 6 7 (b) Right Entry Hình 5.25 : Moái lieân heä giöõa RAM 8279 vaø vò trí hieån thò Doïc FIFO / RAM caûm bieán : Maõ 0 1 0 AI X A A A X = khoâng quan taâm Töø ñieàu khieån naøy choïn ñòa chæ cuûa maõ phím caàn ñoïc trong RAM FIFO/ Caûm bieán. ÔÛ moát baøn phím coù queùt, côø taêng töï ñoäng AI (Auto - Inerement) vaø caùc bit ñòa chæ RAM (A A A) khoâng coøn khaû duïng. 8279 seõ töï ñoäng laùi tuyeán döõ lieäu cho moãi laàn ñoïc tieáp theo (Ao = 0) theo ñuùng trình töï maø ban ñaàu döõ lieäu ñöôïc nhaäp vaøo FIFO. Taát caû nhöõng laàn ñoïc tieáp theo seõ ñeán töø FIFO cho ñeán khi moät leänh khaùc ñöôïc taïo ra. Ôû moát ma traän caûm bieán, caùc it ñòa chæ RAM (A A A) choïn moät trong 8 haøng cuûa RAM caûm bieán. Neáu côø AI ñöôïc ñaët (AI = 1), moãi söï ñoïc keá tieáp seõ ñeán töø haøng tieáp theo cuûa RAM caûm bieán. Ñoïc RAM hieån thò Maõ 0 1 1 A1 A A A A Töø ñieàu khieån naøy choïn ñòa chæ cuûa byte döõ lieäu caàn ñoïc trong RAM hieån thò. Caùc bit ñòa chæ A A A A choïn moät trong 16 haøng cuûa RAM hieån thò.Neáu côø AI ñaët (AI = 1), ñòa chæ haøng naøy seõ ñöôïa taêng töï ñoäng sau moãi laàn ñoïc hoaëc ghi tieáp theo. Vì cuøng moät boä ñeám ñöôïc söû duïng cho caû hai hoaït ñoäng ñoïc vaø ghi. Töø leänh naøy ñaët ñòa chæ ñoïc hoaëc ghi keá tieáp vaø caûm nhaän moát töï ñoäng taêng cho caû hai hoaït ñoäng. Ghi vaøo RAM hieån thò Maõ 1 0 0 AI A A A A Töø ñieàu khieån naøy choïn ñòa chæ trong RAM hieån thò nôi caàn ghi döõ lieäu vaøo. Sau khi töø leänh vôùi Ao = 1 seõ ôû trong RAM hieän thò. Caùc chöùc naêng ñònh ñòa chæ vaø taêng töï ñoäng gioáng nhö ñoái vôùi ñoïc RAM hieån thò. Tuy nhieân töø leänh naøykhoâng aûnh höôûng ñeán nguoàn cuûa nhöõng laàn ñoïc döõ lieäu keá tieáp ; CPU seõ ñoïc baát kì RAM naøo (Hieån thò hoaëc FIFO / caûm bieán) ñöôïc neâu roõ sau cuøng, vieäc ghi vaøo RAM hieån thò, tuy nhieân seõ laøm thay ñoåi vò trí Ñoïc tieáp theo. Nhaáp nhaùy / Caám Ghi vaøo hieån thò Maõ 1 0 1 X IW IW BL BL Caùc bit IW coù theå ñöôïc söû duïng che nöûa byte A vaø nöûa byte B trong nhöõng öùng duïng ñoøi hoûi caùc coång hieån thò 4 bit taùch bieät. Baèng caùch ñaët côø IW (IW = 1) ñoái vôùi moät trong caùc coång, coång trôû neân ñöôïc ñaùnh daáu sao cho vieäc ghi vaøo RAM hieån thò töø CPU khoâng aûnh höôûng ñeán coång ñoù. Theá thì neáu moãi nöûa byte ñöôïc nhaäp moät boä giaûi maõ BCD, CPU coù theå ghi moät soá vaøo RAM hieån thò maø khoâng aûnh höôûng ñeán soá khaùc ñang ñöôïc hieån thò. Moät chuù yù quan troïng laø bit Bo töông öùng vôùi bit Do treân tuyeán döõ lieäu cuûa CPU, vaø bit A3 töông öùng vôùi bit D7. Neáu ngöôøi söû duïng muoán nhaáp nhaùy hieån thò, caùc côø Bl coù khaû duïng ñoái vôùi moãi nöûa byte. Leänh xoùa sau cuøng ñöôïc phaùt ra xaùx ñònh maõ ñöôïc söû duïng nhö moät “nhaáp nhaùy”. Maõ naøy ? taát caû baèng khoâng sau moät söï ñaët laïi. Chuù yù raèng caû hai côø BL phaûi ñöôïc ñaët ñeå nhaáp nhaùy moät hieån thò keát hôïp vôùi moät coång ñôn 8 bit. Xoaù Maõ 1 1 0 CD CD CD CF CA Caùc bit CD coù saün trong töø leänh naøy ñeå xoaù taát caû caùc haøng cuûa RAM hieån thò theo moät maõ coù theå choïn löïa ñöôïc nhö sau : CD CD CD 0 X taát caû baèng khoâng (X = khoâng quan taâm) 0 AB = 20H ( 0010 0000 ) 1 taát caû baèng 1 cho pheùp xoaù hieån thò khi = 1 (hoaëc bôûi CA =1) Trong suoát thôøi gian RAM hieån thò ñang bò xoùa( ~ 160mS), noù khoâng theå ñöôïc ghi vaøo. Bit coù troïng soá cao nhaát ( MSB) cuûa töø traïng thaùi ñöôïc ñaët trong suoát thôøi gian naøy. Khi RAM hieån thò trôû neân khaû duïng trôû laïi, bit naøy töï ñoäng ñöôïc ñaët laïi. Neáu CF = 1, traïng thaùi FIFO bò xoùa vaø ñöôøng ngoõ rangaét ñöôïc ñaët taïi haøng 0. CA, bit xoaù taát caû, coù söï aûnh höôûng cuûa CD vaø CF. Noù söû duïng CDxoùa maõ treân RAM hieån thò vaø cuõng xoùa traïng thaùi FIFO. Hôn theá nöûa, noù coøn ñoàng boä laïi söï ñònh thôøi beân trong. Ñaët moát baùo loãi / Ngaét ôû cuoái Maõ 1 1 1 E X X X X Ñoái vôùi moát ma traän caûm bieán, töø leänh naøy haï ñöôøng IRQ xuoáng thaáp vaø cho pheùp ghi vaøo RAM (ñöôøng IRQ ñöôïc naâng leân, phaùt hieän moät söï thay ñoåi trong moät giaù trò caûm bieán. Ñieàu naøy cuõng seõ caám ghi vaøo RAM cho ñeán khi ñaët laïi). Ñoát vôùi moát xoay voøng N phím, neáu bit E ñöôïc laäp trìng baèng 1, chip 8279 seõ hoaït ñoäng ôû moát baùo loãi. Khôûi taïo 8279 Maëc duø 8279 coù tôùi taùm töø ñieàu khieån, nhöng khoâng phaûi luùc naøo cuõng söû duïng heát taát caû taùm töø naøy. Khi khôûi taïo moät 8279, thöù töï caùc töø ñieàu khieån sau ñaây laø caàn thieát : + Ñaët moát hieån thò / baøn phím + Laäp trình xung ñoàng hoà + Xoùa RAM hieån thò hoaëc FIFO hoaëc caû hai Caùc töø ñieàu khieån coøn laïi coù theå ñöôïc gôûi ra thanh ghi ñieàu khieån trong luùc naøy hoaëc khi caàn. Vieäc ñoïc maõ cuûa baøn phímcoù theå ñöôïc thöïc hieän baèng moät trong hai caùch : duøng ngaét ( interrupt ) hoaëc duøng kyõ thuaät hoûi voøng ( polling ). Khi moät phím ñöôïc aán xuoáng, chaân IRQ cuûa 8279 taïo ra moät möùc logic cao, neáu duøng ngaét cuûa vi xöû lyù. Chöông trình phuïc vuï ngaét seõ ñoïc maõ cuûa phím aán.

Các file đính kèm theo tài liệu này:

  • docLUANVAN.DOC
  • docBEGIN.DOC
  • docBEGIN1.DOC
  • docBEGIN2.DOC
  • docBEGIN3.DOC
  • docBEGIN4.DOC
  • docBEGIN5.DOC
  • docBEGIN6.DOC
  • docBEGIN7.DOC
  • docBEGIN8.DOC
  • docBEGIN9.DOC
  • docBEGIN10.DOC
  • docBEGIN11.DOC
  • docKYBOARD1.DOC
  • docMONITOR.DOC