You are on page 1of 87

CHÖÔNG 1 : GIÔÙI THIEÄU GVHD : BUØI QUANG ÑÖÔÏC

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.

1.1 KHAÙI NIEÄM QUANG BAÙO (LED BOARD) :


Quang baùo laø baûng ñeøn ñieän töû vaø caùc thoâng ñieäp caàn truyeàn taûi ñöôïc theå hieän
treân baûng ñeøn ñieän töû ñoù baèng söï saùng vaø taét cuûa caùc ñeøn.

Hình 1.1 : Baûng quang baùo ma traän Led

SVTH: TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG -1-
CHÖÔNG 1 : GIÔÙI THIEÄU GVHD : BUØI QUANG ÑÖÔÏC

Ö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.

1.3 NOÄI DUNG ÑEÀ TAØI :


Nhaèm taêng tính ña daïng trong lónh vöïc quang baùo, ñeå caùc baûng quang baùo khoâng
chæ laø nhöõng baûng ñeøn ñieän töû coá ñònh, cöùng nhaéc vaø ñeå coù theå öùng duïng, keát hôïp quang
baùo vôùi nhieàu vaät duïng khaùc nhö quaït, con laéc,… ñöa quang baùo ngaøy caøng gaàn guõi vôùi
sinh hoaït haèng ngaøy cuûa con ngöôøi.
Ñoái vôùi baûng quang baùo ñeøn ñieän töû thoâng thöôøng, ñeå theå hieän noäi dung, ta thöïc
hieän nguyeân taéc xuaát haøng queùt coät, hoaëc ngöôïc laïi. Döïa treân nguyeân taéc naøy, ta söû
duïng chuyeån ñoäng quay ñeå thöïc hieän vieäc queùt haøng, keát hôïp vôùi vieäc xuaát Led theo
coät ñeå taïo ra söï hieån thò.

SVTH: TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG -2-
CHÖÔNG 1 : GIÔÙI THIEÄU GVHD : BUØI QUANG ÑÖÔÏC

1.3.1 Khaùi nieäm quang baùo quay (LED MOTION) :


Quang baùo quay laø söï keát hôïp giöõa chuyeån ñoäng quay vaø söï chôùp taét cuûa caùc
LED ñeå taïo ra caùc hình aûnh, noäi dung mong muoán.
Coù 2 daïng chính : quay troøn vaø caàn laéc.

Hình 1.2 : Quang baùo quay troøn

SVTH: TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG -3-
CHÖÔNG 1 : GIÔÙI THIEÄU GVHD : BUØI QUANG ÑÖÔÏC

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.

SVTH: TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG -4-
CHÖÔNG 1 : GIÔÙI THIEÄU GVHD : BUØI QUANG ÑÖÔÏC

1.3.3 YÙ töôûng thieát keá phaàn cöùng :


Vôùi tieâu chí thieát keá maïch nhoû goïn, coù theå gaén beân trong uï caùnh quaït ñeå thoûa
maõn yeâu caàu caân baèng cho caùnh quaït, vöøa thoûa maõn yeâu caàu thaåm mó. Cho neân em söû
duïng 1 con vi xöû lyù 89C2051 ñeå thöïc hieän chöông trình xuaát Led. Vaø 1 con EEPROM
24FC256 ñeå löu tröõ döõ lieäu caàn hieån thò.
Maïch ñieän töû ñöôïc gaén leân caùnh quaït vaø söû duïng chung nguoàn ñieän vôùi quaït neân
em söû duïng boä coå goùp choåi than ñeå cung caáp ñieän cho vi xöû lyù.
Thanh Led goàm 1 coät 8 boùng.

1.3.4 Boá trí maïch phaàn cöùng :

Maïch ñieän töû bao goàm :


™ Vi xöû lyù 89C2051.
™ EEPROM 24FC08.
™ IC MAX232.
™ 8 boùng LED vuoâng.
™ Caùc linh kieän phuï khaùc nhö thaïch anh 11,0592MHz, coâng taéc, ñieän trôû, diode,
tuï,…
™ Boá trí phaàn cöùng ñöôïc bieåu dieãn nhö treân sô ñoà nguyeân lyù.

SVTH: TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG -5-
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

CHÖÔNG 2 :
TOÅNG QUAN
Giôùi thieäu caùc linh kieän :

2.1 VI ÑIEÀU KHIEÅN 89C2051 :

2.1.1 Ñaëc ñieåm :


™ Töông thích vôùi saûn phaåm MCS-51.
™ 2 Kbyte EEROM.
™ Cho pheùp 1000 laàn ghi/xoùa.
™ Ñieän aùp hoïat ñoäng giôùi haïn : töø 2,7V ñeán 6V.
™ Taàn soá hoaït ñoäng tónh : töø 0Hz ñeán 24MHz.
™ 128 byte RAM noäi.
™ Coù 2 möùc ñeå khoùa boä nhôù chöông trình
™ 2 port I/O 8 bit.
™ 3 boä ñònh thôøi 16 bit.
™ 6 nguoàn ngaét.
™ Giao tieáp noái tieáp.
™ 64 Kbyte khoâng gian boä nhôù chöông trình môû roäng.
™ 64 Kbyte khoâng gian boä nhôù döõ lieäu môû roäng.
™ Moät boä xöû lyù luaän lyù (thao taùc treân caùc bit ñôn ).
™ Caùc ngoõ ra coù theå keùo Led tröïc tieáp.
™ 210 bit ñöôïc ñòa chæ hoùa.
™ Boä nhaân chia 4 chu kyø maùy.

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG -6-
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

2.1.2 Sô ñoà chaân :

Hình 2.1 : Sô ñoà chaân 89C2051

2.1.3 Moâ taû sô löôïc veà caùc chaân cuûa 89C2051 :


