Luan Van_ Quat Quang Bao

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Luan Van_ Quat Quang Bao as PDF for free.

More details

  • Words: 13,938
  • Pages: 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 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5

Caùc chöùc naêng töông öùng RXD (Coång vaøo noái tieáp) TXD (Coång ra noái tieáp) INT0 (Ngaét ngoaøi soá 0) INT1 ( Ngaét ngoaøi soá 1) T0 (Ngoõ vaøo cuûa boä ñònh thôøi Timer0) 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) : khieån

Thanh ghi ñieàu khieån coâng suaát (PCON) ôû ñòa chæ 87H chöùa nhieàu bit ñieàu ™ 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 VSS SDA SCL WP VCC A0, A1, A2

Chöùc naêng Ground Serial Address/Data I/O Serial Clock Write Protect Input +4,5V to 5,5V Power Supply 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 :

Page Write :

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

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). Ta coù coâng thöùc xaùc ñònh chu kyø quay cuûa ñoäng cô

t (us ) =

Ta suy ra thôøi gian caàn delay cho 1 coät Led laø t0 (us ) =

106 v(vg / ph)

( 3.1 )

t (us ) 144

( 3.2 )

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

( 3.3 ) ( 3.4 )

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 . nhau:

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 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 ) . Thôøi gian delay cho 1 coät Led laø to min =

40000(us ) = 278(us ) . 144

( 3.6 )

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ø: ( 3.7 ) tdelay (i ) = (278 − 248) + ( period _ calci − 46) × 6 = 30 + ( period _ calci − 46) × 6

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 r3 r1 Pqt1

m

M O

r2 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. Ñeå caùnh quaït caân baèng thì :

3

r

∑P i =1

qti

=

3

∑ m .ω i =1

i

2

r 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

3.2

GVHD : BUØI QUANG ÑÖÔÏC

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

4 1 5 aù 12345-

Nam chaâm ñieän Nam chaâm vónh cöûu Truïc quay Troïng vaät 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

4.2

GVHD : BUØI QUANG ÑÖÔÏC

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

4.3

GVHD : BUØI QUANG ÑÖÔÏC

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

Ñuû 1 voøng?

Y

N Choïn hieäu öùng

SET caùc thoâng soá

Choïn noäi dung

Tính toaùn delay

Ñuû 18 kyù töï

Y

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

4.4

GVHD : BUØI QUANG ÑÖÔÏC

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

tmp5=0

N

Y

Y

Kieåm tra N

sbuf=’a’ Y

N

tmp5=1

N

tmp5=2

N

tmp5=3

N

Y

Y

Com_OK

Finish

Error

Reset

tmp6=0

Send ‘b’

Send ‘A’

tmp5=0

RETI

Y

tmp5=1

Send ‘a’

CLR IE.4

CLR IE.4

tmp6=0

tmp6=1

RETI

RETI

Call Stop

RETI

RETI

A=sbuf

tmp5=3

Write EEPROM tmp6=0

Finish

N

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

Thay ñoåi

N

Y Caïnh leân

N

Y Set laïi caùc thoâng soá cho voøng quay môùi

N

count_i < count_i-1 Y

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

4.6

GVHD : BUØI QUANG ÑÖÔÏC

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

4.7

GVHD : BUØI QUANG ÑÖÔÏC

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

Adr_Lo=108

Adr_Lo=0

Adr_Lo=108

Style_3 Adr_Lo=108

Style_4 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

4.8

GVHD : BUØI QUANG ÑÖÔÏC

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 :

Display

Read_Data

tmp3<108 N

N

MOV A,led_digit

Y R7=0

ORL A,R6

Y call Start

call Sequential

MOV led_digit,A

MOV led_digit,#FFh

MOV P1,A

call Delay

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 Display = tmp

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 safe_PSW equ period_count equ period_dup equ period_calc equ flags equ dot_index equ digit_index equ sentence_index equ led_digit equ hours equ minutes equ bigtick_dbl equ bigtick_hi equ bigtick_lo equ I2Cflags equ scratch equ tick equ smalltick_lo equ smalltick_hi equ effect equ count equ counta equ countb equ tmp1 equ tmp2 equ tmp3 equ tmp4 equ tmp5 equ tmp6 equ Adr_Lo equ Adr_Hi equ DAT_VAL equ _N equ InputByte equ

equ 21H 22H 23H 24H 25H 26H 27H 42H 46H 28H 29H 2AH 2BH 2CH 2DH 2EH 2FH 30H 31H 32H 33H 34H 35H 36H 37H 38H 43H 44H 45H 39H 3AH 3BH 3CH 3DH

SVTH : TRAÀN TRUNG CHAÙNH TRÖÏC NGUYEÃN CHÍ TRUNG

20H

- 69 -

PHUÏ LUÏC B

GVHD : BUØI QUANG ÑÖÔÏC Data_Page OutputByte Chip_Read Chip_Write

equ equ equ equ

3EH 3FH 40H 41H

SDA SCL

equ equ

P3.7 P3.5

ORG 0000H

ORG 000BH

ORG 0023H

LJMP Start

CLR TR0 MOV TL0,#LOW(-432) MOV TH0,#HIGH(-432) SETB TR0 CALL Ngat RETI

; tran sau 432us

CALL Comm_PC RETI

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

Style_1_tbl: DB DB DB DB DB DB DB DB DB

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

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

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

Style_2_tbl: DB DB DB DB DB DB DB DB DB DB DB

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

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

Style_3_tbl: DB DB DB DB DB DB DB DB DB DB DB DB DB

000H, 000H, 000H 080H, 040H, 0C0H, 0A0H, 060H, 0E0H, 0D0H 0E8H, 0D8H, 0B8H, 078H, 0F8H 0F4H, 0ECH, 0DCH, 0BCH, 07CH, 0FCH 0FAH, 0F6H, 0EFH, 0DEH, 0BEH, 07EH, 0FEH 0FDH, 0FBH, 0F7H, 0EFH, 0DFH, 0BFH, 07FH 0FFH, 0FFH, 0FFH, 0FFH, 000H, 000H, 000H 000H, 000H, 000H, 000H, 000H, 000H, 000H 000H, 000H, 000H, 000H, 000H, 000H, 000H 0FFH, 0FFH, 0FFH, 0FFH, 000H, 000H, 000H 000H, 000H, 000H, 000H, 000H, 000H, 000H 000H, 000H, 000H, 000H, 000H, 000H, 000H 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: delay_eff:

MOV period_count,A

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

SETB I2Cflags.0

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)+2=3xtick

;1+3x(tick-

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:

RET

MOV R6,#00

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

Read_Data:

DEC Adr_Lo

RET

MOV R6,#00

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 -

Related Documents

Luan Van_ Quat Quang Bao
November 2019 2
Thong Bao Nop Luan Van
November 2019 5
Luan Van
April 2020 10
Luan Van
April 2020 9
Luan Van
June 2020 14