mach vdk dem san pham (do an)
TRANSCRIPT
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
PHAÀN I LYÙ THUYEÁT CHÖÔNG I DAÃN NHAÄP
I. ÑAËT VAÁN ÑEÀ:Ngaøy nay cuøng vôùi söï phaùt trieån cuûa caùc ngaønh khoa hoïc kyõ thuaät, kyõ thuaät ñieän töû maøtrong
ñoù laø kyõ thuaät soá ñoùng vai troø quan troïng trong moïi lónh vöïc khoa hoïc kyõ thuaät, quaûn lí, coâng nghieäp töï ñoäng hoùa, cung caáp thoâng tin…. do ñoù chuùng ta phaûi naém baét vaø vaän duïng noù moät caùch coù hieäu quaû nhaèm goùp phaàn vaøo söï phaùt trieån neàn khoa hoïc kyõ thuaät theá giôùi noùi chung vaø trong söï phaùt trieån kyõ thuaät ñieän töû noùi rieâng.
Xuaát phaùt töø nhöõng ñôït ñi thöïc taäp toát nghieäp taïi nhaø maùy vaø tham quan caùc doanh nghieäp saûn xuaát, chuùng em ñaõ ñöôïc thaáy nhieàu khaâu ñöôïc töï ñoäng hoùa trong quaù trình saûn xuaát. Moät trong nhöõng khaâu ñôn giaûn trong daây chuyeàn saûn xuaát töï ñoäng hoùa ñoù laø soá löôïng saûn phaåm laøm ra ñöôïc ñeám moät caùch töï ñoäng.
Tuy nhieân ñoái vôùi nhöõng doanh nghieäp vöøa vaø nhoû thì vieäc töï ñoäng hoùa hoaøn toaøn chöa ñöôïc aùp duïng trong nhöõng khaâu ñeám saûn phaåm, ñoùng bao bì maø vaãn coøn söû duïng nhaân coâng.
Töø nhöõng ñieàu ñaõ ñöôïc thaáy ñoù vaø khaû naêng cuûa chuùng em, chuùng em muoán laøm moät ñieàu gì nhoû ñeå goùp phaàn vaøo giuùp ngöôøi lao ñoäng bôùt phaàn meät nhoïc chaân tay maø cho pheùp taêng hieäu suaát lao ñoäng leân gaáp nhieàu laàn, ñoàng thôøi ñaûm baûo ñöôïc ñoä chính xaùc cao. Neân chuùng em quyeát ñònh thieát keá moät maïch ñeám saûn phaåm vì noù raát gaàn guõi vôùi thöïc teá vaø noù thaät söï raát coù yù nghóa ñoái vôùi chuùng em vì ñaõ laøm ñöôïc moät phaàn nhoû ñoùng goùp cho xaõ hoäi.
Ñeå laøm ñöôïc maïch naøy caàn thieát keá ñöôïc hai phaàn chính laø: boä phaän caûm bieán vaø boä phaän ñeám.
* Boä phaän caûm bieán: goàm phaàn phaùt vaø phaàn thu. Thoâng thöôøng ngöôøi ta söû duïng phaàn phaùt laø led hoàng ngoaïi ñeå phaùt ra aùnh saùng hoàng ngoaïi muïc ñích ñeå choáng nhieãu so vôùi caùc loaïi aùnh saùng khaùc, coøn phaàn thu laø transistor quang ñeå thu aùnh saùng hoàng ngoaïi.
* Boä phaän ñeám coù nhieàu phöông phaùp thöïc thi ñoù la:ø-Laép maïch duøng kyõ thuaät soá vôùi caùc IC ñeám, choát, so saùnh gheùp laïi -Laép maïch duøng kyõ thuaät vi xöû lí-Laép maïch duøng kyõ thuaät vi ñieàu khieånII. CHOÏN PHÖÔNG AÙN THIEÁT KEÁ:1. Vôùi maïch ñeám saûn phaåm duøng IC rôøi coù: Caùc öu ñieåm sau:-Cho pheùp taêng hieäu suaát lao ñoäng-Ñaûm baûo ñoä chính xaùc cao-Taàn soá ñaùp öùng cuûa maïch nhanh, cho pheùp ñeám vôùi taàn soá cao-Khoaûng caùch ñaët phaàn phaùt vaø phaàn thu xa nhau cho pheùp ñeám nhöõng saûn phaåm lôùn.-Toån hao coâng suaát beù, maïch coù theå söû duïng pin hoaëc accu-Khaû naêng ñeám roäng-Giaù thaønh haï-Maïch ñôn giaûn deã thöïc hieänVôùi vieäc söû duïng kyõ thuaät soá khoù coù theå ñaùp öùng ñöôïc vieäc thay ñoåi soá ñeám. Muoán thay ñoåi
moät yeâu caàu naøo ñoù cuûa maïch thì buoäc loøng phaûi thay ñoåi phaàn cöùng.Do ñoù moãi laàn phaûi laép laïi maïch daãn ñeán toán keùm veà kinh teá maø nhieàu khi yeâu caàu ñoù khoâng thöïc hieän ñöôïc baèng phöông phaùp naøy.
Vôùi söï phaùt trieån maïnh cuûa nghaønh kyõ thuaät soá ñaëc bieät laø cho ra ñôøi caùc hoï vi xöû lí vaø vi ñieàu khieån raát ña chöùc naêng do ñoù vieäc duøng kyõ thuaät vi xöû lí, kyõ thuaät vi ñieàu khieån ñaõ giaûi quyeát nhöõng beá taéc vaø kinh teá hôn maø phöông phaùp duøng IC rôøi keát noái laïi khoâng thöïc hieän ñöôïc.
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
2. Vôùi maïch ñeám saûn phaåm duøng kyõ thuaät vi xöû lí: Ngoaøi nhöõng öu ñieåm nhö ñaõ lieät keâ trong phöông phaùp duøng IC rôøi thì maïch ñeám saûn phaåm
duøng kyõ thuaät vi xöû lí coøn coù nhöõng öu ñieåm sau:-Maïch coù theå thay ñoåi soá ñeám moät caùch linh hoaït baèng vieäc thay ñoåi phaàn meàm, trong khi ñoù
phaàn cöùng khoâng caàn thay ñoåi maø maïch duøng IC rôøi khoâng theå thöïc hieän ñöôïc maø neáu coù theå thöïc hieän ñöôïc thì cuõng cöùng nhaéc maø ngöôøi coâng nhaân cuõng khoù tieáp caän, deã nhaàm.
- Soá linh kieän söû duïng trong maïch ít hôn.-Maïch ñôn giaûn hôn so vôùi maïch ñeám saûn phaåm duøng IC rôøi vaø coù phaàn caøi ñaët soá ñeám ban
ñaàu-Maïch coù theå löu laïi soá lieäu cuûa caùc ca saûn xuaát -Maïch coù theå ñieàu khieån ñeám ñöôïc nhieàu daây chuyeàn saûn xuaát cuøng luùc baèng phaàn meàm -Maïch cuõng coù theå keát noái giao tieáp ñöôïc vôùi maùy tính thích hôïp cho nhöõng ngöôøi quaûn lí taïi
phoøng kyõ thuaät naém baét ñöôïc tình hình saûn xuaát qua maøn hình cuûa maùy vi tính.Nhöng trong thieát keá ngöôøi ta thöôøng choïn phöông phaùp toái öu nhöng kinh teá do ñoù chuùng em
choïn phöông phaùp ñeám saûn phaåm duøng kyõ thuaät vi ñieàu khieån3. Phöông phaùp ñeám saûn phaåm duøng vi ñieàu khieån:Ngoaøi nhöõng öu ñieåm coù ñöôïc cuûa hai phöông phaùp treân, phöông phaùp naøy coøn coù nhöõng öu
ñieåm :-Trong maïch coù theå söû duïng ngay boä nhôù trong ñoái vôùi nhöõng chöông trình coù quy moâ nhoû, raát
tieän lôïi maø vi xöû lí khoâng thöïc hieän ñöôïc.-Noù coù theå giao tieáp noái tieáp tröïc tieáp vôùi maùy tính maø vi xöû lí cuõng giao tieáp ñöôïc vôùi maùy
tính nhöng laø giao tieáp song song neân caàn coù linh kieän chuyeån ñoåi döõ lieäu töø song song sang noái tieáp ñeå giao tieáp vôùi maùy tính.
III. MUÏC ÑÍCH YEÂU CAÀU CUÛA ÑEÀ TAØI:Trong ñoà aùn naøy chuùng em thöïc hieän maïch ñeám saûn phaåm baèng phöông phaùp ñeám xung. Nhö
vaäy moãi saûn phaåm ñi qua treân baêng chuyeàn phaûi coù moät thieát bò ñeå caûm nhaän saûn phaåm, thieát bò naøy goïi laø caûm bieán. Khi moät saûn phaåm ñi qua caûm bieán seõ nhaän vaø taïo ra moät xung ñieän ñöa veà khoái xöû lí ñeå taêng daàn soá ñeám. Taïi moät thôøi ñieåm töùc thôøi, ñeå xaùc ñònh ñöôïc soá ñeám caàn phaûi coù boä phaän hieån thò. Tuy nhieân moãi khu vöïc saûn xuaát hay moãi ca saûn xuaát laïi yeâu caàu vôùi soá ñeám khaùc nhau vì theá phaûi coù söï linh hoaït trong vieäc chuyeån ñoåi soá ñeám. Boä phaän chuyeån ñoåi tröïc quan nhaát laø baøn phím. Khi caàn thay ñoåi soá ñeám ngöôøi söû duïng chæ caàn nhaäp soá ñeám ban ñaàu vaøo vaø maïch seõ töï ñoäng ñeám. Khi soá saûn phaåm ñöôïc ñeám baèng vôùi soá ñeám ban ñaàu thì maïch seõ töï ñoäng döøng. Töø ñaây suy ra muïc ñích yeâu caàu cuûa ñeà taøi:
-Soá ñeám phaûi chính xaùc, vaø thay ñoåi vieäc caøi ñaët soá ñeám ban ñaàu moät caùch linh hoaït. -Boä phaän hieån thò phaûi roõ raøng-Maïch ñieän khoâng quaù phöùc taïp, baûo ñaûm ñöôïc söï an toaøn,deã söû duïng.-Giaù thaønh khoâng quaù maécIV. GIÔÙI HAÏN CUÛA ÑEÀ TAØI:-Caùc saûn phaåm raát ña daïng vôùi nhieàu chuûng loaïi: ñaëc; roãng, kích côõ khaùc nhau. Nhöng vôùi khaû
naêng cuûa thieát bò laép thì maïch chæ coù theå ñeám ñoái vôùi saûn phaåm coù khaû naêng che ñöôïc aùnh saùng vaø coù kích thöôùc töø 10cm3 ñeán 30cm3.
-Ñeám soá saûn phaåm trong moät thuøng phaïm vi thay ñoåi töø 2 → 999. Coøn soá thuøng saûn phaåm phaïm vi thay ñoåi töø 1→9999.
-Löu soá saûn phaåm, soá hoäp sau moãi ca saûn xuaát vaø cho pheùp xem soá saûn phaåm vaø soá hoäp trong caùc ca saûn xuaát.
Töø muïc ñích yeâu caàu cuûa ñeà taøi chuùng em ñöa ra sô ñoà khoái toång quaùt cuûa maïch ñieän nhö sau:
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
V. XAÂY DÖÏNG SÔ ÑOÀ KHOÁI TOÅNG QUAÙT:
CHÖÔNG II LYÙ THUYEÁT THIEÁT KEÁ
I. CAÙC KHOÁI TRONG MAÏCH ÑIEÄN:1. Caûm bieán: a. Giôùi thieäu sô löôïc veà maïch caûm bieán:Ñeå caûm nhaän moãi laàn saûn phaåm ñi qua thì caûm bieán phaûi coù phaàn phaùt vaø phaàn thu. Phaàn phaùt
phaùt ra aùnh saùng hoàng ngoaïi vaø phaàn thu haáp thuï aùnh saùng hoàng ngoaïi vì aùnh saùng hoàng ngoaïi coù ñaëc ñieåm laø ít bò nhieãu so vôùi caùc loaïi aùnh saùng khaùc. Hai boä phaän phaùt vaø thu hoaït ñoäng vôùi cuøng taàn soá. Khi coù saûn phaåm ñi qua giöõa phaàn phaùt vaø phaàn thu, aùnh saùng hoàng ngoaïi bò che boä phaän thu seõ hoaït ñoäng vôùi taàn soá khaùc taàn soá phaùt nhö theá taïo ra moät xung taùc ñoäng tôùi boä phaän xöû lí. Vaäy boä phaän phaùt vaø boä phaän thu phaûi coù nguoàn taïo dao ñoäng. Boä phaän dao ñoäng taùc ñoäng tôùi coâng taéc ñoùng ngaét cuûa nguoàn phaùt vaø nguoàn thu aùnh saùng. Coù nhieàu linh kieän phaùt vaø thu aùnh saùng hoàng ngoaïi nhöng chuùng em choïn led hoàng ngoaïi vaø transitor quang laø linh kieän phaùt vaø thu vì transistor quang laø linh kieän raát nhaïy vôùi aùnh saùng hoàng ngoaïi. Boä phaän taïo dao ñoäng coù theå duøng maïch LC, coång logic, hoaëc IC dao ñoäng. Vôùi vieäc söû duïng IC chuyeân duøng taïo dao ñoäng, boä taïo dao ñoäng seõ trôû neân ñôn giaûn hôn vôùi taàn soá phaùt vaø thuVì tín hieäu ôû ngoõ ra trasitor quang raát nhoû neân caàn coù maïch khuyeách ñaïi tröôùc khi ñöa ñeán boä taïo dao ñoäng. Chuùng em choïn IC khueách ñaïi ñeå khueách ñaïi tín hieäu leân ñuû lôùn. Vaäy sô ñoà khoái cuûa phaàn phaùt vaø phaàn thu laø:
KHOÁI XÖÛ LYÙ
CAÛM BIEÁN BAØN PHÍM
KHOÁI HIEÅN THÒ
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
b. Caùc linh kieän trong maïch caûm bieán : b1. Caáu taïo, nguyeân lí hoaït ñoäng cuûa led hoàng ngoaïi:
_Led ñöôïc caáu taïo töø GaAs vôùi vuøng caám coù ñoä roäng laø 1.43eV töông öùng böùc xaï 900nm. Ngoaøi ra khi pha taïp Si vôùi nguyeân vaät lieäu GaAlAs, ñoä roäng vuøng caám coù theå thay ñoåi. Vôùi caùch naøy, ngöôøi ta coù theå taïo ra daûi soùng giöõa 800 - 900nm vaø do ñoù taïo ra söï ñieàu höôûng sao cho led hoàng ngoaïi phaùt ra böôùc soùng thích hôïp nhaát cho ñieåm cöïc ñaïi cuûa ñoä nhaïy caùc boä thu._Hoaït ñoäng: khi moái noái p - n ñöôïc phaân cöïc thuaän thì doøng ñieän qua noái lôùn vì söï daãn ñieän laø do haït taûi ña soá, coøn khi moái noái ñöôïc phaân cöïc nghòch thì chæ coù doøng ræ do söï di chuyeån cuûa caùc haït taûi thieåu soá. Nhöng khi chieáu saùng vaøo moái noái, doøng ñieän nghòch taêng leân gaàn nhö tyû leä vôùi quang thoâng trong luùc doøng thuaän khoâng taêng. Ñaëc tuyeán volt – ampere cuûa led hoàng ngoaïi nhö sau:
b2. Photon transistor.Photon Transistor cuõng töông töï nhö transistor thoâng thöôøng nhöng chæ khaùc ôû choã noù khoâng
coù cöïc bazô, thay cho taùc duïng khoáng cheá cuûa doøng vaøo cöïc bazô laø söï khoáng cheá cuûa chuøm saùng ñoái vôùi doøng colector cuûa transitor hoaëc coù cöïc bazô, nhöng khoáng cheá tín hieäu laø aùnh saùng.
Caáu taïo cuûa transistor quang_ Kyù hieäu vaø caáu taïo:
ϕ = 4
ϕ = 3
ϕ = 2
ϕ = 1ϕ = 0
U(V)
I(A)
C Cöïc thu (colecter)
Cöïc neàn (base) E Cöïc phaùt (emiter)
Kyù hieäu Caáu taïo
N P N B
EB
C
KHOÁI DAO ÑOÄNG
KHOÁI DAO ÑOÄNG
KHUYEÁCH ÑAÏITRANSITOR THU
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
_Hình thöùc beân ngoaøi cuûa noù khaùc vôùi transistor thoâng thöôøng ôû choã treân voû cuûa coù cöûa soå trong suoát cho aùnh saùng chieáu vaøo. AÙnh saùng qua cöûa soå naøy chieáu leân mieàn bazô cuûa transistor. Chuyeån tieáp PN emitor ñöôïc cheá taïo nhö caùc transistor thoâng thöôøng, nhöng chuyeån tieáp PN colector, thì do mieàn bazô caàn ñöôïc chieáu saùng, cho neân noù coù nhieàu hình daïng khaùc nhau, cuõng coù daïng hình troøn naèm giöõa taâm mieàn bazô. Khi söû duïng transistor quang maéc maïch töông töï nhö transistor maéc chung emitor (CE). Chuyeån tieáp emitor ñöôïc phaân cöïc thuaän coøn chuyeån tieáp colector ñöôïc phaân cöïc nghòch. Coù nghóa laø transistor quang ñöôïc phaân cöïc ôû cheá ñoä khuyeách ñaïi.
Doøng ñieän trong transistor: Vì noái thu ñöôïc phaân cöïc nghòch neân coù doøng ræ Ico chaïy giöõa thu – neàn vaø vì noái neàn - phaùt ñöôïc phaân cöïc thuaän neân doøng thu laø (β + 1)Ico ñaây laø doøng toái cuûa quang transistor. Khi chieáu aùnh saùng vaøo mieàn bazô, trong mieàn bazô coù söï phaùt xaï caëp ñieän töû loã troáng laøm xuaát hieän doøng IL. Do aùnh saùng khieán doøng thu trôû thaønh: Ic = (β + 1) .(Ico + IL)
Ñaëc tuyeán cuûa transistor quang
Trong ñoù H laø maät ñoä chieáu saùng (mW/cm2 ) Ñaëc tuyeán cuûa transistor quang cuõng gioáng nhö ñaëc tuyeán Volt- ampere cuûa transistor thoâng
thöôøng maéc EC. Ñieàu khaùc nhau ôû ñaây laø caùc tham soá khoâng phaûi laø doøng Ib maø laø löôïng chieáu saùngÑaëc tuyeán Volt ampere cuûa transistor quang öùng vôùi khoaûng Uce nhoû cuõng coù theå goïi laø mieàn
baõo hoøa vì khi aáy do söï tích tuï ñieän tích coù theå coi nhö chuyeån tieáp colector ñöôïc phaân cöïc thuaän. Cuõng töông töï nhö trong tröôøng hôïp transistor thoâng thuôøng, ñoä doác ñaëc tuyeán trong mieàn khuyeách ñaïi.
b3. IC dao ñoäng 555
U(V)5 10 15 20
I(A) H = 9
H = 7
H = 5
H = 4
H = 1
8
6
4
2
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Sô ñoà chaân:
Sô ñoà khoái beân trong IC 555
Chöùc naêng cuûa caùc chaânÑaây laø vi maïch ñònh thôøi chuyeân duøng, coù theå maéc thaønh daïng maïch ñôn oån hay baát oån.Ñieän aùp cung caáp töø 3V ñeán 18V.Doøng ñieän ra ñeán 200mA (loaïi vi maïch BJT) hay 100mA (loaïi CMOS).Chaân 1: Noái vôùi masse.Chaân 2: Nhaän tín hieäu kích thích (trigger).Chaân 3: Tín hieäu ra (output).Chaân 4: Phuïc nguyeân veà traïng thaùi ban ñaàu (preset).Chaân 5: Nhaän ñieän aùp ñieàu khieån (control voltag).Chaân 6: Möùc ngöôõng ( threshold ).Chaân 7: Taïo ñöôøng phoùng ñieän cho tuï.Chaân 8: Caáp nguoàn Vcc.* IC khuyeách ñaïi LM 324 ( QUAD OPERATIONAL AMPLIFIER).
LM 324 IC coù 4 taàng khueách ñaïi thuaät toaùn, IC laøm vieäc vôùi loaïi nguoàn ñôn.Ñoä lôïi treân 100dB, tuy nhieân baêng thoâng heïp hôn LM 3900.Chuù yù: khoâng ñeå ngaõ ra chaïm vaøo nguoàn V+ hay chaïm thaúng vaøo masse, ñieàu naøy seõ laøm hö IC.• IC 567 (TONE DECODER):
4
1
3
2
1 2 3 4 5 6 7
14 13 12 11 10 9
GND
+3 -
+
++
+
GND VCC
TRI DISOUT THR
FLIPFLOP
OUTPUT
8 6 4 7
13
2
5
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
IC 567 Boä giaûi maõ aâm saéc. IC chöùa moät voøng khoùa pha. Khi taàn soá phuø hôïp vôùi taàn soá trung taâm thì chaân 8 coù möùc aùp thaáp. Do ñoù tín hieäu töø transistor qua taàng khuyeách ñaïi ñöa ñeán ngoõ vaøo cuûa IC 567. Taàn soá hieän nay ñöôïc xaùc laäp theo maïch ñònh thôøi R vaø C hay 1,1/(RC). R laáy khoaûng 2K ñeán 20K. 567 coù theå taùch doø taàn soá ngaõ vaøo töø 0,01Hz ñeán 500KHz.
Ghi chuù: caùc ngaõ vaøo trong maïch loïc thaáp qua tính theo µF seõ ñöôïc xaùc ñònh bôûi n/F0. Trong ñoù n trong khoaûng 1300 ñeán 62000. Tuï ngaõ ra laáy trò soá gaáp ñoâi tuï trong maïch loïc thaáp qua ôû ngaõ vaøo.
2. Khoái xöû lí:Vôùi khoái xöû lí ngöôøi ta coù theå duøng IC rôøi hoaëc khoái vi xöû lí. Neáu söû duïng vi xöû lí trong khoái
xöû lyù, ngöôøi ta coù theå thieát keá maïch ñieän giao tieáp ñöôïc vôùi maùy tính neân deã daøng cho vieäc ñieàu khieån töø xa vaø baèng vieäc thay ñoåi phaàn meàm coù theå môû roäng chöông trình ñieàu khieån maïch ñieän ñeám nhieàu daây chuyeàn trong cuøng moät thôøi ñieåm hay löu laïi caùc soá lieäu trong caùc ca saûn xuaát, ñoù laø lí do chuùng em söû duïng vi xöû lí trong khoái xöû lí. Cuøng vôùi thôøi gian, con ngöôøi ñaõ cho ra ñôøi nhieàu loaïi vi xöû lí töø 8 bit ñeán 64 bit vôùi caûi tieán ngaøy caøng öu vieät nhöng tuøy theo muïc ñích söû duïng maø vi xöû lí 8 bit vaãn coøn toàn taïi. Trong ñoà aùn naøy chuùng em söû duïng vi ñieàu khieån 8051. 8051 cuõng laø vi xöû lí 8 bit nhöng coù chöùa boä nhôù beân trong vaø coù theâm 2 boä ñònh thôøi ngoaøi ra noù coù theå giao tieáp noái tieáp tröïc tieáp vôùi maùy tính maø vi xöû lí 8 bit nhö 8085 cuõng giao tieáp ñöôïc vôùi maùy tính nhöng laø giao tieáp song song neân caàn coù IC chuyeån ñoåi döõ lieäu töø song song sang noái tieáp ñeå giao tieáp vôùi maùy tính. Vôùi boä nhôù trong 8051 thích hôïp cho nhöõng chöông trình coù quy moâ nhoû,tuy nhieân 8051 coù theå keát hôïp ñöôïc vôùi boä nhôù ngoaøi cho chöông trình coù quy moâ lôùn. Sau ñaây laø giôùi thieäu cuûa chuùng em veà vi ñieàu khieån 8051:
a. Giôùi thieäu caáu truùc phaàn cöùng 8051a1. Sô ñoà chaân 8051
8051 laø IC vi ñieàu khieån (Microcontroller) do haõng Intel saûn xuaát. IC naøy coù ñaëc ñieåm nhö sau:- 4k byte ROM,128 byte RAM- 4 Port I/O 8 bit.- 2 boä ñeám/ ñònh thôøi 16 bit.- Giao tieáp noái tieáp.- 64k byte khoâng gian boä nhôù chöông trình môû roäng.- 64k byte 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 bít ñôn).- 210 bit ñöôïc ñòa chæ hoùa.- Boä nhaân / chia 4.
Sô löôïc veà caùc chaân cuûa 8051:
Ngoõ ra GND Tuï ñònh thôøi Ñieän trôû ñònh thôøi
5 6 78765
1 2
Tuï ngoõ raTuï loïc thoângthaáp
Ngoõvaøo+4,75-9,0V
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
a2. Chöùc naêng cuûa caùc chaân 8051: Port 0: töø chaân 32 ñeán chaân 39 (P0.0 _P0.7). Port 0 coù 2 chöùc naêng: trong caùc thieát keá
côõ nhoû khoâng duøng boä nhôù môû roäng noù coù chöùc naêng nhö caùc ñöôøng IO, ñoái vôùi thieát keá lôùùn coù boä nhôù môû roäng noù ñöôïc keát hôïp giöõa bus ñòa chæ vaø bus döõ lieäu. Port 1: töø chaân 1 ñeán chaân 9 (P1.0 _ P1.7). Port 1 laø port IO duøng cho giao tieáp vôùi thieát bò ngoaøi neáu caàn.
Port 2: töø chaân 21 ñeán chaân 28 (P2.0 _P2.7). Port 2 laø moät port coù taùc duïng keùp duøng nhö caùc ñöôøng xuaát nhaäp hoaëc laø byte cao cuûa bus ñòa chæ ñoái vôùi caùc thieát bò duøng boä nhôù môû roäng.
Port 3: töø chaân 10 ñeán chaân 17 (P3.0 _ P3.7). Port 3 laø port coù taùc duïng keùp. Caùc chaân cuûa port naøy coù nhieàu chöùc naêng, coù coâng duïng chuyeån ñoåi coù lieân heä ñeán caùc ñaëc tính ñaëc bieät cuûa 8051 nhö ôû baûng sau :
Bit Teân Chöùc naêng chuyeån ñoåi
P3.0P3.1P3.2P3.3P3.4P3.5
RXDTXDINT0\INT1\T0T1
Ngoõ vaøo döõ lieäu noái tieáp.Ngoõ xuaát döõ lieäu noái tieáp.Ngoõ vaøo ngaét cöùng thöù 0.Ngoõ vaøo ngaét cöùng thöù 1.Ngoõ vaøo TIMER/ COUNTER thöù 0.Ngoõ vaøo cuûa TIMER/ COUNTER thöù 1.
8031
EA/VP31
X119 X218
RESET9
P3.212
P3.313
P3.414
P3.515
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P0.039
P0.138
P0.237
P0.336
P0.435
P0.534
P0.633
P0.732
P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728
P3.717 P3.616
PSEN29
ALE/P30
P3.111 P3.010
VCC40
VSS20
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
P3.6P3.7
WR\RD\
Tín hieäu ghi döõ lieäu leân boä nhôù ngoaøi.Tín hieäu ñoïc boä nhôù döõ lieäu ngoaøi.
PSEN (Program store enable):PSEN laø tín hieäu ngoõ ra coù taùc duïng cho pheùp ñoïc boä nhôù chöông trình môû roäng vaø thöôøng
ñöôïc noái ñeán chaân OE\ cuûa Eprom cho pheùp ñoïc caùc byte maõ leänh.PSEN ôû möùc thaáp trong thôøi gian 8051 laáy leänh. Caùc maõ leänh cuûa chöông trình ñöôïc ñoïc töø Eprom qua bus döõ
lieäu, ñöôïc choát vaøo thanh ghi leänh beân trong 8051 ñeå giaûi maõ leänh. Khi 8051 thi haønh chöông trình trong ROM noäi PSEN ôû möùc cao.
ALE (Address Latch Enable): Khi 8051 truy xuaát boä nhôù beân ngoaøi, Port 0 coù chöùc naêng laø bus ñòa chæ vaø döõ lieäu do ñoù phaûi taùch caùc ñöôøng
döõ lieäu vaø ñòa chæ. Tín hieäu ra ALE ôû chaân thöù 30 duøng laøm tín hieäu ñieàu khieån ñeå giaûi ña hôïp caùc ñöôøng ñòa chæ vaø döõ lieäu khi keát noái chuùng vôùi IC choát.
Tín hieäu ôû chaân ALE laø moät xung trong khoaûng thôøi gian port 0 ñoùng vai troø laø ñòa chæ thaáp neân choát ñòa chæ hoaøn toaøn töï ñoäng.
EA\ (External Access): Tín hieäu vaøo EA\ ôû chaân 31 thöôøng ñöôïc maéc leân möùc 1 hoaëc möùc 0. Neáu ôû möùc 1, 8051 thi haønh chöông trình töø ROM noäi. Neáu ôû möùc 0, 8051 thi haønh chöông trình töø boä nhôù môû roäng. Chaân EA\ ñöôïc laáy laøm chaân caáp nguoàn 21V khi laäp trình cho Eprom trong 8051.
RST (Reset): Khi ngoõ vaøo tín hieäu naøy ñöa leân möùc cao ít nhaát 2 chu kyø maùy, caùc thanh ghi beân trong ñöôïc naïp nhöõng giaù trò thích hôïp ñeå khôûi ñoäng heä thoáng. Khi caáp ñieän maïch phaûi töï ñoäng reset.
Caùc ngoõ vaøo boä dao ñoäng X1, X2: Boä taïo dao ñoäng ñöôïc tích hôïp beân trong 8051. Khi söû duïng 8051, ngöôøi ta chæ caàn noái theâm tuï thaïch anh vaø caùc
tuï. Taàn soá tuï thaïch anh thöôøng laø 12 Mhb. Caáu truùc beân trong cuûa 8051b1. Sô ñoà khoái beân trong 8051:
T1T0
Ñieàu khieån
Caùc thanh
ghi khaùc
128 byte RAM
MRO Timer
2Timer 1Timer 0
CPU
Oscillator Ñieàu khieån bus
Caùc port I/O
Port noái tieáp
Port noái Timer 0Timer 1Timer 2
INT0INT1
EARST
PSENALE
P0 P2 P1 P3 TxD RxD
T2
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
b2. Khaûo saùt caùc khoái nhôù beân trong 8051:*Toå chöùc boä nhôù:
7F RAM ÑA DUÏNG
302F 7F 7E 7D 7C 7B 7A 79 7
82E 77 76 75 74 73 72 71 7
02D 6F 6E 6D 6C 6B 6A 69 6
82C 67 66 65 64 63 62 61 6
02B 5F 5E 5D 5C 5B 5A 59 5
82A 57 56 55 54 53 52 51 5
029 4F 4E 4D 4C 4B 4A 49 4
828 47 46 45 44 43 42 41 4
027 3F 3E 3D 3C 3B 3A 39 3
826 37 36 35 34 33 32 31 3
025 2F 2E 2D 2C 2B 2A 29 2
824 27 26 25 24 23 22 21 2
023 1F 1E 1D 1C 1B 1A 19 1
822 17 16 15 14 13 12 11 1
021 0F 0E 0D 0C 0B 0A 09 0
820 07 06 05 04 03 02 01 0
01F
BANK 318 17
BANK 210
0F
BANK 108
07
Bank thanh ghi 0 ( maëc ñònh cho R0-R7)
00
ÁU TRUÙC RAM NOÄI
F0 F7 F6 F5 F4 F3 F2 F1 F0
E0 E7 E6 E5 E4 E3 E2 E1 E0
D0 D7 D6 6D 6C 6B 6A 69 68
B8 - - - BC BB BA B9 B8
B0 B7 B6 B5 B4 B3 B2 B1 B0
A8 AF AE AD AC AB AA A9 A8
A0 A7 A6 A5 A4 A3 A2 A1 A0
99 Khoâng coù ñòa chæ hoùa töøng bit98 9F 9E 9D 9C 9B 9A 99 98
90 97 96
95 94 93 92 91 90
8D Khoâng ñöôïc ñòa chæ hoùa töøng bit8C Khoâng ñöôïc ñòa chæ hoùa töøng bit8B Khoâng ñöôïc ñòa chæ hoùa töøng bit8A Khoâng ñöôïc ñòa chæ hoùa töøng bit89 Khoâng ñöôïc ñòa chæ hoùa töøng bit88 8F 8
E8D 8C 8B 8A 89 88
87 Khoâng ñöôïc ñòa chæ hoùa töøng bit
83 Khoâng ñöôïc ñòa chæ hoùa töøng bit82 Khoâng ñöôïc ñòa chæ hoùa töøng bit81 Khoâng ñöôïc ñòa chæ hoùa töøng bit80 87 86 8
584 83 82 81 80
THANH GHI CHÖÙC NAÊNG ÑAËC BIEÄT
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Boä nhôù beân trong 8051 bao goàm ROM vaø RAM. RAM bao goàm nhieàu thaønh phaàn: phaàn löu tröõ ña duïng, phaàn löu tröõ ñòa chæ hoùa töøng bit, caùc bank thanh ghi vaø caùc thanh ghi chöùc naêng ñaëc bieät.
8051 coù boä nhôù theo caáu truùc Harvard: coù nhöõng vuøng nhôù rieâng bieät cho chöông trình vaø döõ lieäu. Chöông trình vaø döõ lieäu coù theå chöùa beân trong 8051 nhöng 8051 vaãn coù theå keát noái vôùi 64 k byte boä nhôù chöông trình vaø 64 k byte boä nhôù döõ lieäu môû roäng.
Ram beân trong 8051 ñöôïc phaân chia nhö sau:- Caùc bank thanh ghi coù ñòa chæ töø 00H ñeán 1Fh.- Ram ñòa chæ hoùa töøng bit coù ñòa chæ töø 20H ñeán 2FH.- Ram ña duïng töø 30H ñeán 7FH.- Caùc thanh ghi chöùc naêng ñaëc bieät töø 80H ñeán FFH. -Ram ña duïng:
Moïi ñòa chæ trong vuøng ram ña duïng ñeàu coù theå ñöôïc truy xuaát töï do duøng kieåu ñòa chæ tröïc tieáp hay giaùn tieáp. Ví duï ñeå ñoïc noäi dung oâ nhôù ôû ñòa chæ 5FH cuûa ram noäi vaøo thanh ghi tích luõy A : MOV A,5FH.Hoaëc truy xuaát duøng caùch ñòa chæ giaùn tieáp qua R0 hay R1. Ví duï 2 leänh sau seõ thi haønh cuøng nhieäm vuï nhö leänh ôû treân:
MOV R0, #5FHMOV A , @R0
-Ram coù theå truy xuaát töøng bit:8051 chöùa 210 bit ñöôïc ñòa chæ hoùa töøng bit, trong ñoù 128 bit chöùa ôû caùc byte coù ñòa chæ
töø 20H ñeán 2FH, caùc bit coøn laïi chöùa trong nhoùm thanh ghi chöùc naêng ñaëc bieät.YÙtöôûng truy xuaát töøng bit baèng phaàn meàm laø moät ñaëc tính maïnh cuûa vi ñieàu khieån noùi chung.
Caùc bit coù theå ñöôïc ñaët, xoùa, and, or,… vôùi 1 leänh ñôn. Ngoaøi ra caùc port cuõng coù theå truy xuaát ñöôïc töøng bít laøm ñôn giaûn phaàn meàm xuaát nhaäp töøng bit.
Ví duï ñeå ñaët bit 67H ta duøng leänh sau: SETB 67H. -Caùc bank thanh ghi:
Boä leänh 8051 hoã trôï 8 thanh ghi coù teân laø R0 ñeán R7 vaø theo maëc ñònh (sau khi reset heä thoáng), caùc thanh ghi naøyôû caùc ñòa chæ 00H ñeán 07H. leänh sau ñaây seõ ñoïc noäi dung ôû ñòa chæ 05H vaøo thanh ghi tích luõy: MOV A, R5.
Ñaây laø leänh 1 byte duøng ñòa chæ thanh ghi. Tuy nhieân coù theå thi haønh baèng leänh 2 byte duøng ñòa chæ tröïc tieáp naèm trong byte thöù 2: MOV A, 05H.
Leänh duøng caùc thanh ghi R0 ñeán R7 thì seõ ngaén hôn vaø nhanh hôn nhieàu so vôùi leänh töông öùng duøng ñòa chæ tröïc tieáp.
Bank thanh ghi tích cöïc baèng caùch thay ñoåi caùc bit trong töø traïng thaùi chöông trình (PSW). Giaû suû thanh ghi thöù 3 ñang ñöôïc truy xuaát, leänh sau ñaây seõ di chuyeån noäi dung cuûa thanh ghi A vaøo oâ nhôù ram coù ñòa chæ 18H: MOV R0, A.
* Caùc thanh ghi coù chöùc naêng ñaëc bieät: 8051 coù 21 thanh ghi chöùc naêng ñaëc bieät (SFR: Special Funtion Register) ôû vuøng treân cuûa RAM noäi töø ñòa chæ 80H ñeán FFH.Chuù yù: taát caû 128 ñòa chæ töø 80H ñeán FFH khoâng ñöôïc ñònh nghóa, chæ coù 21 thanh ghi chöùc naêng ñaëc bieät ñöôïc ñònh nghóa saün caùc ñòa chæ.
-Thanh ghi traïng thaùi chöông trình:
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Thanh ghi traïng thaùi chöông trình PSW (Program Status Word ) ôû ñòa chæ DOH chöùa caùc bít traïng thaùi nhö baûng sau:
Bit Kyù hieäu Ñòa chæ YÙ nghóaPSW.7PSW.6PSW.5PSW.4PSW.3
PSW.2PSW.1PSW.0
CYACF0RS1RS0
0V_P
D7HD6HD5HD4HD3H
D2HD1HD0H
Côø nhôùCôø nhôù phuïCôø 0Bit 1 choïn bank thanh ghiBit 0 choïn bank thanh ghi 00=bank 0: ñòa chæ 00H – 07H 01=bank 1: ñòa chæ 08H – 0FH 10=bank 2: ñòa chæ 10H – 1FH 11=bank 3: ñòa chæ 18H –1FHCôø traønDöï tröõCôø parity chaün leõ.
+ Côø nhôù : C = 1 neáu pheùp toaùn coäng coù traøn hoaëc pheùp toaùn tröø coù möôïn vaø ngöôïc laïi C = 0. Ví duï
neáu thanh ghi A coù giaù trò FF thì leänh sau:ADD A, #1
Pheùp coäng naøy coù traøn neân bit C = 1 vaø keát quaû trong thanh ghi A = 00HCôø nhôù coù theå xem laø thanh ghi 1 bit cho caùc leänh luaän lyù thi haønh treân bit. ANL C, 25H
+ Côù nhôù phuï:Khi coäng caùc soá BCD, côø nhôù phuï AC = 1 neáu keát quaû 4 bit thaáp trong khoaûng 0AH ñeán 0FH. Ngöôïc laïi AC = 0.
+ Côø 0:Côø 0 laø moät bit côø ña duïng daønh cho caùc öùng duïng cuûa ngöôøi duøng.
+ Caùc bit choïn bankthanh ghi truy xuaát:Caùc bit choïn bank thanh ghi (RS0 vaø RS1) xaùc ñònh bank thanh ghi ñöôïc truy xuaát. Chuùng ñöôïc
xoùa sau khi reset heä thoáng vaø ñöôïc thay ñoåi baèng phaàn meàm neáu caàn. Ví duï leänh sau cho pheùp bank thanh ghi 3 vaø di chuyeån noäi dung cuûa bank thanh ghi R7 (ñòa chæ bye 1FH) vaøo thanh ghi A:
SETB RS1SETB RS0MOV A,R7
-Thanh ghi B:Thanh ghi B ôû ñòa chæ F0H ñöôïc duøng cuøng vôùi thanh ghi tích luõy A cho caùc pheùp toaùn nhaân
vaø chia. Leänh MUL AB seõ nhaân caùc giaù trò khoâng daáu 8 bit trong A vaø B roài traû keát quaû veà 16 bit trong A (byte thaáp) vaø B (byte cao). Leänh DIV AB seõ chia A cho B roài traû keát quaû nguyeân trong A vaø phaàn dö trong B. thanh ghi cuõng coù theå xem nhö thanh ghi ñeäm ña duïng.
-Con troû ngaên xeáp:Con troû ngaên xeáp SP laø moät thanh ghi 8 bit ôû ñòa chæ 18H. Noù chöùa ñòa chæ cuûa byte döõ lieäu
hieän haønh treân ñænh cuûa ngaên xeáp. Caùc leänh treân ngaên xeáp bao goàm caùc leänh caát döõ lieäu vaøo ngaên xeáp vaø laáy döõ lieäu ra khoûi ngaên xeáp. Leänh caát döõ lieäu vaøo ngaên xeáp seõ laøm taêng SP tröôùc khi ghi döõ lieäu vaø leänh laáy döõ lieäu ra khoûi ngaên xeáp seõ laøm giaûm SP. Ngaên xeáp cuûa 8051 ñöôïc giöõ trong ram
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
noäi vaø giôùi haïn caùc ñòa chæ coù theá truy xuaát baèng ñòa chæ giaùn tieáp, chuùng laø 128 byte ñaàu cuûa 8051Ñeå khôûi ñoäng SP vôùi ngaên xeáp baét ñaàu taïi ñòa chæ 60 H, caùc leänh sau ñaây ñöôïc duøng:
MOV SP,#5FHKhi reset 8051, SP seõ mang giaù trò maëc ñònh laø 07H vaø döõ lieäu ñaàu tieân seõ ñöôïc caát vaøo oâ nhôù ngaên xeáp coù ñòa chæ laø 08 H. Ngaên xeáp ñöôïc truy xuaát tröïc tieáp baèng caùc leänh PUSH vaø POP ñeå löu tröõ taïm thôøi vaø laáy laïi döõ lieäu hoaëc truy xuaát ngaàm baèng leänh goïi chöông trình con ACALL,LCALL vaø caùc leänh trôû veà (RET. RETI) ñeå löu tröõ giaù trò cuûa boä ñeám chöông trình khi baét ñaàu thöïc hieän chöông trình con vaø laáy laïi khi keát thuùc chöông trình con.
-Con troû döõ lieäu Con troû döõ lieäu DPTR ñöôïc duøng ñeå truy xuaát boä nhôù ngoaøi laø moät thanh ghi 16 bit ôû ñòa
chæ 82H (DPL: byte thaáp) vaø 83H (DPH: byte cao). 3 leänh sau seõ ghi 55H vaøo ram ngoaøi ôû ñòa chæ 1000H:
MOV A,#55H MOV DPTR, #1000H
MOVX @DPTR,A-Caùc thanh ghi port xuaát nhaäp:
Caùc port cuûa 8051 bao goàm port 0 ôû ñòa chæ 80H, port 1 ôû ñòa chæ 90H, port 2 ôû ñòa chæ A0H, vaø port3 ôû ñòa chæ B0H. taát caû caùc port naøy ñeàu coù theå truy xuaát töøng bit neân raát thuaän tieän trong khaû naêng giao tieáp.
-Caùc thanh ghi timer: 8051 coù chöùa 2 boä ñònh thôøi/ ñeám 16 bit ñöôïc duøng cho vieäc ñònh thôøi hoaëc ñeám söï kieän.
Timer 0 ôû ñòa chæ 8AH (TL0: byte thaáp) vaø 8CH (TH0: byte cao). Timer 1 ôû ñòa chæ 8BH (TL1: byte thaáp) vaø 8DH (TH1: byte cao). Vieäc khôûi ñoäng timer ñöôïc Set bôûi Timer Mode (TMOD) ôû ñòa chæ 89H vaø thanh ghi ñieàu khieån timer (TCON) ôû ñòa chæ 88H, chæ coù TCON ñöôïc ñòa chæ hoùa töøng bit. -Caùc thanh ghi port noái tieáp:
8051 chöùa moät port noái tieáp daønh cho vieäc trao ñoåi thoâng tin vôùi caùc thieát bò noái tieáp nhö maùy tính, modem hoaëc giao tieáp noái tieáp vôùi caùc IC khaùc. Moät thanh ghi goïi laø boä ñeäm döõ lieäu noái tieáp (SBUF) ôû ñòa chæ 99H seõ giöõ caû 2 döõ lieäu truyeàn vaø döõ lieäu nhaän. Khi truyeàn döõ lieäu thì ghi leân SBUF, khi nhaän döõ lieäu thì ñoïc SBUF. Caùc mode vaän haønh khaùc nhau ñöôïc laäp trình qua thanh ghi ñieàu khieån port noái tieáp SCON ôû ñòa chæ 98H. -Caùc thanh ghi ngaét :
8051 coù caáu truùc 5 nguoàn ngaét, 2 möùc öu tieân. Caùc ngaét bò caám sau khi reset heä thoáng vaø seõ ñöôïc cho pheùp baèng vieäc ghi thanh ghi cho pheùp ngaét (IE) ôû ñòa chæ A8H, caû 2 thanh ghi ñöôïc ñòa chæ hoùa töøng bit. -Thanh ghi ñieàu khieån coâng suaát: Thanh ghi ñieàu khieån coâng suaát (PCON) ôû ñòa chæ 87H chöùa caùc bit ñieàu khieån. -Tín hieäu Reset:
8051 coù ngoõ vaøo reset RST taùc ñoäng ôû möùc cao trong khoaûng thôøi gian 2 chu kyø, sau ñoù xuoáng möùc thaáp ñeå 8051 baét ñaàu laøm vieäc. RST coù theå kích baèng tay baèng moät phím nhaán thöôøng môû, sô ñoà maïch reset nhö hình treân (hình a) sau khi reset heä thoáng ñöôïc toùm taét nhö sau:
Thanh ghi Noäi dung
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Ñeám chöông trình PCThanhghi tích luõy AThanh ghi BThanh ghi traïng thaùiSPDPTRPort 0 ñeán Port 3IPIECaùc thanh ghi ñònh thôøi
0000H00H00H00H07H0000HFFHXXX0000 B0XX00000 B00H
Thanh ghi quan troïng nhaát laø thanh ghi boä ñeám chöông trình PC ñöôïc Reset taïi ñòa chæ 0000H. Khi ngoõ vaøo RST xuoáng möùc thaáp, chöông trình luoân baét ñaàu taïi ñòa chæ 0000H cuûa boä nhôù chöông trình. Noäi dung cuûa Ram trong chip khoâng bò hay ñoåi bôûi taùc ñoäng cuûa ngoõ vaøo Reset
c.Hoaït ñoäng thanh ghi TIMER8051 coù hai timer 16 bit, moãi timer coù boán caùch laøm vieäc. Ngöôøi ta söû duïng caùc timer ñeå:
- Ñònh khoaûng thôøi gian.
- Ñeám söï kieän.
- Taïo toác ñoä baud cho port noái tieáp trong 8051.
Trong caùc öùng duïng ñònh khoaûng thôøi gian, ngöôøi ta laäp trình timer ôû nhöõng khoaûng ñeàu ñaën vaø ñaët côø traøn timer. Côø ñöôïc duøng ñeå ñoàng boä hoùa chöông trình ñeå thöïc hieän moät taùc ñoäng nhö kieåm tra traïng thaùi cuûa caùc ngoõ vaøo hoaëc göûi söï kieän ra caùc ngoõra. Caùc öùng duïng khaùc coù theå söû duïng vieäc taïo xung nhòp ñeàu ñaën cuûa timer ñeå ño thôøi gian troâi qua giöõa hai söï kieän (ví duï ño ñoä roäng xung ).Truy xuaát caùc timer cuûa 8051 duøng saùu thanh ghi chöùc naêng ñaëc bieät cho trong baûng sau:
SFR Muïc Ñích Ñòa chæ Ñòa chæ hoùa töøng bit
TCON Ñieàu khieån Timer 88H Coù
TMOD Cheá ñoä Timer 89H Khoâng
TL0 Byte thaáp cuûa Timer 0 90H Khoâng
TL1 Byte thaáp cuûa Timer 1 91H Khoâng
TH0 Byte cao cuûa Timer 0 92H Khoâng
TH1 Byte cao cuûa Timer 1 93H Khoâng
Caùc thanh ghi chöùc naêng cuûa timer trong 8031.
Thanh ghi cheá ñoä timer (TMOD):
Thanh ghi TMOD chöùa hai nhoùm 4 bit duøng ñeå ñaët cheá ñoä laøm vieäc cho Timer 0, vaø Timer 1.
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Bit Teân Timer Moâ taû
7 GATE 1 Bit môû coång, khi leân 1 timer chæ chaïy khi INT1 ôû möùc cao
6 C/T 1 Bit choïn cheá ñoä Count/Timer 1 = boä ñeám söï kieän 0 = boä ñònh khoaûng thôøi gian
5 M1 1 Bit 1 cuûa cheá ñoä mode
4 M0 1 Bit 0 cuûa cheá ñoä mode
3 GATE 0 Bit môû coång, khi leân 1 timer chæ chaïy khi INT0 ôû möùc cao
2 C/T 0 Bit choïn cheá ñoä Count/Timer
1 M1 0 Bit 1 cuûa cheá ñoä mode
0 M0 0 Bit 0 cuûa cheá ñoä mode
Toùm taét thanh ghi chöùc naêng TMOD.
Thanh ghi ñieàu khieån timer(TCON)
Thanh ghi TCON chöùa caùc bit traïng thaùi vaø caùc bit ñieàu khieån cho Timer 1, Timer 0.
Bit Kyù hieäu Ñòa chæ Moâ taû
TCON.7 TF1 8FH Côø baùo traøn timer 1. Ñaët bôûi phaàn cöùng khi traøn, ñöôïc xoùa bôûi phaàn meàm, hoaëc phaàn cöùng khi boä xöû lyù chæ ñeán chöông trình phuïc vuï ngaét.
TCON.6 TR1 8EH Bit ñieàu khieån timer 1 chaïy ñaët xoùa baèng phaàn meàm ñeå cho timer chaïy ngöng.
TCON.5 TF0 8DH Côø baùo traøn Timer 0.
TCON.4 TR0 8CH Bit ñieàu khieån Timer 0 chaïy
TCON.3 IE1 8BH Côø caïnh ngaét 1 beân ngoaøi. Ñaët bôûi phaàn cöùng khi phaùt hieän moät caïnh xuoáng ôû INT1 xoùa baèng phaàn meàm hoïaêc phaàn cöùng khi CPU chæ ñeán chöông trình phuïc vuï ngaét.
TCON.2 IT1 8AH Côø kieåu ngaét 1 beân ngoaøi. Ñaët xoùa baèng phaàn meàm ñeå ngaét ngoaøi tích cöïc caïnh xuoáng /möùc thaáp.
TCON.1 IE0 89H Côø caïnh ngaét 0 beân ngoøai
TCON.0 IT0 88h Côø kieåu ngaét 0 beân ngoaøi
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Toùm taét thanh ghi chöùc naêng TCON
Khôûi ñoäng vaø truy xuaát thanh ghi timer:Thoâng thöôøng caùc thanh ghi ñöôïc khôûi ñoäng moät laàn ñaàu ôû chöông trình ñeå ñaët ôû cheá ñoä laøm
vieäc ñuùng. Sau ñoù, trong thaân chöông trình, caùc thanh ghi timer ñöôïc cho chaïy, döøng, caùc bit ñöôïc kieåm tra vaø xoùa, caùc thanh ghi timer ñöôïc ñoïc vaø caäp nhaät…. theo ñoøi hoûi caùc öùng duïng.
TMOD laø thanh ghi thöù nhaát ñöôïc khôûi ñoäng vì noù ñaët cheá ñoä hoaït ñoäng. Ví duï, caùc leänh sau khôûi ñoäng Timer 1 nhö timer 16 bit (cheá ñoä 1) coù xung nhòp töø boä dao ñoäng teân chip cho vieäc ñònh khoaûng thôøi gian:MOV TMOD, #1B
Leänh naøy seõ ñaët M1 = 1 vaø M0 = 0 cho cheá ñoä 1, C/ T= 0 vaø GATE = 0 cho xung nhòp noäi vaø xoùa caùc bit cheá ñoä Timer 0. Dó nhieân, timer khoâng thaät söï baét ñaàu ñònh thôøi cho ñeán khi bit ñieàu khieån chaïy TR1 ñöôïc ñaët leân 1.
Neáu caàn soá ñeám ban ñaàu, caùc thanh ghi TL1/TH1 cuõng phaûi ñöôïc khôûi ñoäng. Moät khoaûng 100µs coù theå ñöôïc khôûi ñoäng baèng caùch khôûi ñoäng giaù trò cho TH1/TL1 laø FF9CH:MOV TL1, #9CH MOV TH1, #0FFH
Roài timer ñöôïc cho chaïy baèng caùch ñaët bit ñieàu khieån chaïy nhö sau: SETB TR1
Côø baùo traøn ñöôïc töï ñoäng ñaët leân 1 sau 100µs. Phaàn meàm coù theå ñôïi trong 100 µs baèng caùch duøng leänh reõ nhaùnh coù ñieàu kieän nhaûy ñeán chính noù trong khi côø baùo traøn chöa ñöôïc ñaët leân 1:
WAIT: JNB TF1, WAITKhi timer traøn, caàn döøng timer vaø xoùa côø baùo traøn trong phaàn meàm:
CLR TR1 CLR TF1
d. Ngaét ( INTERRUPT)Moät ngaét laø söï xaûy ra moät ñieàu kieän, moät söï kieän maø noù gaây ra treo taïm thôøi thôøi chöông
trình chính trong khi ñieàu kieän ñoù ñöôïc phuïc vuï bôûi moät chöông trình khaùc.
Caùc ngaét ñoùng moät vai troø quan troïng trong thieát keá vaø caøi ñaët caùc öùng duïng vi ñieàu khieån. Chuùng cho pheùp heä thoáng ñaùp öùng baát ñoàng boä vôùi moät söï kieän vaø giaûi quyeát söï kieän ñoù trong khi moät chöông trình khaùc ñang thöïc thi.
Toå chöùc ngaét cuûa 8051:
Coù 5 nguoàn ngaét ôû 8031: 2 ngaét ngoaøi, 2 ngaét töø timer vaø 1 ngaét port noái tieáp. Taát caû caùc ngaét theo maëc nhieân ñeàu bò caám sau khi reset heä thoáng vaø ñöôïc cho pheùp töøng caùi moät baèng phaàn meàm.
Khi coù hai hoaëc nhieàu ngaét ñoàng thôøi, hoaëc moät ngaét xaûy ra khi moät ngaét khaùc ñang ñöôïc phuïc vuï, coù caû hai söï tuaàn töï hoûi voøng vaø sô ñoà öu tieân hai möùc duøng ñeå xaùc ñònh vieäc thöïc hieän caùc ngaét. Vieäc hoûi voøng tuaàn töï thì coá ñònh nhöng öu tieân ngaét thì coù theå laäp trình ñöôïc.
- Cho pheùp vaø caám ngaét :
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Moãi nguoàn ngaét ñöôïc cho pheùp hoaëc caám ngaét qua moät thanh ghi chöùc naêng ñaët bieät coù ñònh ñòa chæ bit IE ( Interrupt Enable : cho pheùp ngaét ) ôû ñòa chæ A8H.
Bit Kyù hieäu Ñòa chæ bit Moâ taû
IE.7 EA AFH Cho pheùp / Caám toaøn boä
IE.6 _ AEH Khoâng ñöôïc moâ taû
IE.5 ET2 ADH Cho pheùp ngaét töø Timer 2 (8052)
IE.4 ES ACH Cho pheùp ngaét port noái tieáp
IE.3 ET1 ABH Cho pheùp ngaét töø Timer 1
IE.2 EX1 AAH Cho pheùp ngaét ngoaøi 1
IE.1 ET0 A9H Cho pheùp ngaét töø Timer 0
IE.0 EX0 A8H Cho pheùp ngaét ngoaøi 0
Toùm taét thanh ghi IE
- Caùc côø ngaét :
Khi ñieàu kieän ngaét xaûy ra thì öùng vôùi töøng loaïi ngaét maø loaïi côø ñoù ñöôïc ñaët leân moät ñeå xaùc nhaän ngaét.
Ngaét Côø Thanh ghi SFR vaø vò trí bit
Beân ngoaøi 0 IE0 TCON.1
Beân ngoaøi 1 IE1 TCON.3
Timer 1 TF1 TCON.7
Timer 0 TF0 TCON.5
Port noái tieáp TI SCON.1
Port noái tieáp RI SCON.0
Caùc loïai côø ngaét
- Caùc vectô ngaét :
Khi chaáp nhaän ngaét, giaù trò ñöôïc naïp vaøo PC ñöôïc goïi laø vector ngaét. Noù laø ñòa chæ baét ñaàu cuûa ISR cho nguoàn taïo ngaét, caùc vector ngaét ñöôïc cho ôû baûng sau :
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Ngaét Côø Ñòa chæ vector
Reset heä thoáng RST 0000H
Beân ngoaøi 0 IE0 0003H
Timer 0 TF0 000BH
Beân ngoaøi 1 IE1 0013H
Timer 1 TF1 001BH
Port noái tieáp TI vaø RI 0023H
Timer 2 002BH
Vector reset heä thoáng (RST ôû ñòa chæ 0000H) ñöôïc ñeå trong baûng naøy vì theo nghóa naøy, noù gioáng ngaét : noù ngaét chöông trình chính vaø naïp cho PC giaù trò môùi.
e. Keát hôïp 8051 vôùi boä nhôù ngoaøi Vi xöû lyù (Microprocessor) laø IC chuyeân duïng veà xöû lyù döõ lieäu, ñieàu khieån theo moät chöông
trình, muoán Microprocessor thöïc hieän moät coâng vieäc gì ngöôøi söû duïng phaûi laäp trình hay vieát chöông trình. Chöông trình phaûi löö tröõ ôû ñaâu ñeå Microprocessor nhaän leänh vaø thi haønh, ñoâi khi trong luùc xöû lyù chöông trình Microprocessor caàn nôi löö tröõ taïm thôøi caùc döõ lieäu sau ñoù laáy ra ñeå tieáp tuïc xöû lyù. Nôi löu tröõ chöông trình cho Microprocessor thöïc hieän vaø nôi löu tröõ taïm thôøi döõ lieäu chính laø boä nhôù. Caùc boä nhôù cuûa Microprcessor laø caùc IC, caùc IC nhôù naøy coù theå ñoïc döõ lieäu ra, ghi döõ lieäu vaøo hoaëc chæ ñoïc döõ lieäu ra. Ñoâi khi boä nhôù cuûa Microprocessor khoâng ñuû ñeå löu tröõ nhöõng thoâng tin caàn thieát khi chaïy chöông trình, khi ñoù phaûi duøng kyõ thuaät môû roäng boä nhôù. 8051 coù khaû naêng môû roäng boä nhôù ñeán 64k byte boä nhôù chöông trình vaø 64k byte boä nhôù döõ lieäu beân ngoaøi. Boä nhôù chöông trình laø boä nhôù Rom coøn boä nhôù döõ lieäu laø boä nhôù Ram.
_ Boä nhôù Ram chia ra laøm 2 loaïi Sram vaø Dram. Dram ñöôïc cheá taïo duøng kyõ thuaät MOS, coù dung löôïng boä nhôù lôùn, coâng xuaát tieâu taùn thaáp vaø toác ñoä hoaït ñoäng trung bình. Ôû Sram döõ lieäu löu tröõ vaøo caùc Flip- Flop coøn Dram döõ lieäu löu tröõ möùc 0 vaø 1 töông ñöông vôùi quaù trình naïp vaø xaû cuûa moät tuï ñieän khoaûng vaøi pF. Bôûi vì ñieän aùp cuûa tuï seõ suy giaûm daàn do ñoù Dram ñoøi hoûi chu kyø naïp laïi neáu khoâng muoán maát döõ lieäu vaø ñöôïc goïi laø quaù trình laøm töôi Ram, ñaây chính laø khuyeát ñieåm cuûa Dram so vôùi Sram. Boä nhôù Rom coù nhieàu loaïi: PROM, EPROM, EEPROM nhöng EPROM coù theå laäp trình bôûi ngöôøi duøng, coù theå xoùa vaø laäp trình laïi nhieàu laàn neân trong ñoà aùn naøy chuùng em duøng EPROM 2764 vaø duøng SRAM 6264. Ñaëc ñieåm, sô ñoà chaân vaø baûng söï thaät cuûa 2764 vaø 6264 ôû hình döôùi ñaây
SRAM 6264: laø boä nhôù ñöôïc cheá taïo theo coâng ngheä CMOS, coù dung löôïng 65536 bit ñöôïc toå chöùc thaønh 8192x8 bit (8KByte), ñieän aùp cung caáp laø +5V, thôøi gian truy caäp khoaûng 150ns. Ngoõ vaøo/ra döõ lieäu ñöôïc duøng chung, caùc ngoõ vaøo/ra naøy töông thích TTL. Coâng suaát tieâu taùn ôû traïng thaùi chôø raát thaáp chæ khoaûng 0,1mW so vôùi khi hoaït ñoäng bình thöôøng laø 200mW.
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Sô ñoà chaân vaø sô ñoà logic cuûa 6264 nhö sau:
Töø sô ñoà chaân cho ta thaáy caù chaân ñöôïc chia thaønh 4 nhoùm: + Vcc, GND : chaân nguoàn
+ Do ñeán D7 : chaân döõ lieäu+ Ao ñeán A12 : chaân ñòa chæ+
EPROM 2764: laø boä nhôù chæ ñoïc ñöôïc cheá taïo theo coâng ngheä NMOS, duøng moät nguoàn ñôn +5V, dung löôïng boä nhôù laø 65536 bit, ñöôïc toå chöùc thaønh 8192x8 bit (8KByte). 2764 laø loaïi EPROM coù theå xoùa baèng tia cöïc tím vaø coù theå ghi laïi ñöôïc nhieàu laàn. Coù hai kieåu hoïat ñoäng: bình thöôøng vaø chôø. ÔÛ traïng thaùi chôø, coâng suaát tieâu thuï laø 132mW so vôùi 525mW khi ôû traïng thaùi ñoïc döõ lieäu, thôøi gian truy xuaát laø 200ns. Sô ñoà chaân vaø sô ñoà logic cuûa 2764 nhö sau:
DQ0-DQ76 2 6 4
A0-A12
CE1\CE2
OE\WE\
N.CA12
A7
A6
A5
A4
A3
A2
A1
A0
DQ0
6 2 6 4
Vcc
WE\CE2
A8
A9
A11
OE\A10
CE1\DQ7
DQ6Mode \ Pin WE\ CE1\ CE2 OE\ Output
Not Select x H x xx x L x
Hi-Z
Output Disable
H L H H Hi-Z
Read H L H L Dout
Write L L H H Din
Vpp
A12
A7
A6
A5
A4
A3
A2
A1
A0
O0
2 7 6 4
VccPGM\N.CA8
A9
A11
OE\A10
CE\O7
O6
O5
2 7 6 4CE\OE\VPP
D0-D7
A0-A12
WE, OE, CS1, CS2 : chaân ñieàu khieån
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
- EPROM coù theå ñöôïc laäp bôûi ngöôøi laäp trình söû duïng vaø noù cuõng coù theå xoùa ñeå laäp trình laïi khi naøo muoán. -EPROM duøng trong maïch ñöôïc chöùa saün chöông trình ñieàu khieån, töùc laø chæ xuaát Data moãi khi CPU tham khaûo ñeán, do ñoù ta chæ quan taâm ñeán cheá ñoä ñoïc vaø chôø. Döïa vaøo caùc Mode hoaït ñoäng treân thì EPROM ñöôïc ñieàu khieån caùc chaân sau:
- PGM = 5 Volt (Vcc )- OE\ noái chaân PSEN cuûa CPU- CE\ noái xuoáng CSO
+ Cheá ñoä ñoïc (Read Mode ): Cheá ñoä naøy ñöôïc thieát laäp khi CE\ vaø OE\ ôû möùc thaáp, PGM ôû möùc cao. Coù hai ngoõ vaøo ñieàu khieån duøng ñeå truy xuaát Data töø ROM laø CE\ vaø OE\ duøng ñeå kieåm soaùt ngoõ ra Data, ñöa Data leân Data bus.+ Cheá ñoä chôø (Stanby Mode ): Cheá ñoä naøy laøm giaûm coâng suaát tieâu thuï ñöôïc thieát laäp khi CE\ ôû möùc cao, ôû cheá ñoä naøy Data ôû traïng thaùi trôû khaùng cao ñoäc laäp.
*Giaûi maõ ñòa chæ: Do 8051 thieát keá caàn quaûn lyù nhieàu thieát bò ngoaïi vi, nhieàu oâ nhôù, muoán laøm ñöôïc vieäc naøy
ngöôøi ta phaûi cung caáp cho moãi oâ nhôù vaø thieát bò ngoaïi vi taàm ñòa chæ cho thieát bò ñoù. Vì vaäy caàn coù maïch giaûi maõ ñòa chæ trong maïch ñieän. Ngöôøi ta thöôøng duøng IC giaûi maõ 74HC138 vôùi caùc ngoõ ra ñöôïc noái tôùi caùc ngoõ vaøo choïn chip (CS\) treân caùc IC nhôù. Sau ñaây laø sô ñoà chaân, baûng söï thaät vaø ñaëc ñieåm cuûa 74138:
Mode (cheá ñoä) CE\ OE\ PGM\ VPP Ra (Output)Ñoïc L L H Vcc DoutChôø H x x Vcc Hi-Z
Laäp trình L x L Vpp DinKieåm tra L L H Vpp Do ut
Caám laäp trình H x x Vpp Hi-Z
Baûng traïng thaùi
ABC
G2A
G2B
G1
Y7
Vcc
Y0
Y1
Y2
Y3
Y4
Y5
7 4 1 38
7 4 1 38
ABC
Y0 ...Y7
G2A\
G2B
Sô ñoà chaân
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
sô löôïc veà caùc chaân:- Ngoõ vaøo A,B,C laø caùc chaân ngoõ vaøo soá nhò phaân 3 bit. C laø bit coù troïng soá lôùn nhaát, A laø bit coù troïng soá nhoû nhaát- Caùc chaân ngoõ ra: Yo → Y7, tích cöïc möùc thaáp.- Caùc chaân ñieàu khieån: G1,G2A, G2B. IC chæ hoaït ñoäng giaûi maõ khi caùc chaân ñieàu khieån ñoàng thôøi tích cöïc. G1 tích cöïc ôû möùc cao; G2A\ vaø G2B\ tích cöïc ôû möùc thaáp Khi moät trong 3 chaân naøy khoâng tích cöïc caùc ngoõ ra töø Yo → Y7 ôû möùc cao.*Giaûi ña hôïp caùc ñöôøng döõ lieäu vaø ñöôøng ñòa chæ:Khi duøng boä nhôù ngoaøi, port 0 khoâng coøn laø port IO thuaàn tuùy. Noù ñöôïc keát hôïp giöõa bus ñòa
chæ vaø bus döõ lieäu neân duøng tín hieäu ALE vaø IC choát ñeå choát byte thaáp cuûa bus ñòa chæ khi baét ñaàu moãi chu kyø boä nhôù. Port2 cho byte cao cuûa bus ñòa chæ. Ôû ñaây chuùng em duøng IC choát 74373. Sô ñoà chaân, ñaëc ñieåm vaø baûng traïng thaùi cuûa 74373
Sô ñoà chaân
Baûng traïng thaùi
INPUTSENABLE SELECT
OUTPUTS
G1 G2 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
x H x x x H H H H H H H HL x x x x H H H H H H H HH L L L L L H H H H H H HH L L L H H L H H H H H HH L L H L H H L H H H H HH L L H H H H H L H H H HH L H L L H H H H L H H HH L H L H H H H H H L H HH L H H L H H H H H H L HH L H H H H H H H H H H L
7 4 3 73
D0-D7Q0-Q7
OC \G
OutputControl (OC)
EnableG
D OUTPUT
L H H HL H L LL L x Q0
H x x HI-Z
Vcc
Q0
Q1
Q2
Q3
Q4
Q5
Q6
OE\D0
D1
D2
D3
D4
D5
D6
7 4 3 73
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Ñaëc ñieåm
_ 74LS373 goàm 8 D-FF coù ngoõ ra 3 traïng thaùi ñöôïc ñieàu khieån choát vaø xuaát döõ lieäu baèng chaân G vaø OC. Trong öùng duïng naøy chaân G ñöôïc noái vôùi chaân ALE cuûa 8051, chaân OC noái mass.
_ laø IC choát 8 bit
_ Caùc boä ñeäm ngoõ ra 3 traïng thaùi
_ Tín hieäu ñieàu khieån ngoõ ra 3 traïng thaùi chung.*Xeáp choàng caùc vuøng nhôù chöông trình vaø döõ lieäu beân ngoaøi:Vì boä nhôù chöông trình laø Rom neân xaûy ra vaán ñeà baát tieän khi phaùt trieån phaàn meàm cho
8051 laø toå chöùc boä nhôù nhö theá naøo ñeå coù theå söûa ñoåi chöông trình vaø coù theå ghi trôû laïi khi noù ñöôïc chöùa trong boä nhôù Rom. Caùch giaûi quyeát laø xeáp choàng caùc vuøng döõ lieäu vaø chöông trình. Moät boä nhôù Ram coù theå chöùa caû chöông trình vaø döõ lieäu baèng caùch noái ñöôøng OE\ cuûa Ram ñeán ngoõ ra coång AND coù 2 ngoõ vaøo laø PSEN\ vaø RD\. Sô ñoà maïch nhö hình sau cho pheùp boä nhôù Ram coù 2 chöùc naêng vöøa laø boä nhôù chöông trình vöøa laø boä nhôù döõ lieäu.
Vaäy 1 chöông trình coù theå ñöôïc taûi vaøo Ram (baèng caùch ghi noù nhö boä nhôù döõ lieäu) vaø thi haønh chöông trình (baèng caùch truy xuaát noù nhö boä nhôù chöông trình)
3. Khoái hieån thò: a.Sô ñoà khoái cuûa maïch hieån thò:Boä phaän hieån thò goàm 8 led 7 ñoaïn anod chung. Vì caùc vi xöû lí xöû lí caùc döõ lieäu laø soá nhò phaân
(1,0 ) neân caàn coù söï giaõi maõ töø soá nhò phaân sang soá thaäp phaân. Söï giaûi maõ coù theå duøng giaûi maõ baèng phaàn cöùng (IC giaûi maõ). Tuy nhieân vôùi phaàn meàm queùt led ngöôøi ta coù theå giaûm bôùt ñöôïc caùc IC giaûi maõ giaûm giaù thaønh cuûa maïch ñieän. Nhöng ñeå keát noái vôùi maïch hieån thò phaûi caàn coù IC giao tieáp vaøo ra vì caùc port cuûa 8051 ñaõ duøng cho muïc ñích khaùc. 8255 laø IC giao tieáp vaøo ra song song thoâng duïng vaø coù theå ñieàu khieån ñöôïc baèng phaàn meàm neân chuùng em söû duïng 8255 ñeå giao tieáp vôùi caùc thieát bò ngoaïi vi (phaàn hieån thò…). Vì doøng ra caùc port cuûa 8255 raát nhoû (lôùn nhaát laø port A khoaûng 5mA) neân caàn coù IC ñeäm doøng ñeå naâng doøng leân ñuû keùo cho led saùng. Chuùng em choïn IC ñeäm 74245. Khi ñöa döõ lieäu ra ñeå hieån thò taát caû caùc led ñeàu nhaän nhöng taïi moät thôøi ñieåm chæ cho pheùp moät led ñöôïc nhaän döõ lieäu neân phaûi coù maïch giaûi maõ ñeå choïn led.Chuùng em söû duïng IC giaûi maõ 74LS138.Vì vaäy sô ñoà khoái cuûa maïch hieån thò nhö sau:
WR
RAM
OE\
WR
RDPSEN
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
b. Giôùi thieäu veà caùc linh kieän trong maïch
b1.Coång xuaát nhaäp 8255:
Trong heä thoáng Vi xöû lyù hay maùy vi tính neáu chæ giao tieáp vôùi boä nhôù trong ROM, RAM thì chöa ñuû, maùy tính coøn phaûi giao tieáp vôùi caùc thieát bò ngoaïi vi nhö baøn phím, maøn hình, maùy in, ... ñeå con ngöôøi coù theå ñoái thoaïi ñöôïc maùy tính cuõng nhö duøng maùy tính ñeå ñieàu khieån caùc thieát bò khaùc. Ñeå giao tieáp vôùi nhieàu thieát bò nhö vaäy, maùy tính coù theå giao tieáp qua nhieàu ñöôøng vaø giao tieáp vôùi nhieàu hình thöùc khaùc nhau nhö giao tieáp noái tieáp, giao tieáp song song.
Vì vaäy vai troø cuûa coång xuaát nhaäp 8255 ñeå giao tieáp giöõa maùy tính vôùi thieát bò ngoaøi laø moät ñieàu caàn thieát giuùp maùy coù theå môû roäng khaû naêng laøm vieäc.
*Sô ñoà chaân cuûa 8255
Sô ñoà chaân vaø sô ñoà logic
Tính linh hoaït cuûa vi maïch theå hieän ôû khaû naêng laäp trình. Qua moät thanh ghi ñieàu khieån, ngöôøi söû duïng xaùc ñònh cheá ñoä hoaït ñoäng vaø coång naøo caàn ñöôïc söû duïng nhö laø loái vaøo hoaëc loái ra. Caùc chaân ra D0 4 D7 taïo neân bus döõ lieäu hai chieàu coù ñoä roäng laø 8 bit. 8255 ñöôïc choïn bôûi tín hieäu möùc thaáp ôû ngoõ vaøo choïn chíp CS\. Khi 8255 khoâng ñöôïc choïn, boä ñeäm bus döõ lieäu noái 8255 vôùi heä thoáng ñöôïc thaû noåi. Khi ñöôïc choïn, caùc ngoõ vaøo A0 vaø A1 ñöôïc duøng ñeå choïn thanh ghi ñieàu khieån hoaëc moät trong caùc coång vaøo/ra ñeå trao ñoåi döõ lieäu. Caùc hoaït ñoäng cô baûn cuûa 8255 ñöôïc toùm taét trong baûng sau:
1 A0 RD\ WR\ CS\ Hoaït ñoängL L L H L Port A Bus döõ lieäuL H L H L Port B Bus döõ lieäuH L L H L Port C Bus döõ lieäuL L H L L Bus döõ lieäu Port A L H H L L Bus döõ lieäu Port BH L H L L Bus döõ lieäu Port CH H H L L Bus döõ lieäu Töø ñieàu
8 2 5 5A
D0-
RD\WR\
RESET
CS\ A0
PA0-PA7
PB0-PB7
PC0-PC3
PC4-PC7
PA3
PA2
PA1
PA0
RD\CS\
GNDA1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PA4
PA5
PA6
PA7
WR\RESETD0
D1
D2
D3
D4
D5
D6
D7
Vcc
PB7
8 2 5 5A
8 0 5 1
Port CH
8 2 5 5
P or tA
Ñ eä m7 4 2 4
5
G ia ûi m a õ7 4 1 3 8
L E D
Port0
Port2
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
* Caùc traïng thaùi laøm vieäc cuûa 8255:
Qua baûng traïng thaùi cuûa 8255, ta thaáy thanh ghi ñieàu khieån ñaët döôùi ñòa chæ beân trong laø A1
= [1], A0 = [1]. Trong moät chu kyø ghi leân thanh ghi ñieàu khieån, xaùc ñònh coång vaøo/ra cuõng nhö cheá ñoä hoaït ñoäng. Khi chaân RESET ôû möùc [H], thanh ghi ñieàu khieån seõ ñöôïc ñaët laïi vaø ñònh nghóa toaøn boä 24 ñöôøng daãn nhö laø caùc ngoõ vaøo.Traïng thaùi naøy keùo daøi tôùi khi chöông trình öùng duïng vieát töø ñieàu khieån vaøo thanh ghi ñieàu khieån ñeå xaùc ñònh cheá ñoä laøm vieäc cuûa 8255.
Caùc coång A, B, C ñöôïc phaân thaønh hai nhoùm. Nhoùm A goàm coång A vaø nöûa cao cuûa coång C, nhoùm B goàm coång B vaø nöûa thaáp coøn laïi cuûa coång C. Coù 3 cheá ñoä hoaït ñoäng khaùc nhau:
- Cheá ñoä 0: vaøo/ra thoâng thöôøng.
- Cheá ñoä 1: choát vaøo/ra.
- Cheá ñoä 2: bus hai chieàu.
Cheá ñoä 0:
Töø ñieàu khieån:
Cheá ñoä 0 xaùc laäp hai coång 8 bit (A vaø B) vaø hai coång 4 bit (nöûa cao vaø nöûa thaáp cuûa C). Baát kyø coång naøo cuõng coù theå nhaäp hoaëc xuaát döõ lieäu moät caùch ñoäc laäp tuøy theo caùc bit D4, D3, D1 vaø D0. Coù 24 = 16 khaû naêng vaøo/ra trong cheá ñoä naøy
Caáu truùc töø ñieàu khieån:
A1 A0 RD\ WR\ CS\ Hoaït ñoäng
L L L H L Port A Bus döõ lieäu
L H L H L Port B Bus döõ lieäu
H L L H L Port C Bus döõ lieäu
L L H L L Bus döõ lieäu Port A
L H H L L Bus döõ lieäu Port B
H L H L L Bus döõ lieäu Port C
H H H L L Bus döõ lieäu Töø ñieàu khieån
x x x x H Bus döõ lieäu ôû traïng thaùi Hi-Z
H H L H L Caám
x x H H L Bus döõ lieäu ôû traïng thaùi Hi-Z
Côø laäp cheá ñoä1 = tích cöïïc
1 0 0 D4 D3 0 D1 D0
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Vì doøng ra caùc port cuûa 8255 raát nhoû (lôùn nhaát laø port A khoaûng 5mA) neân caàn coù IC ñeäm doøng ñeå naâng doøng leân ñuû keùo cho led saùng. Chuùng em choïn IC ñeäm 74245, sau ñaây laø sô ñoà chaân, baûng traïng thaùi cuûa 74245:
Sô ñoà chaân vaø sô ñoà logic cuûa 74245 nhö sau:
Nhoùm BPort C (thaáp)1 = nhaäp0 = xuaátPort B1 = nhaäp0 = xuaátChoïn
cheá ñoä0 = cheá ñoä 01 = cheá ñoä 1
Côø laäp cheá ñoä1 = tích cöïïc
Nhoùm A
N
Port C (cao)
(
1 = nhaäp
1
0 = xuaát
x
Port A
P
1 = nhaäp
n
0 = xuaát
0
Choïn cheá ñoä
00 = cheá ñoä 001 = cheá ñoä 11x = cheá ñoä 2
1
D7 D6 D5 D4 D3 D2 D1 D0
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Tuy nhieân doøng ra lôùn neân phaûi duøng theâm ñieän trôû haïn doøng töø moãi ngoõ ra (B1 _ B8) cuûa 742454. Baøn phím:Vì ñaây laø maïch ñeám saûn phaåm, ñeám soá saûn phaåm trong moät thuøng, vaø soá saûn phaåm trong moät
loâ, moãi loaïi nhö vaäy coù theå nhaäp vaøo soá ñeám trong phaïm vi töø 0 ñeán toái ña 9999, do ñoù chuùng em söû duïng 10 phím soá töø 0 ñeán 9. Vaø moãi laàn nhaäp soá vaøo ñeå nhaän bieát laø nhaäp maáy soá hoaëc ñaõ nhaäp xong vaø muoán bieát cho pheùp ñeám chöa hoaëc huûy boû soá vöøa nhaäp phaûi caàn söû duïng theâm caùc phím chöùc naêng, neân chuùng em duøng theâm 6 phím chöùc naêng töø A ñeán F. Do ñoù baøn phím goàm 16 phím ñöôïc keát noái vaøo port 1 cuûa 8051:
Sô ñoà khoái keát noái nhö sau:
EnableG\DirectionControlDIROperation
L
L
HL
H
1 2
2 3 4 5 6 7 8 9 10
7 4 2 4 5
20191817
161514131211
DIR
A1
A2A3A4A5A6
VccG\B1B2B3B4B5B6B7
Sô ñoà chaân
8 0 5 1 B AØN P H Í MP OR T 1
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
8051
74373
ROM
CS\
RAM
CS\
8255-2
74138 Y0
Y1
Y2
Hieån thò
Rôle ÑH
8255-1
Rôle BC
Thu Phaùt
Port0 Data
A0 ÷ A7 A0 ÷ A1
PortA
PortB PortA
PortB.0
A8 ÷ A12
Port2A13 ÷ A15
BAØN PHÍMPort1
Address
SÔ ÑOÀ KHOÁI CHI TIEÁT CUÛA MAÏCH ÑIN
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
PHAÀN II THIEÁT KEÁ,THI COÂNGVAØ CHÖÔNG TRÌNH
CHÖÔNG I THIEÁT KEÁ, THI COÂNG PHAÀN CÖÙNGSau khi ñaõ phaân tích moät moâ hình heä thoáng vi xöû lyù baây giôø chuùng em baét ñaàu ñi vaøo tính
toaùn caùc giaù trò thöïc teá ñeå cho heä thoáng hoaït ñoäng ñöôïc. Vieäc tính toaùn löïa choïn phaûi döïa treân lyù thuyeát vaø caùc linh kieän thoâng duïng treân thò tröôøng.
Maëc duø phaàn cöùng heä thoáng khoâng theå thay ñoåi ñöôïc nhöng phaàn meàm coù theå thay ñoåi laøm cho heä thoáng coù khaû naêng hoaït ñoäng moät caùch linh hoaït vì vaäy thieát keá phaàn cöùng phaûi caân ñoái sao cho phaàn meàm khoâng quaù phöùc taïp.
I. KEÁT NOÁI 8051 VÔÙI BOÄ NHÔÙ VAØ CAÙC IC NGOAÏI VI :1. Keát noái boä nhôù chöông trình beân ngoaøi:Boä xöû lyù chính laø IC 8051 vôùi taàn soá laøm vieäc laø 12 MHz. Chaân 18, 19 cuûa 8051 ñöôïc
noái vôùi thaïch anh (cuõng coù theå thay theá thaïch anh baèng tín hieäu xung clock). Boä nhôù ROM ñöôïc cho pheùp bôûi tín hieäu PSEN\. Hình sau moâ taû caùch noái boä nhôù Eprom vôùi
8051:
2. Keát noái boä nhôù döõ lieäu ngoaøi:Boä nhôù Ram ñöôïc cho pheùp ghi/ ñoïc baèng caùc tín hieäu ñieàu khieån WR\ vaø RD\. 8051 coù 1
leänh duy nhaát truy xuaát döõ lieäu cuûa boä nhôù döõ lieäu ngoaøi laø MOVX duøng con troû 16 bit (DPTR) hoaëc R0 vaø R1 xem nhö thanh ghi ñòa chæ.
Keát noái bus ñòa chæ vaø bus döõ lieäu giöõa RAM vaø 8051 cuõng gioáng nhö EPROM . Ngoaøi ra, RD cuûa 8051 ñöôïc noái tôùi chaân cho pheùp xuaát (OE\ ) cuûa Ram vaø chaân WR ñöôïc noái tôùi chaân ghi (WR\) cuûa Ram.
D7 - D0
E P R OMA7- A0
A15 -A80E\
Port 0
EA 8051
Port2
D7 4 3 7 3 Q ALE
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
3.Keát noái maïch giaûi maõ: *Hình thaønh maïch giaûi maõ ñòa chæ döïa treân baûng ñoà boä nhôù sau:
IC A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
hex
Rom8K
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
0000 H1FFFH
Ram8K
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2000 H3FFFH
82551
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
4000 H4003 H
82552
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 00 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1
6000 H6003 H
Tuy nhieân taïi moät thôøi ñieåm chæ coù 1 IC nhôù ñöôïc truy xuaát neân duøng caùc ñöôøng ñòa chæ A13, A14, A15 ñeå phaân bieät. Laáy A15, A13, A14 noái tôùi 3 ñaàu vaøo IC giaûi maõ 74138 (A,B,C). Caùc ngoõ ra Y0, Y1,Y2, Y3 laàn löôït ñöôïc noái tôùi CE cuûa Rom,Ram, CS cuûa 8255. Khi Yi = 0 thì IC ñoù ñöôïc choïn: A13, A14, A15 = 0 choïn Rom A13 = 1, A14, A15 = 0 choïn Ram A13 = 0, A14 = 1, A15 = 0 choïn 82551
A13 =1, A14 = 1, A15 = 0 choïn 82552
4. Keát noái maïch choát: -Chaân ALE (chaân 30) cuûa 8051 keát noái vôùi chaân G cuûa 74373. Caùc ñöôøng cuûa Port0 noái vôùi caùc ñöôøng töø Do ñeán D7 cuûa 74373. Caùc ñöôøng tín hieäu (Q0→Q7 ) cuûa 74373 vaø caùc ñöôøng
D7 - D0
R AMA7- A0
A15 -A80EWR
Port 0 EA
8051
D
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
port 2 (P2.0 →P2.7) ñöôïc noái tôùi caùc ñöôøng ñòa chæ cuûa ROM vaø RAM (A0 →A12 ) coøn caùc ñöôøng döõ lieäu töø port 0 ñöôïc noái tôùi caùc ñöôøng döõ lieäu cuûa ROM vaø RAM, 8255 (D0 →D 7 ).
-Trong moãi chu kyø maùy seõ coù 2 xung ALE. Khi ALE ôû möùc logic cao (G = 1) vaø OC\ = (0) thì ngoõ ra Qo → Q7 töông öùng vôùi ngoõ vaøo D, moïi söï thay ñoåi ôû ngoõ vaøo ñeàu aûnh höôûng ñeán ngoõ ra, luùc naøy Port 0 töông öùng laø ñöôøng ñòa chæ Ao → A7. Khi ALE xuoáng möùc thaáp (G = 0), ngoõ ra Q seõ giöõ nguyeân traïng thaùi tröôùc ñoù baát chaáp ngoõ vaøo D, luùc naøy caùc ñöôøng Port 0 töông öùng laø caùc ñöôøng döõ lieäu Do → D7.
*Tín hieäu PSEN\ cuûa 8051 (chaân 29) noái tôùi 0E cuûa Rom. Caùc ñöôøng (RD,WR) noái ñeán RD, WR cuûa Rom vaø 8255. Do muoán xeáp choàng boä nhôù neân cho tín hieäu RD\, PSEN cuûa 8051 qua coång AND (duøng 2 coång NAND 74132) ñöa tôùi OE\ cuûa Ram
*Hình thaønh coâng taéc löaï choïn Rom A, Rom B:- Sô ñoà nguyeân lyù cuûa coâng taéc löïa choïn: (Sô ñoà nguyeân lyù maïch ñieàu khieån) - Nguyeân lyù hoaït ñoäng cuûa coâng taéc löïa choïn nhö sau:Baát cöù khi naøo cho pheùp truy xuaát Rom (ngoõ vaøo 1 chaân coång OR xuoáng möùc logic [0]) vaø
ngoõ ra coâng taéc löïa choïn A hoaëc B xuoáng möùc logic [0] thì Rom A hay B ñöôïc truy xuaát. -Khi SW1 noái tôùi B, ngoõ ra cuûa coång NAND (U9A) = 1→ ngoõ ra coång OR (U8A) = 1, Rom A khoâng ñöôïc choïn. Ñoàng thôøi khi ñoù, ngoõ ra coång NAND (U9B) = 0, neáu A13, A14, A15 = 0 thì ngoõ ra coång OR (U8B) = 0 → Rom B ñöôïc choïn. Ngöôïc laïi, coâng taéc chuyeån sang A thì Rom A ñöôïc truy xuaát.
II. THIEÁT KEÁ MAÏCH RESET:Khi coâng taéc chuyeån töø A sang B vaø ngöôïc laïi ñeàu reset toaøn boä laïi heä thoáng ñeå cho PC =
0000H. Bôûi vì khi ñang laøm vieäc taïi Rom A, PC khaùc 0000H, khi chuyeån sang Rom B → PC baét ñaàu taïi ñòa chæ khaùc 0000H → laøm sai chöông trình. Vì vaäy maïch reset trong ñoà aùn naøy bao goàm reset töø chuyeån coâng taéc choïn Rom, reset töø ngoaøi ñöa tôùi (neáu nhö keát hôïp vôùi maïch khaùc), reset khi baét ñaàu moãi chöông trình ñeám saûn phaåm vaø reset neáu nhö nguoàn cung caáp yeáu. Sô ñoà nguyeân lyù maïch reset trong sô ñoà nguyeân lyù maïch ñieàu khieån.
1. Maïch reset töø vieäc choïn Rom: Maïch ñöôïc taïo bôûi coång nand, IC 74221, coång OR7432 vaø 1 coång OR khi keát hôïp vôùi reset khaùcsô ñoà chaân vaø baûng thaùi cuûa 74221 nhö sau:
Sô ñoà chaân SN 74221:
Baûng traïng thaùi
INPUT OUTPUTclear A B Q Q
L X X L HX H X L HX X L L HH L ↑H ↓ H↑ L H
Qua baûng traïng thaùi:
1A
1B
Clr
1Q2Q
VccResetCset1Q\2Q\clr2B
7 4 2 2 1
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
- Khi chaân clear ôû möùc logic cao, A ôû möùc logic thaáp vaø chaân B chuyeån traïng thaùi töø möùc logic 0 leân 1 ôû ngoõ ra Q (ngöôïc laïi vôùi Q\)
- Khi chaân clear ôû möùc logic cao, B ôû möùc logic cao vaø chaân A chuyeån traïng thaùi töø möùc logic 1 xuoáng 0 thì thì 74211 taïo ra moät xung döông ôû ngoõ ra Q
Quaù trình reset ñöôïc thöïc hieän nhö sau:Khi SW chuyeån sang B, ngoõ ra cuûa coång NAND (U9A) töø 0 leân 1→ chaân B cuûa74211
(U10B) töø 0 leân 1, A = 0 → coù moät xung ôû ngoõ ra Q → ngoõ ra coång OR leân 1 daãn ñeán RST = 1 heä thoáng bò reset: ñeøn reset (D4 saùng). Khi chuyeån coâng taéc sang A, ngoõ ra coång nand (U9A) töø 1 xuoáng 0→chaân A cuûa 74221 töø 1 xuoáng 0, B = 1 → coù xung ra ôû ngoõ ra Q 74211 (U10A) → maïch bò reset.
2. Reset baèng nuùt nhaán:Khi nhaán nuùt, 1 chaân cuûa coång nand U2A ñöôïc noái mass→ ngoõ ra = 1, reset (RST) = 1, heä
thoáng bò reset (ñoàng thôøi khi ñoù chaân coøn laïi cuûa coång nand luoân ñöôïc giöõ ôû möùc cao). Khi keát noái vôùi maïch ñieän khaùc, maïch ñieän khaùc coù theå reset maïch ñieän naøy qua header 3 (JP8). Söï taùc ñoäng thoâng qua söï ngaét daãn cuûa Q3 C828. Khi Q3 daãn (coù taùc ñoäng beân ngoaøi), ngoõ ra coång nand (U2A) = 1, ngoõ ra coång OR = 1, RST = 1, heä thoáng bò reset.
3. Reset khi nguoàn cung caáp yeáu:Caùc IC soá chæ hoaït ñoäng toát khi nguoàn cung caáp oån ñònh. Khi ñieän aùp nguoàn yeáu, caùc IC hoaït
ñoäng hoãn loaïn, neáu khoâng coù söï hieån thò veà nguoàn cung caáp seõ gaây ra tröôøng hôïp maïch hoaït ñoäng sai maø khoâng bieát ñöôïc nguyeân nhaân. Treân maïch ñieän naøy, ñieän yeáu thì led xanh (D 7) seõ saùng vaø luùc ñoù thì maïch seõ bò reset cho ñeán khi nguoàn cung caáp oån ñònh, coøn khi nguoàn oån ñònh thì led ñoû (D8) seõ saùng. Quaù trình reset thöïc hieän döïa treân söï ngaét daãn cuûa transistor keát hôïp vôùi coång Nand 74132. Nguyeân lyù hoaït ñoäng maïch reset nhö sau:
- Khi ñieän yeáu (VH < 3,7 Volt), Zener (D5, D6) khoâng daãn → Q5 khoâng daãn, ngoõ ra coång Not (coång nand 74132) = 0, Q6; khoâng daãn, Q7 daãn (led xanh saùng), Q8 daãn moät chaân cuûa coång nand (U2A) bò noái mass, maïch bò reset.
- Khi nguoàn cung caáp ñaày ñuû, D5;D6 daãn, Q5 daãn, Q6; Q7 khoâng daãn, Q9 daãn led ñoû saùng → maïch hoaït ñoäng bình thöôøng.Tính toaùn caùc giaù trò ñieän trôû phaân cöïc cho transistor khi nguoàn cung caáp yeáu:
Vì maïch söû duïng caùc transistor laøm vieäc ôû traïng thaùi baõo hoøa neân ñieàu kieän ñeå cho transistor hoaït ñoäng ôû traïng thaùi naøy laø: βIB > ICSAT ;
VBESAT =0.8V ; VCESAT =0.2V ;
Trong maïch Reset naøy coù duøng 74HC132 (coång NAND ) coù caùc thoâng soá nhö sau:VIH(MIN) : Ñieän aùp ngoõ vaøo thaáp nhaát ôû möùc [ 1].VIL(MAX) : Ñieän aùp ngoõ vaøo cao nhaát ôû möùc [0 ].
VOH(MIN) : Ñieän aùp ngoõ ra thaáp nhaát ôû möùc [ 1 ].VOH(MIN) : Ñieän aùp ngoõ ra cao nhaát ôû möùc [ 0 ].VIH(MIN) = 3.5 (V)VIL(MAX) = 1 (V )VOH(MIN) = 4.9 (V )VOH(MAX) = 0.1 ( V )
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Tính toaùn caùc giaù trò:1. Transistor Q1 (C828 ):
⇒ RB < 12,6kΩ. Choïn RB = R5 = 10kΩ
2. Transistor Q2 (A564 ):
⇒Choïn RB = R7 = 10KΩ
3.Transistor Q4: (C828 )
Maø ñieàu kieän baõo hoøa laø: βIB > IcSAT
+ Choïn β = 40
+ Choïn doøng qua led laø 10mA
Ω=−−=⇒ − 28010.10
2.0253CR
⇒ Choïn RC = 220 Ω
mAmAAII LEDttCSATtt 1513013.0220
2.025==−−==⇒
+ ChoÏn β = 40+ Choïn doøng qua led laø 10mA
C
CESATLEDCCCSAT R
VVVI −−=⇒
C
CESATLEDCCCSAT R
VVVI −−=
10.1340).8,09.4(
3−−<⇔−<⇒ B
B
B E S A TO HC S A T R
RVV
xI β
+ Choïn RC = 220 Ω mAmAICSAT 13013.0220
2.025 ==−−=⇒
Ω=−−=→ − 28010.10
2.0253CR
+ Choïn doøng qua LED laø 10mA
C
ECSATLEDCCCSAT R
VVVI −−=⇒
+ Choïn β = 40 , ñieàu kieän baûo hoøa: ⇒ βIB > ICSAT
Ω=−−=⇒ − 28010.10
2.0253CR ⇒ ChoÏn RC = 220Ω
mAICSATtt 1310220
2.0253 =
×−−=⇒ −
SATttB
OLEBSATtCC IR
VVV>
−−×⇒ β
Ω=−−=−−
<⇒ KI
VVVR
SATtt
OLEBSATtCCB 5,12
13)1,08,05(40)(β
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
⇒ Choïn RB = R19 = 10kΩ
4. Transistor Q5 (C828):+ ChoÏn β = 40+ Choïn doøng IC =10mA
⇒ Rc =1KΩ+ β IB > IcSAT
5. Transistor Q6 (C828 ): +Choïn β = 40
+Maø ñieàu kieän baõo hoøa laø: βIB > IcSAT , choïn Rc = 1KΩ
⇒ Choïn RB = R24 = 10 kΩ
6.Transistor Q7 ( A 564 ): +Choïn β = 40
+ Choïn doøng qua led laø 10mA
( )( ) Ω=
−×−< KRB 16,34
2.0518.09.4.40
( ) Ω=−×⇒−×⇒ KRIRVV
BCSATB
BESATOH 61,1213
8.09.440ℏβ
Ω=−=−= − 48010.10
2.053
C
CECCC I
VVR
C
CESATCC
B
BESATDDCC
RVV
RVVVV −−−−× ℏ65β
( )CESATCC
CDDCCB VV
RVVVR−
×−−× 65β
( )
Ω=−
×−−−×=
K17.42.05
18,037.0540
⇒ Choïn RB < 4.17KΩ, laáy RB (R21) laØ bieán trôû 20KΩ ñeå ñieàu chænh cho ch
C
CESATCC
B
BESATOH
RVV
RVV −−× ℏβ
LED
ECSATLEDCCC I
VVVR −−= Ω=−−= − 28010.10
2.0253
⇒ ChoÏn RC =330Ω
C
ECSATLEDCCLEDtt R
VVVI −−= mA5.810.330
2.0253 =−−= −
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
+ Maø ñieàu kieän baõo hoøa laø: βIB > IcSAT
⇒ Choïn RB = R25 = 7,5 KΩ
7.Transistor Q8 (C828 ): Choïn β = 40+ Maø ñieàu kieän baõo hoøa laø: βIB > IcSAT
+ Choïn RC = 1kΩ.
ChoÏn RB = R27 = 15 KΩ
8.Transistor Q9 ( A 564 ): +Choïn β = 40 + Choïn doøng qua led laø 10mA
+ Maø ñieàu kieän baõo hoøa laø: βIB > IcSAT
C
CESATCC
B
BESATCC
RVV
RVV −>−β
Ω=×
×⇒
−−×
KR
R
B
B
3518.42.440
12.058.0540
ℏ
⇒ ChoÏn RC =220Ω
Vaäy doøng qua led thöïc mARR
VVVICC
ECSATLEDCCLEDtt 132.025 =−−=−−=
C
ECSATLEDCC
B
EBSATOLCC
RVVV
RVVV −−>−−×⇒ β
Ω=−−
×−−×=−−−−< KVVV
RVVVRECsatLEDCC
COLEBsatCCB 325,19
2,025330)1,08,05(40)(β
C
ECsatLEDCC
B
OLEBsatCC
RVVV
RVVV −−>−− )(β
Ω=×
−−=−−= − 2801010
22,05)(3
LED
LEDCESATCCC I
VVVR
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Choïn R28 = RB =10 kΩ
4. Caùch tính taàn soá queùt LED- Goïi n: soá LED caàn hieån thò- Goïi τ: thôøi gian phaùt saùng cuûa moãi LED (s )- Goïi T laø chu kyø hieån thò cuûa n LED: T = n. τ ( s )- Goïi f : taàn soá queùt
τ = τN : chu kì ngaét cuûa moãi LED (s )
Moái lieân heä giöõa chieàu daøi saûn phaåm (cm ) vôùi vaän toác baêng chuyeàn (m/s):
Ñaàu doø: Baét ñaàu Keát thuùc
-Goïi T: chu kì queùt ñaàu doø (ms )
• Ñieàu kieän ñeå cho ñaàu doø phaùt hieän saûn phaåm
• Chieàu daøi nhoû nhaát cuûa saûn phaåm:
• Vaän toác toái ña cuûa baêng chuyeàn:
III. KEÁT NOÁI KÍT VI ÑIEÀU KHIEÅN VÔÙI THIEÁT BÒ NGOAÏI VI:
Ω=−−
−−= Kx 57,122,025
220)2,08,05(40
)(.11 HznT
fτ
==
)(.11 Hz
nTf
Nτ==⇒
TTL
2TTL = : Thôøi gian doø möùc thaáp (ms )- Goïi
)(.10)(10.)(10
sm
TdvcmTvdms
vdT
L
LL ≤⇒≥⇒≤
)(10. cmTvd L
MIN =
)(.10sm
TdvL
MAX =
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
1. Keát noái vôùi baøn phím:Baøn phím goàm 16 phím keát noái vôùi kít vi ñieàu khieån thoâng qua Port 1 cuûa 8051. Sô ñoà keát
noái nhö sau:
P0.0
P0.1P0.2P0.3
8 0 5 1
P0.4P0.5
0 1 2 3 4 5 6 7 8 9 A BC D E F
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
BAÛNG MAÕ PHÍM
Phím Maõ queùt Maõ Hex Phím Maõ queùt Maõ Hex
0 00 0CH 8 08 80H
1 01 F9H 9 09 90H
2 02 A4H A 10 88H
3 03 B0H B 11 83H
4 04 99H C 12 C6H
5 05 92H D 13 A1H
6 06 82H E 14 86H
7 07 F8H F 15 8EH
2. Keát noái hieån thò:Phaàn hieån thò bao goàm 8 Led 7 ñoaïn chung anod. Bus döõ lieäu xuaát ra hieån thò ñöôïc noái tôùi
PortA cuûa 82552. Vì doøng ra taïi moãi chaân caùc Port cuûa 8255 chæ coù khoaûng 4mA, maø moãi Led saùng thì phaûi cung caáp doøng khoaûng 8 – 10mA neân phaûi duøng IC ñeäm neân PortA cuûa 8255 noái tôùi caùc ngoõ vaøo A1 _ A8 cuûa 74245, bus döõ lieäu ngoõ ra noái qua ñieän trôû haïn doøng ñeán caùc thanh cuûa Led 7 ñoaïn. Vôùi maïch giaûi maõ choïn Led: ba ngoõ vaøo A, B, C cuûa 74138 seõ ñöôïc noái tôùi PC5 – PC7 cuûa 8255, chaân cho pheùp G2 noái tôùi PC4 cuûa 8255. Khi PC4 xuoáng möùc thaáp, G2 = [0], cho pheùp Led saùng. Baûng traïng thaùi choïn Led nhö sau:
Tính toaùn ñieän trôû trong maïch hieån thò:
Ngoõ vaøoCho pheùp Caùc chaân löïa choïn
G1 G2 C B A
Choïn Led
HHHHHHHH
LLLLLLLL
LLLLHHHH
LLHHLLHH
LHLHLHLH
Led 1Led 2Led 3Led 4Led 5Led 6Led 7Led 8
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Ñeå cho moät thanh led ñuû saùng thì doøng ñieän qua noù laø 10 mA, do ñoù ñeå caû led 7 ñoaïn saùng thì doøng cung caáp cho led laø: I = 7 x 10 = 70 mA. Ñaây cuõng chính laø doøng Ic cuûa transistor. Vaäy choïn transistor loaïi A1266 vôùi heä soá khuyeách ñaïi β laø 60 Vaäy doøng IB laø:
Ñieän trôû phaân cöïc R1 laø:
Choïn R1 = 3,3 kΩ, nhoû hôn giaù trò tính toaùn ñeå doøng lôùn transistor nhanh baõo hoøa. Vaäy doøng IB thöïc teá laø:
Tính R2 (ñieän trôû haïn doøng cho led):Khi transistor baõo hoøa, ñieän aùp VCESAT = 0,2 V vaø ñieän aùp rôi treân led laø 2V do ñoù:
VR2 = Vcc – VCESAT – VLED = 5 – 0,2 – 2 = 2,8V
Choïn R2 = 270 (Ω). Choïn R2 lôùn hôn tính toaùn ñeå transistor nhanh baõo hoaø
c. Keát noái maïch rôle:Tín hieäu ñieàu khieån rôle ñöôïc laáy ra töø PortA cuûa 82551. Rôle seõ taùc ñoäng khi ñeám xong soá
löôïng saûn phaåm caøi ñaët tröôùc. ÔÛ ñaây chuùng em giaû ñònh söï taùc ñoäng cuûa rôle baèng ñeøn Led hieån thò. Khi led saùng töông öùng vôùi taùc ñoäng cuûa rôle. Gioáng nhö maïch hieån thò, tín hieäu laáy ra ñieàu khieån rôle ñuôïc ñöa qua boä ñeäm 74245 vaø haïn doøng baèng ñieän trôû.
cc
Led
R2 :ñieän trôû haïn doøng
R1Ñieän trôû phaân cöïc
mAII CB 1,1
6070 ===
β
)(90,31,1
7,0511 Ω=−=−== K
IVV
IUR
B
BECC
B
R
mAI B 3,13,3
7,05 =−=
mAILEDtt 1,1110251
2,0253 =
×−−= −
Ω=== − 251
710.60.3,1
8,2
7
32
2CMAX
R
IVRVaäy
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Tính ñieän trôû haïn doøng R: Ñeå cho moãi led saùng thì doøng cung caáp cho noù laø 10mA. Vaäy ñieän trôû caàn gaén theâm vaøo ñeå haïn doøng cho led laø:
Choïn R1 treân thöïc teá laø 330 (Ω). Vôùi vieäc choïn R1 lôùn hôn tính toaùn nhöng doøng qua led giaûm khoâng ñaùng keå neân vaãn chaáp nhaän
III. THIEÁT KEÁ VAØ TÍNH TOAÙN MAÏCH CAÛM BIEÁN 1. Khoái phaùt
Ω=−=−= kI
VVRLED
LEDCC 3,010
251
RA
RB
C
2 1 5
8 43
C1
76 Ngoõ ra
VCC
Tính toaùn ñieän trôû vaø tuï treân maïch dao ñoäng 555
mARVV
I LEDCCLEDtt 09,9
1033025
31
=×−=
−= −
Vaäy doøng thöïc teá qua led laø:
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
- Daïng soùng:
tc =0,69(RA + RB).CRA ,RB [ohm] C[F] →t[s]td =0,69RBC ⇒T= tc + td =0,69(RA +2RB).C* Neáu choïn ñôn vò R[KΩ] , C[µF] → t[ms] ,f0[KHz]
ñeå xung taïo ra gaàn nhö ñeàu nhau ñeå kích thích cho AÏ564 daãn maïnh, laøm doøng IB lôùn suy ra doøng qua LED lôùn, tín hieäu phaùt ra töø LED maïnh thì beân khoái ñaàu doø môùi nhaän ñöôïc tín hieäu.
2. Khoái ñaàu doø:Taàn soá dao ñoäng rieâng cuûa maïch:
- Choïn R15 = 10K C10 =0,1µF 2K ≤ R ≤ 20Kvì f cho pheùp: 0,01Hz ≤ f ≤ 500Khz→ f0 thoûa ñieàu kieän cho pheùp.
-Choïn C8 =1µF ,C9 =2,2 µF.
( )CRRTfo
BA 245,11
+==
KhzCR
fo 1,11,0.10
1,11,1
1015
===
101
81 ÷≈
B
A
RR
Choïn
2/3Vcc
1/3 Vcc
Vcc
0V
T
tc
td
Ñieän aùp ra
Ñieän aùp treân tuï t
t
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
*ÔÛ khoái phaùt tia hoàng ngoaïi:Choïn tuï C6 = 0,001µF
Taàn soá cuûa maïch thieát keá = taàn soá f0 cuûa ñaàu doøNeân f = f0 =1,1kHz
Choïn RA, RB sao cho thoûa ñieàu kieän treân Laáy theo giaù trò thöông maïi suy ra:
Choïn RB=620KΩ, RA =78KΩVì duøng RA laø moät bieán trôû ñieàu chænh neân choïn RA=100KΩ-Transistor Q1 : A564 choïn heä soá khueách ñaïi β =200-Khi Led hoàng ngoaïi daãn thì VLED =2V-Choïn doøng qua Led hoàng ngoaïi khoaûng 50mA (ñeå tín hieäu phaùt ra maïnh vì vaäy maø khoái
ñaàu doø môùi nhaän ñöôïc).
⇒ Choïn R11= 120Ω ⇒ Doøng thöïc teá qua LED khi R11=120Ω
ICsat ==56,67mA-Ñeå cho Q1 daãn baûo hoøa:
βIB >ICsat Maø VEbsat ≈0,8VVout taïi chaân 3 (ngoõ ra 555 )≈0,2V
→ Choïn R10 =10KΩ
* ÔÛ khoái ñaàu doø IC LM 324 : IC laøm vieäc vôùi loaïi nguoàn ñôn, choïn ñoä lôïi 100dB.
( ) CRbRaTfof
.245,11
+===
( ) Ω=Ω===+ −− KCfo
RR BA 131810.31,110.10.10.1,1
45,1.45,12 6
633
mAR
VVVI LEDECSATccCsat 67,56
12,08,6
12,022,09
11
==−−=−−=
Ω=Ω=−−=−−=⇒ 136136,050
22,0911 K
IVVVR
CSAT
LEDECSATcc
βCsatoutSATEBcc
BI
RVVV
I ℏ10
−−=
( )mAR
IB 28335,0200
67,562,08,09
10
=−−= ℏ
Ω= KR 23,2828335,0
810
10013
14 ==RRAV
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Choïn R14=100KΩR13 =1KΩR12 thöôøng töø 0KΩ ÷ 56KΩ, choïn R12 =56KΩC7 =0,1µF (tuï lieân laïc)
c. Hoaït ñoäng cuûa khoái phaùt vaø khoái ñaàu doø:- Do khoái phaùt vaø khoái ñaàu doø ñöôïc thieát keá: f= f0 =1,1KhzTrong ñoù f: taàn soá phaùt ra cuûa khoái phaùt tia hoàng ngoaïi.
f0: taàn soá trung taâm cuûa khoái ñaàu doø.Khi chöa coù saûn phaåm naøo ñi qua led hoàng ngoaïi phaùt tín hieäu qua photo Q2 ,photo Q2 nhaän
tín hieäu. Qua boä khueách ñaïi, khueách ñaïi tín hieäu lôùn leân ñeå IC 567ø nhaän bieát ñöôïc vì ôû led hoàng ngoaïi doøng ra khoaûng 56,67mA noù phaùt ra tín hieäu maïnh vaø coù khaû naêng truyeàn ñi xa, khi qua photo Q2 tín hieäu bò suy yeáu neân phaûi khueách ñaïi leân.
Vì do thieát keá f=f0 =1,1Khz töùc laø taàn soá vaøo phuø hôïp vôùi taàn soá trung taâm thì ngoõ ra chaân 8 ôû möùc thaáp [0]. Coøn khi cho saûn phaåm ñi qua che led hoàng ngoaïi thì tín hieäu töø led hoàng ngoaïi phaùt ra khoâng truyeàn qua ñöôïc photo Q2. Keát quaû laø taàn soá vaøo (f≠f0 =1,1Khz) khaùc vôùi taàn soá trung taâm neân ngoõ ra 8 ôû möùc cao [1], coù xung kích tôùi ngoõ vaøo (7) → ñieän aùp chaân 8 leân möùc cao
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
CHÖÔNG II. CHÖÔNG TRÌNH ÑIEÀU KHIEÅN
A. THUAÄT GIAÛII. Chöông trình chính:Ñeå caùc thieát bò hoaït ñoäng ñöôïc ñaàu tieân phaûi khôûi ñoäng caùc thieát bò ngoaïi vi, khôûi ñoäng Timer
cho pheùp ngaét. Sau ñoù goïi chöông trình nhaäp soá hoäp, nhaäp soá saûn phaåm. Neáu ñoàng yù soá ñeám ñaõ nhaäp vaøo thì cho pheùp baêng chuyeàn hoaït ñoäng (ñoùng role BC). Ñoïc döõ lieäu töø caûm bieán (ñaàu doø). Neáu coù saûn phaåm ñi qua thì goïi chöông trình ñeám. Neáu ñuû saûn phaåm moät hoäp thì goïi role ñoùng hoäp ñoàng thôøi goïi chöông trình ñeám hoäp.. Neáu ñuû soá hoäp thì baêng chuyeàn ngöng hoaït ñoäng vaø chôø cho ca tieáp theo. Khi ñaõ hoaøn thaønh 9 ca saûn phaåm thì quay laïi laøm töø ca 1.
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
- Goïi chöông trình con ñaàu doø- Ñeám saûn phaåm- Ro-le ñoùng hoäp, ñeám hoäp- Cho pheùp baêng truyeàn ngöng hoaït ñoängtrong caùc ca
-Naïp giaù trò ñaàu #00H vaøo caùc oâ nhôù
-Khôûi ñoäng thieát bò ngoaïi vi-Khôûi ñoäng thanh ghi Timer, cho pheùp ngaét
Ca: =Ca + 1
Ca: = 0
- Goïi chöông trình con nhaäp hoäp- Goïi chöông trình con nhaäp saûn phaåm- Cho pheùp baêng truyeàn hoaït ñoäng
Ñuû SP
Ro-le ñoùng hoäp, ñeám hoäp (RL – ÑH)
Goïi chöông trình con ñaàu doø (DAUDO)
Ñeám saûn phaåm
S
- Goïi chöông trình con doø phím (IN – HEX)
Ñuû
Phím E Ca = 9S
- Cho pheùp baêng chuyeàn ngöng hoaït ñoäng- Goïi chöông trình löu soá hoäp, soá saûn phaåm
- Goïi chöông trình xem soá lieäu löu baát kì ca naøo
S
S
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
II. CAÙC CHÖÔNG TRÌNH CON:1. Chöông trình con khôûi ñoäng ngoaïi vi:8255 chæ hoaït ñoäng khi naïp cho noù töø ñieàu khieån vì vaäy ñeå giao tieáp vôùi caùc thieát bò ngoaïi vi
caàn khôûi ñoäng cho caùc oâ nhôù cuûa 8255
Ret
Naïp giaù trò ban ñaàu ñeå môû role ñoùng hoäp
Naïp giaù trò ban ñaàu xoùa 8 led 7 ñoaïn
Khôûi ñoäng 8255 - 2
Naïp giaù trò ban ñaàu cho ngoõ döï phoøng
Naïp giaù trò ban ñaàu cho role baêng truyeàn
Khôûi ñoäng 8255 - 1
Naïp giaù trò ban ñaàu ñeå choïn led saùng
Baét ñaàu
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
2. Chöông trình ngaét hieån thò:Trong chöông trình ngaét, thôøi gian ngaét ñöôïc xaùc ñònh baèng côø traøn timer. Nhö vaäy cöù sau
250 µs caùc led laïi ñöôïc queùt. Vôùi thôøi gian ngaét nhoû, döõ lieäu ra khoù coù theå quan saùt ñöôïc vì vaäy delay sau moãi laàn hieån thò baèng vieäc giaûm thanh ghi R2. Khi R2 = 0 cho pheùp xuaát döõ lieäu ra hieån thò. Caùc Led seõ ñöôïc queùt lieân tuïc töø Led 77ñeán Led 70, vôùi döõ lieäu xuaát ra hieån thò töø oâ nhôù 77H ñeán oâ nhôù 70H.
Löu ñoà thuaät giaûi nhö sau:
3. Chöông trình con nhaán soáChöông trình naøy cho pheùp nhaäp soá thaäp phaân. Neáu phím nhaán töø 0 ñeán 9 thì nhaän soá coøn
phím töø A ñeán F thì xoùa soá. Soá nhaän thì bit 7D = [0], 7E = [0]. Sau khi nhaäp soá lieäu xong neáu
Cho pheùp ngaét
Ñ
R1 = # 69H
R2 = 0
R2 - 1
TOÁC ÑOÄ 1 → R2Choïn led hieån thò
Xuaát döõ lieäu ra ledR1 - 1
R1 ← # 77H
Thoaùt 1Ret
S
Baét ñaàu
S
Ñ
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
thaáy qua led hieån thò ñuùng soá lieäu ñaõ nhaäp vaøo thì nhaán phím A töùc laø ñaët bit YES = 1 (7E = 1) ñeå keát thuùc quaù trình nhaäp soá lieäu. Coøn ñang nhaäp neáu muoán boû soá lieäu vöøa nhaäp vaøo thì nhaán phím phím B töùc laø ñaët bit NO = 1 (7D = 1). Khi nhaäp xong soá saûn phaåm vaø soá hoäp thoâng qua chöông trình con nhaán soá naøy thì nhaán phím C töùc laø cho pheùp saûn phaåm töø luùc naøy ñi qua ñaàu doø vaø baét ñaàu ñeám.
4. Chöông trình taêng 1:
Cöù coù moät saûn phaåm ñi qua ñaàu doø (chuù yù ngoõ ra chaân 8 cuûa IC567 töø nöùc logic 0 leân möùc 1 sau ñoù ñöôïc ñöa qua coång ñaûo neân ngoõ ra laø möùc logic 0) ñöôïc ñöa vaøo bit 0 cuûa port B1 seõ laøm thay ñoåi möùc logic töø 1 xuoáng 0 thì oâ nhôù duøng cho vieäc ñeám saûn phaåm seõ ñöôïc taêng leân moät ñôn vò thoâng qua vieäc goïi chöông trình con taêng 1, vaø khi ñuû soá saûn phaåm thì oâ nhôù duøng cho vieäc ñeám soá hoäp cuõng ñöôïc taêng leân moät ñôn vò thoâng qua chöông trình con taêng 1, vaø cöù moãi laàn nhö vaäy söï
Baét ñaàu
C = 1
A = # 0AH
S
Xoùa bit YESXoaù bit NO
Goïi chöông trình doø phím
ÑÑaët bit YES Xoùa A
A = # 0BH Ñaët bit NO
Xoùa côø CA - # 0AH
RET
Ñ
S Ñ
S
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
thay ñoåi soá lieäu trong caùc oâ nhôù ñöôïc ñaåy lieân tuïc ra led ñeå hieån thò. Vì ñeám saûn phaåm ñeán toái ña laø 999 vaø ñeám soá hoäp toái ña laø 9999 neân phaûi söû duïng 2 byte ñeå ñeám saûn phaåm töø haøng ñôn vò ñeán haøng chuïc söû duïng byte thaáp, coøn haøng traêm vaø haøng ngaøn söû duïng byte cao. Neân khi so saùnh soá lieäu ñang ñeám vôùi soá lieäu ñaõ löu ban ñaàu xem ñaõ baèng chöa thì phaûi so saùnh laàn löôït byte cao tröôùc töùc laø haøng ngaøn, haøng traêm sau ñoù tôùi byte thaáp töùc laø haøng chuïc haøng ñôn vò.
5. Chöông trình con kieåm tra phím aán: IN – HEXNeáu nhö coù phím ñöôïc aán thì bit C = 0. Vì coù khoaûng thôøi gian nhaán phím neân goïi chöông trình doø tìm maõ phím aán 50 laàn baèng vieäc naïp 50 vaøo R3 vaø giaûm R3. Khi R3 = 0 thì caát maõ phím vaøo ngaên xeáp. Trong luùc ñôïi phím ñöôïc nhaû ra goïi chöông trình doø tìm maõ phím aán 50 laàn ñeå xem phím coù coøn ñöôïc nhaán nöõa hay khoâng. Khi R3 = 0 thì laáy maõ phím trao cho thanh ghi A.
RET
Xoùa côø traøn phuï AC
Xoùa côø traøn C
A ← A +1
Hieäu chænh thaäp phaân thanh ghi A
Baét ñaàu
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Baét ñaàu
RET
Khoâng coù phím aán
#50→ (R3)#50→ (R3)
#50→ (R3)
Goïi CT doø maõ phím
C= 0
SÑ
R3 - 1Coù phím aán
Caát ACC
R3= 0
Ñ
Goïi CT doø maõ phím
C = 1
S
S
R3 - 1
R3= 0
Laáy ACC
Löu ñoà thuaät giaûi kieåm tra phím aán
SÑ
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
6. Chöông trình doø maõ phím aán: 8051 luoân ñoïc döõ lieäu töø Port 1 ñeå doø tìm maõ phím. Khi coù moät phím ñöôïc aán thì côø C = 1
vaø maõ cuûa phím aán ñöôïc löu taïm thôøi vaøo thanh ghi R6. Sau ñoù taêng daàn R6 leân 4 ñôn vò ñeå doø maõ phím tieáp theo, (maõ phím )→ (A)
Ñ
Ñ R6 =0
#FE → A# 4 → R6
A → R7#4 → AXOÙA CA –R6
A → R6R7 → A
R7 → AXoay A
R6 - 1
Baét
A → R7A → P1
Ñoïc port 1A AND #0F0H
XOAY A
Xoay phaûi A qua C
XO
A = #
R6 + 4R5 - 1
Ñaët côø cR6 → A
Ñ
S
C = 0 Ñ (3)S
S
(3)
Ñ(3)
R5 = 0S
RET
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
7. Chöông trình ñaàu doø : 8051 luoân luoân ñoïc döõ lieäu töø ñaàu doø (Port B4) neân noäi dung thanh ghi A baèng noäi dung
oâ nhôù 4001H. Cöù moãi saûn phaåm ñi tôùi caûm bieán, caûm bieán seõ taïo ra möùc logic ñieän aùp cao 5 volt, luùc ñoù Port B.0 = 1 = ACC.0 . Vì coù khoaûng thôøi gian saûn phaåm ñi qua neân möùc logic ñieän aùp phaûi toàn taïi ít nhaát khoaûng 100µs do ñoù phaûi lieân tuïc kieåm tra döõ lieäu töø ñaàu doø. Khi möùc logic ñieän aùp chuyeån töø 1 xuoáng 0 (töông öùng vôùi 1 saûn phaåm ñaõ ñi qua caûm bieán). thì phaûi coù khoaûng thôøi gian ít nhaát ñeå chôø saûn phaåm tieáp theo ñi tôùi neân möùc logic thaáp cuõng phaûi toàn taïi ít nhaát 100µs. Doø möùc ñieän aùp trong khoaûng thôøi gian 100 µs baèng caùch naïp 100 vaøo R3, giaûm R3, khi R3 ≠ 0 vaãn tieáp tuïc doø möùc. Löu ñoà thuaät giaûi doø möùc ñieän aùp nhö sau:
Baét ñaàu
DPTR ← # CAÛM BIEÁNR3 ← #100
A ← @DPTR
SÑ
ACC. 0
R3 = 0
R3 - 1
ÑS
R3 ← #100
A ← @DPTR (ñoïc port B1)
ACC.0 = ÑS
S
R3 - 1
RET
R3 = 0Ñ
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
8. Chöông trình Blank: xoùa soá 0 khoâng coù nghóaChöông trình naøy coù yù nghóa nhö sau: khi soá saûn phaåm hay soá hoäp chæ tôùi haøng ñôn vò, chuïc,
traêm thì nhöõng soá 0 ñöùng tröôùc noù khoâng coù nghóa bò loaïi boû (khoâng saùng ) vaø caùc oâ nhôù coù nghóa ñöôïc löu (laàn löôït töø haøng ñôn vò → haøng ngaøn) vaøo caùc oâ nhôù töø 70H→ 77H. Loaïi boû baèng caùch so saùnh giaù trò lôùn nhaát haøng ngaøn vôùi soá 0 neáu ñuùng laø 0 thì xoùa led hieån thò haøng ngaøn, tieáp tuïc so saùnh xem oâ nhôù haøng traêm vôùi soá 0 neáu ñuùng laø 0 thì xoùa led hieån thò haøng traêm, töông töï cho haøng chuïc, coøn oâ nhôù haøng ñôn vò giaù trò baèng bao nhieâu thì led haøng ñôn vò cuõng hieån thò.
Baté ñaàu
A ← DEMHOP HLED 70 ← NGANLED 71 ← TRAM
A ← DEMHOP LLED 72 ← CHUCLED 73 ← DONVI
A ← DEM_ SPLLED 76 ← CHUCLED 77 ← DONVI
A ← DEM_SP HLED 75 ← TRAM
A ← LED 70
( 1
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
( 1)A =0 S
Xoùa LED 72
A ← LED 75
Ñ
Xoùa LED 70A ← LED 71
A =0 S
Xoùa LED 71A ← LED 72
A =
Ñ
Xoùa LED 75A ← LED 76
A = Ñ
S
Xoùa LED 76
RET
A Ñ
Chöông trình blank
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
9. Chöông trình nhaäp hoäp: Chöông trình cho pheùp nhaäp caùc soá töø 1 ñeán 9999. Neáu soá ñöôïc nhaán töø A ñeán F thì yeâu caàu
nhaäp laïi. Khi soá ñöôïc nhaán löu vaøo thanh ghi A töø 1 ñeán 9: neáu chaáp nhaän soá thì caùc bit 7D, 7E = 0 vaø khi bit 7D = 1 thì yeâu caàu nhaäp laïi hoäp, bit 7E = 1, thì thoaùt khoûi chöông trình. Caùc giaù trò ñöôïc nhaäp naøy ñöôïc löu vaøo caùc oâ nhôù töø (74H) ñeán (77H) vaø 7C (LÖUHOPL:löu hoäp byte thaáp), 7D (LÖUHOPH: löu hoäp byte cao). Neáu ñoàng yù vôùi soá ñaõ nhaäp thì nhaán A ngöôïc laïi laø B (xoùa soá ñaõ nhaäp)
Baét ñaàu
A = 0
BIT 7D = 1
HIEÅN THÒ “nhaäp 0”LÖU HOP L ← # 00HLÖU HOP H ← # 00HGoïi nhaán soá thöù nhaát
A → ÑÔN VÒÑÔN VÒ→ LÖU HOP L
Goïi nhaán soá thöù 2
BIT 7E = 1
BIT 7D = 1 Ñ
RET
(1)
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
S (2)
ÑÔN VÒ → CHUÏCA → ÑÔN VÒ
CHUÏC + ÑÔN VÒ → LÖU HOP LGoïi nhaán soá thöù 3
(2)
BIT 7E = 1ÑS
Ñ
BIT 7E = 1
S
TRAÊM → NGAØNCHUÏC → TRAÊMÑÔN VÒ → CHUÏC
A → ÑÔN VÒCHUÏC, ÑÔN VÒ → LÖU HOP LNGAØN,TRAÊM → LÖU HOPH
R E T
A = # 0AHS
S
A = # 0BH
Goïi chöông trình
BIT 7D = 1
SCHUÏC → TRAÊMÑÔN VÒ → CHUÏC
A → ÑÔN VÒCHUÏC + ÑÔN VÒ → LÖU HOP L
LÖU HOPH→ TRAÊMGoïi nhaán soá thöù 4
Ñ (1)
BIT 7D = 1Ñ (1)S
L öu ñoà chöông tr ình nha ä p hoä p
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
10. Chöông trình nhaäp saûn phaåm:Chöông trình cho pheùp nhaäp caùc soá töø 1 ñeán 999. Soá chæ ñöôïc nhaäp khi caùc bit 7D, 7E = 0
vaø khi bit 7D = 1 thì yeâu caàu nhaäp laïi. Caùc giaù trò ñöôïc nhaäp naøy ñöôïc löu vaøo caùc oâ nhôù töø (74H) ñeán (77H) vaø 7C (LÖUSPL: löu saûn phaåm byte thaáp), 7D (LÖUSPH: löu saûn hpaåm byte cao). Neáu ñoàng yù vôùi soá ñaõ nhaäp thì nhaán A ngöôïc laïi laø B (xoùa soá ñaõ nhaäp)
Baét ñaàu
A = 0Ñ
S
S
Hieån thò “Nhaäp O 0”LÖU – SPL ← # 00HLÖU – SPH ← # 00HGoïi nhaán soá thöù nhaát
BIT 7D = 1
Ñ
ÑÔN VÒ ← ALÖU – SPL ← ÑÔNVÒGoïi nhaán soá thöù 2
Ñ
BIT 7E = 1Ñ
SBIT 7D = 1
CHUÏC ← ÑÔN VÒÑÔN VÒ ← A
LÖU – SPL ← CHUÏC,ÑÔNVÒGoïi nhaán soá thöù 3
(2)
(3)
S
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
(2)
Ñ S
BIT 7E = 1
BIT 7D = 1
TRAÊM ← CHUÏCCHUÏC ← ÑÔN VÒ
ÑÔN VÒ ← ALÖU – SPL ← CHUÏC,ÑÔNVÒ
LÖU – SPH ← TRAÊM
Goïi chöông trình doø phím
A = # 0CH A = # 0BH
Ñ
S
R E T
Ñ
S
(1)
(3)
Chöông trình con nhaäp saûn phaåm
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
11. Chöông trình delay:Ñeå khoáng cheá thôøi gian delay naïp giaù trò ban ñaàu cho timer. Set cho timer chaïy. Khi timer ñeám
baèng thôøi gian naïp thì côø baùo traøn ñöôïc set leân [1]. Muoán thôøi gian delay lôùn naïp giaù trò cho R4, giaûm R4 sau moãi laàn traøn timer. Nhö theá thôøi gian delay seõ laø:
t = (R4) x count0. Khi R4 = 0 laø heát thôøi gian delay.
12. Chöông trình con löu soá saûn phaåm soá hoäp trong moãi ca saûn xuaát:Chöông trình naøy löu keát quaû cuûa moãi ca saûn xuaát. Soá hoäp, soá saûn phaåm ñöôïc löu vaøo caùc oâ nhôù töø 30H → 53H. Xeùt noäi dung oâ nhôù 2EH, neáu noäi dung oâ nhôù 2EH = 1 vaø sau khi ñeám xong vaø baêng chuyeàn baùo hieäu ngöng ñeám thì noäi dung oâ nhôù 2EH trao cho thanh ghi A vaø löu keát quaû vaøo ca 1. Neáu ca sau cho pheùp hoaït ñoäng thì noäi dung oâ nhôù 2EH taêng leân 1 vaø töông töï ñöôc löu vaøo ca töông öùng ( ca = ca tröôùc + 1).
13. Chöông trình con cho pheùp xem soá lieäu cuûa ca saûn xuaát:Chöông trình naøy xem keát quaû cuûa moãi ca saûn xuaát, cuï theå laø xem noäi dung soá hoäp soá saûn phaåm trong moãi ca saûn xuaát. ÔÛ ñeà taøi naøy chuùng em chæ vieát chöông trình xem toái ña laø 9 ca. Töùc laø khi muoán kieåm tra ca naøo thì nhaäp cuï theå ca ñoù laø ca thöù maáy thoâng qua baøn phím baèng caùch nhaán moät
Baét ñaàu
TH0 ← # HIGHT COUNT0TL0 ← # LOW COUNT0
TR0 = 1
COUNT 0
Xoùa côø traønR4 - 1
Chaïy timer S Ñ
R4 = 0 Ñ
S
Ret
(FFFF → 0000)
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
soá. Tröôùc ñoù soá hoäp, soá saûn phaåm ñöôïc löu vaøo caùc oâ nhôù töø 30H → 53H. Khi ro-le baêng chuyeàn ñaõ ngöng hoaït ñoäng sau moät ca naøo ñoù neáu tieáp tuïc muoán nhaäp soá lieäu vaøo ñeå ñeám cho ca tieáp theo thì nhaán moät phím baát kyø khaùc phím E . Coøn neáu nhaán phím E töùc laø cho pheùp xem soá lieäu cuûa caùc ca, chæ caàn nhaán phím coù loaïi tröø phím chöùc naêng thì maõ phím nhaán ñoù ñöôïc löu vaøo thanh ghi A. Neáu A baèng maáy thì seõ ñöa noäi dung oâ nhôù löu soá lieäu ca ñoù ra boä phaän hieån thò. Vaø neáu muoán xem tieáp ca naøo nöõa thì cöù nhaán phím cho pheùp xem E roài nhaäp soá lieäu vaøo.Coøn khi muoán löu soá ca nhieàu hôn nöõa nhö toái ña laø töø 0 →99 hay töø 0 → 999 hay töø 0 → 999 thì töông töï nhö treân chæ khaùc laø khi nhaäp soá lieäu vaøo thì goïi nhaán toái ña 2 soá , 3soá, hay 4 soá thì chöông trình nhaäp soá laïi gioáng nhö trong chöông trình con nhaäp soá saûn phaåm vaø soá hoäp, vaø nhieàu ca ñöôïc löu thì soá oâ nhôù cuõng phaûi ñöôïc taêng theo.
A ← 2EH
A =#01H
A =#02H
A =#03H
A =#04H
A =#05H
30H ← LUUHOPL31H ← LUUHOPH32H ← LUU_SPL33H ← LUU_SPH
34H ← LUUHOPL35H ← LUUHOPH36H ← LUU_SPL37H ← LUU_SPH
38H ← LUUHOPL39H ← LUUHOPH3AH ← LUU_SPL3BH ← LUU_SPH
3CH ← LUUHOPL3DH ← LUUHOPH3EH ← LUU_SPL3FH ← LUU_SPH
40H ← LUUHOPL41H ← LUUHOPH42H ← LUU_SPL43H ← LUU_SPH ( 1 )
Ñ
( 2 )S
Ñ
S
Ñ
S
S
Ñ
S
Ñ LÖU:
Soá saûn phaåm, hoäp cuûa caùc ca ñöôïc löu vaøo oâ nhôù töông öùng
Ñöa soá lieäu cuûa caùc ca trong oâ nhôù ra hieån thò
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
RET
A =#06H
A =#07H
A =#08H
A =#09H
44H ← LUUHOPL45H ← LUUHOPH46H ← LUU_SPL47H ← LUU_SPH
48H ← LUUHOPL49H ← LUUHOPH4AH ← LUU_SPL4BH ← LUU_SPH
4CH ← LUUHOPL4DH ← LUUHOPH4EH ← LUU_SPL4FH ← LUU_SPH
50H ← LUUHOPL51H ← LUUHOPH52H ← LUU_SPL53H ← LUU_SPH
Ñ
S
Ñ
S
S
Ñ
S
Ñ
( 2 )
Löu ñoà chöông trình löu soá lieäu
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Goïi chöông trình con doø phím
A =#00H
A =#01H
A =#02H
A =#03H
A =#04H
LUUHOPL ← #FFH LUUHOPH ← #FFH LUU_SPL ← #FFH LUU_SPH ← #FFH
LUUHOPL ← 30HLUUHOPH ← 31H LUU_SPL ← 32H LUU_SPH ← 33H
LUUHOPL ← 34H LUUHOPH ← 35H LUU_SPL ← 36H LUU_SPH ← 37H
LUUHOPL ← 38H LUUHOPH ← 39H LUU_SPL ← 3AH LUU_SPH ← 3BH
LUUHOPL ← 3CH LUUHOPH ← 3DH LUU_SPL ← 3EH LUU_SPH ← 3FH ( 1 )
Ñ
( 2 )S
Ñ
S
Ñ
S
S
Ñ
S
ÑXEM:
Löu ñoà chöông trình cho pheùp xem soá lieä u
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
A =#01HA =#02HA =#03HA =#04HA =#05H
30H ← LUUHOPL31H ← LUUHOPH32H ← LUU_SPL33H ← LUU_SPH
34H ← LUUHOPL35H ← LUUHOPH36H ← LUU_SPL37H ← LUU_SPH
38H ← LUUHOPL39H ← LUUHOPH3AH ← LUU_SPL3BH ← LUU_SPH
3CH ← LUUHOPL3DH ← LUUHOPH3EH ← LUU_SPL3FH ← LUU_SPH
40H ← LUUHOPL41H ← LUUHOPH42H ← LUU_SPL43H ← LUU_SPH
( 1 )Ñ( 2 )S ÑS ÑSS ÑS Ñ
A =#05H
A =#06H
A =#07H
A =#08H
A =#09H
LUUHOPL ← 40H LUUHOPH ← 41H LUU_SPL ← 42H LUU_SPH ← 43H
LUUHOPL ← 44HLUUHOPH ← 45H LUU_SPL ← 46H LUU_SPH ← 47H
LUUHOPL ← 48H LUUHOPH ← 49H LUU_SPL ← 4AH LUU_SPH ← 4BH
LUUHOPL ← 4CH LUUHOPH ← 4DH LUU_SPL ← 4EH LUU_SPH ← 4FH
LUUHOPL ← 50H LUUHOPH ← 51H LUU_SPL ← 52H LUU_SPH ← 53H
Ñ
S
Ñ
S
Ñ
S
S
Ñ
S
Ñ
( 2 )
RET Goïi chöông trình blank (1)
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
B. CHÖÔNG TRÌNH HEÄ THOÁNG
;CHUONG TRINH DEM SAN PHAM VA DONG HOP;-----------------KHAI BAO CAC BIEN HANG---------------------
CWR4 EQU 4003H ;CWR4ROLE_BC EQU 4000H ;PORTA4CAMBIEN EQU 4001H ;PORTB4NGO_DP1 EQU 4002H ;PORTC4CWR6 EQU 6003H ;CWR6HIENTHI EQU 6000H ;PORTA6ROLE_DH EQU 6001H ;PORTB6CHONLED EQU 6002H ;PORTC6LED70 EQU 70HLED71 EQU 71HLED72 EQU 72HLED73 EQU 73HLED74 EQU 74HLED75 EQU 75HLED76 EQU 76HLED77 EQU 77HLUU_SPL EQU 78H ;Luu san pham (byte thap)LUU_SPH EQU 79H ;Luu san pham (byte cao)DEM_SPL EQU 7AH ;Dem san pham (byte thap)DEM_SPH EQU 7BH ;Dem san pham (byte cao)LUUHOPL EQU 7CHLUUHOPH EQU 7DHDEMHOPL EQU 7EHDEMHOPH EQU 7FHCOUNT0 EQU -10000DELAY1 EQU 50DELAY2 EQU 20TOCDO1 EQU 9COUNT1 EQU -250BLK EQU 0FHSTART EQU 0CHNO BIT 7DHYES BIT 7EHLUU_CYBIT 7FH
;-------------------------CHUONG TRINH CHINH-----------------
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
ORG 00HLJMP BAT_DAU0ORG 1BHLJMP NGAT_T1ORG 30H
BAT_DAU0: MOV R1,#LED77MOV R2,#TOCDO1MOV TMOD,#21HMOV TH1,#COUNT1LCALL KD_NVSETB TR1SETB ET1SETB EA
BAT_DAU1: MOV 2EH,#00HMOV 30H,#00HMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#00HMOV 35H,#00HMOV 36H,#00HMOV 37H,#00HMOV 38H,#00HMOV 39H,#00HMOV 3AH,#00HMOV 3BH,#00HMOV 3CH,#00HMOV 3DH,#00HMOV 3EH,#00HMOV 3FH,#00HMOV 40H,#00HMOV 41H,#00HMOV 42H,#00HMOV 43H,#00HMOV 44H,#00HMOV 45H,#00HMOV 46H,#00HMOV 47H,#00HMOV 48H,#00HMOV 49H,#00HMOV 4AH,#00HMOV 4BH,#00HMOV 4CH,#00HMOV 4DH,#00HMOV 4EH,#00HMOV 4FH,#00H
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
MOV 50H,#00HMOV 51H,#00HMOV 52H,#00HMOV 53H,#00HMOV 54H,#00HMOV 55H,#00HMOV 56H,#00HMOV 57H,#00H
BAT_DAU: MOV DEMHOPL,#00HMOV DEMHOPH,#00HMOV DEM_SPL,#00HMOV DEM_SPH,#00H INC 2EHMOV 77H,2EHMOV 76H,#BLKMOV 75H,#BLKMOV 74H,#BLKMOV 73H,#BLKMOV 72H,#BLKMOV 71H,#0AHMOV 70H,#10HMOV R4,#250LCALL DELAYMOV LED70,#0DH ;'N'MOV LED71,#0BH ;'H'MOV LED72,#0AH ;'A'MOV LED73,#0EH ;'P'LCALL NHAPHOPLCALL NHAP_SPMOV DPTR,#ROLE_BCMOV A,#0FFH ;Cho phep bang chuyen hoat dongMOVX @DPTR,A
DEM: LCALL BLANKLCALL DAUDOMOV A,DEM_SPLLCALL TANG_1MOV DEM_SPL,AJNC DU_SP?MOV A,DEM_SPHLCALL TANG_1MOV DEM_SPH,A
DU_SP?: MOV A,DEM_SPHCJNE A,LUU_SPH,DEMMOV A,DEM_SPLCJNE A,LUU_SPL,DEMLCALL BLANK
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
MOV R4,#DELAY1LCALL DELAYMOV A,#00HMOV DPTR,#ROLE_DHMOVX @DPTR,AMOV R4,#DELAY2LCALL DELAYMOV A,#0FFHMOVX @DPTR,AMOV DEM_SPL,#00HMOV DEM_SPH,#00HMOV A,DEMHOPLLCALL TANG_1MOV DEMHOPL,AJNC DUHOP?MOV A,DEMHOPHLCALL TANG_1MOV DEMHOPH,A
DUHOP?: MOV A,DEMHOPHCJNE A,LUUHOPH,DEMMOV A,DEMHOPLCJNE A,LUUHOPL,DEMLCALL BLANK
KETTHUC: MOV DPTR,#ROLE_BCMOV A,#00HMOVX @DPTR,AMOV A,2EHLCALL LUU
L14: LCALL IN_HEXCJNE A,#0EH,L12MOV 77H,#BLKMOV 76H,#BLKMOV 75H,#BLKMOV 74H,#BLKMOV 73H,#BLKMOV 72H,#BLKMOV 71H,#0AHMOV 70H,#10H
L13: LCALL IN_HEXPUSH ACCCLR CSUBB A,#0AHPOP ACCJNC L13MOV 77H,ALCALL DELAY
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
LCALL XEMMOV 74H,#0CHMOV DEMHOPL,LUUHOPLMOV DEMHOPH,LUUHOPHMOV DEM_SPL,LUU_SPLMOV DEM_SPH,LUU_SPHLCALL BLANKLCALL DELAYLJMP L14
L12: MOV A,2EHCJNE A,#09H,L15LJMP BAT_DAU1
L15: LJMP BAT_DAU;------------------KHAI BAO CHUONG TRINH CON-----------------
;CHUONG TRINH CON LUU SO HOP, SO SAN PHAMLUU: NOP
L0: CJNE A,#01H,L1MOV 30H,LUUHOPLMOV 31H,LUUHOPHMOV 32H,LUU_SPLMOV 33H,LUU_SPHLJMP L10
L1: CJNE A,#02H,L2MOV 34H,LUUHOPLMOV 35H,LUUHOPHMOV 36H,LUU_SPLMOV 37H,LUU_SPHLJMP L10
L2: CJNE A,#03H,L3MOV 38H,LUUHOPLMOV 39H,LUUHOPHMOV 3AH,LUU_SPLMOV 3BH,LUU_SPHLJMP L10
L3: CJNE A,#04H,L4MOV 3CH,LUUHOPLMOV 3DH,LUUHOPHMOV 3EH,LUU_SPLMOV 3FH,LUU_SPHLJMP L10
L4: CJNE A,#05H,L5MOV 40H,LUUHOPLMOV 41H,LUUHOPHMOV 42H,LUU_SPLMOV 43H,LUU_SPHLJMP L10
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
L5: CJNE A,#06H,L6MOV 44H,LUUHOPLMOV 45H,LUUHOPHMOV 46H,LUU_SPLMOV 47H,LUU_SPHLJMP L10
L6: CJNE A,#07H,L7MOV 48H,LUUHOPLMOV 49H,LUUHOPHMOV 4AH,LUU_SPLMOV 4BH,LUU_SPHLJMP L10
L7: CJNE A,#08H,L8MOV 4CH,LUUHOPLMOV 4DH,LUUHOPHMOV 4EH,LUU_SPLMOV 4FH,LUU_SPHLJMP L10
L8: CJNE A,#09H,L10MOV 50H,LUUHOPLMOV 51H,LUUHOPHMOV 52H,LUU_SPLMOV 53H,LUU_SPH
L10: RET;------------------------------------------------------------
;CHUONG TRINH CON XEMXEM: NOP
CJNE A,#00H,H0MOV LUUHOPL,#0FFHMOV LUUHOPH,#0FFHMOV LUU_SPL,#0FFHMOV LUU_SPH,#0FFHLJMP H9
H0: CJNE A,#01H,H1MOV LUUHOPL,30HMOV LUUHOPH,31HMOV LUU_SPL,32HMOV LUU_SPH,33HLJMP H9
H1: CJNE A,#02H,H2MOV LUUHOPL,34HMOV LUUHOPH,35HMOV LUU_SPL,36HMOV LUU_SPH,37HLJMP H9
H2: CJNE A,#03H,H3
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
MOV LUUHOPL,38HMOV LUUHOPH,39HMOV LUU_SPL,3AHMOV LUU_SPH,3BHLJMP H9
H3: CJNE A,#04H,H4MOV LUUHOPL,3CHMOV LUUHOPH,3DHMOV LUU_SPL,3EHMOV LUU_SPH,3FHLJMP H9
H4: CJNE A,#05H,H5MOV LUUHOPL,40HMOV LUUHOPH,41HMOV LUU_SPL,42HMOV LUU_SPH,43HLJMP H9
H5: CJNE A,#06H,H6MOV LUUHOPL,44HMOV LUUHOPH,45HMOV LUU_SPL,46HMOV LUU_SPH,47HLJMP H9
H6: CJNE A,#07H,H7MOV LUUHOPL,48HMOV LUUHOPH,49HMOV LUU_SPL,4AHMOV LUU_SPH,4BHLJMP H9
H7: CJNE A,#08H,H8MOV LUUHOPL,4CHMOV LUUHOPH,4DHMOV LUU_SPL,4EHMOV LUU_SPH,4FHLJMP H9
H8: CJNE A,#09H,H9MOV LUUHOPL,50HMOV LUUHOPH,51HMOV LUU_SPL,52HMOV LUU_SPH,53HLJMP H9
H9: RET;------------------------------------------------------------
;CHUONG TRINH CON CHO HIEN THINGAT_T1: MOV LUU_CY,C
DJNZ R2,THOATT1
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
MOV R2,#TOCDO1PUSH ACCPUSH DPHPUSH DPLMOV DPTR,#CHONLEDMOV A,R1SWAP AMOVX @DPTR,AMOV DPTR,#HIENTHIMOV A,@R1LCALL TRABANGMOVX @DPTR,ADEC R1POP DPLPOP DPHPOP ACCCJNE R1,#LED70-1,THOATT1MOV R1,#LED77
THOATT1: MOV C,LUU_CYRETI
;------------------------------------------------------------;CHUONG TRINH CON KHOI DONG THIET BI NGOAI VI
KD_NV: MOV DPTR,#CWR4MOV A,#82H ;PORTB4:INPUTMOVX @DPTR,AMOV DPTR,#ROLE_BCMOV A,#00H ;Dung bang chuyenMOVX @DPTR,AMOV DPTR,#NGO_DP1MOV A,#0FFHMOVX @DPTR,AMOV DPTR,#CWR6MOV A,#80HMOVX @DPTR,AMOV A,#0FFHMOV DPTR,#HIENTHIMOVX @DPTR,AMOV DPTR,#ROLE_DHMOVX @DPTR,AMOV DPTR,#CHONLEDMOVX @DPTR,ARET
;------------------------------------------------------------
;------------------------------------------------------------ ;CHUONG TRINH CON DELAYDELAY: MOV TH0,#HIGH COUNT0
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
MOV TL0,#LOW COUNT0SETB TR0
CHO: JNB TF0,CHOCLR TF0CLR TR0DJNZ R4,DELAYRET
;------------------------------------------------------------;CHUONG TRINH CON NHAN SO
NHANSO: CLR YESCLR NOLCALL IN_HEXCJNE A,#0AH,XOASO?SETB YESCLR ALJMP THOAT0
XOASO?: CJNE A,#0BH,LOAITRUSETB NOLJMP THOAT0
LOAITRU: PUSH ACCCLR CSUBB A,#0AHPOP ACCJNC NHANSO
THOAT0: RET;------------------------------------------------------------
;CHUONG TRINH CON TANG 1TANG_1: CLR AC
CLR CADD A,#1DA ARET
;------------------------------------------------------------;CHUONG TRINH CON DAU DO
DAUDO:MOV DPTR,#CAMBIENDO1: MOV R3,#110DO2: MOV R4,#200DOMUC_L: MOVX A,@DPTR
JB ACC.0,DO1DJNZ R4,DOMUC_LDJNZ R3,DO2
DOTIEP1: MOV R3,#34DOTIEP2: MOV R4,#200DOMUC_H: MOVX A,@DPTR
JNB ACC.0,DOTIEP1DJNZ R4,DOMUC_H
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
DJNZ R3,DOTIEP2RET
;------------------------------------------------------------CHUONG TRINH CON XOA SO 0 KHONG CO NGHIA
BLANK: MOV A,DEMHOPHSWAP AANL A,#0FHMOV LED70,AMOV A,DEMHOPHANL A,#0FHMOV LED71,AMOV A,DEMHOPLSWAP AANL A,#0FHMOV LED72,AMOV A,DEMHOPLANL A,#0FHMOV LED73,AMOV A,DEM_SPHANL A,#0FHMOV LED75,AMOV A,DEM_SPLSWAP AANL A,#0FHMOV LED76,AMOV A,DEM_SPLANL A,#0FHMOV LED77,AMOV A,LED70JNZ THOAT3MOV LED70,#BLKMOV A,LED71JNZ THOAT3MOV LED71,#BLKMOV A,LED72JNZ THOAT3MOV LED72,#BLK
THOAT3: MOV A,LED75JNZ THOAT4MOV LED75,#BLKMOV A,LED76JNZ THOAT4MOV LED76,#BLK
THOAT4: RET;------------------------------------------------------------
;CHUONG TRINH CON NHAP HOP
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
NHAPHOP: MOV LED74,#BLKMOV LED75,#BLKMOV LED76,#BLKMOV LED77,#00HMOV LUUHOPL,#00HMOV LUUHOPH,#00H
SOHOP1: LCALL NHANSOJZ SOHOP1JBC NO,NHAPHOPMOV LED77,AMOV LUUHOPL,A
SOHOP2: LCALL NHANSOJBC YES,THOAT1JBC NO,NHAPHOPMOV LED76,LED77MOV LED77,AMOV A,LED76SWAP AORL A,LED77MOV LUUHOPL,A
SOHOP3: LCALL NHANSOJBC YES,THOAT1JBC NO,NHAPHOPMOV LED75,LED76MOV LED76,LED77MOV LED77,AMOV A,LED76SWAP AORL A,LED77MOV LUUHOPL,AMOV LUUHOPH,LED75
SOHOP4: LCALL NHANSOJBC YES,THOAT1JBC NO,NHAPHOPMOV LED74,LED75MOV LED75,LED76MOV LED76,LED77MOV LED77,AMOV A,LED76SWAP AORL A,LED77MOV LUUHOPL,AMOV A,LED74SWAP AORL A,LED75MOV LUUHOPH,A
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
KT_NHAPHOP: LCALL IN_HEXCJNE A,#0AH,XOANHAPHOP?LJMP THOAT1
XOANHAPHOP?:CJNE A,#0BH,KT_NHAPHOPLJMP NHAPHOP
THOAT1: RET;------------------------------------------------------------
;CHUONG TRINH CON NHAP SAN PHAMNHAP_SP: MOV LED74,#0CH
MOV LED75,#BLKMOV LED76,#BLKMOV LED77,#00HMOV LUU_SPL,#00HMOV LUU_SPH,#00H
SO_SP1: LCALL NHANSOJZ SO_SP1JBC NO,NHAP_SPMOV LED77,AMOV LUU_SPL,A
SO_SP2: LCALL NHANSOJBC YES,KT_NHAP_SPJBC NO,NHAP_SPMOV LED76,LED77MOV LED77,AMOV A,LED76SWAP AORL A,LED77MOV LUU_SPL,A
SO_SP3: LCALL NHANSOJBC YES,KT_NHAP_SPJBC NO,NHAP_SPMOV LED75,LED76MOV LED76,LED77MOV LED77,AMOV A,LED76SWAP AORL A,LED77MOV LUU_SPL,AMOV LUU_SPH,LED75
KT_NHAP_SP: LCALL IN_HEXCJNE A,#START,XOA_NHAP_SP?LJMP THOAT2
XOA_NHAP_SP?: CJNE A,#0BH,KT_NHAP_SPLJMP NHAP_SP
THOAT2: RET;------------------------------------------------------------
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
;CHUONG TRINH CON KIEM TRA CO PHIM NHAN ?IN_HEX: MOV R3,#50 BACK1: LCALL GET_KEY
JNC IN_HEX DJNZ R3,BACK1 PUSH ACC
BACK2: MOV R3,#50 BACK3: LCALL GET_KEY
JC BACK2 DJNZ R3,BACK3 POP ACC RET
;------------------------------------------------------------; CHUONG TRINH CON DO AN PHIM
GET_KEY: MOV A,#0FEH MOV R6,#4
TEST_NEXT: MOV P1,A MOV R7,A MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,KEY_BIT MOV A,R7 RL A DJNZ R6,TEST_NEXT CLR C SJMP EXIT
KEY_BIT: MOV R7,A MOV A,#4 CLR C SUBB A,R6 MOV R6,A MOV A,R7 SWAP A MOV R5,#4
AGAIN: RRC A JNC DONE INC R6 INC R6 INC R6 INC R6 DJNZ R5,AGAIN
DONE: SETB C MOV A,R6
EXIT: RET ;------------------------------------------------------------ CHUONG TRINH CON TRA BANGTRABANG: ADD A,#11
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
MOVC A,@A+PC RETDB 'DEFINEBYTE' DB 0C0H ; '0'DB 0F9H ; '1'DB 0A4H ; '2'DB 0B0H ; '3'DB 099H ; '4'DB 092H ; '5'DB 082H ; '6'DB 0F8H ; '7'DB 080H ; '8'DB 090H ; '9'DB 088H ; 'A'DB 089H ; 'H'DB 09CH ; 'o'DB 0C8H ; 'N'DB 08CH ; 'P'DB 0FFH ; 'BLANK'DB 0C6H ; 'C'
;-----------------KET THUC CHUONG TRINH----------------------END
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
LÔØI GIÔÙI THIEÄU
Trong quaù trình hieän nay maùy tính ñieän töû ñaõ goùp phaàn khoâng nhoû ñoái vôùi söï phaùt trieån xaõ hoäi. Do yeâu caàu cuûa con ngöôøi ngaøy caøng cao, caùc theá heä maùy tính ñaõ lieân tuïc phaùt trieån khoâng ngöøng. Ngay trong giai ñoaïn ñaàu caùc theá heä vi xöû lyù 8 bit ñöôïc duøng laø Z80,8085, sau ñoù laø caùc heä vi xöû lyù 16 bit nhö 8086, 8088…Caùc heä vi xöû lyù naøy ñaõ goùp phaàn quan troïng trong vieäc chöông trình hoùa caùc hoaït ñoäng cuûa maùy moùc trong coâng nghieäp nhôø vaøo caùc phaàn meàm öùng duïng. Moät khi trong coâng nghieäp ñaõ öùng duïng nhieàu vaøo vi xöû lyù thì caùc nhaø cheá taïo khoâng boû lôõ cô hoäi cho ra ñôøi caùc hoï vi ñieàu khieån ngaøy caøng tieán boä hôn.Vi ñieàu khieån ñöôïc söû duïng nhieàu trong caùc thieát bò coâng nghieäp, trong maùy giaët, trong ñieàu khieån ñeøn giao thoâng, trong caùc ñoà chôi giaûi trí…Taïi Vieät nam vieäc chöông trình hoùa caùc heä thoáng ñang ñöôïc aùp duïng ngaøy caøng nhieàu trong caùc nhaø maùy coâng nghieäp.Ñeå tìm hieåu veà vi ñieàu khieån vaø tìm hieåu moät öùng duïng cuï theå cuûa noù nhoùm chuùng em xin thöïc hieän ñeà taøi goàm hai phaàn chính:
PHAÀN1: Khaûo saùt vi ñieàu khieån 8051, vi maïch giao tieáp ngoaïi vi 8255, cuøng vôùi boä nhôù baùn daãn, caûm bieán.
PHAÀN 2: Thieát keá vaø thi coâng maïch ñeám saûn phaåm duøng vi ñieàu khieån 8051. Chöông trình heä thoáng vaø öùng duïng.Nhôø coù söï giuùp ñôõ cuûa quyù thaày coâ vaø baïn beø, nhoùm chuùng em ñaõ coá gaéng thöïc hieän ñeà taøi ñöôïc giao nhöng do kieán thöùc vaø thôøi gian coù haïn neân ñeà taøi khoâng theå traùnh khoûi thieáu soùt neân raát mong söï ñoùng goùp cuûa quyù thaày coâ vaø baïn beø.
Sinh vieân thöïc hieän Ñinh Thò Kha Leâ Hoaøng Minh
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
DAÃN NHAÄP
Heä thoáng vi xöû lyù hay coøn goïi laø maùy tính ñieän töû laø thieát bò xöû lyù thoâng tin, ñieàu khieån caùc thieát bò ngoaøi hay caùc thieát bò trong coâng nghieäp töï ñoäng.
Phaàn chính cuûa maùy tính laø boä xöû lyù trung taâm CPU (Central Processing Unit) laø nôi xaûy ra caùc quaù trình xöû lyù soá lieäu vaø ñieàu khieån moïi hoaït ñoäng cuûa maùy tính. Ngöôøi ta phaân loaïi CPU döïa vaøo ñoä roäng Data bus nhö:
CPU 8 bit Z80A: Haõng Zilog
6802 : Haõng Motorola
8080/8085: Haõng Intel
CPU 16 bit 8086/8088: Haõng Intel
Vi xöû lyù laø moät heä thoáng soá döïa treân cô sôû linh kieän chuû yeáu laø boä vi xöû lyù (CPU ). Tuøy thuoäc vaøo caáu truùc cuûa boä vi xöû lyù rieâng bieät vaø phaàn ñieàu khieån maø noù coù theå bao goàm nhieàu loaïi vi maïch. Döôùi söï ñieàu khieån baèng chöông trình moät boä vi xöû lyù thöïc hieän caùc pheùp tính soá hoïc vaø logic, ñoàng thôøi taïo ra nhöõng tín hieäu ñieàu khieån cho boä nhôù vaø thieát bò vaøo ra.
Nhöõng meänh leänh naøy goïi laø chöông trình nguoàn vaø ñöôïc chöùa trong boä nhôù chæ ñoïc (ROM)
Nguy e n v a n b i e n t b d 47@ g m a il. c o m
Chöông trình con kieåm tra phím aán
Khoâng coù phím aán
RET
IN _HEX
#50→ (R3)#50→ (R3)
#50→ (R3)
Call: getkey
C= 0
SÑ
R3 - 1Coù phím aán
Caát ACC
R3= 0
Ñ
Call: getkey
C = 1
S S
R3 - 1
R3= 0
Ñ
Laáy ACC