¾ VCC (chaân 20) : Ñieän aùp nguoàn cung caáp cho vi ñieàu khieån hoaït ñoäng.
¾ GND (chaân 10) : ñöôøng mass.
¾ PORT 1 (chaân 12 ñeán 19):
Port 1 laø port hoaït ñoäng 2 chieàu xuaát / nhaäp 8 bit. Caùc chaân töø P1.2 ñeán P1.7 coù
ñieän trôû noäi beân trong. Caùc chaân P1.0 vaø P1.1 yeâu caàu coù ñieän trôû keùo beân ngoaøi. Caùc
chaân P1.0 vaø P1.1 cuõng ñöôïc söû duïng nhö laø ngoõ vaøo cöïc döông ( AIN0) vaø ngoõ vaøo
cöïc aâm (AIN1) töông öùng cuûa maïch so saùnh Analog coù ñoä chính xaùc cao trong Chip
noäi.
Maïch ñeäm ngoõ ra cuûa Port 1 coù theå chòu ñöôïc doøng 20mA vaø coù theå keùo caùc Led
hieån thò tröïc tieáp.
Khi giaù tri 1ñöôïc ghi vaøo caùc chaân cuûa Port 1 thì caùc chaân naøy ñöôïc söû duïng nhö
ngoõ vaøo. Khi caùc chaân töø P1.2 ñeán P1.7 ñöôïc söû duïng nhö caùc ngoõ vaøo vaø ñöôïc keùo
xuoáng muùc thaáp bôûi maïch ngoaøi. Luùc ñoù caùc chaân naøy seõ trôû thaønh caùc nguoàn doøng bôûi
söï hieän dieän cuûa caùc ñòeän trôû noäi keùo leân beân trong.
Port naøy coøn laø Port nhaäp caùc maõ döõ lieäu cuûa vieäc ghi/naïp vaø kieåm ttra trong
suoát quaù trình thaûo chöông.
¾ PORT 3 :
Goàm caùc chaân töø P3.0 ñeán P3.7. Caùc chaân töø P3.0 ñeán P3.5 vaø P3.7 laø caùc chaân 2
chieàu xuaát/nhaäp vôùi ñieän trôû noäi beân trong. Chaân P3.6 khoâng ñöôïc xem nhö laø chaân 2
chieàu thoâng thöôøng, noù ñöôïc xem nhö laø ngoõ vaøo döôïc noái ñeán ngoõ ra cuûa maïch so saùnh
beân trong Chip noäi.
Port naøy coù theå chòu doøng taûi 20mA.
Khi giaù ttrò 1 ñöôïc ghi vaøo caùc chaân Port naøy, caùc chaân naøy ñöôïc ñöa leân möùc
cao bôûi caùc ñieän trôû noäi beân trong vaø coù theå söû duïng nhö ngoõ vaøo. Khi laø ngoõ vaøo,

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG -7-
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

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

Chaân Port Caùc chöùc naêng töông öùng


P3.0 RXD (Coång vaøo noái tieáp)
P3.1 TXD (Coång ra noái tieáp)
P3.2 INT0 (Ngaét ngoaøi soá 0)
P3.3 INT1 ( Ngaét ngoaøi soá 1)
P3.4 T0 (Ngoõ vaøo cuûa boä ñònh thôøi Timer0)
P3.5 T1 (Ngoõ vaøo cuûa boä ñònh thôøi Timer1)

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ôù.

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG -8-
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

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.

2.1.4 Caùc ñaëc tính khaùc :

Ñaëc tính cuûa maïch dao ñoäng :


Chaân XTAL1 vaø XTAL2 laø ngoõ vaøo vaø ra töông öùng cuûa maïch dao ñoäng khueách
ñaïi ñaûo pha, ñöôïc ñònh hình söû duïng nhö laø maïch dao ñoäng noäi beân trong. Moät maïch
dao ñoäng thaïch anh hay Ceramic ñöôïc söû duïng.

Hình 2.2 : Maïch taïo dao ñoäng cho 89C2051


Löu yù : C1, C2 = 30pF ± 10pF ñoái vôùi thaïch anh
40pF ± 10pF ñoái vôùi Ceramic Resonators

Ñ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.

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG -9-
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

Hình 2.3 : Keát noái vôùi maïch taïo dao ñoäng beân ngoaøi

2.1.5 Sô ñoà khoái 89C2051 :

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 10 -
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

Hình 2.4 :Sô ñoà khoái 89C2051

2.1.6 Toå chöùc boä nhôù RAM noäi :


RAM beân trong 89C2051 ñöôïc phaân chia giöõa caùc Bank thanh ghi (00H -1FH),
RAM ñòa chæ hoùa töøng bit (20H – 2FH), RAM ña duïng (30H– 7FH) vaø caùc thanh ghi
chöùc naêng ñaëc bieät (80H - FFH).

Hình 2.5 :Toå chöùc boä nhôù Ram noäi

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 11 -
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

¾ Vuøng RAM duøng cho muïc ñích chung :


Naèm töø ñòa chæ 30H-7FH. Vuøng naøy ñöôïc truy xuaát töï do nhôø cheá ñoä ñònh vò tröïc
tieáp hoaëc giaùn tieáp. Ví duï ñeå ñoïc noäi dung cuûa RAM noäi taïi ñòa chæ 5 vaøo thanh ghi A,
thöïc hieän leänh sau ñaây:
MOV A,5FH
hoaëc töông ñöông : MOV R0,#5FH
MOV A,@R0

¾ Vuøng RAM ñònh vò theo bit :


