Xem mẫu
- 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.46s
IC 74LS123 coù coâng thöùc tính ñoä roäng xung nhö sau:
= 0,45xRxC
Vôùi R = 1K, C = 0.047f
Ta coù = 0,45x 1000x0.047x10-6 = 21,1s
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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