Xem mẫu
- Luaän vaên toát nghieäp
; Soá Hottime coù trong baûng.
SKTSTA EQU 1002h ; Traïng thaùi baûng Skiptime
; Soá Skiptime coù trong baûng
3.2.7- Phaân chia vuøng nhôù :
Trong khoâng gian 6KB goàm 4KB ROM vaø 2KB RAM boä nhôù cuûa Heä Thoáng
ñöôïc phaân chia nhö sau:
17FEh
STACK
102Eh
103Dh
BAÛNG SKIPTIME
1028h
1027h
BAÛNG HOTTIME
1008h
1007h
THÔØI GIAN THÖÏC
1005h
1004h
VUØNG ÑEÄM
1000h
0FFFh
BAÛNG RESTIME
0FA0h
0F9Fh
PHAÀN MEÀM
0000h
Hình 25: BAÛNG PHAÂN CHIA BOÄ NHÔÙ
3.3- Caùc chöông trình.
3.3.1-Chöông trình MAIN:
Moâ taû chöông trình:
Chöông trình MAIN ñöôïc ñaët vaøo vuøng nhôù baét ña àu töø ñòa chæ 0000h. Noù
ñöôïc thöïc hieän ngay khi heä thoáng vöøa ñöôïc caáp ñieän. Chöông trình MAIN seõ
khôûi ñoäng heä thoáng vaø thöïc hieän chöùc naêng töï ñoäng baùo hieäu. 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
CHÔØ 1 PHUÙT KHÔÛI ÑOÄNG HEÄ THOÁNG
N THÔØI GIAN
THÖÏC BAÈNG THÔØI ÑIEÅM
B AÙO HIEÄU ?
Y
Y
COÙ BAÙO HIEÄU
KHOÂNG ?
N
XOÙA SKIPTIME BAÙO HIEÄU
N
PHAÛI HOTTIME
KHOÂNG?
Y
XOÙA HOTTIME
Heä thoáng baùo giôø töï ñoäng
- 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
nguon tai.lieu . vn