89C2051 coù 210 oâ nhôù ñònh vò theo bit, trong ñoù coù 128 oâ nhôù (16 byte) naèm taïi
“ñòa chæ byte” 20H-2FH, caùc oâ nhôù coøn laïi naèm ôû caùc thanh ghi chöùc naêng ñaëc bieät.
Vuøng naøy coù theå truy xuaát theo byte hoaëc theo bit tuøy thuoäc vaøo leänh ñöôïc duøng. Ví
duï ñeå set bit 67H, thöïc hieän leänh sau:
SETB 67H
hoaëc töông ñöông : MOV A,2CH
ORL A,10000000B
MOV 2CH,A
¾ Caùc bank thanh ghi :
89C2051 coù 4 baêng thanh ghi baét ñaàu töø ñòa chæ 00H –1FH, taïi moät thôøi ñieåm
chæ coù moät baêng tích cöïc. Löïa choïn baêng thanh ghi baèng caùch naïp caùc giaù trò thính hôïp
vaøo caùc bit löïa choïn baêng trong thanh ghi PSW (Program Status Word). Moãi baêng goàm
coù 8 thanh ghi R0-R7.
¾ Caùc thanh ghi chöùc naêng ñaëc bieät :
™ Thanh ghi PSW (Program Status Word)
Thanh ghi PSW naèm taïi ñòa chæ D0h chöùa caùc bit traïng thaùi ,toùm taét nhö sau:

CY AC F0 RS1 RS0 0V - P

Hình 2.6 : Caáu truùc thanh ghi PSW

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 12 -
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

• 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.

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 13 -
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

• 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 :

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 14 -
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

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.

2.2 EEPROM 24FC16 :

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

2.2.1 Sô ñoà chaân :

Hình 2.7 : Sô ñoà chaân EEPROM 24FC16

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 15 -
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

Chöùc naêng cuûa caùc chaân :

Baûng 2.2 : Baûng chöùc naêng caùc chaân cuûa EEPROM 24FC16

Chaân Chöùc naêng


VSS Ground
SDA Serial Address/Data I/O
SCL Serial Clock
WP Write Protect Input
VCC +4,5V to 5,5V Power Supply
A0, A1, A2 Select Chip

Sô ñoà khoái :

Hình 2.8 : Sô ñoà khoái EEPROM 24FC16

2.2.2 Moâ taû caùc chöùc naêng :

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

2.2.3 Ñònh ñòa chæ :

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.

Hình 2.10 : Vò trí byte ñieàu khieån cuûa EEPROM 24FC16

2.2.4 Hoaït ñoäng ghi/naïp döõ lieäu :

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 17 -
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

Coù 2 caùch thöùc naïp: Byte Write vaø Page Write. Ñöôïc moâ taû nhö hình sau :

Byte Write :

Hình 2.11: Hoaït ñoäng ghi/ naïp töøng Byte


Page Write :

Hình 2.12 : Hoïat ñoäng ghi/naïp 1Page ( 16 byte )

2.2.5 Hoaït ñoäng Ñoïc döõ lieäu :

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 :

Ñoïc ngaãu nhieân :

Hình 2.13 : Hoïat ñoäng ñoïc byte baát kì

Ñoïc tuaàn töï :

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 18 -
CHÖÔNG 2 : TOÅNG QUAN GVHD : BUØI QUANG ÑÖÔÏC

Hình 2.14 : Hoaït ñoäng ñoïc tuaàn töï

SVTH : TRẦN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 19 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

CHÖÔNG 3 :
TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG

3.1 QUANG BAÙO QUAÏT MAÙY

HÌnh 3.1 : Quang baùo ñöôïc theå hieän treân quaït maùy

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 19 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

3.1.1 Nguyeân lyù hoaït ñoäng :


Nhö ta ñaõ bieát, moät tính naêng ñaëc bieät cuûa maét ngöôøi laø tính löu aûnh. Nhôø vaän
duïng nguyeân lyù naøy maø nhieàu nghaønh coâng nghieäp giaûi trí ñaõ ra ñôøi vaø phaùt trieån maïnh.
Nguyeân lyù naøy cuõng laø chuû ñaïo trong lónh vöïc Quang baùo.
ÔÛ ñeà taøi Quang baùo quaït maùy, ta cuõng öùng duïng nguyeân lyù naøy nhöng chöùc naêng
naøy ñöôïc thöïc hieän bôûi chuyeån ñoäng quay cuûa ñoäng cô. Khi ñoäng cô quay vôùi moät toác
ñoä xaùc ñònh vaø cuøng vôùi taàn soá hieån thò Led thích hôïp maét ta seõ nhìn thaáy nhöõng hình
aûnh lieân tuïc vaø roõ neùt do caùc ñeøn Led taïo ra.

3.1.2 Caáu taïo :


Caùc boä phaän chính :
™ Quaït maùy.
™ Maïch VÑK laép trong uï caùnh quaït vaø daõy ñeøn Led ñöôïc laép treân caùnh quaït.
™ Coå goùp ñeå chuyeån ñieän leân maïch chính cung caáp cho VÑK hoaït ñoäng.

Hình 3.2 : Maïch VÑK chính laép trong uï caùnh quaït

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 20 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

Hình 3.3 : Daõy ñeøn Led laép treân caùnh quaït

Hình 3.4 : Coå goùp vaø choåi than ñeå chuyeån ñieän leân maïch VÑK

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 21 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

3.1.3 Nguyeân lyù maïch ñieàu khieån :

Hình 3.5 : Sô ñoà nguyeân lyù maïch ñieàu khieån

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 22 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

3.1.3.1 Nguyeân lyù maïch caáp nguoàn cho vi ñieàu khieån :

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 23 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

Hình 3.7 : Coå goùp vaø choåi than

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.

3.1.3.4 Nguyeân lyù maïch giao tieáp EEPROM:


