Xem mẫu
- 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
- Luaän vaên toát nghieäp
BAÉT ÑAÀU
C AÁT AF, BC, DE, HL VAØO STACK
DPMASK = 1
ÑÒA CHÆ ÑAÀU BAÛNG HOTTIME
HIEÅN THÒ HOTTIME (HT)
READKEY
ÑOÏC BAØN PHÍM
Y
N Y
ÑÒA CHÆ HT CUOÁI ? P HAÛI PHÍM “+”?
HT SAU
N
N Y
Ñ/C HT HT ÑAÀU ? PHAÛI “-“ ? XOÙA HT
TRÖÔÙC
N Y
Y Y N
COÙ HT ?
PHÍM “DEL” ? BAÙO LOÃI
N
Y
PHÍM “OK” ?
N
READKEY N DPMASK = 0
PHÍM “Ins” ?
Y
Y
BAÙO LOÃI Ñ UÛ 10 HT ? H IEÅN THÒ THÔØI GIAN THÖÏC
N
PHUÏC HOÀI CAÙC THANH GHI
ÑÒA CHÆ HT MÔÙI
KEYPRO KEÁT THUÙC
GHI MAÕ CHUOÂNG
Hình 31 : LÖU ÑOÀ CHI TIEÁT CHÖÔNG TRÌNH HOTTIME
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
3.3.5- Chöông trình SKIPTIME.
Moâ taû chöông trình:
Chöông trình Skiptime töông töï nhö Hottime phuïc vuï 3 chöùc naêng veà Skiptime :
Xem Skiptime coù trong baûng, xoùa Skiptime vaø ñaët Skiptime.
Chöông trình seõ ñöôïc ñaët taïi ñòa chæ 0028h trong vuøng nhôù ñeå phuïc vuï cho ngaét INT
mode 0.
Veà hoaït ñoäng hoaøn toaøn gioáng chöông trình Hottime nhöng Skiptime khoâng caàn ñaët
maõ chuoâng , ñòa chæ ñaàu baûng Skiptime laø 1028h vaø moãi Skiptime coù 2 byte.
Löu ñoà toång quaùt hoaøn toaøn gioáng nhö löu ñoà toång quaùt cuûa chöông trình Hottime.
Löu ñoà chi tieát:
Löu ñoà chi tieát chöông trình Skiptime gioáng nhö cuûa Hottime, ñöôïc veõ ôû hì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
ÑÒA CHÆ ÑAÀU BAÛNG SKIPTIME (ST)
HIEÅN THÒ SKIPTIME
READKEY
Y ÑOÏC BAØN PHÍM
N Y
ÑÒA CHÆ ST CUOÁI ? PHAÛI PHÍM “+”?
ST SAU
N
N Y
Ñ/C ST ST ÑAÀU ? PHAÛI “-“ ? XOÙA ST
TRÖÔÙC
N Y
Y Y N
PHÍM “DEL” ? COÙ ST ? BAÙO LOÃI
N
Y
PHÍM “OK” ?
N
READKEY N DPMASK = 0
PHÍM “Ins” ?
Y
Y
BAÙO LOÃI ÑUÛ 10 ST ? H IEÅN THÒ GIÔØ PHUÙT THÖÏC
N
PHUÏC HOÀI CAÙC THANH GHI
ÑÒA CHÆ ST MÔÙI
KEYPRO KEÁT THUÙC
Hình 32 : LÖU ÑOÀ CHI TIEÁT CHÖÔNG TRÌNH SKIPTIME
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
3.3.6- Chöông trình con DIPLAY:
Moâ taû chöông trình:
Ñeå coù theå hieån thò Thöù – Giôø – Phuùt - Giaây treân led 7 ñoaïn ôû daïng soá
thaäp phaân, ta caàn bieán ñoåi döõ lieäu thôøi gian ôû daïng soá HEX sang BCD. Muïc ñích
cuûa vieäc bieán ñoåi naøy laø ñeå chæ caàn thöïc hieän vieäc so saùnh thôøi gian thöïc taïo ra
töø 0 ñeán 9 thay vì phaûi so saùnh töø 0 ñeán 59.
Döõ lieäu thôøi gian thöïc naèm trong 4 byte 1004h, 1005h, 1006h,1007h ñöôïc
vieát sang vuøng ñeäm goàm 4 byte 1050h, 1051h,1052h,1053h töông öùng tröôùc khi
bieán ñoåi töø HEX sang BCD ñeå hieån thò.
Qua khaûo saùt cuï theå 60 giaù trò ñaàu cuûa soá HEX töø 0h ñeán 3Bh, töông öùng vôùi
soá BCD coù giaù trò töø 0 ñeán 59 ngöôøi vieát thaáy coù qui luaät bieán ñoåi nhö sau:
HEX GIA SOÁ BCD HEX GIA SOÁ BCD
00 00 1E 30
01 01 1F 31
02 02 20 32
03 03 21 33
04 04 22 34
05 + 00h 05 23 + 12h 35
06 06 24 36
07 07 25 37
08 08 26 38
09 09 27 39
0A 10 28 40
0B 11 29 41
0C 12 2A 42
0D 13 2B 43
0E 14 2C 44
0F + 06h 15 2D + 18h 45
10 16 2E 46
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
11 17 2F 47
12 18 30 48
13 19 31 49
14 20 32 50
15 21 33 51
16 22 34 52
17 23 35 53
18 24 36 54
19 + 0Ch 25 37 + 1Eh 55
1A 26 38 56
1B 27 39 57
1C 28 3A 58
1D 29 3B 59
Caùch khôûi taïo 8279:
LD HL,2001h
LD (HL),00000000B ; Hieån thò 8 kí töï loái vaøo traùi
LD (HL),00100101B ; Chia taàn soá xung clock ôû ngoõ vaøo chaân
soá 3 cho 5
Löu ñoà chöông trình hieån thò.
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
ÑÒA CHÆ LED THÖÙ - 1
INC HL
ÑÒA CHÆ LED GIAÂY +1 ?
LD A,(HL)
HOÀI PHUÏC AF, BC, DE,HL
A < 0Ah ?
KEÁT THUÙC A < 14h ? A A+06h
A < 1Eh ? A A + 0Ch
A < 28h ? A A + 12h
A < 32h ? A A + 18h
A < 3Ch ? A A + 1Eh
HIEÅN THÒ
Hình 33 : LÖU ÑOÀ CHÖÔNG TRÌNH DISPLAY
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
3.3.7- Chöông trình con KEYPRO:
Moâ taû chöông trình :
Caùc chöùc naêng Settime, ñaët Hottime/Skiptime caàn söû duïng baøn phím ñeå thay
ñoåi giôø, phuùt ñeán giaù trò mong muoán vaø quan saùt Giôø Phuùt ñang thay ñoåi treân
maøn hình. Chöông trình con KEYPRO nhaèm phuïc vuï yeâu caàu chung ñoù.
KEYPRO seõ xöû lyù caùc toå hôïp phím “Ins_+”, “Ins_ -“ ,“Del/Date _ +”,
“Del/Date _ -“ vaø caùc phím “+”, “-“,”OK”. Moãi phím khi aán seõ taïo ra 1 giaù trò
vaø thöïc hieän 1 chöùc naêng cho trong baûng sau:
PHÍM GIAÙ TRÒ CHÖÙC NAÊNG
Date_+ 0Edh Taêng thöù
Date_- 0EBh Giaûm thöù
Ins_+ 0FCh Taêng giôø
Ins_- 0FAh Giaûm giôø
+ 0FDh Taêng phuùt
_ 0FBh Giaûm phuùt
OK 0F7h Löu Giôø Phuùt vaø thoaùt
Baûng 8: CHÖÙC NAÊNG VAØ GIAÙ TRÒ CAÙC PHÍM
Löu yù: Caùc toå hôïp phím: ”Date_+” vaø “Date_-“, “Ins_+” vaø “Ins_-“ ñöôïc
taïo ra do aán phím “+” hay ”-“ trong khi aán vaø giöõ phím “Ins”, “Date”. Vì baøn
phím ñöôïc thieát keá nhö laø vuøng nhôù coù ñòa chæ töø 4000h ñeán 4FFFh neân khi ñoïc
baøn phím, chöông trình con KEYPRO thöïc hieän leänh ñoïc boä nhôù taïi ñòa chæ
4000h hay lôùn hôn (giôùi haïn trong vuøng nhôù cho pheùp) vôùi chu kyø khoaûng
175mS. Khoaûng thôøi gian ñoù laø ñuû ñeå choáng doäi cho phím ñöôïc aán ñoàng thôøi ñeå
quan saùt ñöôïc Giôø Phuùt ñang thay ñoåi lieân tuïc khi ngöôøi söû duïng aán vaø giöõ phím
“+” hay “-“. Moãi khi coù phím ñöôïc aán (ngoaïi tröø phím” OK”) nghóa laø thöù, giôø,
phuùt ñaõ coù söï thay ñoåi, KEYPRO seõ nhôø chöông trình con DISPLAY hieån thò giôø
phuùt ñaõ thay ñoåi.
Chöông trình trieäu goïi KEYPRO phaûi truyeàn cho KEYPRO ñòa chæ boä nhôù ñeå
ghi giôø phuùt ñaõ thay ñoåi, ñòa chæ naøy phaûi ñaët trong thanh ghi HL.
Löu ñoà chi tieát:
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
B AÉT ÑAÀU
C AÁT BC VAØO STACK
HIEÅN THÒ THÔÙI GIAN ÑANG THAY ÑOÅI
ÑOÏC B AØN PHÍM
LAÁY BC TÖØ STACK
Y Y
TAÊNG THÖÙ ? THÖÙ + 1 THÖÙ = 9 ? THÖÙ = 2
N N
Y Y
GIAÛM THÖÙ ? THÖÙ – 1 THÖÙ = 1 ? THÖÙ = 8
N N
Y Y
TAÊNG GIÔØ ? GIÔØ + 1 GIÔØ = 24 ? GIÔØ = 0
N N
Y Y
GIAÛM GIÔØ ? Giôø -1 GIÔØ = - 1 ? GIÔØ = 23
N N
Y Y
TAÊN G PHUÙT ? PHuùTù + 1 PhùuùT = 60 ? PhuùT = 0
N N
Y Y
GIAÛM PHUÙT ? PhuùT –1 PhuùT = -1 ? PhuùT = 59
N N
N
PHAÛI OK ?
Y
GHI THÔØI GIAN THÖÏC VAØO BOÄ NHÔÙÙ
KEÁT THUÙC
Hình 34 : LÖU ÑOÀ CHI TEÁT CHÖÔNG TRÌNH KEYPRO
Heä thoáng baùo giôø töï ñoäng
nguon tai.lieu . vn