Xem mẫu
- .
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
- .
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
- .
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
- .
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
- .
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
- .
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
- .
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
- .
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
- .
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
- .
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