Em söû duïng 2 chaân P3.7 vaø P3.5 ñeå giao tieáp noái tieáp vôùi EEPROM 24FC16. Vì
chæ coù 1 EEPROM neân em noái caùc chaân A1, A2, A3 vôùi GND ñeå ñònh ñòa chæ thieát bò laø
0. Ñeå ñaûm baûo aùp ñònh möùc cho ñöôøng data em duøng 1 ñieän trôû keùo leân cho chaân SDA,
vaø ñeå ñaït taàn soá truyeàn laø MAX cho pheùp cuûa nhaø saûn xuaát EEPROM qui ñònh laø 1MHz
em söû duïng ñieän trôû keùo leân coù giaù trò 2K2.

Hình 3.9: Sô ñoà nguyeân lyù maïch giao tieáp EEPROM.


SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC
NGUYEÃN CHÍ TRUNG - 24 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

3.1.3.2 Nguyeân lyù maïch ñieàu khieån LED:


Ôû ñaây em duøng Port 1 ñeå ñieàu khieån 8 LED.
- Khi caùc chaân Port 1 ôû möùc thaáp, caùc LED phaùt saùng.
- Khi caùc chaân Port 1 ôû möùc cao, caùc LED taét.
Vì caùc LED ñöôïc gaén treân caùnh quaït do ñoù ta phaûi duøng caùc connector ñeå noái
LED vôùi Port 1.
Em duøng ñieän trôû 220 ohm ñeå haïn doøng qua LED.

Hình 3.10 : Sô ñoà nguyeân lyù maïch ñieàu khieån LED

3.1.3.3 Nguyeân lyù maïch tín hieäu hoài tieáp:


Em duøng chaân P3.3 ñeå nhaän tín hieäu ngaét baùo 1 voøng quay ñaõ ñöôïc hoøan thaønh.
Em chia boä coå goùp thaønh 2 nöûa taùch rôøi nhau, vaø caëp choåi than thì 1 caùi ñöôïc noái vôùi
+12V vaø caùi coøn laïi noái 0V. 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.

Hình 3.11 : Sô ñoà nguyeân lyù maïch caáp tín hieäu hoài tieáp.

D14 : diode N4007


D13 : diode Zenner 5V1
R24 : 470 (Ohm)

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 25 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

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.

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 26 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

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 )

Keát luaän : Caàn chuù yù caùc ñieàu kieän:


™ Toác ñoä nhoû nhaát coù theå hieån thò ñöôïc, neáu khoâng seõ gaây ra chôùp taét, thöôøng laø
550(vg/ph).
™ Caàn xaùc ñònh thôøi gian delay thích hôïp öùng vôùi soá kyù töï ta mong muoán hieån thò,
traùnh coät cuoái cuûa kyù töï thöù 24 laán sang coät ñaàu cuûa kyù töï ñaàu tieân.

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 27 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

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 )

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 28 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

3.1.5 Giaûi phaùp caân baèng ñoäng cho quaït :


Vì em gaén Led tröïc tieáp treân caùnh quaït neân trong khi quay seõ taïo neân maát caân
baèng cho quaït. Ñieàu naøy laøm cho quaït rung, gaây oàn vaø aûnh bò nhoøe. Ñeå giaûi quyeát vaán
ñeà naøy em tieán haønh caân baèng cho quaït maø cuï theå laø caân baèng caùnh quaït.
Nguyeân nhaân gaây maát caân baèng laø do löïc vaø moâmen quaùn tính cuûa caùc Led trong
khi quay gaây ra. Ñeå quaït caân baèng thì ta phaûi ñaët treân 2 caùnh coøn laïi caùc ñoái troïng m
sao cho trong taâm cuûa caùnh truøng vôùi taâm quay O.

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 29 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

Ñ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

3.1.6 Nhöõng öu ñieåm vaø haïn cheá cuûa 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.

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 30 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

3.2 QUANG BAÙO CON LAÉC

3.2.1 Nguyeân lyù hoaït ñoäng :


Nguyeân lyù hoaït ñoäng cuûa con laéc nhö laø nguyeân lyù hoaït ñoäng cuûa con laéc ñôn.
Chuyeån ñoäng laéc cuûa thanh Led seõ ñöôïc tao ra bôûi löïc töø F cuûa nam chaâm ñieän
taùc duïng leân nam chaâm vónh cöûu ñöôïc gaén treân thanh Led.
Treân thanh Led, ta gaén troïng vaät coù khoái löông m thích hôïp. Troïng vaät m vaø nam
chaâm vónh cöûu naèm leäch vôùi nhau so vôùi phöông thaúng ñöùng moät goùc raát nhoû.

3
O O
2

5

1- Nam chaâm ñieän


2- Nam chaâm vónh cöûu
3- Truïc quay
4- Troïng vaät
5- Daõy Led

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.

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 31 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

Để 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.

3.2.2 Nam chaâm ñieän :


Nam chaâm ñieän laø moät loõi nhöïa ñöôïc quaán xung quanh bôûi daây ñoàng. Loõi nhöïa
naøy ñöôïc khoùet roãng xuyeân suoát. Ta khoâng ñaët loõi saét loàng beân trong vì nhö vaäy thì
nam chaâm vónh cöûu treân thanh Led seõ luoân luoân huùt loõi saét neân laøm cho dao ñoäng khoù
xaûy ra hôn.
Nam chaâm ñieän naøy goàm coù 2 cuoän daây quaán xen keû nhau trong cuøng 1 loõi vaø
ñöôïc kích hoaït ñoäng thoâng qua maïch dao động.

¾ Sô ñoà nguyeân lyù maïch dao động :

Hình 3.16 : Sô ñoà maïch kích hoaït nam chaâm ñieän

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 32 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

¾ Giaûi thích hoaït ñoäng cuûa maïch dao động :

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.

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 33 -
CHÖÔNG 3 : TÍNH TOAÙN & THIEÁT KEÁ PHAÀN CÖÙNG GVHD : BUØI QUANG ÑÖÔÏC

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.

