Xem mẫu

  1. Luaän vaên toát nghieäp Hình 10: SÔ ÑOÀ MAÏCH ÑÒNH THÔØI. Do maïch dao ñoäng söû duïng nguoàn 1,5V neân tín hieäu ñònh thôøi ôû ngoõ ra seõ ñöôïc khuyeách ñaïi leân cho phuø hôïp v ôùi möùc logic cuûa maïch soá. Sau ñoù, tín hieäu ñònh thôøi seõ ñöôïc giôùi haïn ñoä roäng xung tröôùc khi ñöa ñeán chaân NMI cuûa Z80 baèng moät maïch ñôn oån (Mono Multivibrator). Ñoä roäng xung goïi ngaét NMI ñöôïc choïn phuï thuoäc vaøo thôøi gian thöïc hieän leänh daøi nhaát trong chöông trình Heä Thoáng. Thôøi gian thöïc hieän leänh daøi nhaát cuûa Z80 laø 23x1/fck (giaây) ñeå baûo ñaûm P nhaän ñöôïc ngaét moãi khi coù tín hieäu ngaét NMI = 0. Ñoä roäng xung goïi ngaét phaûi thoûa:  > 23x1/fck = 0.46s IC 74LS123 coù coâng thöùc tính ñoä roäng xung nhö sau:  = 0,45xRxC Vôùi R = 1K, C = 0.047f Ta coù  = 0,45x 1000x0.047x10-6 = 21,1s  xaáp xæ 45.1 laàn thôøi gian thöïc hieän leänh da øi nhaát cuûa P, giaù trò naøy cuûa  thoûa maõn yeâu caàu ñaët ra. 2.4.3_Maïch baøn phím (Keyboard): Ngöôøi söû duïng duøng baøn phím ñeå ñieàu chænh thôøi gian (Settime), ñaët caùc thôøi ñieåm baùo hieäu ñoät xuaát (Hottime), ñaët caùc thôøi ñieåm caám baùo hieäu (Skiptime), xem hoaëc xoùa noäi dung baûng Hotime/Skiptime. Ñeå ñaùp öùng caùc yeâu caàu treân, baøn phím seõ coù 5 phím vôùi teân goïi nhö sau : Ins, +, -, Del/Date vaø Ok chöùc naêng töøng phím do phaàn meàm qui ñònh. Caùch söû duïng baøn phím ñöôïc moâ taû chi tieát ôû phaàn “Moâ taû Heä Thoáng vaø höôùng daãn söû duïng”. Heä thoáng baùo giôø töï ñoäng
  2. Luaän vaên toát nghieäp Baøn phím ñöôïc thieát keá theo nguyeân taéc aùnh xaï boä nhôù, P seõ xem baøn phím nhö 1 byte nhôù. Baøn phím coù ñòa chæ thuoäc vuøng nhôù töø 4000h ñeán 4FFFh. P duøng tín hieäu ñieàu khieån ñeå truy xuaát baøn phím. Caùc phím aán khaùc nhau seõ laøm cho byte nhôù coù noäi dung khaùc nhau töông öùng vôùi chöùc naêng khaùc nhau cuûa moãi phím. Chu kì P ñoïc baøn phím nhö hình 11. CLOCK A0-A15 MERQ D0-D7 Hình 11: CHU KÌ P ÑOÏC BAØN PHÍM. Tín hieäu MERQ töø P seõ hieäu löïc hoùa vieäc giaûi maõ ñòa chæ taïo ra tín hieäu ñeå P ñoïc baøn phím. Baøn phím coù caáu taïo goàm moät IC ñeäm 8 bit 3 traïng thaùi vaø 5 Switch nhö sau: Hình 12: SÔ ÑOÀ CHI TIEÁT MAÏCH BAØN PHÍM . IC 74LS245 ñöôïc duøng laøm maïch ñeäm 8 bit 3 traïng thaùi neân baøn phím coù toái ña 8 phím. Hieän taïi baøn phím goàm 5 phím, P duøng tín hieäu ñieàu khieån KBD taùc ñoäng vaøo chaân G cuûa IC 74LS245 ñeå ñoïc baøn phím. Khi khoâng coù phím naøo Heä thoáng baùo giôø töï ñoäng
  3. Luaän vaên toát nghieäp ñöôïc aán, döõ lieäu ñoïc vaøo coù noäi dung laø 0FFh. Khi coù 1 phím ñöôïc aán, bit töông öùng seõ coù möùc logic thaáp. Ví duï, khi phím OK ñöôïc aán, döõ lieäu ñoïc ñöôïc seõ coù noäi dung laø 0F7h. Nhö vaäy, moãi phím töông öùng vôùi moät maõ sau: PHÍM AÁN MAÕ Ins 0FEh Ins_+ 0FCh Ins_- 0FAh + 0FDh - 0FBh Del 0EFh Ok 0F7h Del/Date _ + 0EDh Del/Date_ - 0EBh Baûng 4: BAÛNG MAÕ BAØN PHÍM Chöông trình xöû lí baøn phím seõ thöïc hieän caùc coâng vieäc phuø hôïp vôùi caùc maõ ñöôïc nhaän . Khi khoâng coù nhu caàu söû duïng baøn phím, ngoõ ra cuûa maïch ñeäm 8 bit ôû traïng thaùi toång trôû cao, baøn phím ñöôïc caùch ly khoûi bus döõ lieäu. Chöông trình phaàn meàm phaûi ñoïc phím sau moãi 200ms nhaèm muïc ñích: Choáng hieän töôïng naûy cuûa phím vaø ñeå ngöôøi söû duïng theo doõi ñöôïc söï thay ñoåi cuûa caùc con soá treân ñeøn hieån thò khi aán caùc phím. 2.4.4_Maïch kieåm soaùt ngaét (interupt controller). Heä Thoáng baùo giôø töï ñoäng coù 3 chöùc naêng: Setime, Hotime vaø Skiptime. Ñeå thöïc hieän caùc khaû naêng naøy, ngöôøi söû duïng seõ duøng tín hieäu ngaét INT ñeå baùo cho P bieát coâng vieäc caàn thöïc hieän ñeå phuïc vuï ngöôøi söû duïng. Taïi moãi thôøi ñieåm, ngöôøi söû duïng chæ coù theå laøm vieäc ôû 1 chöùc naêng hoaëc Setime hoaëc Hotime hoaëc Skiptime. Ngaét INT cuûa Z80 goàm 8 vectô ngaét, nhöng chæ coù 3 vectô ngaét ñöôïc duøng ñeå taïo neân 3 chöùc naêng treân. Nhieäm vuï cuûa maïch kieåm soaùt ngaét laø taïo ra 3 vectô ngaét khaùc nhau P seõ caên cöù vaøo vectô ngaét ñeå goïi chöông trình phuïc vuï töông öùng. Ñeå thuaän tieän trong söû duïng, Heä Thoáng seõ coù 3 led chæ thò töông öùng Heä thoáng baùo giôø töï ñoäng
  4. Luaän vaên toát nghieäp vôùi 3 chöùc naêng: Setime, Hottime vaø Skiptime maïch kieåm soaùt ngaét goàm caùc thaønh phaàn nhö sau: Töø timer NMI Z80 CHOÁT 8 BIT 3 SETTIME GIAÛI MAÕ VAØ TAÏO VECTÔ TRAÏNG CHÆ THÒ NGAÉT THAÙI HOTTIME DATA BUS SKIPTIME SELECT SW MAÏCH ACCECPT M1 INT IORQ GOÏI NGAÉT SW Hình 13: SÔ ÑOÀ KHOÁI MAÏCH KIEÅM SOAÙT NGAÉT. Maïch taïo vectô ngaét laø maïch ñeám modulo 4 ñoàng boä, seõ taïo ra 4 vectô ngaét (vectô ngaét goàm 8 bit coù daïng 11ttt111). Moãi vectô ngaét taïo ra töông öùng vôùi 1 chöùc naêng cuûa Heä Thoáng. Hieän taïi Heä Thoáng chæ söû duïng 3 vectô ngaét, caùc vectô ngaét coøn laïi daønh cho caùc yeâu caàu môû roäng chöùc naêng khi caàn. Baûng 5 trình baøy caùc vectô ngaét vaø chöùc naêng cuûa chuùng: VECTÔ NGAÉT ÑÒA CHÆ NGAÉT CHÖÙC NAÊNG 11001111 0008h Setime 11011111 0018h Phuïc vuï hotime 11101111 0028h Phuïc vuï Skiptime 11111111 0038h Chöa söû duïng Baûng 5: CHÖÙC NAÊNG VAØ ÑÒA CHÆ CAÙC VECTÔ NGAÉT. Khi coù tín hieäu goïi ngaét, P seõ phaùt ra 2 tín hieäu IORQ vaø M 1 ñeå ñoïc vectô ngaét ñang hieän dieän treân ñeäm 8 bit vaø thöïc hieän chöông trình phuïc vuï ngaét töông Heä thoáng baùo giôø töï ñoäng
  5. Luaän vaên toát nghieäp öùng vôùi vectô ngaét ñoù. Maïch giaûi maõ vaø chæ thò seõ laøm saùng led töông öùng vôùi vectô ngaét ñöôïc choïn. Ngöôøi söû duïng seõ duøng switch “select” ñeå löïa choïn vectô ngaét vaø aán switch “accept” ñeå goïi ngaét INT . Khi ôû chöùc naêng Setime, maïch kieåm soaùt ngaét seõ taïo ra tín hieäu ñieàu khieån döøng vieäc ñeám thôøi gian thöïc. Tín hieäu naøy seõ ñieàu khieån vieäc cho hoaëc caám tín hieäu Timer taùc ñoäng vaøo ngaét NMI . Khi khôûi ñoäng hoaëc tröôùc ñoù bò maát ñieän, Heä Thoáng seõ töï ñoäng ñaët ôû cheá ñoä Setime vaø ngöøng vieäc ñeám thôøi gian thöïc, luùc ñoù maïch taïo vectô ngaét töï ñoäng taïo ra vectô ngaét 11001111 vaø tín hieäu ngöøng ñeám thôøi gian. Coâng vieäc treân nhaèm traùnh cho Heä Thoáng baùo giôø sai, ñoàng thôøi ngöôøi söû duïng seõ bieát ñöôïc caàn phaûi ñaët laïi thôøi gian khi nhìn thaáy ñeøn chæ thò chöùc naêng Setime saùng leân. Maïch kieåm soaùt ngaét coù caáu taïo nhö sau: Hình 14: SÔ ÑOÀ CHI TIEÁT MAÏCH KIEÅM SOAÙT NGAÉT. IC 74LS245 ñöôïc duøng laøm ñeäm 8 bit 3 traïng thaùi, IC 74LS112 laøm maïch ñeám modulo 4, ñöôïc ñaët ôû cheá ñoä töï ñoäng reset khi môùi caáp ñieän. IC 4093 laøm nhieäm vuï giaûi maõ vaø thuùc caùc led chæ thò. IC 74LS123 laøm nhieäm vuï giôùi haïn xung goïi ngaét INT . Caùc switch aán ñeàu ñöôïc choáng doäi. Caùc chaân Q1, Q2 cuûa IC 74LS112 keát hôïp vôùi caùc chaân A1, A2, A3, A4, A5, A6,A7, A8 ñöôïc noái leân möùc Heä thoáng baùo giôø töï ñoäng
  6. Luaän vaên toát nghieäp cao cuûa IC 74LS245 ñeå taïo thaønh caùc vectô ngaét. P duøng tín hieäu IORQ vaø M 1 taùc ñoäng vaøo chaân G cuûa 74LS245 ñeå ñoïc noäi dung vectô ngaét. 2.4.5_Maïch hieån thò (Display). Maïch hieån thò coù nhieäm vuï thoâng baùo thôøi gian thöïc vaø cho pheùp ngöôøi söû duïng theo doõi ñöôïc coâng vieäc ñang thöïc hieän khi duøng baøn phím. Noäi dung hieån thò laø caùc con soá chæ thôøi gian (thöù, giôø, phuùt, giaây). Ñeøn hieån thò goàm 7 led 7 ñoaïn, moät led hieån thò thöù, hai led hieån thò giôø, hai led hieån thò phuùt vaø 2 led hieån thò giaây. Do ñaëc ñieåm cuûa Heä Thoáng laø phaàn queùt hieån thò caàn phaûi ñöôïc thöïc hieän ñoäc laäp vôùi vi xöû lí neân ngöôøi vieát söû duïng IC chuyeân queùt phím vaø hieån thò. Ñoù laø IC 8279 ñeå hieån thò. Caáu truùc phaàn cöùng 8279 Hình 15: SÔ ÑOÀ CHAÂN CHÖÙC NAÊNG IC 8279 Teân caùc chaân : TEÂN I/O CHÖÙC NAÊNG DB7 – DB0 I/O Data bus CLK I Clock input RESET I Reset input CS\ I Chip Select RD\ I Read input WR\ I Write input Heä thoáng baùo giôø töï ñoäng
  7. Luaän vaên toát nghieäp Ao I Address IRQ O Interrupt request input Sl0 - SL3 O Scan lines RL0 – RL3 I Return lines SHIFT I Shift input CNTL/STB I Control/Strobe input OUT A3 – 0 O Display (A) output OUT B3 – 0 O Display (B) output O Blank Display output BD Caáu truùc phaàn meàm cuûa 8279  IC 8279 coù 1 ñöôøng ñòa chæ A0 cho chöùc naêng löïa choïn nhö sau:  A0 = 02 : 8279 xem döõ lieäu töø vi xöû lí gôûi tôùi 8279 laø döõ lieäu ñeå hieån thò.  A0 = 12 :8279 xem döõ lieäu töø vi xöû lí gôûi ñeán laø döõ lieäu cuûa leänh ñieàu khieån 8279.  Caùc leänh ñieàu khieån cuûa 8279:  Keyboarb/display mode set: + Maõ 0 0 0 D D K K K + Trong ñoù hai bit DD duøng ñeå thieát laäp mode hieån thò, 3 bit KKK duøng ñeå thieát laäp mode queùt baøn phím. + Hai bit DD: DD = 00 : hieån thò 8 kí töï – loái vaøo traùi DD = 01 : hieån thò 16 kí töï - loái vaøo traùi DD = 10 : hieån thò 8 kí töï - loái vaøo phaûi DD = 11 : hieån thò 16 kí töï – loái vaøo phaûi + Ba bit KKK Heä thoáng baùo giôø töï ñoäng
  8. Luaän vaên toát nghieäp 000 : encode scan keyboard – 2 key lockout 001 : decode scan keyboard – 2 key lockout 010 : encode scan keyboard – N key lockout 011 : decode scan keyboard – N key lockout 100 : encode scan sensor matrix 101 : dencode scan sensor matrix 110 : strobe input, encode display scan 111 : strobe input, decode display scan  Program clock: + Maõ 0 0 1 P P P P P + Leänh naøy coù chöùc chia taàn soá xung clock ôû ngoõ vaøo clk ôû chaân soá 3, caùc bit PPPPP duøng ñeå xaùc ñònh soá chia naèm trong töø 2 ñeán 30, taàn soá hoaït ñoäng cuûa maïch queùt hieån thò vaø choáng doäi cuûa 8279 thöôøng laø 100KHz. Neáu taàn soá ngoõ vaøo laø 2MHz thì phaûi chia cho 20 ñeå ñöôïc 100 KHz. Khi ñoù caùc bit PPPPP coù giaù trò laø 10100  Read FIFO /sensor RAM. + Maõ 0 1 0 AI X A A A + 8279 coù 8 byte RAM beân trong ñeå chöùa maõ cuûa phím aán hay maõ cuûa caùc sensors, ñeå truy xuaát töøng byte maõ cuûa phím aán hay cuûa sesors ta coù theå ñieàu chænh caùc bit AAA töông öùng. Boä nhôù naøy thuoäc kieåu FIFO. + AI (automatically increment) : ôû möùc 1 coù chöùc naêng laøm con troû töï ñoäng taêng leân byte keá tieáp ñeå saün saøng cho vieäc ñoïc döõ lieäu. Neáu AI = 0 con troû seõ khoâng thay ñoåi.  Read display RAM: + Maõ 0 1 1 AI A A A A Heä thoáng baùo giôø töï ñoäng
  9. Luaän vaên toát nghieäp + 8279 coù 16 byte RAM beân trong do con troû 4 bit AAAA quaûn lyù. 16 byte Ram naøy duøng ñeå chöùa döõ lieäu hieån thò do vi xöû lí gôûi ñeán, ñeå ñoïc döõ lieäu oâ nhôù naøo trong vuøng nhôù Ram ta coù theå ñieàu chænh caùc bit AAAA töông öùng. Boä nhôù naøy thuoäc kieåu FIFO + AI (automatically increment): ôû möùc 1 coù chöùc naêng laøm con troû töï ñoäng taêng leân byte keá tieáp ñeå saün saøng ñoïc byte döõ lieäu. Neáu AI = 0 con troû seõ khoâng thay ñoåi.  End interrupt + Maõ 1 1 1 E 0 0 0 0 + Bit E = 1 seõ xoùa ngaét IRQ veà möùc 0  Leänh write display RAM. + Maõ 1 0 0 AI A A A A + 8279 coù 16 byte Ram beân trong do con troû 4 bit AAAA quaûn lyù 16 byte Ram naøy duøng ñeå chöùa döõ lieäu hieån thò do vi xöû lí gôûi tôùi. Ñeå gôûi döõ lieäu ñeán byte Ram töù maáy trong 16 byte Ram ta coù theå ñieàu chænh caùc bit AAAA töông öùng + AI (automatically increment): ôû möùc 1 coù chöùc naêng laøm con troû tö ïñoäng taêng leân byte keá ñeå saün saøng nhaän döõ lieäu. Neáu AI = 0 con troû seõ khoâng thay ñoåi do ñoù byte döõ lieäu sau seõ ñeø leân byte döõ lieäu tröôùc ñoù. Heä thoáng baùo giôø töï ñoäng
  10. Luaän vaên toát nghieäp Hình 16: SÔ ÑOÀ CHI TIEÁT MAÏCH HIEÅN THÒ. Caùch khôûi taïo 8279 ñöôïc trình baøy ôû phaàn thieát keá phaàn meàm. 2.4.6_Maïch ñieàu khieån baùo hieäu: Khi ñeán thôøi ñieåm baùo hieäu, Heä Thoáng phaùt ra tín hieäu ñieàu khieån thieát bò baùo hieäu hoaït ñoäng. Vieäc baùo hieäu ñöôïc theå hieän baèng ñeøn chôùp taét hay tieáng coøi, chuoâng ñieän. Caùch thöùc baùo hieäu nhö : soá hoài chuoâng vaø ñoä daøi caùc hoài chuoâng do phaàn meàm Heä Thoáng qui ñònh. Caùch thöùc baùo hieäu coù theå thay ñoåi baèng caùch thay ñoåi byte maõ chuoâng trong chöông trình phaàn meàm. Caùc thieát bò baùo hieäu coù theå ñöôïc caáp ñieän töø nguoàn ñieän khaùc vôùi nguoàn ñieän cuûa Heä Thoáng. Maïch ñieàu khieån baùo hieäu coù ñòa chæ töø 3000h ñeán 3FFFh. P seõ xuaát tín hieäu baùo hieäu ra maïch ñieàu khieån baùo hieäu baèng leänh ghi döõ lieäu vaøo 1 byte nhôù baát kì trong vuøng nhôù 3000h ñeán 3FFFh, P duøng tín hieäu BDR ñeå ñieàu khieån vieäc baùo hieäu. Maïch ñieàu khieån baùo hieäu coù sô ñoà khoái nhö hình 17. Heä thoáng baùo giôø töï ñoäng
nguon tai.lieu . vn