Xem mẫu

  1. . Luaän vaên toát nghieäp Hình 26 : LÖU ÑOÀ TOÅNG QUAÙT CHÖÔNG TRÌNH MAIN Khôûi ñoäng heä thoáng nhö sau:  Khôûi ñoäng Stack ôû ñòa chæ 27FFh  Reset maïch baùo hieäu : xuaát ra giaù trò 0h ôû ñòa chæ 3000h.  Xoùa vuøng nhôù töø 1000h ñeán 1007h baèng giaù trò 00h.  Taïo baûng Hottime vaø Skiptime roãng coù ñòa chæ töø 1008h ñeán 103Dh baèng giaù trò 0FEh.  Choïn ngaét INT vaø cho pheùp ngaét.  Hieån thò thôøi gian thöïc ñaàu tieân 2 00 00 00. Töï ñoäng baùo hieäu. Quaù trình töï ñoäng baùo hieäu ñöôïc baét ñaàu ngay sau khi khôûi ñoäng heä thoáng, quaù trình naøy do moät voøng laëp thöïc hieän, moãi phuùt moät laàn. _ Chöông trình baét ñaàu duyeät baûng Hottime vaø Restime ñeå tìm moät thôøi ñieåm baùo hieäu baèng vôùi thôøi gian thöïc, neáu khoâng coù chöông trình quay veà chôø thöïc hieän quaù trình môùi. _ Neáu coù thôøi ñieåm truøng vôùi thôøi gian thöïc, chöông trình seõ duyeät baûng Skiptime. Neáu khoâng coù Skiptime baèng vôùi thôøi gian thöïc vaø thöù laø thöù 2 – 6 thì chöông trình ra quyeát ñònh baùo hieäu (neáu thôøi ñieåm baùo hieäu ñoù laø Restime). Neáu coù Skiptime baèng vôùi thôøi gian thöïc, nghóa laø thôøi ñieåm ñoù bò caám baùo hieäu, chöông trình seõ khoâng baùo hieäu vaø xoùa Skiptime ñoù. _ Sau khi baùo hieäu hay xoùa Skiptime xong chöông trình seõ xoùa Hottime (neáu thôøi ñieåm baùo hieäu laø (Hottime) roài trôû veà thöïc hieän quaù trình môùi. _ Khi nhaän quyeát ñònh baùo hieäu, chöông trình seõ laáy maõ chuoâng cuûa thôøi ñieåm caàn baùo hieäu. Moãi giaây 1 bit trong byte maõ chuoâng seõ ñöôïc truyeàn cho maïch baùo hieäu theo thöù töï töø D7 ñeán D0, möùc cao laøm chuoâng reo. Sau cuøng xuaát cho maïch möùc 0 ñeå reset. Sau 9 giaây chöông trình hoaøn taát vieäc baùo hieäu. Ñeå phaân bieät thôøi ñieåm baùo hieäu laø Restime hay Hottime, ta duøng moät maõ ñònh höôùng. Maõ ñònh höôùng naøy naèm trong thanh ghi C: Khi C = 0 ; ñònh höôùng Restime, C = 1; ñònh höôùng Hottime. Vaán ñeà xoùa Hottime vaø Skiptime: Ñeå baûng Hottime (Skiptime) vaãn giöõ ñöôïc caáu truùc laø danh saùch tuaàn töï sau khi xoùa Hottime (Skiptime), phaûi thöïc hieän theo caùch sau: dôøi nhöõng byte coøn laïi . Heä thoáng baùo giôø töï ñoäng
  2. . Luaän vaên toát nghieäp trong baûng keå töø sau khi Hottime (Skiptime) caàn xoùa ñeán ñòa chæ cuûa Hottime (Skiptime ) caàn xoùa.  Löu ñoà chi tieát chöông trình MAIN BAÉT ÑAÀU KHÔÛI ÑOÄNG HEÄ THOÁN G LAÁY GIÔØ, PHUÙT THÖÏC Y N ÑÒA CHÆ ÑAÀU BAÛNG PHUÙT THAY HOTTIME TRÖØ 3 ÑOÅI ? LAÁY PHUÙT THÖÏC LAÁY GIÔØ BAÙO HIEÄU KEÁ Y LAÁY ÑÒA CHÆ ÑAÀU BAÛNG RESTIME TRÖØ 3 PHAÛI EOFHT? N MINWT Y PHAÛI EOFRT? N N BAÈNG GIÔØ THÖÏC? Y LAÁY PHUÙT BAÙO HIEÄ U N BAÈN G PHUÙ T THÖÏ C ? Y CAÁM NGAÉT INT LAÁY ÑÒA CHÆ ÑAÀU . Heä thoáng baùo giôø töï ñoäng B AÛNG SKIPTIME TRÖØ 2
  3. . Luaän vaên toát nghieäp COØN SKIPTIME ? N N PHAÛI T7 HAY CN ? Y Y LAÁY GIÔØ SKIPTIME N PHAÛI HOTTIME / Y N BAÈNG GIÔØ THÖÏC ? LAÁY MAÕ CHUOÂNG Y LAÁY PHUÙT SKIPTIME LAÁY GIAÂY THÖÏC N BAÈNG PHUÙT THÖÏC ? N Y COÙ THAY ÑOÅI ? XOÙA SKIPTIME Y CAËP NHAÄT SOÁ SKIPTIME XUAÁT RA MAÏCH BAÙO HIEÄU DÒCH TRAÙI MAÕ CHUOÂNG N DÒCH ÑUÛ 9 BIT CHÖA ? Y PHAÛI HOTTIME ? N Y XOÙA HOTTIME CAP NHAÄT SOÁ HOTTIME HÌnh 27 : LÖU ÑOÀ CHI TIEÁT CHÖÔNG TRÌNH MAIN . Heä thoáng baùo giôø töï ñoäng
  4. . Luaän vaên toát nghieäp 3.3.2- Chöông trình RTP (Realtime program).  Moâ taû chöông trình . Chöông trình ñöôïc ñaët ôû ñòa chæ 0066h ñaùp öùng cho ngaét NMI. Taàn soá goïi ngaét laø 1Hz. Khi ñöôïc goïi, chöông trình RTP thöïc hieän nhö sau: Taêng giaây theâm 1. Khi giaây = 60 phaûi taêng phuùt theâm 1 vaø cho giaây baèng 0. Khi phuùt = 60 phaûi taêng giôø theâm 1 vaø cho phuùt baèng 0. Khi giôø = 24 phaûi taêng thöù theâm 1 vaø gaùn giôø baèng 0. Khi thöù = 8 phaûi gaùn thöù = 2 Khi giaây thöïc coù söï thay ñoåi, phaûi tham khaûo DPMASK ñeå quyeát ñònh vieäc hieån thò thôøi gian thöïc: Neáu DPMASK = 0 ; Hieån thò DPMASK = 1 ; Khoâng hieån thò.  Löu ñoà chi tieát chöông trình RTP . Heä thoáng baùo giôø töï ñoäng
  5. . Luaän vaên toát nghieäp BAÉT ÑAÀU CAÁT AF, BC, DE, HL VAØO STACK GIAÂY + 1 GIAÂY = 60 ? N Y GIAÂY = 0, PHUÙT + 1 PHUÙT = 60 ? N Y PHUÙT = 0, GIÔØ + 1 GIÔØ = 24 ? N Y GIÔØ = 0, THÖÙ + 1 THÖÙ = 9 ? N Y THÖÙ = 2 Y C OÙ CHE HIEÅN THÒ ? N HIEÅN THÒ THÔØI GIAN THÖÏC HOÀI PHUÏC AF, BC, DE, HL Hình 28 : LÖU ÑOÀ CHÖÔNG TRÌNH RTP KEÁT THUÙC . Heä thoáng baùo giôø töï ñoäng
  6. . Luaän vaên toát nghieäp 3.3.3-Chöông trình Settime.  Moâ taû chöông trình: Chöông trình Settime phuïc vuï ngöôøi söû duïng trong vieäc ñieàu chænh thôøi gian thöïc thoâng qua baøn phím nhaèm giuùp ngöôøi söû duïng ñieàu chænh thôøi gian thöïc baèng baøn phím. Do ñoùù, chöông trình Settime ñöôïc ñaët ôû ñòa chæ 08h trong vuøng nhôù. Chöông trình Settime seõ goïi chöông trình Keypro ñeå xöû lyù baøn phím nhaèm giuùp ngöôøi söû duïng ñieàu chænh thôøi gian thöïc baèng baøn phím. Tröôùc khi goïi Keypro, Settime caàn chuaån bò caùc döõ lieäu caàn thieát cho Keypro nhö:  Thanh ghi B chöùa giôø hieän taïi.  Thanh ghi C chöùa phuùt hieän taïi  Thanh ghi D chöùa thöù hieän taïi. Tröôùc khi thoaùt, Settime phaûi hieån thò laïi thôøi gian thöïc. Ngöôøi söû duïng phaûi theo qui ñònh cuûa chöông trình Keypro ñeå ñieàu chænh thôøi gian thöïc.  Löu ñoà chi tieát. . Heä thoáng baùo giôø töï ñoäng
  7. . Luaän vaên toát nghieäp BAÉT ÑAÀU CAÁT AF, BC,DE, HL VAØO STACK LAÁY THÖÙ GIÔØ PHUÙT HIEÄN TAÏI ÑAËT GIAÂY THUÏC = 0 KEYPRO HIEÅN THÒ THÖÙ GIÔØ PHUÙT THÖÏC PHUÏC HOÀI AF,BC,DE,HL TÖØ STACK KEÁT THUÙC Hình 29 : LÖU ÑOÀ CHÖÔNG TRÌNH SETTIME . Heä thoáng baùo giôø töï ñoäng
  8. . Luaän vaên toát nghieäp 3.3.4-Chöông trình Hottime.  Moâ taû chöông trình. Ñaây laø chöông trình phuïc vuï ngaét mode 0 ôû ñòa chæ 018h ñaûm nhieäm chöùc naêng veà Hottime: Xem nhöõng Hottime ñaõ coù trong baûng (goïi laø preview), xoùa nhöõng Hottime ñaõ coù trong baûng (goïi laø delete), ñaët moät Hottime môùi (goïi laø Insert). Löu ñoà toång quaùt nhö sau: . Heä thoáng baùo giôø töï ñoäng
  9. . Luaän vaên toát nghieäp BAÉT ÑAÀU CAÁT AF,BC,DE,HL VAØO STACK DPMASK =1 HIEÅN THÒ HOTTIME ÑÒA CHÆ Y PHAÛI PHÍM “+” HOTTIME KEÁ SAU N ÑÒA CHÆ Y PHAÛI PHÍM “-“ HOTTIME KEÁ TRÖÔÙC N Y PHAÛI PHÍM “DEL” XOÙA HOTTIME N Y PHAÛI PHÍM “OK” DPMASK = 0 N Y ÑAËT 1 PHAÛI PHÍM “Ins” HOTTIME MÔÙI HIEÅN THÒ THÔØI GIAN THÖÏC N HOÀI PHUÏC CAÙC THANH GHI KEÁT THUÙC Hình 30 : LÖU ÑOÀ TOÅNG QUAÙT CHÖÔNG TRÌNH HOTTIME . Heä thoáng baùo giôø töï ñoäng
  10. . Luaän vaên toát nghieäp Chöông trình Hottime seõ xöû lí caùc phím: Ins, +, -, Del/Date vaø phím OK ñeå giuùp ngöôøi söû duïng ñieàu khieån ba chöùc naêng treân. Khi chöông trình ñöôïc goïi, maëc nhieân seõ laø cheá ñoä thöïc hieän chöùc naêng Review vaø Delete, caùc phím aán nhö sau:  “+” : Hieån thò Hottime keá sau (khoâng hieån thò quay voøng).  “-“ : Hieån thò Hottime keá tröôùc (khoâng hieån thò quay voøng)  “Del”: Xoùa Hottime hieän haønh (ñang ñöôïc hieån thò).  “Ins” : Ñaët 1 Hottime môùi.  “OK”: Thoaùt. Neáu trong baûng coù Hottime thì Hottime ñaàu tieân seõ ñöôïc hieån thò khi chöông trình ñöôïc goïi. Coøn baûng Hottime roãng thì maïch hieån thò seõ taét (caùc Led 7 ñoaïn hieån thò giôø, phuùt ôû traïng thaùi Blank) vaø khi aán phím “+” hay “-“ maïch hieån thò vaãn taét. Neáu khoâng coù Hottime naøo trong baûng (caùc Led 7 ñoaïn hieån thò giôø, phuùt ôû traïng thaùi Blank), khi aán phím “Del” thì xuaát hieän thoâng baùo loãi do chöông con Error thöïc hieän. Khi xoùa Hottime xong, chöông trình seõ hieån thò laïi Hottime ñaàu tieân trong baûng. Khi ñaët 1 Hottime môùi: Neáu trong baûng ñaõ ñuû 10 Hottime chöông trình seõ duøng chöông trình con Error ñeå baùo loãi, aán “OK” ñeå boû loãi. Neáu trong baûng coøn Hottime roãng, chöông trình Hottime seõ goïi chöông trình con Keypro ñeå ngöôøi söû duïng duøng baøn phím choïn giôø, phuùt cho Hottime môùi. Tröôùc khi goïi Keypro, chöông trình Hottime phaûi xaùc ñònh ñòa chæ ñaët Hottime môùi ñeå truyeàn cho Keypro. Ngöôøi söû duïng duøng baøn phím theo quy ñònh cuûa chöông trình Keypro ñeå ñaët Hottime môùi. Khi thoaùt khoûi Keypro chöông trình tieáp tuïc ghi maõ chuoâng cho Hottime (0B7h) vaø trôû veà chöùc naêng preview vaø hieån thò Hottime vöøa caøi ñaët. Ñeå traùnh vieäc hieån thò thôøi gian thöïc do chöông trình RTP thöïc hieän, phaûi ñaët maët naï DPMASK=1 ñeå che hieån thò ôû ñaàu chöông trình Hottime vaø boû maët naï DPMASK = 0 ôû cuoái chöông trình Hottime ñeå cho pheùp RTP hieån thò thôøi gian thöïc trôû laïi.  Löu ñoà chi tieát Löu ñoà tieát chöông trình Hottime veõ ôû hình sau: . Heä thoáng baùo giôø töï ñoäng
nguon tai.lieu . vn