3.2.3 Nhöõng öu ñieåm vaø haïn cheá cuûa saûn phaåm :

¾ Ö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…

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 34 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

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.

4.1 GIAO DIEÄN GIAO TIEÁP VÔÙI MAÙY TÍNH :

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.

Hình 4.1: Giao dieän giao tieáp maùy tính

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 35 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

Ñ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.

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 36 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

4.2 SÔ ÑOÀ GIAÛI THUAÄT :

Nhaán Send

Send ‘a’

Chôø söï kieän


nhaän 1 kyù töï

Nhaän ‘a’

Send a(i) Msgbox


“ error ”

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 37 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

4.3 GIAÛI THUAÄT CHO VÑK 89C2051 :

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.

Sô ñoà giaûi thuaät cho chöông trình chính :


Start

Khôûi ñoäng heä thoáng

Y
Ñuû 1 voøng?

Choïn hieäu öùng SET caùc thoâng soá

Choïn noäi dung Tính toaùn delay

Y
Ñuû 18 kyù töï

Ñoïc EEPROM P1=0FFh

Hieån thò noäi dung

Hình 4.3 : Sô ñoà giaûi thuaät cho chöông trình chính cuûa VÑK 89C2051

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 38 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

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.

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 39 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

Sô ñoà giaûi thuaät truyeàn nhaän döõ lieäu vaø naïp vaøo EEPROM :

Ngaét noái tieáp

N N N N
tmp5=0 tmp5=1 tmp5=2 tmp5=3

Y Y Y Y
Kieåm tra Com_OK Finish Error Reset

N N Send ‘b’ Send ‘A’ tmp5=0


sbuf=’a’ tmp6=0

Y Y
tmp5=1 Send ‘a’ CLR IE.4 CLR IE.4 RETI

tmp6=0 tmp6=1 RETI RETI

Call Stop RETI

RETI A=sbuf

tmp5=3 Write EEPROM

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 40 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

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

Set laïi caùc thoâng soá


cho voøng quay môùi

N
count_i < count_i-1

INC period_calc DEC period_calc

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 41 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

4.6 GIAÛI THUAÄT CHÖÔNG TRÌNH LAÁY CAÂU 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 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.

Sô ñoà giaûi thuaät chöông trình laáy caâu hieån thò :

Get_Adr

swap minutes

A=0/ A=3 A=1/ A=4 A=2/ A=5

Adr_Hi=0 Adr_Hi=1 Adr_Hi=2

RET

Hình 4.6 : Sô ñoà giaûi thuaät laáy caâu hieån thò

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 42 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

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

A=0/ A=1 A=2/ A=7 A=3/ A=6 A=8/ A=9 A=4


A=5

Style_0 Style_1 Style_2 Style_3 Style_4

Adr_Lo=108 Adr_Lo=0 Adr_Lo=108 Adr_Lo=108 Adr_Lo=108

MOV R6,A

RET

Hình 4.7 : Sô ñoà giaûi thuaät laát hieäu öùng hieån thò

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 43 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

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

call Start MOV led_digit,#FFh MOV P1,A

call Sequential call Delay

MOV led_digit,A RET

RET

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 44 -
CHÖÔNG 4 : THIEÁT KEÁ PHAÀN MEÀM GVHD : BUØI QUANG ÑÖÔÏC

Hình 4.8 : Sô ñoà giaûi thuaät laáy noäi dung xuaát Led

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 45 -
CHÖÔNG 5 : KEÁT LUAÄN GVHD : BUØI QUANG ÑÖÔÏC

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ï

5.2 HÖÔÙNG PHAÙT TRIEÅN CUÛA ÑEÀ TAØI :

™ 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, …

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 45 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

Private Sub CmdExit_Click()


End
End Sub

Private Sub CmdSend_Click()


m=0
MSComm1.Output = "a"
End Sub

Private Sub cmdStart_Click()


Dim st As String

st = makeString(Text1.Text) & makeString(Text2.Text) &


makeString(Text3.Text)

Dim tmp(6) As Byte


Dim st2(54) As String
Dim i As Integer
Dim j As Integer
j=0
For i = 0 To 53
st2(i) = Mid(st, i + 1, 1)

Call Convert(st2(i), tmp)


a(j) = tmp(0)
a(j + 1) = tmp(1)
a(j + 2) = tmp(2)
SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC
NGUYEÃN CHÍ TRUNG - 48 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

a(j + 3) = tmp(3)
a(j + 4) = tmp(4)
a(j + 5) = tmp(5)
j=j+6
Next i

'Display the Result


Dim dis As String
dis = ""
Text4.Text = ""
For i = 0 To 323
dis = dis & Display(a(i))
Next i

Text4.Text = dis

End Sub

Public Function makeString(s As String) As String


Dim charBlank As Integer
Dim tmpSt As String

charBlank = 18 - Len(s)
tmpSt = Space$(charBlank)

makeString = s & tmpSt

End Function

Public Sub Convert(st As String, result() As Byte)

Select Case Asc(st)


Case &H20:
result(0) = &HFF
result(1) = &HFF
result(2) = &HFF
result(3) = &HFF
result(4) = &HFF
result(5) = &HFF

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 49 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 50 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 51 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 52 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 53 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 54 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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:

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 55 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 56 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 57 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 58 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 59 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 60 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 61 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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:

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 62 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 63 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 64 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 65 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

result(4) = &HBF
result(5) = &HFF

End Select

End Sub

Public Function Display(ByVal b As Byte) As String


'doi ky tu ra so HEX
Dim tmp As String
Dim i As Byte
Dim j As Byte

j = b Mod 16
i = (b - j) / 16

tmp = toHex(i) & toHex(j)


'MsgBox "hex(i)= " & toHex(i) & "hex(j)= " & toHex(j) & " tmp= " &
tmp
Display = tmp

End Function

