Professional Documents
Culture Documents
CHÖÔNG 1 :
GIÔÙI THIEÄU
Cuøng vôùi quaù trình phaùt trieån khoâng ngöøng cuûa xaõ hoäi, trong caùc lónh vöïc giaûi trí,
quaûng caùo, thöông maïi,… caùc baûng thoâng baùo ñoùng vai troø raát quan troïng trong vieäc
truyeàn taûi thoâng ñieäp ñeán caùc ñoái töôïng maø caùc coâng ty, nhaø saûn xuaát … caàn höôùng ñeán.
Ngaøy nay, quang baùo ñöôïc söû duïng roäng raõi ñeå thay theá cho caùc baûng thoâng baùo
tröôùc nay.
Öu vaø nhöôïc ñieåm cuûa Quang baùo so vôùi baûng thoâng baùo thoâng thöôøng :
¾ Öu ñieåm :
Caùc thoâng ñieäp ñöôïc truyeàn taûi moät caùc sinh ñoäng vaø gaây aán töôïng maïnh meõ hôn
ñeán caùc ñoái töôïng caàn höôùng ñeán, do ñoù ñaït hieäu quaû cao hôn.
Linh hoaït trong vieäc truyeàn taûi thoâng ñieäp.
Tuoåi thoï töông ñoái cao.
Khaû naêng öùng duïng trong nhieàu lónh vöïc.
¾ Nhöôïc ñieåm :
Chi phí cao.
Ñoøi hoûi moâi tröôøng hoaït ñoäng chuaån.
Ñoøi hoûi cheá ñoä baûo quaûn toát.
1.2 HIEÄN TRAÏNG SÖÛ DUÏNG QUANG BAÙO ÔÛ NÖÔÙC TA HIEÄN NAY :
Nhu caàu söû duïng baûng quang baùo ñieän töû ôû nöôùc ta hieän nay cuõng nhö treân theá
giôùi laø raát cao. Quang baùo ñöôïc öùng duïng roäng raõi trong caùc lónh vöïc quaûng caùo, giaûi
trí, thöông maïi, … noù ñöôïc söû duïng roäng raõi ôû caùc coâng ty, beänh vieän, ngaân haøng, … vôùi
muïc ñích chính laø ñeå moïi ngöôøi deã daøng naém baét thoâng tin.
Hình 1.3 : Quang baùo hoaït ñoäng theo nguyeân lyù con laéc
1.3.2 Öu vaø nhöôïc ñieåm cuûa quang baùo quay so vôùi baûng quang baùo ñieän töû :
¾ Öu ñieåm :
Taïo söï soáng ñoäng cho caùc vaät duïng ñöôïc keát hôïp vôùi quang baùo quay, gaây söï chuù
yù, taïo aán töôïng maïnh ñoái vôùi ngöôøi xem.
Kích thöôùc nhoû goïn.
Tính linh hoaït cao, coù theå öùng duïng treân moïi ñoái töôïng coù chuyeån ñoäng troøn nhö
caêm xe, caùnh quaït, …
Coù theå thay ñoåi khoaûng caùc giöõa caùc coät (ñoä roäng chöõ) deã daøng, khoâng nhö baûng
quang baùo ñieän töû khoaûng caùch giöõa caùc coät LED laø coá ñònh.
¾ Nhöôïc ñieåm :
Phuï thuoäc hoaøn toaøn vaøo toác ñoä chuyeån ñoäng troøn.
Haïn cheá veà noäi dung, hình thöùc thoâng ñieäp truyeàn taûi.
CHÖÔNG 2 :
TOÅNG QUAN
Giôùi thieäu caùc linh kieän :
chuùng bò maïch ngoaøi keùo xuoáng möùc thaáp thì caùc chaân Port 3 seõ trôû thaønh nguoàn doøng
bôûi caùc ñieän trôû noäi ñöôïc keùo leân beân trong.
Port naøy cuõng thuïc hieän caùc chöùc naêng ñaëc bieät nhö baûng sau :
Baûng 2.1 : Baûng chöùc naêng ñaëc bieät cuûa caùc chaân Port3 cuûa 89C2051
Port naøy cuõng nhaän caùc tín hieäu ñieàu khieån cho quaù trình ghi / naïp vaø kieåm tra.
¾ RST (chaân 1) :
Ngoõ vaøo Reset. Taát caû caùc chaân I/O seõ ñöôïc ñöa veà möùc 1 khi chaân RST ôû möùc
cao. Giöõ chaân RST ôû möùc cao trong 2 chu kyø maùy trong khi maïch dao ñoäng ñeå reset laïi
thieát bò.
¾ XTAL1 (chaân 5) :
Ngoõ vaøo cuûa maïch khueách ñaïi dao ñoäng ñaûo pha vaø cuõng laø ngoõ vaøo cuûa maïch
dao ñoäng noäi boä.
¾ XTAL2 (chaân 4) :
Ngoõ ra cuûa maïch khueách ñaïi dao ñoäng ñaûo pha.
¾ PSEN : (Program Store ENable):
PSEN laø tín hieäu ra treân chaân 29. Noù laø tín hieäu ñieàu khieån ñeå cho pheùp boä nhôù
chöôùng trình môû roäng vaø thöôøng ñöôïc noái ñeán chaân OE (Output Enable) cuûa moät
EPROM ñeå cho pheùp ñoïc caùc byte maõ leänh.
¾ ALE : (Address Latch Enable):
Tín hieäu ra ALE treân chaân 30 töông hôïp vôùi caùc thieát bò laøm vieäc vôùi caùc vi xöû
lyù 8085, 8088, 8086, 8951 duøng ALE moät caùch töông töï cho vieäc giaûi keânh treân caùc bus
ñòa chæ vaø döõ lieäu. Khi port 0 ñöôïc duøng trong cheá ñoä chuyeån ñoåi cuûa noù vöøa laø bus döõ
lieäu vöøa laø byte thaáp cuûa bus ñòa chæ, ALE laø tín hieäu ñeå choát ñòa chæ vaøo moät thanh ghi
beân ngoaøi trong nöûa chu kyø ñaàu cuûa boä nhôù. Sau ñoù, caùc ñöôøng port 0 duøng ñeå xuaát,
nhaäp döõ lieäu trong nöûa chu kyø sau cuûa chu kyø boä nhôù.
Caùc xung tín hieäu ALE coù toác ñoä baèng 1/6 laàn taàn soá dao ñoäng treân chip vaø coù
theå ñöôïc duøng laøm nguoàn xung nhòp cho caùc phaàn khaùc cuûa heä thoáng. Chæ ngoaïi tröø khi
thi haønh leänh MOVX, moät xung ALE seõ bò maát.
¾ EA : ( External Access):
Tín hieäu vaøo EA treân chaân 31 thöôøng maéc leân möùc cao (+5V) hoaëc möùc thaáp
(GND). Neáu ôû möùc cao seõ thi haønh chöông trình trong ROM noäi, ôû möùc thaáp chöông
trình chæ ñöôïc thi haønh ôû boä nhôù môû roäng. EA laø chaân caáp ñieän aùp 21V khi laäp trình cho
EEPROM trong 8951.
Ñeå söû duïng nguoàn dao ñoäng ngoaøi, chaân XTAL2 phaûi boû troáng vaø chaân XTAL1
ñöôïc noái vôùi maïch dao ñoäng ngoaøi.
Hình 2.3 : Keát noái vôùi maïch taïo dao ñoäng beân ngoaøi
CY AC F0 RS1 RS0 0V - P
• PSW.7: Côø nhôù (Carry Flag,CY) noù ñöôïc laäp hay ñöôïc xoùa bôûi
phaàn cöùng hoaëc phaàn meàm trong nhöõng leänh Logic hay nhöõng
pheùp tính chính xaùc. Côø naøy coù 2 muïc ñích, noù ñöôïc duøng trong
kieåu truyeàn thoáng cho caùc toaùn haïng, noù ñöôïc set khi coù Carry out
trong quùa trình add hoaëc ñöôïc set khi coù möôïn trong quùa trình
tröø.Ví duï: noäi dung thanh ghi A laø FFH khi coù leänh laø:
ADD A,#1
Keát quûa laø noäi dung trong thanh ghi A laø 00H vaø khi ñoù côø Carry
ñöôïc set leân 1.
Côø CY cuõng laø thanh ghi luaän lyù phuïc vuï nhö laø 1 bit thanh ghi cho
leänh toaùn haïng luaän lyù.
• PSW.6 : Côø nhôù phuï trôï(Auxilary Carry Flag ,AC).
Khi coäng giaù tri BCD côø AC ñöôïc set, neáu côø ñaõ phaùt sinh ôû bit 3
or ôû ngoõ vaøo bit 4 hay neáu keát quûa naèm trong caùc bit thaáp nhaát thì
noù naèm trong khoaûng 0Ah-0Fh. Neáu giaù trò coäng laø BCD, thì leänh
coäng phaûi hieäu chænh bôûi leänh:DAA.
• PSW.5 : Côø daønh cho ngöôøi söû duïng(F0).
• PSW.4 - PSW.3 : Löïa choïn baêng thanh ghi Rn.
00: Baêng 0 - ñòa chæ 00-07h.
01: Baêng 1 - ñòa chæ 08-0fh.
10: Baêng 2 - ñòa chæ 10-17h.
11: Baêng 3 - ñòa chæ 18-1fh.
Nhöõng bit löïa choïn baêng thanhghi (RS1, RS0) quyeát ñònh baêng
thanh ghi naøo hoaït ñoäng. Chuùng ñöôïc xoùa sau khi Reset heä thoáng
vaø ñöôïc thay ñoåi baèng phaàn meàm khi caàn.
• PSW.2 : Côø traøn (0V) ñöôïc set sau khi toaùn haïng coäng hoaëc tröø,
neáu coù moät pheùp toaùn traøn. Phaàn meàm coù theå kieåm tra bit naøy ñeå
xaùc ñònh, neáu keát quûa naèm trong khoaûng thích hôïp. Neáu keát quûa
lôùn hôn +127 hay nhoû hôn -128 khi ñoù bit 0V seõ ñöôïc set.
• PSW.1: Khoâng söû duïng.
• PSW.0 : Côø parity (P). Bit parity ñöôïc set hay clear moät caùch töï
ñoäng sau moãi chu kyø maùy ñeå thieát laäp tính chaün cho thanh ghi A.
Thanh ghi B :
Ñöôïc duøng trong caùc pheùp toaùn nhaân hoaëc chia (keøm vôùi thanh ghi A). Leänh
MUL AB thì noù nhaân 8 bit giöõa giaù trò trong thanh ghi A vaø B keát quûa laø 16 bit, 8 bit
thaáp naèm trong thanh ghi A, 8 bit cao naèm trong thanh ghi B. Vôùi leänh chia thì thöông
soá naøy trong thanh ghi A, coøn soá dö thì naèm trong thanh ghi B.
Thanh ghi SP (Stack Pointer) :
SP laø thanh ghi 8 bit, duøng laøm con troû Stack naèm ôû ñòa chæ 81H, noù chöùa ñòa chæ
cuûa Data treân ñænh Stack. Khi PUSH Stack thì noù seõ taêng thanh ghi SP tröôùc khi ghi
Data vaøo vaø POP töø Stack ra thì noù seõ giaûm SP tröôùc khi ñoïc Data töø Stack. Vuøng
Stack chæ naèm ôû vuøng RAM noäi, vaø noù giôùi haïn vieäc truy xuaát ñòa chæ baèng ñòa chæ giaùn
tieáp ñeå khôûi ñoäng SP, noù baét ñaàu ôû ñòa chæ 60h, leänh cho pheùp duøng laø: MOV SP,#5FH.
Thanh ghi DPTR :
DPTR laø thanh ghi 16 bit naèm taïi ñòa chæ 82H (DPL) vaø 83H(DPH) duøng laøm
con troû Data ñeå truy xuaát boä nhôù ngoaøi (boä nhôù chöông trình hoaëc Data). Caùc leänh sau
ñaây ghi 55h vaøo RAM ngoaøi taïi ñòa chæ 1000h:
MOV A,#55h MOV DPTR,#1000h MOVX @DPTR,A.
Caùc thanh ghi Timer :
89C2051 coù 2 boä ñeám 16bit. Boä ñeám Timer0 naèm taïi ñòa chæ 8Ah(TL0) vaø
8Ch(TH0). Boä ñeám Timer1 naèm taïi ñòa chæ 8Bh(TL1) vaø 8Dh(TH1). Hoaït ñoäng cuûa 2
boä Timer ñöôïc set baèng thanh ghi TMOD taïi ñòa chæ 89H vaø thanh ghi ñieàu khieån
TCON taïi ñòa chæ 88H.
Caùc thanh ghi Port noái tieáp :
Coù 2 thanh ghi ñeäm thu vaø ñeäm phaùt naèm cuøng taïi ñòa chæ 99H (SBUF). Caùc
mode hoaït ñoäng khaùc nhau cuûa Port noái tieáp coù theå laäp trình ñöôïc qua thanh ghi SCON
taïi ñòa chæ 98H.
Thanh ghi ñieàu khieån coâng suaát (PCON - Power Control Register) :
Thanh ghi ñieàu khieån coâng suaát (PCON) ôû ñòa chæ 87H chöùa nhieàu bit ñieàu
khieån
Caùc thanh ghi ngaét :
89C2051 coù 6 nguoàn ngaét vaø coù maïch giaûi quyeát öu tieân (2 möùc öu tieân). Vieäc
cho pheùp ngaét vaø caám ngaét thoâng qua thanh ghi IE taïi ñòa chæ A8H. Möùc öu tieân ñöôïc
set qua thanh ghi IP taïi ñòa chæ B8H.
EEPROM 24FC16 laø moät PROM 2K x 8 (16 Kbit) ghi naïp baèng ñieän theo chuaån
noái tieáp, hoaït ñoâng ôû taàm ñieän aùp töø 4,5V ñeán 5,5V. Coù theå duøng ñeå phaùt trieån cho caùc
öùng duïng low-power, nhö truyeàn thoâng caù nhaân hoaëc truyeàn nhaän döõ lieäu.
Linh kieän ñöôïc caáu truùc nhö 8 block boä nhôù 256 x 8bit hoaït ñoäng ôû toác ñoä cao
1MHz SE2.bus coù chöùc naêng töông ñöông I2C.bus theo tieâu chuaån coâng nghieäp.
EEPROM 24FC16 coù chöùc naêng page-write leân ñeán 16bytes döõ lieäu. Beân caïnh
ñoù laø chöùc naêng ñoïc random hoaëc tuaàn töï heát toaøn boä boä nhôù. Khaû naêng duy trì döõ lieäu
hôn 200 naêm, cho pheùp naïp/xoùa treân 10.000.000 laàn
Baûng 2.2 : Baûng chöùc naêng caùc chaân cuûa EEPROM 24FC16
Sô ñoà khoái :
EEPROM hoå trôï bus coù 2 daây hoaït ñoäng 2 chieàu, vaø thuû tuïc truyeàn döõ lieäu. 1
thieát bò coù theå göûi döõ lieäu vaøo bus ñöôïc xaùc ñònh nhö laø ñoái töôïng truyeàn, vaø 1 thieát bò
nhaän döõ lieäu ñöôïc xaùc ñònh laø ñoái töôïng nhaän. Bus phaûi ñöôïc ñieàu khieån bôûi 1 thieát bò
SVTH : TRẦN TRUNG CHAÙNH TRÖÏC
NGUYEÃN CHÍ TRUNG - 16 -
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC
Master caáp xung clock noái tieáp (SCL), ñieàu khieån truy nhaäp bus vaø phaùt ra ñieàu kieän
START vaø STOP, trong khi 24FC16 hoaït ñoäng nhö 1 thieát bò Slave. Caû Master laãn
Slave ñeàu coù theå hoaït ñoäng nhö ñoái töôïng truyeàn hay ñoái töôïng nhaän nhöng thieát bò
Master seõ xaùc ñònh cheá ñoä naøo seõ ñöôïc kích hoaït.
Truyeàn döõ lieäu tuaàn töï treân bus noái tieáp
Hình 2.9 : Döõ lieäu truyeàn tuaàn töï treân Bus noái tieáp
Ngay sau khi ñieàu kieän START ñöôïc phaùt ra töø Master, moät byte ñieàu khieån seõ
ñöôïc phaùt ra. Byte ñieàu khieån goàm 4 bit ñieàu khieån code, vôùi 24FC16, 4 bit naøy laø 1010
ñeå cho pheùp hoaït ñoäng ñoïc hoaëc ghi. 3 bit keá tieáp laø bit löïa choïn chip (B2, B1, B0), noù
ñöôïc choïn bôûi Master ñeå choïn löïa thieát bò naøo seõ ñöôïc truy caäp. Bit cuoái cuøng xaùc ñònh
hoaït ñoäng ñoïc hay ghi seõ ñöôïc thöïc thi, neáu laø 1 hoaït ñoäng ñoïc seõ ñöôïc choïn, neáu laø 0
hoaït ñoäng ghi seõ ñöôïc choïn.
Coù 2 caùch thöùc naïp: Byte Write vaø Page Write. Ñöôïc moâ taû nhö hình sau :
Byte Write :
Coù 2 caùch thöùc ñoïc: Ñoïc ngaãu nhieân (Random Read) vaø ñoïc tuaàn töï (Sequential
Read). Ñöôïc moâ taû nhö hình sau :
CHÖÔNG 3 :
TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG
HÌnh 3.1 : Quang baùo ñöôïc theå hieän treân quaït maùy
Hình 3.4 : Coå goùp vaø choåi than ñeå chuyeån ñieän leân maïch VÑK
Moät vaán ñeà chính caàn giaûi quyeát cuûa ñeà taøi laø cung caáp nguoàn cho maïch vi ñieàu
khieån. Vì maïch vi ñieàu khieån ñöôïc laép tröïc tieáp trong uï caùnh quaït neân noù seõ quay cuøng
caùnh quaït trong suoát quaù trình hoaït ñoäng, do ñoù caàn coù phöông aùn truyeàn nguoàn ñieän töø
beân ngoaøi vaøo maïch thoâng qua chuyeån ñoäng quay maø vaãn ñaûm baûo tính chaát nguoàn 1
chieàu caàn thieát.
ÔÛ ñaây, ta söû duïng coå goùp vaø chuoåi than.
1
C
2
1- Coå goùp
2- Chuoåi than
Hình 3.6 : Hình minh hoïa coå goùp vaø choåi than vaø maïch caàu Diode ñeå naén doøng
Hình 3.8 : Sô ñoà nguyeân lyù maïch caáp nguoàn cho vi ñieàu khieån
Nguoàn ñieän sau khi ñöôïc söû lyù seõ ñöôïc ñöa vaøo hai chuoåi than vôùi 1 cöïc aâm vaø 1
cöïc döông xaùc ñònh. Coå goùp ñöôïc chia thaønh 2 phaàn ñoái xöùng nhau, 2 phaàn naøy ñöôïc
taùch rôøi nhau bôûi 1 khoaûng coù ñoä roäng baèng vôùi beà roäng chuoåi than ( laø phaàn gaïch cheùo
treân Hình 3.6 ), muïc ñích laø traùnh söï ngaén maïch khi truyeàn ñieän. Trong quaù trình quay,
thoâng qua söï tieáp xuùc giöõa coå goùp vaø chuoåi than, nguoàn ñieän seõ ñöôïc ñöa leân maïch töø 2
phaàn cuûa coå goùp. Do ñoù cöù ôû nöûa chu kyø ñaàu cuûa 1 voøng quay thì S1 coù giaù trò +12V vaø
nöûa chu kyø coøn laïi thì coù giaù trò 0V, vôùi S2 thì ngöôïc laïi. Do ñoù nguoàn ñieän S1/S2 sau
khi qua boä coå goùp choåi than trôû thaønh nguoàn ñieän xoay chieàu 12VAC, neân em phaûi
duøng 1 caàu diode ñeå naén thaønh nguoàn 1 chieàu vaø cho qua 7805 ñeå coù nguoàn 5VDC
cung caáp cho vi ñieàu khieån hoïat ñoäng vaø phaùt saùng LED.
Khi chuoåi than ôû vaøo vò trí ngaên caùch thì maïch seõ bò ngaét, do ñoù ta söû duïng tuï C
vôùi giaù trò thích hôïp ñeå tích ñieän vaø cung caáp cho maïch taïi thôøi ñieåm naøy.
Hình 3.11 : Sô ñoà nguyeân lyù maïch caáp tín hieäu hoài tieáp.
R23 : 22 (Ohm)
3.1.3.5 Nguyeân lyù maïch giao tieáp maùy tính duøng MAX232:
Hình 3.12 : Sô ñoà nguyeân lyù maïch giao tieáp maùy tính duøng MAX232.
Do haïn cheá veà kích thöôùc maïch, do ñoù em thieát keá maïch MAX232 rieâng, vaø
duøng daây noái caùc connector ñeå truyeàn döõ lieäu qua caùc chaân RXD vaø TXD. Vì lyù do khi
can truyeàn döõ lieäu, ta phaûi taét quaïy, ñeå quaït khoâng quay, khi ñoù nguoàn 12VAC S1/S2
seõ khoâng coøn, do ñoù treân maïch MAX232 ta phaûi thieát keá theâm 1 maïch nguoàn 5VDC ñeå
laøm nguoàn nuoâi cho MAX232, vi ñieàu khieån vaø caû EEPROM.
3.1.4 Giaûi thuaät oån ñònh ñoä roäng hieån thò LED :
Khi quaït quay ñuû 1 voøng, seõ xuaát hieän 1 tín hieäu göûi ñeán pin P3.3. Vi ñieàu khieån
kieåm tra xem khi naøo tín hieäu naøy xuaát hieän, neáu xuaát hieän seõ set laïi caùc thoâng soá ñeå söï
hieån thò ñöôïc laëp laïi. Ñoàng thôøi tính toaùn thôøi gian giöõa 2 laàn xuaát hieän tín hieäu naøy ñeå
tính toác ñoä quay cuûa quaït.
Ñieàu kieän cuûa vaán ñeà: em löïa choïn hieån thò 24 kyù töï, töông öùng vôùi 144 coät Led
(moãi kyù töï coù 6 coät).
106
Ta coù coâng thöùc xaùc ñònh chu kyø quay cuûa ñoäng cô t (us ) = ( 3.1 )
v(vg / ph)
t (us )
Ta suy ra thôøi gian caàn delay cho 1 coät Led laø t0 (us ) = ( 3.2 )
144
Xaùc ñònh toác ñoä quaït: em duøng bieán period_calc ñeå xaùc ñònh soá laàn ngaét cuûa
Timer0 (ñöôïc set cheá ñoä auto-reload sau 864us (boäi soá cuûa 144) ñònh thôøi) trong 1 voøng
quay cuûa ñoäng cô.
Goïi i laø voøng quay thöù i, ta coù: neáu | ti − ti −1 |≥ 864(us) thì :
period _ calci = period _ calci −1 ± 1 ( 3.3 )
t t ± 864
vaø thôøi gian delay töông öùng cho moãi coät Led laø t0i = i = i −1 = t0(i −1) ± 6 . ( 3.4 )
144 144
Giaû söû thôøi gian xöû lyù cho 1 voøng laëp hieån thò 1 coät Led trong chöông trình ñaõ
toán tct (us).Vaø sau khi thí nghieäm treân thöïc teá vôùi 1 ñoäng cô cuï theå, khi ñoäng cô quay
vôùi toác ñoä toái ña, töông öùng khi ñoù t(us) laø min. Ñeå 24 kyù töï chieám ñaày 1 voøng quay thì
ta phaûi delay cho 1 coät led 1 khoaûng thôøi gian tmin (us) .
Vaäy thôøi gian caàn delay theâm trong chöông trình xöû lyù öùng vôùi toác ñoä quay
nhanh nhaát laø tmin − tct .
Ta suy ra coâng thöùc caàn delay theâm cho moãi coät Led öùng vôùi caùc toác ñoä khaùc
nhau:
tdelay (i ) = (tmin − tct ) + ( period _ calci − period _ calcmin ) × 6 ( 3.5 )
AÙp duïng vaøo thöïc teá caây quaït ñang söû duïng :
Ta xaùc ñònh ñöôïc: 46 < period_calc < 70 (toác ñoä öùng vôùi period_calc = 70
(1000(vg/ph) coù theå seõ khoâng thích hôïp vôùi vieäc hieån thò, do quaù chaäm, seõ gaây chôùp
taét).
Khi quay vôùi toác ñoä nhanh nhaát, period _ calcmin = 92 , töông öùng vôùi toác ñoä quaït
laø 1500(vg/ph) vaø tmin = 40000(us ) .
40000(us )
Thôøi gian delay cho 1 coät Led laø to min = = 278(us ) . ( 3.6 )
144
Thôøi gian xöû lyù 1 voøng laëp hieån thò 1 coät Led trong chöông trình ñaõ laø 248(us)
(coù sai soá, do töông öùng moãi hieäu öùng coù theå coù soá chu kyø xöû lyù khaùc nhau, nhöng
khoâng ñaùng keå).
Coâng thöùc xöû lyù öùng vôùi tröôøng hôïp cuï theå quaït, hoaëc ñoäng cô coù toác ñoä trong
khoaûng 1000(vg/ph) ñeán 1500(vg/ph) laø:
tdelay (i ) = (278 − 248) + ( period _ calci − 46) × 6 = 30 + ( period _ calci − 46) × 6 ( 3.7 )
Hình 3.13 : Caân baèng ñoäng cho caùnh quaït ( troïng vaät maøu ñen )
Pqt3
M
r3
O
r1 r2
Pqt1 m m Pqt2
Hình 3.14 : Minh hoïa giaûi phaùp caân baèng ñoäng cho quaït
Ñeå cho baøi toaùn ñôn giaûn thì ta xem daõy Led nhö laø moät vaät naëng coù khoái löôïng
baèng khoái löông thanh Led vaø ñaët ôû taâm thanh Led.
Goïi r1, r2, r 3 laàn löôït laø khoaûng caùch töø taâm quay O ñeán taâm caùc vaät naëng vaø m
laø gia trò 2 khoái naëng theâm vaøo.
3 r 3
r
Ñeå caùnh quaït caân baèng thì : ∑P
i =1
qti = ∑ m .ω
i =1
i
2
ri = 0 ( 3.8 )
Giaûi baøi toaùn naøy, ta ñöôïc bieåu thöùc lieân heä sau : M. r3 = m.r1 ( r1 = r2 ) ( 3.9 )
Vôùi giaù trò r3, M bieát tröôùc thì ta deã daøng xaùc ñònh caùc giaù trò r1, m.
Trong saûn xuaát thöông maïi thì caùc vaät naëng m naøy coù theå ñöôïc theå hieän baèng
logo cuûa coâng ty saûn xuaát ñeå naâng cao tính thaåm mó cho saûn phaåm
¾ Öu ñieåm :
Giaûi quyeát ñöôïc vaán ñeà cung caáp ñieän cho maïch VÑK chính hoaït ñoäng oån
ñònh.
Khoâng can thieäp vaøo caáu truùc chính cuûa quaït.
Coù theå aùp duïng cho caùc loaïi quaït maùy ñang löu haønh treân thò tröôøng.
Coù theå öùng duïng trong nhieàu lónh vöïc.
¾ Nhöôïc ñieåm :
Coù theå gaây ra tieáng oàn khi hoaït ñoäng do vò trí cuûa chuoåi than vaø coå goùp khoâng
töông thích.
Vaãn coøn rung nheï khi hoaït ñoäng do chöa giaûi quyeát vaán ñeà caân baèng moät
caùch tuyeät ñoái chính xaùc.
3
O O
2
5
aù
Hình 3.15
Ban ñaàu thanh Led ôû vò trí caân baèng döôùi cuøng. Khi nam chaâm ñieän taùc duïng leân
nam chaâm vónh cöûu moät löïc F, seõ ñaåy nam chaâm vónh cöûu (cuõng laø thanh Led) di
chuyeån qua moät beân, nhôø coù trong vaät m seõ keùo thanh Led veà laïi vò trí caân baèng ban
ñaàu. Do quaùn tính thì thanh Led laïi tieáp tuïc di chuyeån veà höôùng ngöôïc laïi, sau khi heát
naêng löôïng (ôû vò trí bieân cuûa dao ñoäng) thì thanh Led laïi di chuyeån ngöôïc laïi veà vò trí
caân baèng. Taïi vò trí caân baèng thì noù laïi tieáp tuïc bò löïc F cuûa nam chaâm ñieän taùc duïng.
Quaù trình cöù lieân tuïc laëp laïi, bien độ của dao động càng mở rộng và tạo neân chuyeån
ñoäng laéc cuûa thanh Led.
Để chuyển động lắc đạt được tần số mong muốn ( tần số tối thiểu để tạo tính lưu
ảnh ) thì tần số của mạch dao động kích hoạt nam châm điện phải tương ứng với tần số
lắc của thanh Led. Điều này được thể hiện trực tiếp qua mối quan hệ giữa giá trị của trọng
vật trên thanh Led và giá trị của các linh kiện điện tử như tụ điện và điện trở ở mạch dao
động.
Taïi moãi vò trí bieân ta gaén 1 Led thu-phaùt hoàng ngoaïi ñeå taïo tín hieäu ngaét cho
chöông trình cuûa VÑK, moãi khi coù 1 tín hieäu ngaét thì chöông trình xuaát Led seõ baét ñaàu.
Nhö vaäy trong 1 chu kì laéc thì chöông trình seõ xuaát Led 2 laàn.
Hình 3.17 : Sô ñoà maïch dao động kích hoaït nam chaâm ñieän
Q1 coù taùc duïng nhö 1 boä khueách ñaïi ñaûo pha, C1 ngaên doøng 1 chieàu chaûy töø
nguoàn ñeán cöïc B cuûa BJT , R1 ñieän trôû haïn doøng Ib , C2 coù taùc duïng nhö thaønh phaàn hoài
tieáp döông cuûa maïch khueách ñaïi, noù seõ taïo 1 maïch voøng trong nhaùnh L1 L2 trong quaù
trình hoïat ñoäng cuûa maïch.
Ban ñaàu khi maéc maïch vaøo nguoàn thì maïch seõ nhanh choùng ñaït traïng thaùi xaùc
laäp, vaø khoâng dao ñoäng, luùc naøy seõ khoâng coù doøng Ib daãn ñeán Q1 khoâng daãn vaø không
coù doøng Ic.
Khi coù 1 thaønh phaàn beân ngoaøi taùc ñoäng vaøo maïch, ôû ñaây laø 1 nam chaâm chuyeån
ñoäng xung quanh cuoän daây L1 thì seõ sinh suaát ñieän ñoäng bieán thieân treân L1 daãn ñeán coù
doøng Ib nhoû chạy qua maïch, laøm Q1 phaân cöïc vaø daãn, luùc naøy seõ cuõng coù doøng Ic laøm
cho doøng qua L2 bieán thieân, vaø tuøy theo chieàu ñaáu daây seõ laøm cho doøng qua L2 thuaän
hoaëc ngöôïc chieàu doøng ñieän caûm öùng (vì L1 vaø L2 quaán chung 1 loõi). Beân caïnh ñoù töø
tröôøng caûm öùng sinh ra bôûi L2 laïi taùc duïng leân L1 vaø laøm doøng Ib taêng theâm vaø töø tröôøng
naøy cuõng coù taùc duïng ñaåy con laéc ñi xa hôn. Hay noùi caùc khaùc Q1 ngaøy caøng daãn maïch
hôn.
Tuy nhieân, khi doøng qua L2 taêng ñeàu thì doøng qua nhaùnh L1 cuõng taêng, nhöng chæ
tôùi 1 möùc naøo ñoù vì khi coù doøng Ib thì noù seõ naïp cho tuï C1 vaø khi tuï naïp ñaày thì doøng
qua L1 cuõng giaûm daàn, luùc naøy seõ khoâng ñuû doøng Ib ñeå laøm Q1 daãn baûo hoøa, vaø noù seõ
chuyeån veà vuøng khueách ñaïi.
Con laéc di chuyeån ñeán vò trí cao nhaát, laïi quay trôû veà, khi con laéc ñeán ñuû gaàn noù
seõ taïo ra 1 söùc ñieän ñoäng ngöôïc chieàu vôùi ban ñaàu, vaø laøm ñoåi chieàu doøng ñieän caûm
öùng qua L1. Tuï C1 ñöôïc xaû vaø con laéc laïi baét ñaàu 1 chu kyø môùi.
¾ Öu ñieåm :
Ñôn giaûn veà keát caáu.
¾ Haïn cheá :
Chöa xaùc ñònh ñöôïc chính xaùc taàn soá dao ñoäng cuûa thanh Led.
Chöa naém roõ veà nam chaâm ñieän : soá voøng daây quaán caàn thieát, kích thöôùc loõi, löïc
töø taùc duïng leân nam chaâm vónh cöûu ñeå töø ñoù xaùc ñònh ñöôïc caùc thoâng soá cuûa dao
ñoäng nhö : bieân ñoä, taàn soá dao ñoäng…
CHÖÔNG 4 :
THIEÁT KEÁ PHAÀN MEÀM
Phaàn meàm ñöôc thieát keá goàm 2 phaàn chính :
Giao dieän giao tieáp vôùi maùy tính.
Chöông ttrình cho VÑK 89C2051.
Giao dieän giao tieáp vôùi maùy tính ñöôïc thieát laäp baèng ngoân ngöõ Visual Basic. Döõ
lieäu ñöôïc göûi qua coång COM1.
Ñeå giaûm boä nhôù xöû lyù cho vi ñieàu khieån, em söû duïng chöông trình Visual Basic
ñeå thöïc hieän vieäc chuyeån ñoåi kyù töï thaønh maõ xuaát Led, sau ñoù giao tieáp thoâng qua coång
COM ñeå truyeàn maõ xuaát Led xuoáng vi ñieàu khieån, vaø vi ñieàu khieån coù nhieäm vuï naïp
taát caû caùc maõ naøy vaøo EEPROM 24FC16.
Chöông trình bao goàm 2 phaàn chính: chuyeån ñoåi kyù töï ñöôïc nhaäp vaøo textbox
thaønh maõ code ñaõ ñöôïc qui ñònh vaø truyeàn nhaän döõ lieäu noái tieáp.
Giaûi thuaät chöông trình chuyeån ñoåi kyù töï: sau khi nhaäp caùc döõ lieäu caàn hieån thò,
nhaán Load, chöông trình seõ goäp caùc chuoãi kyù töï trong 3 textbox thaønh 1 maûng duy nhaát,
xeùt töøng phaàn töû cuûa maûng, öùng vôùi thöù töï ñöôïc quy ñònh trong baûng maõ ASCII seõ choïn
laáy maõ xuaát Led töông öùng. Cuoái cuøng ta ñöôïc 1 maûng môùi vôùi caùc phaàn töû laø caùc maõ
code töông öùng vôùi caùc kyù töï ñaõ ñöôïc nhaäp vaøo.
Giaûi thuaät chöông trình truyeàn nhaän döõ lieäu noái tieáp: sau khi nhaán Load ñeå chaáp
nhaän döõ lieäu ñöôïc hieån thò, nhaán Send ñeå baét ñaàu truyeàn döõ lieäu. PC seõ göûi 1 kyù töï
kieåm tra ñeán vi ñieàu khieån ñeå kieåm tra vieäc baét tay, ôû ñaây ta duøng kyù töï ‘a’. Neáu vi
ñieàu khieån nhaän ñöôïc ñuùng kyù töï ‘a’ thì vieäc truyeàn nhaän döõ lieäu seõ baét ñaàu. PC seõ chôø
ñeå nhaän kyù töï ‘a’ töø vi ñieàu khieån, neáu ñuùng thì PC seõ göûi 1 maõ code. Seõ laëp laïi cho
ñeán khi PC göûi maõ code cuoái cuøng.
Nhaán Send
Send ‘a’
Nhaän ‘a’
i=i+1
Göûi xong
Msgbox
“Finish”
Hình 4.2 : Sô ñoà giaûi thuaät caùch thöùc truyeàn döõ lieäu
Chöông trình seõ nhaän döõ lieäu (3 caâu) töø PC, löu vaøo trong EEPROM. Khi thöïc
hieän seõ hieån thò laàn löôït 3 caâu, sau 1 khoaûng thôøi gian coá ñònh noäi dung hieån thò seõ thay
ñoåi. Trong khi hieån thò 1 caâu, seõ coù caùc hieäu öùng xuaát hieän, caùc hieäu öùng cuõng caùch
nhau 1 khoaûng thôøi gian ñöôïc ñònh tröôùc.
Y
Ñuû 1 voøng?
Y
Ñuû 18 kyù töï
Hình 4.3 : Sô ñoà giaûi thuaät cho chöông trình chính cuûa VÑK 89C2051
4.4 GIAÛI THUAÄT CHÖÔNG TRÌNH TRUYEÀN NHAÄN DÖÕ LIEÄU VAØ NAÏP
VAØO EEPROM :
Khi coù ngaét noái tieáp xuaát hieän, vi ñieàu khieån seõ kieåm tra döõ lieäu cuûa PC göûi veà,
neáu ñuùng laø PC göûi kyù töï ‘a’ thì vi ñieàu khieån seõ chaáp nhaän vieäc baét tay laø ñuùng vaø baét
ñaàu truyeàn nhaän döõ lieäu. Vi ñieàu khieån seõ phaûn hoài 1 kyù töï ‘a’ ñeå baùo cho PC bieát coù
theå göûi 1 byte döõ lieäu xuoáng. Khi nhaän ñöôïc byte döõ lieäu naøy, vi ñieàu khieån seõ ghi vaøo
EEPROM. Sau khi thöïc hieän xong vieäc naïp döõ lieäu vaøo EEPROM vi ñieàu khieån seõ
thoâng baùo cho PC bieát baèng caùch göûi kyù töï ‘a’ ñeán PC, PC nhaän ñöôïc seõ göûi byte keá
tieáp ñeán vi xöû lyù. Moãi caâu ñöôïc löu trong 1 page. Vieäc truyeàn nhaän cöù theá laëp laïi cho
ñeán khi hoaøn thaønh.
Sô ñoà giaûi thuaät truyeàn nhaän döõ lieäu vaø naïp vaøo EEPROM :
N N N N
tmp5=0 tmp5=1 tmp5=2 tmp5=3
Y Y Y Y
Kieåm tra Com_OK Finish Error Reset
Y Y
tmp5=1 Send ‘a’ CLR IE.4 CLR IE.4 RETI
RETI A=sbuf
tmp6=0
N
Finish
Y
tmp5=2
Hình 4.4 : Sô ñoà truyeàn nhaän döõ lieäu vaø naïp vaøo EEPROM
4.5 GIAÛI THUAÄT CHÖÔNG TRÌNH XAÙC ÑÒNH THÔØI GIAN XUAÁT
LED :
Check_index
Xeùt P3.3
N
Thay ñoåi
Y
N
Caïnh leân
N
count_i < count_i-1
t=26+(period_calc-92)x6
RET
Hình 4.5 : Sô ñoà giaûi thuaät xaùc ñònh thôøi gian xuaát Led
Sau 1 khoaûng thôøi gian xaùc ñònh ñöôïc quaûn lyù bôûi Timer0, vi ñieàu khieån seõ xöû lyù
bieán minutes, öùng vôùi giaù trò haøng chuïc cuûa minutes maø caâu töông öùng seõ ñöôïc löïa
choïn.
Get_Adr
swap minutes
RET
4.7 GIAÛI THUAÄT CHÖÔNG TRÌNH LAÁY HIEÄU ÖÙNG HIEÅN THÒ :
Sau 1 khoaûng thôøi gian xaùc ñònh ñöôïc quaûn lyù bôûi Timer0, vi ñieàu khieån seõ xöû lyù
bieán min, öùng vôùi giaù trò cuûa min maø hieäu öùng töông öùng seõ ñöôïc löïa choïn.Bieán taïo
hieäu öùng ñöôïc löu trong R6.
Sô ñoà giaûi thuaät chöông trình laáy hieäu öùng hieån thò :
Get_Style
ANL minutes,#0F
MOV R6,A
RET
Hình 4.7 : Sô ñoà giaûi thuaät laát hieäu öùng hieån thò
4.8 GIAÛI THUAÄT CHÖÔNG TRÌNH LAÁY NOÄI DUNG XUAÁT LED :
ÖÙng vôùi caâu hieån thò, hieäu öùng hieån thò, vaø khi tín hieäu 1 voøng quay xuaát hieän
R7=0, vi ñieàu khieån seõ baét ñaàu xuaát Led. Vi ñieàu khieån laáy byte maõ code taïi vò trí nhôù
töông öùng trong boä nhôù EEPROM ñeå xuaát ra Port1. Thôøi gian hieån thò 1 byte maõ code
baèng thôøi gian queùt 1 voøng chöông trình chính coäng vôùi thôøi gian delay. Ñeå giaûm thôøi
gian thöïc thi chöông trình, ta söû duïng phöông phaùp ñoïc tuaàn töï trong EEPROM, neáu
R7=1 thì tieáp tuïc vieâc ñoïc tuaàn töï. Vi ñieàu khieån cöù tieáp tuïc xuaát maõ code Led, cho ñeán
khi xuaát hieän tín hieäu 1 voøng quay thì laáy ñòa chæ töông öùng vôùi caùc thoâng soá thích hôïp
ñeå baét ñaàu xuaát cho voøng môùi.
Sô ñoà giaûi thuaät chöông trình laáy noäi dung xuaát Led :
Read_Data Display
N
tmp3<108 MOV A,led_digit
Y
N
R7=0 ORL A,R6
RET
Hình 4.8 : Sô ñoà giaûi thuaät laáy noäi dung xuaát Led
CHÖÔNG 5 :
KEÁT LUAÄN
5.1 KEÁT LUAÄN ÑEÀ TAØI :
5.1.1 Ưu điểm :
Hieån thò ñöôïc thoâng tin (söû duïng baûng maõ ASCII), caùc hieäu öùng ( chaïy chöõ, chôùp
taét, …)
Haïn cheá ñöôïc rung, laéc cuûa thoâng tin hieån thò.
Giao tieáp vôùi maùy tính, giuùp thay ñoåi thoâng tin hieån thò deã daøng.
Hieån thò töông ñoái oån ñònh trong vuøng toác ñoä giôùi haïn nhaát ñònh.
Taïo ñöôïc caùc hieäu öùng chaïy chöõ theo haøng doïc vaø coät.
Giaûi quyeát ñöôïc vaán ñeà cung caáp ñieän cho maïch VÑK chính hoaït ñoäng oån ñònh.
Khoâng can thieäp vaøo caáu truùc chính cuûa quaït.
Coù theå aùp duïng cho caùc loaïi quaït maùy ñang löu haønh treân thò tröôøng.
Coù theå öùng duïng trong nhieàu lónh vöïc.
5.1.2 Hạn chế :
Coù theå gaây ra tieáng oàn khi hoaït ñoäng do vò trí cuûa chuoåi than vaø coå goùp khoâng
töông thích.
Vaãn coøn rung nheï
Thí nghieäm, tìm vaø chuaån hoùa moái lieân heä giöõa toác ñoä quay vaø taàn soá xuaát LED,
töø ñoù coù theå deã daøng oån ñònh thoâng tin hieån thò ôû baát cöù toác ñoä quay naøo trong
taàm giôùi haïn coù theå taïo löu aûnh.
Giao tieáp Wireless, ñeå taïo söï ñôn giaûn trong vieäc thay ñoåi thoâng tin hieån thò
Phaùt trieån, öùng duïng roäng raõi treân caùc vaät duïng coù chuyeån quay ñoàng taâm nhö
caêm xe,…
Ña daïng hoùa thoâng tin hieån thò nhö hieån thò giôø phuùt, hình aûnh ñoäng, …
Ña daïng hoùa font chöõ hieån thò nhö hieån thò tieáng Vieät, …
PHUÏ LUÏC A
CHÖÔNG TRÌNH TRUYEÀN DÖÕ LIEÄU
TÖØ MAÙY TÍNH
Option Explicit
Dim a(432) As Byte
Dim m As Integer
a(j + 3) = tmp(3)
a(j + 4) = tmp(4)
a(j + 5) = tmp(5)
j=j+6
Next i
Text4.Text = dis
End Sub
charBlank = 18 - Len(s)
tmpSt = Space$(charBlank)
End Function
Case &H21:
result(0) = &HFF
result(1) = &HFF
result(2) = &H5
result(3) = &HFF
result(4) = &HFF
result(5) = &HFF
Case &H22:
result(0) = &HFF
result(1) = &HDF
result(2) = &H1F
result(3) = &H3F
result(4) = &HFF
result(5) = &HFF
Case &H23:
result(0) = &HD7
result(1) = &H1
result(2) = &HD7
result(3) = &H1
result(4) = &HD7
result(5) = &HFF
Case &H24:
result(0) = &HDB
result(1) = &HAB
result(2) = &H1
result(3) = &HAB
result(4) = &HB7
result(5) = &HFF
Case &H25:
result(0) = &H9B
result(1) = &H97
result(2) = &HEF
result(3) = &HD3
result(4) = &HB3
result(5) = &HFF
Case &H26:
result(0) = &H93
result(1) = &H6D
result(2) = &H6D
result(3) = &H93
result(4) = &HF5
result(5) = &HFF
Case &H27:
result(0) = &HFF
result(1) = &HFF
result(2) = &H3F
result(3) = &HFF
result(4) = &HFF
result(5) = &HFF
Case &H28:
result(0) = &HFF
result(1) = &HFF
result(2) = &H83
result(3) = &H7D
result(4) = &HFF
result(5) = &HFF
Case &H29:
result(0) = &HFF
result(1) = &HFF
result(2) = &H7D
result(3) = &H83
result(4) = &HFF
result(5) = &HFF
Case &H2A:
result(0) = &HAB
result(1) = &HC7
result(2) = &H3
result(3) = &HC7
result(4) = &HAB
result(5) = &HFF
Case &H2B:
result(0) = &HEF
result(1) = &HEF
result(2) = &H83
result(3) = &HEF
result(4) = &HEF
result(5) = &HFF
Case &H2C:
result(0) = &HFF
result(1) = &HFF
result(2) = &HFE
result(3) = &HF9
result(4) = &HFF
result(5) = &HFF
Case &H2D:
result(0) = &HEF
result(1) = &HEF
result(2) = &HEF
result(3) = &HEF
result(4) = &HEF
result(5) = &HFF
Case &H2E:
result(0) = &HFF
result(1) = &HFF
result(2) = &HF2
result(3) = &HFF
result(4) = &HFF
result(5) = &HFF
Case &H2F:
result(0) = &HFB
result(1) = &HF7
result(2) = &HEF
result(3) = &HDF
result(4) = &HBF
result(5) = &HFF
Case &H30:
result(0) = &HC1
result(1) = &HBE
result(2) = &HBE
result(3) = &HBE
result(4) = &HC1
result(5) = &HFF
Case &H31:
result(0) = &HFF
result(1) = &HDE
result(2) = &H80
result(3) = &HFE
result(4) = &HFF
result(5) = &HFF
Case &H32:
result(0) = &HDE
result(1) = &HBC
result(2) = &HBA
result(3) = &HB6
result(4) = &HCE
result(5) = &HFF
Case &H33:
result(0) = &HBD
result(1) = &HBE
result(2) = &HAE
result(3) = &H96
result(4) = &HB9
result(5) = &HFF
Case &H34:
result(0) = &HF3
result(1) = &HEB
result(2) = &HDB
result(3) = &H80
result(4) = &HFB
result(5) = &HFF
Case &H35:
result(0) = &H8D
result(1) = &HAE
result(2) = &HAE
result(3) = &HAE
result(4) = &HB1
result(5) = &HFF
Case &H36:
result(0) = &HE1
result(1) = &HD6
result(2) = &HB6
result(3) = &HB6
result(4) = &HF9
result(5) = &HFF
Case &H37:
result(0) = &HBF
result(1) = &HB8
result(2) = &HB7
result(3) = &HAF
result(4) = &H9F
result(5) = &HFF
Case &H38:
result(0) = &HC9
result(1) = &HB6
result(2) = &HB6
result(3) = &HB6
result(4) = &HC9
result(5) = &HFF
Case &H39:
result(0) = &HCF
result(1) = &HB6
result(2) = &HB6
result(3) = &HB5
result(4) = &HC3
result(5) = &HFF
Case &H3A:
result(0) = &HFF
result(1) = &HFF
result(2) = &HC9
result(3) = &HC9
result(4) = &HFF
result(5) = &HFF
Case &H3B:
result(0) = &HFF
result(1) = &HFF
result(2) = &HFE
result(3) = &HF5
result(4) = &HFF
result(5) = &HFF
Case &H3C:
result(0) = &HFF
result(1) = &HEF
result(2) = &HD7
result(3) = &HBB
result(4) = &H7D
result(5) = &HFF
Case &H3D:
result(0) = &HEB
result(1) = &HEB
result(2) = &HEB
result(3) = &HEB
result(4) = &HFF
result(5) = &HFF
Case &H3E:
result(0) = &HFF
result(1) = &H7D
result(2) = &HBB
result(3) = &HD7
result(4) = &HEF
result(5) = &HFF
Case &H3F:
result(0) = &HBF
result(1) = &H7F
result(2) = &H75
result(3) = &H6F
result(4) = &H9F
result(5) = &HFF
Case &H40:
result(0) = &H83
result(1) = &H7D
result(2) = &H45
result(3) = &H55
result(4) = &H5
result(5) = &HFF
Case &H41:
result(0) = &HC1
result(1) = &HB7
result(2) = &H77
result(3) = &HB7
result(4) = &HC1
result(5) = &HFF
Case &H42:
result(0) = &H1
result(1) = &H6D
result(2) = &H6D
result(3) = &H6D
result(4) = &H93
result(5) = &HFF
Case &H43:
result(0) = &H83
result(1) = &H7D
result(2) = &H7D
result(3) = &H7D
result(4) = &HBB
result(5) = &HFF
Case &H44:
result(0) = &H1
result(1) = &H7D
result(2) = &H7D
result(3) = &H7D
result(4) = &H83
result(5) = &HFF
Case &H45:
result(0) = &H1
result(1) = &H6D
result(2) = &H6D
result(3) = &H6D
result(4) = &H7D
result(5) = &HFF
Case &H46:
result(0) = &H1
result(1) = &H6F
result(2) = &H6F
result(3) = &H6F
result(4) = &H7F
result(5) = &HFF
Case &H47:
result(0) = &H83
result(1) = &H7D
result(2) = &H6D
result(3) = &H6D
result(4) = &HA3
result(5) = &HFF
Case &H48:
result(0) = &H1
result(1) = &HEF
result(2) = &HEF
result(3) = &HEF
result(4) = &H1
result(5) = &HFF
Case &H49:
result(0) = &HFF
result(1) = &H7D
result(2) = &H1
result(3) = &H7D
result(4) = &HFF
result(5) = &HFF
Case &H4A:
result(0) = &HF3
result(1) = &HFD
result(2) = &HFD
result(3) = &HFD
result(4) = &H83
result(5) = &HFF
Case &H4B:
result(0) = &H1
result(1) = &HEF
result(2) = &HD7
result(3) = &HBB
result(4) = &H7D
result(5) = &HFF
Case &H4C:
result(0) = &H1
result(1) = &HFD
result(2) = &HFD
result(3) = &HFD
result(4) = &HFD
result(5) = &HFF
Case &H4D:
result(0) = &H1
result(1) = &HDF
result(2) = &HEF
result(3) = &HDF
result(4) = &H1
result(5) = &HFF
Case &H4E:
result(0) = &H1
result(1) = &HDF
result(2) = &HEF
result(3) = &HF7
result(4) = &H1
result(5) = &HFF
Case &H4F:
result(0) = &H83
result(1) = &H7D
result(2) = &H7D
result(3) = &H7D
result(4) = &H83
result(5) = &HFF
Case &H50:
result(0) = &H1
result(1) = &H6F
result(2) = &H6F
result(3) = &H6F
result(4) = &H9F
result(5) = &HFF
Case &H51:
result(0) = &H83
result(1) = &H7D
result(2) = &H75
result(3) = &H79
result(4) = &H81
result(5) = &HFF
Case &H52:
result(0) = &H1
result(1) = &H6F
result(2) = &H67
result(3) = &H6B
result(4) = &H9D
result(5) = &HFF
Case &H53:
result(0) = &H9B
result(1) = &H6D
result(2) = &H6D
result(3) = &H6D
result(4) = &HB3
result(5) = &HFF
Case &H54:
result(0) = &H7F
result(1) = &H7F
result(2) = &H1
result(3) = &H7F
result(4) = &H7F
result(5) = &HFF
Case &H55:
result(0) = &H3
result(1) = &HFD
result(2) = &HFD
result(3) = &HFD
result(4) = &H3
result(5) = &HFF
Case &H56:
result(0) = &H7
result(1) = &HFB
result(2) = &HFD
result(3) = &HFB
result(4) = &H7
result(5) = &HFF
Case &H57:
result(0) = &H1
result(1) = &HF7
result(2) = &HEF
result(3) = &HF7
result(4) = &H1
result(5) = &HFF
Case &H58:
result(0) = &H39
result(1) = &HD7
result(2) = &HEF
result(3) = &HD7
result(4) = &H39
result(5) = &HFF
Case &H59:
result(0) = &H3F
result(1) = &HDF
result(2) = &HE1
result(3) = &HDF
result(4) = &H3F
result(5) = &HFF
Case &H5A:
result(0) = &H79
result(1) = &H75
result(2) = &H6D
result(3) = &H5D
result(4) = &H3D
result(5) = &HFF
Case &H5B:
result(0) = &HFF
result(1) = &HFF
result(2) = &H1
result(3) = &H7F
result(4) = &HFF
result(5) = &HFF
Case &H5C:
result(0) = &HBF
result(1) = &HDF
result(2) = &HEF
result(3) = &HF7
result(4) = &HFB
result(5) = &HFF
Case &H5D:
result(0) = &HFF
result(1) = &HFF
result(2) = &H7D
result(3) = &H1
result(4) = &HFF
result(5) = &HFF
Case &H5E:
result(0) = &HFF
result(1) = &HBF
result(2) = &H7F
result(3) = &HBF
result(4) = &HFF
result(5) = &HFF
Case &H5F:
result(0) = &HFF
result(1) = &HFD
result(2) = &HFF
result(3) = &HFD
result(4) = &HFF
result(5) = &HFF
Case &H60:
result(0) = &HFF
result(1) = &HFF
result(2) = &H7F
result(3) = &HBF
result(4) = &HFF
result(5) = &HFF
Case &H61:
result(0) = &HE7
result(1) = &HDB
result(2) = &HDB
result(3) = &HC3
result(4) = &HFB
result(5) = &HFF
Case &H62:
result(0) = &HFF
result(1) = &H3
result(2) = &HDB
result(3) = &HDB
result(4) = &HE7
result(5) = &HFF
Case &H63:
result(0) = &HFF
result(1) = &HE7
result(2) = &HDB
result(3) = &HDB
result(4) = &HFF
result(5) = &HFF
Case &H64:
result(0) = &HFF
result(1) = &HE7
result(2) = &HDB
result(3) = &HDB
result(4) = &H3
result(5) = &HFF
Case &H65:
result(0) = &HE7
result(1) = &HCB
result(2) = &HCB
result(3) = &HCB
result(4) = &HEF
result(5) = &HFF
Case &H66:
result(0) = &HFF
result(1) = &HEF
result(2) = &H83
result(3) = &H6F
result(4) = &HBF
result(5) = &HFF
Case &H67:
result(0) = &HE7
result(1) = &HDA
result(2) = &HDA
result(3) = &HC1
result(4) = &HFF
result(5) = &HFF
Case &H68:
result(0) = &H3
result(1) = &HDF
result(2) = &HDF
result(3) = &HE3
result(4) = &HFF
result(5) = &HFF
Case &H69:
result(0) = &HFF
result(1) = &HFF
result(2) = &HA3
result(3) = &HFF
result(4) = &HFF
result(5) = &HFF
Case &H6A:
result(0) = &HFF
result(1) = &HFD
result(2) = &HFE
result(3) = &HA1
result(4) = &HFF
result(5) = &HFF
Case &H6B:
result(0) = &HFF
result(1) = &H3
result(2) = &HE7
result(3) = &HDB
result(4) = &HFF
result(5) = &HFF
Case &H6C:
result(0) = &HFF
result(1) = &H7
result(2) = &HFB
result(3) = &HF7
result(4) = &HFF
result(5) = &HFF
Case &H6D:
result(0) = &HC3
result(1) = &HDF
result(2) = &HE3
result(3) = &HDF
result(4) = &HE3
result(5) = &HFF
Case &H6E:
result(0) = &HFF
result(1) = &HC3
result(2) = &HDF
result(3) = &HDF
result(4) = &HE3
result(5) = &HFF
Case &H6F:
result(0) = &HFF
result(1) = &HE7
result(2) = &HDB
result(3) = &HDB
result(4) = &HE7
result(5) = &HFF
Case &H70:
result(0) = &HFF
result(1) = &HC0
result(2) = &HDB
result(3) = &HDB
result(4) = &HE7
result(5) = &HFF
Case &H71:
result(0) = &HFF
result(1) = &HE7
result(2) = &HDB
result(3) = &HDB
result(4) = &HC0
result(5) = &HFF
Case &H72:
result(0) = &HFF
result(1) = &HC3
result(2) = &HEF
result(3) = &HDF
result(4) = &HDF
result(5) = &HFF
Case &H73:
result(0) = &HFF
result(1) = &HDB
result(2) = &HAB
result(3) = &HAB
result(4) = &HB7
result(5) = &HFF
Case &H74:
result(0) = &HFF
result(1) = &HDF
result(2) = &H7
result(3) = &HDB
result(4) = &HFF
result(5) = &HFF
Case &H75:
result(0) = &HFF
result(1) = &HC7
result(2) = &HFB
result(3) = &HFB
result(4) = &HC3
result(5) = &HFF
Case &H76:
result(0) = &HCF
result(1) = &HF7
result(2) = &HFB
result(3) = &HF7
result(4) = &HCF
result(5) = &HFF
Case &H77:
result(0) = &HC7
result(1) = &HFB
result(2) = &HC7
result(3) = &HFB
result(4) = &HC7
result(5) = &HFF
Case &H78:
result(0) = &HFF
result(1) = &H93
result(2) = &HEF
result(3) = &H93
result(4) = &HFF
result(5) = &HFF
Case &H79:
result(0) = &HFF
result(1) = &HC7
result(2) = &HFA
result(3) = &HFA
result(4) = &HC1
result(5) = &HFF
Case &H7A:
result(0) = &HFF
result(1) = &HDB
result(2) = &HD3
result(3) = &HCB
result(4) = &HDB
result(5) = &HFF
Case &H7B:
result(0) = &HFF
result(1) = &H11
result(2) = &H83
result(3) = &H7D
result(4) = &HFF
result(5) = &HFF
Case &H7C:
result(0) = &HFF
result(1) = &HFF
result(2) = &H1
result(3) = &HFF
result(4) = &HFF
result(5) = &HFF
Case &H7D:
result(0) = &HFF
result(1) = &H7D
result(2) = &H83
result(3) = &H11
result(4) = &HFF
result(5) = &HFF
Case &H7E:
result(0) = &HBF
result(1) = &H7F
result(2) = &HBF
result(3) = &H7F
result(4) = &HBF
result(5) = &HFF
End Select
End Sub
j = b Mod 16
i = (b - j) / 16
End Function
Select Case k
Case 0: toHex = "0"
Case 1: toHex = "1"
Case 2: toHex = "2"
Case 3: toHex = "3"
Case 4: toHex = "4"
Case 5: toHex = "5"
Case 6: toHex = "6"
Case 7: toHex = "7"
Case 8: toHex = "8"
Case 9: toHex = "9"
Case 10: toHex = "A"
Case 11: toHex = "B"
Case 12: toHex = "C"
Case 13: toHex = "D"
Case 14: toHex = "E"
End Function
End Sub
PHUÏ LUÏC B
ORG 0000H
LJMP Start
ORG 000BH
CLR TR0
MOV TL0,#LOW(-432)
MOV TH0,#HIGH(-432) ; tran sau 432us
SETB TR0
CALL Ngat
RETI
ORG 0023H
CALL Comm_PC
RETI
get_style_1: INC A
MOVC A,@A+PC
RET
get_style_2: INC A
MOVC A,@A+PC
RET
get_style_3: INC A
MOVC A,@A+PC
RET
MOV bigtick_hi,A
JMP Bigtick_out
Reset: CLR RI
CLR TI
MOV tmp5,#0
MOV P1,#0Fh
JMP Out_Comm
CALL Write_EEPROM
INC R3
CJNE R3,#216,not_end
JMP end_sentence
end_sentence:MOV P1,#055h
MOV Adr_Lo,R3
MOV A,#0FFH
CALL Write_EEPROM
INC R3
CJNE R3,#0,end_sentence
DJNZ R4,Finish_Sentence
MOV tmp5,#2
CLR RI
SETB TI
JMP Out_Comm
Finish_Sentence:
MOV tmp6,#0
INC R5
CLR RI
SETB TI
JMP Out_Comm
CALL I2C_Start
CALL I2C_Set_Write
CALL I2C_Hi_Adr
CALL I2C_Lo_Adr
MOV A,DAT_VAL
CALL I2C_Out
CALL I2C_NAK
CALL I2C_Stop
CALL WaitForWrite
CALL Delay10ms
RET
CALL I2C_Hi_Adr
CALL I2C_Lo_Adr
CALL I2C_Start
CALL I2C_Set_Read
RET
Read_Sequential:
CALL I2C_Read
CALL I2C_ACK
RET
MOV C,SDA
RLC A
MOV InputByte,A
Out_Bit: CLR C
RLC A
MOV OutputByte,A
MOV SDA,C
NOP
NOP
NOP
CALL Clock_Pulse
SETB SDA
Ram_init:
MOV R2,#00
MOV R4,#03
MOV R5,#00
MOV R6,#00
MOV hours,#12H
MOV minutes,#00H
MOV dot_index,#00H
MOV digit_index,#00H
MOV bigtick_dbl,#00FFH
MOV effect,#00H
MOV smalltick_lo,#00H
MOV smalltick_hi,#0FFH
MOV tmp1,#00
MOV tmp2,#00
MOV tmp3,#00
MOV tmp4,#00
MOV tmp5,#00
;MOV tmp6,#00
RET
MOV period_dup,period_count
MOV period_count,#00
MOV tmp3,#00
INC tmp1
MOV R7,#00
INC R2
MOV A,period_calc
CLR C
SUBB A,period_dup
JNC Late
CLR C
SUBB A,#1
JC Speed
INC period_calc
JMP Speed
Delay_loop: NOP
DJNZ tmp2,Delay_loop
RET
Keep_time: JB flags.1,One_minute
RET
not_equal_60: RET
Style_1: JB flags.5,Begin_1
JMP Out_1
Test_1: JC Right_1
DEC effect
MOV A,effect
JMP Get_1
Style_2: JB flags.5,Begin_2
JMP Out_2
Test_2: JC Right_2
DEC effect
MOV A,effect
JMP Get_2
Style_3: JB flags.5,Begin_3
JMP Out_3
Test_3: JC Right_3
DEC effect
MOV A,effect
JMP Get_3
one_sentence:JNC end_sentence_2
CJNE R7,#0,Sequential
MOV R7,#1
CALL Read_EEPROM
ORG 0780H
Start: CALL Ram_init
CALL I2C_Init
CALL Timer_COM_init