Public Function toHex(k As Byte) As String

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"

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 66 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

Case 15: toHex = "F"


End Select

End Function

Private Sub Form_Load()


With MSComm1
.CommPort = 1
.InputLen = 1
.RTSEnable = True
.RThreshold = 1
.Settings = "9600,n,8,1"
.InputMode = comInputModeText
.OutBufferSize = 512
.PortOpen = True
End With
'Timer1.Enabled = False
End Sub

Private Sub Form_Unload(Cancel As Integer)


MSComm1.PortOpen = False
End Sub

Private Sub MSComm1_OnComm()


Dim InBuff As String
Select Case MSComm1.CommEvent
Case comEvReceive
' Label1.Caption = "Input"
InBuff = MSComm1.Input
If InBuff = "a" Then
If (m < 324) Then
MSComm1.Output = Chr(a(m))
m=m+1
Else
MSComm1.Output = Chr(237)
End If
ElseIf InBuff = "A" Then
MsgBox "finish", vbOKOnly
ElseIf InBuff = "b" Then

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 67 -
PHUÏ LUÏC A GVHD : BUØI QUANG ÑÖÔÏC

MsgBox "Tieu", vbOKOnly


End If
End Select

End Sub

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 68 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

PHUÏ LUÏC B

CHÖÔNG TRÌNH CHO VÑK 89C2051


safe_A equ 20H
safe_PSW equ 21H
period_count equ 22H
period_dup equ 23H
period_calc equ 24H
flags equ 25H
dot_index equ 26H
digit_index equ 27H
sentence_index equ 42H
led_digit equ 46H
hours equ 28H
minutes equ 29H
bigtick_dbl equ 2AH
bigtick_hi equ 2BH
bigtick_lo equ 2CH
I2Cflags equ 2DH
scratch equ 2EH
tick equ 2FH
smalltick_lo equ 30H
smalltick_hi equ 31H
effect equ 32H
count equ 33H
counta equ 34H
countb equ 35H
tmp1 equ 36H
tmp2 equ 37H
tmp3 equ 38H
tmp4 equ 43H
tmp5 equ 44H
tmp6 equ 45H
Adr_Lo equ 39H
Adr_Hi equ 3AH
DAT_VAL equ 3BH
_N equ 3CH
InputByte equ 3DH
SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC
NGUYEÃN CHÍ TRUNG - 69 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

Data_Page equ 3EH


OutputByte equ 3FH
Chip_Read equ 40H
Chip_Write equ 41H

SDA equ P3.7


SCL equ P3.5

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

Style_1_tbl: DB 000H, 000H, 000H, 000H, 000H, 000H, 000H


DB 0FFH, 07FH, 0BFH, 0DFH, 0EFH, 0F7H, 0FBH
DB 0FEH, 07EH, 0BEH, 0DEH, 0EEH, 0F6H, 0FAH
DB 0FCH, 07CH, 0BCH, 0DCH, 0ECH, 0F4H
DB 0F8H, 078H, 0B8H, 0D8H, 0E8H
DB 0F0H, 070H, 0B0H, 0D0H, 0E0H, 060H, 0A0H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 0FFH, 0FFH, 0FFH, 0FFH, 000H, 000H, 000H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 70 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

DB 000H, 000H, 000H, 000H, 0FFH, 0FFH, 0FFH


DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H

get_style_2: INC A
MOVC A,@A+PC
RET

Style_2_tbl: DB 000H, 080H, 0C0H, 0E0H, 0F8H, 0FCH, 0FEH


DB 0FFH, 0FEH, 0FCH, 0F8H, 0E0H, 0C0H, 080H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 000H, 001H, 003H, 007H, 00FH, 01FH, 03FH
DB 0FFH, 07FH, 03FH, 01FH, 00FH, 007H, 003H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 000H, 080H, 0C0H, 0E0H, 0F8H, 0FCH, 0FEH
DB 0FFH, 0FEH, 0FCH, 0F8H, 0E0H, 0C0H, 080H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H

get_style_3: INC A
MOVC A,@A+PC
RET

Style_3_tbl: DB 000H, 000H, 000H


DB 080H, 040H, 0C0H, 0A0H, 060H, 0E0H, 0D0H
DB 0E8H, 0D8H, 0B8H, 078H, 0F8H
DB 0F4H, 0ECH, 0DCH, 0BCH, 07CH, 0FCH
DB 0FAH, 0F6H, 0EFH, 0DEH, 0BEH, 07EH, 0FEH
DB 0FDH, 0FBH, 0F7H, 0EFH, 0DFH, 0BFH, 07FH
DB 0FFH, 0FFH, 0FFH, 0FFH, 000H, 000H, 000H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 0FFH, 0FFH, 0FFH, 0FFH, 000H, 000H, 000H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 000H, 000H, 000H, 000H, 000H, 000H, 000H
DB 000H, 000H, 000H, 000H, 000H

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 71 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

Ngat: MOV safe_A,A


MOV safe_PSW,PSW
MOV A,period_count
ADD A,#1
JC overflow_0
JMP not_overflow_0

overflow_0: MOV period_count,A


DEC period_count
JMP delay_eff

not_overflow_0: MOV period_count,A

delay_eff: MOV A,smalltick_lo


ADD A,#1
JC overflow_1
MOV smalltick_lo,A
JMP inc_bigtick

overflow_1: MOV smalltick_lo,#00


MOV A,smalltick_hi
ADD A,#1
JC reload_eff
MOV smalltick_hi,A
JMP inc_bigtick

reload_eff: MOV smalltick_hi,#0FFH


MOV smalltick_lo,#050H
SETB flags.5

inc_bigtick: MOV A,bigtick_lo


ADD A,#1
JC overflow_2
MOV bigtick_lo,A
JMP Bigtick_out

overflow_2: MOV bigtick_lo,#00


MOV A,bigtick_hi
ADD A,#1
JC overflow_3

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 72 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

MOV bigtick_hi,A
JMP Bigtick_out

overflow_3: MOV bigtick_hi,#00


MOV A,bigtick_dbl
ADD A,#1
JC reload
MOV bigtick_dbl,A
JMP Bigtick_out

reload: MOV bigtick_dbl,#0FFH


MOV bigtick_hi,#0C0H
MOV bigtick_lo,#010H
SETB flags.1
MOV effect,#00

Bigtick_out: MOV A,safe_A


MOV PSW,safe_PSW
RET

Comm_PC: MOV safe_A,A


MOV safe_PSW,PSW
MOV A,tmp5

Test_Comm0: CJNE A,#0,Test_Comm1


JMP First_byte

Test_Comm1: CJNE A,#1,Test_Comm2


JMP Comm_OK

Test_Comm2: CJNE A,#2,Test_Comm3


JMP Finish

Test_Comm3: CJNE A,#3,Reset


JMP Error

Reset: CLR RI
CLR TI
MOV tmp5,#0
MOV P1,#0Fh

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 73 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

JMP Out_Comm

First_byte: MOV A,SBUF


CJNE A,#'a',not_right
MOV tmp5,#1
MOV tmp6,#0
CALL Stop
SETB flags.6
CLR RI
SETB TI
MOV R3,#0
JMP Out_Comm

not_right: MOV tmp5,#3


CLR RI
SETB TI
JMP Out_Comm

Out_Comm: MOV A,safe_A


MOV PSW,safe_PSW
RET

Comm_OK: MOV A,tmp6

Test_Send: CJNE A,#0,Test_Receive


JMP Send

Test_Receive: CJNE A,#1,Out_Comm


JMP Receive

Send: MOV SBUF,#'a'


;MOV P1,#0FFh
MOV tmp6,#1
CLR RI
CLR TI
JMP Out_Comm

Receive: MOV P1,#0Fh


MOV Adr_Hi,R5
MOV Adr_Lo,R3
MOV A,SBUF

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 74 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

CALL Write_EEPROM
INC R3
CJNE R3,#216,not_end
JMP end_sentence

not_end: MOV tmp6,#0


CLR RI
SETB TI
JMP Out_Comm

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

Finish: MOV SBUF,#'A'


MOV P1,#00
CLR IE.4
JMP Out_Comm

Error: MOV SBUF,#'b'


MOV P1,#0FFh
CLR IE.4
JMP Out_Comm

Write_EEPROM: MOV DAT_VAL,A

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 75 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

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

Read_EEPROM: CALL I2C_Start


CALL I2C_Set_Write

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

Stop: CALL I2C_Send_NAK


CALL I2C_Stop
MOV A,InputByte
RET

I2C_Read: MOV InputByte,#00


MOV _N,#08
SETB SDA

In_Bit: SETB SCL


MOV A,InputByte

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 76 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

MOV C,SDA
RLC A
MOV InputByte,A

Cont_In: CLR SCL


DJNZ _N,In_Bit
RET

I2C_Out: MOV OutputByte,A


MOV _N,#08

Out_Bit: CLR C
RLC A
MOV OutputByte,A
MOV SDA,C
NOP
NOP
NOP
CALL Clock_Pulse
SETB SDA

Cont_Out: DJNZ _N,Out_Bit


RET

I2C_NAK: SETB SDA


SETB SCL
MOV count,#0FCH

WaitForACK: MOV A,count


ADD A,#1
MOV count,A
JC No_ACK_Rec
JB SDA,WaitForACK
CLR I2Cflags.0
CLR SCL
RET

I2C_Send_NAK: SETB SDA


CALL Clock_Pulse
RET

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 77 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

WaitForWrite: CALL I2C_Start


CALL I2C_Set_Write
JB I2Cflags.0,WaitForWrite
RET

No_ACK_Rec: SETB I2Cflags.0


RET

I2C_ACK: CLR SDA


CALL Clock_Pulse
RET

I2C_Start: CLR SCL


SETB SDA
SETB SCL
CLR SDA
CLR SCL
RET

I2C_Stop: CLR SCL


CLR SDA
SETB SCL
SETB SDA
CLR SCL
RET

I2C_Set_Write: MOV A,Data_Page


RL A
ANL A,#00EH
ORL A,Chip_Write
CALL I2C_Out
CALL I2C_NAK
RET

I2C_Set_Read: MOV A,Data_Page


RL A
ANL A,#00EH
ORL A,Chip_Read
CALL I2C_Out
CALL I2C_NAK
RET

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 78 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

I2C_Lo_Adr: MOV A,Adr_Lo


CALL I2C_Out
CALL I2C_NAK
RET

I2C_Hi_Adr: MOV A,Adr_Hi


CALL I2C_Out
CALL I2C_NAK
RET

Clock_Pulse: SETB SCL


CLR SCL
RET

Delay10ms: MOV counta,#226

Delay_0: MOV countb,#22

Delay_1: DJNZ countb,Delay_1


DJNZ counta,Delay_0
RET

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

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 79 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

MOV tmp2,#00
MOV tmp3,#00
MOV tmp4,#00
MOV tmp5,#00
;MOV tmp6,#00
RET

Timer_COM_init: CLR TR1


CLR TF1
CLR TR0
CLR TF0
MOV SCON,#01010000B
MOV TMOD,#00100001B
MOV TH1,#0FDH
MOV TL1,#0FDH
MOV TL0,#LOW(-432)
MOV TH0,#HIGH(-432)
SETB TR1
SETB TR0
SETB IP.4
MOV IE,#10010010B
;MOV A,#00H
RET

I2C_Init: MOV Chip_Read,#0A1H


MOV Chip_Write,#0A0H
MOV Data_Page,#00
MOV count,#00
SETB SDA
SETB SCL
RET

Check_index: MOV A,P3


XRL A,flags
ANL A,#00001000B
CJNE A,#8,Exit
XRL flags,A
JNB flags.3,Exit

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 80 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

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

Late: ADD A,#1


JC Speed
DEC period_calc
JMP Speed

Exit: MOV A,#00


RET

Speed: MOV A,tmp1


CJNE A,#10,Exit
MOV tmp1,#00
MOV A,period_calc
CLR C
SUBB A,#93
ADD A,#9
MOV tick,A

Out: MOV A,#00H


RET

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 81 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

Display: MOV A,led_digit


ORL A,R6
MOV P1,A

Delay: MOV tmp2,tick ;1+3x(tick-


1)+2=3xtick

Delay_loop: NOP
DJNZ tmp2,Delay_loop
RET

Inc_ten: MOV scratch,#0AH

Inc_ten_loop: CALL Inc_mins


DJNZ scratch,Inc_ten_loop
RET

Inc_hours: MOV A,hours


CJNE A,#12H,not_equal_12
JMP Inc_hours_12

not_equal_12: MOV A,#07H


ADD A,hours
JB AC,equal_10
INC hours
RET

equal_10: MOV A,#07H


ADD A,hours
MOV hours,A
RET

Inc_hours_12: MOV hours,#01H


RET

Keep_time: JB flags.1,One_minute

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 82 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

RET

One_minute: CLR flags.1

Inc_mins: MOV A,#07H


ADD A,minutes
JB AC,Sixty_mins
INC minutes
RET

Sixty_mins: MOV minutes,A


CJNE A,#60H,not_equal_60
MOV minutes,#00H
JMP Inc_hours

not_equal_60: RET

Get_Adr: MOV A,minutes


SWAP A
ANL A,#00001111B
CLR C
RLC A
MOV DPTR,#Sentence
JMP @A+DPTR

Sentence: AJMP Sentence_1


AJMP Sentence_2
AJMP Sentence_3
AJMP Sentence_1
AJMP Sentence_2
AJMP Sentence_3

Sentence_1: MOV Adr_Hi,#00


RET

Sentence_2: MOV Adr_Hi,#01


RET

Sentence_3: MOV Adr_Hi,#02


RET

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 83 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

Effect_index: MOV A,minutes


ANL A,#00001111B
CLR C
RLC A
MOV DPTR,#Style
JMP @A+DPTR

Style: AJMP Style_0


AJMP Style_5
AJMP Style_5
AJMP Style_1
AJMP Style_2
AJMP Style_3
AJMP Style_1
AJMP Style_2
AJMP Style_6
AJMP Style_6

Style_0: MOV R6,#00000000B


MOV Adr_Lo,#108
MOV R2,#00
SETB flags.7
RET

Style_1: JB flags.5,Begin_1
JMP Out_1

Begin_1: CLR flags.5


MOV A,effect
CJNE A,#90,Test_1
JMP Right_1

Test_1: JC Right_1
DEC effect
MOV A,effect
JMP Get_1

Right_1: ADD A,#1


MOV effect,A

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 84 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

Get_1: CALL get_style_1


MOV R6,A

Out_1: MOV Adr_Lo,#108


MOV R2,#0
RET

Style_2: JB flags.5,Begin_2
JMP Out_2

Begin_2: CLR flags.5


MOV A,effect
CJNE A,#90,Test_2
JMP Right_2

Test_2: JC Right_2
DEC effect
MOV A,effect
JMP Get_2

Right_2: ADD A,#1


MOV effect,A

Get_2: CALL get_style_2


MOV R6,A

Out_2: MOV Adr_Lo,#108


MOV R2,#00
RET

Style_3: JB flags.5,Begin_3
JMP Out_3

Begin_3: CLR flags.5


MOV A,effect
CJNE A,#90,Test_3
JMP Right_3

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 85 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

Test_3: JC Right_3
DEC effect
MOV A,effect
JMP Get_3

Right_3: ADD A,#1


MOV effect,A

Get_3: CALL get_style_3


MOV R6,A

Out_3: MOV Adr_Lo,#108


MOV R2,#00
RET

Style_5: JNB flags.7,Right_5


MOV Adr_Lo,#00
CLR flags.7

Right_5: CJNE R2,#3,Keep_5

Run: MOV R2,#00


MOV R1,Adr_Lo
CJNE R1,#108,not_finish
MOV Adr_Lo,#108
JMP Keep_5

not_finish: INC Adr_Lo

Keep_5: MOV R6,#00


RET

Style_6: CJNE R2,#3,Keep_6

Back: MOV R2,#00


MOV R1,Adr_Lo
CJNE R1,#00,not_00
MOV Adr_Lo,#00
JMP Keep_6

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 86 -
PHUÏ LUÏC B GVHD : BUØI QUANG ÑÖÔÏC

not_00: DEC Adr_Lo

Keep_6: MOV R6,#00


RET

Read_Data: INC tmp3


MOV A,tmp3
CJNE A,#109,one_sentence
JMP end_sentence_2

one_sentence:JNC end_sentence_2
CJNE R7,#0,Sequential
MOV R7,#1
CALL Read_EEPROM

Sequential: CALL Read_Sequential


MOV led_digit,A
RET

end_sentence_2: MOV led_digit,#0FFH


CALL Stop
RET

ORG 0780H
Start: CALL Ram_init
CALL I2C_Init
CALL Timer_COM_init

Sub_Read: CALL Check_index


CALL Display
CALL Effect_index
CALL Get_Adr
CALL Read_Data
CALL Keep_time
JB flags.6,Loading
SJMP Sub_Read

Loading: JNB flags.6,Sub_Read


SJMP Loading
END

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC


NGUYEÃN CHÍ TRUNG - 87 -

You might also like