You are on page 1of 85

Luaän vaên toát nghieäp

Trang 1

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ån
II. 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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 2
-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än
Vôù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.
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ån
3. 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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 3
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éc
IV. 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:
V. XAÂY DÖÏNG SÔ ÑOÀ KHOÁI TOÅNG QUAÙT:

KHOÁI HIEÅN THÒ

CAÛM BAØN
BIEÁN KHOÁI PHÍM
XÖÛ
LYÙ

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 4

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ø thu
Vì 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 KHOÁ
TRANSITOR KHUYEÁCH I DAO
DAO
THU ÑAÏI ÑOÄN
ÑOÄNG
G
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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 5
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:

I(A) ϕ=4
ϕ=3
ϕ=2
ϕ=1
ϕ=0

b2. Photon transistor.


Photon Transistor cuõng töông töï nhö U(V)
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: C Cöïc thu (colecter)

Cöïc neànB C
N P N
(base) E
B
Cöïc phaùt (emiter)
E
Kyù hieäu Caáu taïo
_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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 6
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

I(A)
H=9

H=7
8

6 H=5

4 H=4

2 H=1

0 5 10 15 20
Trong ñoù H laø maät ñoä
1 chieáu saùng (mW/cmU(V) )
2

Ñ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 8 6 7
4
Ñ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öï 5 nhö trong tröôøng hôïp transistor thoâng
thuôøng, ñoä doác ñaëc tuyeán trong mieàn khuyeách
FLIP ñaïi.
FLOP
b3. IC dao ñoäng 5552
Sô ñoà chaân:
OUTPUT

GND VCC
TRI DIS
GVHD
OUTNguyeãn Vieät Huøng
THR
RES CN 3 1
Luaän vaên toát nghieäp
Trang 7

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).
14 13 12 11 10 9
8
GND +
4
+ 3

1+
+2
+3 -
30V
1
LM 324 IC coù 4 taàng khueách 2 ñaïi3thuaät
4 5 6 IC laøm vieäc vôùi
toaùn,
loaïi nguoàn ñôn. 7
Ñ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):
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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 8
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.

Ngoõ ra
Tuï ngoõ ra1 8 GND
Tuï loïc 567 7 Tuï ñònh thôøi
thoângthaáp 2 6 Ñieän trôû ñònh thôøi
Ngoõvaøo 5
+4,75-9,0V
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 8051
a1. 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.

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 9
Sô löôïc veà caùc chaân cuûa 8051:

1 4 0
2 P 1 .0 VC C 3 9
3 P 1 .1 P0 .0 3 8
4 P 1 .2 P0 .1 3 7
5 P 1 .3 P0 .2 3 6
6 P 1 .4 P0 .3 3 5
7 P 1 .5 P0 .4 3 4
8 P 1 .6 P0 .5 3 3
P 1 .7 P0 .6 3 2
9 P0 .7
R ESET 31
1 0 E A /V P
1 1 P 3 .0 30
1 2 P 3 .1 A L E /P
1 3 P 3 .2 29
1 4 P 3 .3 PSEN
1 5 P 3 .4 28
1 6 P 3 .5 P 2 .7 2 7
1 7 P 3 .6 P 2 .6 2 6
P 3 .7 P 2 .5 2 5
18 P 2 .4 2 4
19 X2 P 2 .3 2 3
X1 P 2 .2 2 2
2 0 cuûa caùc chaân P 2 .1 2 1
a2. Chöùc naêng VSS P8051:
2 .0
Port 0: töø chaân 8 32
031
ñ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 n
aêng chuyeån ñoåi
P3.0 RXD Ngoõ vaøo döõ lieäu noái tieáp.
P3.1 TXD Ngoõ xuaát döõ lieäu noái tieáp.

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 10
P3.2 INT0\ Ngoõ vaøo ngaét cöùng thöù 0.
P3.3 INT1\ Ngoõ vaøo ngaét cöùng thöù 1.
P3.4 T0 Ngoõ vaøo TIMER/ COUNTER
P3.5 T1 thöù 0.
P3.6 WR\ Ngoõ vaøo cuûa TIMER/
P3.7 RD\ COUNTER thöù 1.
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 Mh
b. Caáu truùc beân trong cuûa 8051
b1. Sô ñoà khoái beân trong 8051:

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 11

INT1
INT0

Timer 2
Timer 1
Timer 0
Port noái
tieáp T2
Ñieàu Caùc Timer 2 EX
T1
128 MRO
khieån thanh Timer 1
byte RAM noäi T0
ngaét ghi Timer 0

CPU

Oscillator Ñieàu khieån Caùc port Port noái


bus I/O tieáp

EA
RST
b2. Khaûo saùt caùc khoái nhôù beân trong 8051:
PSEN P0 P2 P1 P3 TxD RxD
ALE

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 12
*Toå chöùc boä nhôù:

7F F0 F7 F6 F5 F4 F3 F2 F1 F0
RAM ÑA DUÏNG
E0 E7 E6 E5 E4 E3 E2 E1 E0
30
2F 7F 7E 7D 7C 7B 7A 79 7 D D7 D6 6D 6C 6B 6A 69 68
8 0
2E 77 76 75 74 73 72 71 7
0 B8 - - - BC BB BA B9 B8
2D 6F 6E 6D 6C 6B 6A 69 6
8
2C 67 66 65 64 63 62 61 6 B0 B7 B6 B5 B4 B3 B2 B1 B0
0
2B 5F 5E 5D 5C 5B 5A 59 5 A8 AF AE AD AC AB AA A9 A8
8
2A 57 56 55 54 53 52 51 5
0
A0 A7 A6 A5 A4 A3 A2 A1 A0
29 4F 4E 4D 4C 4B 4A 49 4
8 99 Khoâng coù ñòa chæ hoùa töøng bit
28 47 46 45 44 43 42 41 4 98 9F 9E 9D 9C 9B 9A 99 98
0
27 3F 3E 3D 3C 3B 3A 39 3
8 90 97 9 95 94 93 92 91 90
26 37 36 35 34 33 32 31 3 6
0
25 2F 2E 2D 2C 2B 2A 29 2 8 Khoâng ñöôïc ñòa chæ hoùa töøng
8 D bit
24 27 26 25 24 23 22 21 2
0 8 Khoâng ñöôïc ñòa chæ hoùa töøng
23 1F 1E 1D 1C 1B 1A 19 1 C bit
8 8B Khoâng ñöôïc ñòa chæ hoùa töøng
22 17 16 15 14 13 12 11 1 bit
0 8A Khoâng ñöôïc ñòa chæ hoùa töøng
21 0F 0E 0D 0C 0B 0A 09 0
8
bit
20 07 06 05 04 03 02 01 0 89 Khoâng ñöôïc ñòa chæ hoùa töøng
0 bit
1F 88 8F 8 8D 8C 8B 8A 89 88
BANK 3 E
18 87 Khoâng ñöôïc ñòa chæ hoùa töøng
17 bit
BANK 2
10
83 Khoâng ñöôïc ñòa chæ hoùa töøng
0F bit
BANK 1 82 Khoâng ñöôïc ñòa chæ hoùa töøng
08 bit
07 81 Khoâng ñöôïc ñòa chæ hoùa töøng
Bank thanh ghi 0 ( maëc ñònh cho R0-R7) bit
80 87 86 8 84 83 82 81 80
00
5
THANH GHI CHÖÙC NAÊNG ÑAèC BIEÄT
CAÁU TRUÙC RAM NOÄI
GVHD Nguyeãn Vieät Huøng
Luaän vaên toát nghieäp
Trang 13
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, #5FH
MOV 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:

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 14
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:
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ù Ñòa YÙ nghóa
hieäu chæ
PSW.7 CY D7H Côø nhôù
PSW.6 AC D6H Côø nhôù phuï
PSW.5 F0 D5H Côø 0
PSW.4 RS1 D4H Bit 1 choïn bank thanh ghi
PSW.3 RS0 D3H Bit 0 choïn bank thanh ghi
00=bank 0: ñòa chæ 00H
– 07H
01=bank 1: ñòa chæ 08H
– 0FH
PSW.2 0V D2H 10=bank 2: ñòa chæ 10H
PSW.1 _ D1H – 1FH
PSW.0 P D0H 11=bank 3: ñòa chæ 18H
–1FH
Côø traøn
Döï 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 = 00H
Côø 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:

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 15
SETB RS1
SETB RS0
MOV 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 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,#5FH
Khi 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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 16
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
Ñeám chöông trình 0000H
PC 00H
Thanhghi tích luõy A 00H
Thanh ghi B 00H
Thanh ghi traïng 07H
thaùi 0000H
SP FFH
DPTR XXX0000 B
Port 0 ñeán Port 3 0XX00000 B
IP 00H
IE
Caùc thanh ghi
ñònh thôøi

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 TIMER
8051 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å:

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 17
- Ñò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 88H Coù


Timer

TMOD Cheá ñoä Timer 89H Khoâng

TL0 Byte thaáp cuûa 90H Khoâng


Timer 0

TL1 Byte thaáp cuûa 91H Khoâng


Timer 1

TH0 Byte cao cuûa 92H Khoâng


Timer 0

TH1 Byte cao cuûa 93H Khoâng


Timer 1

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.

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 18

Bit Teân Time Moâ taû


r

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ù Ñòa Moâ taû


hieäu chæ

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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 19

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

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, WAIT
Khi 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)

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 20
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 :
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ù Ñòa chæ Moâ taû


hieäu bit

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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 21

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 IE0 TCON.1


ngoaøi 0
Beân IE1 TCON.3
ngoaøi 1
Timer 1 TF1 TCON.7
Timer 0 TF0 TCON.5
Port noái TI SCON.1
tieáp
Port noái RI SCON.0
tieáp
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 :

Ngaét Côø Ñòa chæ vector

Reset heä RST 0000H


thoáng

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 22

Beân ngoaøi IE0 0003H


0

Timer 0 TF0 000BH

Beân ngoaøi IE1 0013H


1

Timer 1 TF1 001BH

Port noái TI vaø RI 0023H


tieáp

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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 23
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.
Sô ñoà chaân vaø sô ñoà logic cuûa 6264 nhö sau:

N.C Vcc
A12 WE\
A7 CE2
A6 A8 A0-A12
A5 A9
A4 A11
A3 OE\
A10 DQ0-DQ7
A2
A1 6264 CE1\
CE1\
6264
A0 DQ7 CE2
DQ0 DQ6
DQ1 DQ5 OE\
DQ2 Mode \ Pin WE\
DQ4 CE1\WE\CE2 OE\ Output
x H x x
Not Select Hi-Z
x x L x
Output H L H H Hi-Z
Disable
Read H L H L Dout
Write L L H H Din

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æ
+
WE, OE, CS1, CS2 : chaân ñieàu khieån
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:
Vpp Vcc
A12 PGM\
N.C
A7
A6
A8
A0-A12
A9
A5
A11
A4
OE\
D0-D7
A3 A10
A2
A1
2764 CE\
O7 2764
A0 O6
CE\
O0 O5 OE\
O1
GVHD Nguyeãn Vieät Huøng
O4 VPP
O2 O3
Luaän vaên toát nghieäp
Trang 24

Mode (cheá CE\ OE\ PGM\ VPP Ra


ñoä) (Output)
Ñoïc L L H Vcc Dout
Chôø H x x Vcc Hi-Z
Laäp trình L x L Vpp Din
Kieåm tra L L H Vpp Do ut
Caám laäp H x x Vpp Hi-Z
trình
Baûng traïng thaùi
- 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:

A Vcc A
B B
Y0
C C
Y1
G2A 7413 Y0 ...Y7
7413 Y2
G2B
Y3 G2A\ 8
G1 8 Y4
Y7
Y5 G2B
GND
Y6
G1
Sô ñoà chaân

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 25

INPUTS OUTPUTS
ENABLE SELECT
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 H
L x x x x H H H H H H H H
H L L L L L H H H H H H H
H L L L H H L H H H H H H
H L L H L H H L H H H H H
H L L H H H H H L H H H H
H L H L L H H H H L H H H
H L H L H H H H H H L H H
H L H H L H H H H H H L H
H L H H H H H H H H H H L
G2 = G2A + G2 Baûng traïng thaùi

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

OE\ Vcc
D0 Q0 D0-D7
D1
D2
Q1
7437 Q0-Q7
Q2
D3
7437 Q3
OC \ 3
D4 Q4
D5 3 Q5 G
D6 Q6
D7 Q7 Sô ñoà chaân
GND G
Baûng traïng thaùi
Output Enable D OUTPUT
Control (OC) G
L H H H
L H L L
L L x Q0
GVHD Nguyeãn Vieät Huøng
H x x HI-Z
Luaän vaên toát nghieäp
Trang 26

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

WR
WR RAM

OE\
RD
PSEN
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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 27
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:

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 28

Giaûi maõ
74138
Port0
Port CH

8255 Ñeäm
8051 7424
Port LED
PortA
2 5

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

PA4
PA3
PA2 PA5 D0- PA0-PA7
PA1 PA6
PA0 PA7
RD\ WR\
CS\ RESET
GND D0 PB0-PB7
A1 D1
RD\
A0 D2 WR\
PC7
RESET
8255
D3
PC6 D4
PC5 8255 PC0-PC3
A
D5
PC4 D6 CS\
PC0
A
PC1 1 A0
A RD\ D7
WR\ CS\ A0 Hoaït ñoäng
Vcc
L
PC2 L L PB7 H L A1 Port A  Bus döõ PClieäu-PC7
PC3 PB6 4
L
PB0 H L H L CS\ Port B Bus döõ lieäu
Sô ñoà chaân vaø sô ñoà logic
PB5
H
PB1 L L PB4 H L Port C Bus döõ lieäu
Tính
L linh hoaït
L cuûa
H vi maïch
L theå
L hieän ôû döõ
Bus khaûlieäu
naêng laäpAtrình.
 Port
Qua moätL thanhH ghi ñieàu
H khieån,
L ngöôøi
L söû duïng xaùc ñònh cheá ñoä
Bus döõ lieäu  Port B
hoaït ñoäng vaø coång naøo caàn ñöôïc söû duïng nhö laø loái vaøo
H L H L L Bus döõ lieäu  Port C
hoaëc loái ra. Caùc chaân ra D0  D7 taïo neân bus döõ lieäu hai chieàu
H H H L L Bus döõ lieäu  Töø ñieàu
coù ñoä roäng laø 8 bit. 8255 ñöôïc choïn bôûi tín hieäu möùc thaáp ôû
khieån
x x x x H Bus döõ lieäu ôû traïng thaùi
GVHD Nguyeãn Vieät Huøng Hi-Z
H H L H L Caám
x x H H L Bus döõ lieäu ôû traïng thaùi
Luaän vaên toát nghieäp
Trang 29
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:

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
* xCaùcxtraïng
H thaùi laøm
H vieäc
L cuûa 8255:
Bus döõ lieäu ôû traïng
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:

1 0 0 D4 D3 0 D1 D0

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

GVHD Nguyeãn Vieät Huøng Côø laäp cheá


ñoä
1 = tích cöïïc
Luaän vaên toát nghieäp
Trang 30

Caáu truùc töø ñieàu khieån:

D7 D6 D5 D4 D3 D2
D1 D0

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

Nhoùm APort
C (cao)1 =
nhaäp0 =
xuaátPort A1 =
nhaäp0 =
xuaátChoïn
cheá ñoä
00 = cheá
ñoä 0
01 = cheá ñoä
1
1x = cheá ñoä
2
Côø laäp cheá
Vì doøng ra caùc port cuûa 8255 raát nhoûñoä (lôùn nhaát laø port A
khoaûng 5mA) neân20 Vcc 1 = tích
caàn coù IC ñeäm doøng ñeå cöïïc
naâng doøng leân
1
DIR 19
G\
ñuû keùo2 cho led saùng. Chuùng em choïn IC ñeäm 74245, sau ñaây laø
Enable
sô ñoà
2 chaân, baûng traïng thaùi cuûa 74245:
Sô ñoà chaân vaø 18
B1 G\Direction
sô ñoà logic cuûa 74245 nhö sau:
Control
A1 3 B2 DIROperation
17
A24 B3 L
A35 16 B4
L
A46 15 B5
A5 74245 14 B6 HL
7
A6 13 B7
H
A78 B8
12
A9 10 XDöõ lieäu töø B ñöa ra bus A
GVHD Nguyeãn Vieät11
Huøng Döõ lieäu töø A ñöa ra busA
Ngaên
Sô ñoà chaân
Luaän vaên toát nghieäp
Trang 31

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 74245
4. 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:

PORT 1
8051 BAØN PHÍM

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp Trang 1

Port0 Data

A0 ÷ A7 A0 ÷ A1
A
ddr
ess H PortB.0 P
ROM RAM 8255-2 PortA ieån 8255-1 Thu haù
7437 thò t
3
CS\ CS\ CS\ PortB R CS\ PortA R
ôle ôle
ÑH BC
A8 ÷ A12
8
0 Port2 A
13
÷ A15
74138
Y0

5 Y1
Y2

1 Y3

Port1 BAØN PHÍM


SÔ ÑOÀ KHOÁI CHI TIEÁT CUÛA
MAÏCH ÑIN

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 1

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ÖÙNG
Sau 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:

Port 0
D7 - D0
EA D
8051 74373 EPROM
A7- A0
Q
ALE G
Port2 A15 -A8
0E\
PSEN
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.

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 2

D7 - D0
Port
0
D RAM
EA
A7- A0

8051 A15 -A8


0E
ALE WR

Port2
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 A A A A A A A A A A A A A A A A hex
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Rom 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000
8K 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 H
1FFFH
Ram 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000
8K 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 H
3FFFH
8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000
255 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 H
1 4003
H
8 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6000
255 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 H
2 6003
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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 3
ñöôøng 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ùc
sô ñ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

1A Vcc
Reset INPUT OUTPUT
1B Cset clear A B Q Q
1Q\ L X X L H
2Q\
Clr
clr
1Q
GVHD 74221
Nguyeãn Vieät
2B Huøng
2Q
2A
Cset
Luaän vaên toát nghieäp
Trang 4
X H X L H
X X L L H
H L ↑
H ↓ H
↑ L H

Qua baûng traïng thaùi:


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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 5
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 )
Tính toaùn caùc giaù trò:
1. Transistor Q1 (C828 ):
V − VLED − VCESAT
I CSAT = CC
+ Choïn doøng RC qua LED laø 5 − 2 − 0.2
10mA → RC = = 280Ω
10.10 −3
+ Choïn RC = 220 Ω ⇒ I 5 − 2 − 0.2
CSAT = = 0.013mA = 13mA
220

+ Choïn β = 40 V − VBESAT (4.9 − 0,8).40


⇒ I CSAT < βx OH ⇔ RB < −
RB 13.10 3
⇒ RB < 12,6kΩ. Choïn RB = R5 = 10kΩ

2. Transistor Q2 (A564 ):
VCC − VLED − VECSAT
⇒ I CSAT =
RC
+ Choïn doøng qua led laø ⇒ RC = 5 − 2 − 0.2 = 280Ω
10mA 10.10− 3
5 − 2 − 0 .2
⇒ Choïn RC = 220 ⇒ I CSATtt = I LEDtt = = 0.013 A = 13mA 15mA
220

+ Choïn β = 40 , ñieàu kieän baûo hoøa: ⇒
βIB > ICSAT
V −V EBSATt −VOL
⇒ β × CC > I SATtt
RB

β (VCC − V EBSATt − VOL ) 40(5 − 0,8 − 0,1)


⇒ RB < = = 12,5 KΩ
I SATtt
GVHD Nguyeãn Vieät Huøng 13
Luaän vaên toát nghieäp
Trang 6

⇒Choïn RB = R7 = 10KΩ

3.Transistor Q4: (C828 )


+ Choìn β = 40
V − VLED − VCESAT
⇒ I CSAT = CC
+ Choïn doøng qua led laø 10mA
RC
5 − 2 − 0 .2
⇒ RC = = 280Ω ⇒ Choìn RC = 220Ω
10.10− 3

5 − 2 − 0.2
⇒ I CSATtt = = 13mA
220 × 10 − 3

Maø ñieàu kieän baõo hoøa laø: βIB > IcSAT

⇒β×
VOH − VBESAT
 I CSAT ⇒ RB 40 ×
( 4.9 − 0.8) = 12,61KΩ
RB 13

⇒ Choïn RB = R19 = 10kΩ

4. Transistor Q5 (C828):
+ Choìn β = 40
+ Choïn doøng IC =10mA
VCC − VCE 5 − 0.2
RC = = = 480Ω
IC 10.10− 3
⇒ Rc =1KΩ
+ β IB > IcSAT

VCC − VD 5 − VD 6 − VBESAT VCC − VCESAT


β× 
RB RC

RB β×
(VCC − VD 5 − VD 6 ) × RC
VCC − VCESAT
5. Transistor Q6 (C828 ):
= 40 ×
( 5 − 0.7 − 3 − 0,8) × 1
5 − 0.2
= 4.17 KΩ
Choïn RβB =
⇒ +Choïn < 404.17KΩ, laáy RB (R21) laØ bieán trôû 20KΩ ñeå ñieàu chænh
+Maø ñieàu
cho chính xaùc kieän baõo hoøa laø: βIB > IcSAT , choïn Rc = 1KΩ
VOH − VBESAT VCC − VCESAT
β× 
RB RC

RB < 40.
( 4.9 − 0.8) × 1 = 34,16 KΩ
( 5 − 0.2)
GVHD Nguyeãn Vieät Huøng
Luaän vaên toát nghieäp
Trang 7

⇒ Choïn RB = R24 = 10 kΩ

6.Transistor Q7 ( A 564 ):
+Choïn β = 40
+ Choïn doøng qua led laø 10mA

VCC − VLED − VECSAT 5 − 2 − 0 .2


RC = = = 280Ω
I LED 10.10 − 3

⇒ Choìn RC =330Ω
VCC − VLED − VECSAT 5 − 2 − 0 .2
I LEDtt = = = 8.5mA
RC 330.10− 3
+ Maø ñieàu kieän baõo hoøa laø: βIB > IcSAT

VCC − VOL − VEBSAT VCC − VLED − VECSAT


⇒β× >
RB RC

(VCC − VEBsat − VOL ) RC 40 × (5 − 0,8 − 0,1) × 330


RB < β = = 19,325KΩ
VCC − VLED − VECsat 5 − 2 − 0,2
⇒ 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
VCC − VBESAT VCC − VCESAT
β >
RB RC
+ Choïn RC = 1kΩ.

5 − 0.8 5 − 0.2
40 × 
RB 1
40 × 4.2
⇒ RB = 35 KΩ
4.8 × 1

Choìn RB = R27 = 15 KΩ

8.Transistor Q9 ( A 564 ):
+Choïn β = 40
+ Choïn doøng qua led laø 10mA

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 8

(VCC − VCESAT − VLED ) 5 − 0,2 − 2


RC = = = 280Ω
I LED 10 × 10 − 3

⇒ Choìn RC =220Ω
VCC − VLED − VECSAT 5 − 2 − 0.2
Vaäy doøng qua led thöïcI LEDtt = = = 13mA
teá laø: RC RC

+ Maø ñieàu kieän baõo hoøa laø: βIB > IcSAT

(VCC − VEBsat − VOL ) VCC − VLED − VECsat


β >
RB RC

(5 − 0,8 − 0,2) x 220


= 40 = 12,57 KΩ
5 − 2 − 0,2

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
1 1
f = = ( Hz )
T n.τ
τ = τ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
1 1
⇒ f = = ( Hz )
T n.τ N
toác baêng chuyeàn (m/s):

Ñaàu doø: Baét ñaàu Keát thuùc

TL
T

-Goïi T: chu kì queùt ñaàu doø (ms )


- Goïi T : Thôøi gian doø möùc thaáp
TL =
2 (ms )

GVHD Nguyeãn Vieät Huøng


10
10d.d L m v.T 10.d m
TdLMIN≤== v.T
vMAX (ms ) )⇒) d ≥ L (cm) ⇒ v ≤
((cm ( )
vT10
L s 10 TL s
Luaän vaên toát nghieäp
Trang 9
• 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:
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.1
P0.2
P0.3

8051 0 1 2 3

P0.4 4 5 6
P0.5 7
P0.6 8 9 A B
C D E F
P0.7

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 10
BAÛNG MAÕ PHÍM

Phím Maõ Maõ Phím Maõ Maõ Hex


queùt Hex queùt

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:

Ngoõ vaøo Choïn Led


Cho pheùp Caùc chaân löïa choïn
G1 G2 C B A
H L L L L Led 1
H L L L H Led 2
H L L H L Led 3
H L L H H Led 4
H L H L L Led 5
H L H L H Led 6
H L H H L Led 7
H L H H H Led 8

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 11
Tính toaùn ñieän trôû trong maïch hieån thò:

cc

R1
Ñieän
trôû Led
phaân

R2 :ñieän
trôû haïn
Ñeå cho moät thanh led ñuû saùng thì doøngdoø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ø:

I C 70
IB = = = 1,1mA
β 60

Ñieän trôû phaân cöïc R1 laø:


U R1 VCC − VBE 5 − 0,7
R1 = = = = 3,90( KΩ)
IB IB 1,1

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

5 − 0,7
I B= = 1,3mA
3,3
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
VR 2 2,8
Vaäy R2 = I = = 251Ω
CMAX 1,3.60.10− 3
7 7
Choïn R2 = 270 (Ω). Choïn R2 lôùn hôn tính toaùn ñeå transistor nhanh
baõo hoaø

5 − 2 − 0,2
I LEDtt = = 11,1mA
251 × 10 − 3

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.

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 12
ÔÛ ñ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ôû.
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ø:

VCC − VLED 5 − 2
R1 = = = 0,3kΩ
I LED 10

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

VCC − V LED 5−2


Vaäy doøng thöïc teá qua I LEDtt = = = 9,09mA
led laø: R1 330 × 10 −3

III. THIEÁT KEÁ VAØ TÍNH TOAÙN MAÏCH CAÛM BIEÁN


1. Khoái phaùt

Tính toaùn ñieän trôû vaø tuï treân


maïch dao ñoäng 555
VCC

8 4
RA 7 3
Ngoõ ra
6 2 1
5
RB

C1
C

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 13
- Daïng soùng:

Ñieän T
aùp ra

Vcc

0V
Ñieän aùp t
treân tuï tc
td

2/3Vcc

1/3 Vcc
t
tc =0,69(RA + RB).C
RA ,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]

1 1,45
fo = =
T ( RA + 2 RB ) C

RA 1 1
≈ ÷
Choïn RB 8 10
ñ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:
1,1 1,1
fo = = = 1,1Khz
R15C10 10.0,1
- Choïn R15 = 10K
C10 =0,1µF
2K ≤ R ≤ 20K
vì 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.

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 14
*ÔÛ khoái phaùt tia hoàng ngoaïi:
Choïn tuï C6 = 0,001µF

1 1,45
f = fo = =
T ( Ra + 2 Rb ).C
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:

1,45 1,45
RA + 2 RB = = 3 −3 −6
= 1,31.106 ( Ω ) = 1318 KΩ
fo.C 1,1.10 .10 .10
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).

Vcc − VECSAT − VLED 9 − 0,2 − 2


⇒ R11 = = = 0,136 KΩ = 136Ω
I CSAT 50

⇒ Choïn R11= 120Ω


⇒ Doøng thöïc teá qua LED khi R11=120Ω

Vcc − VECSAT − VLED 9 − 0,2 − 2 6,8


I Csat = = = = 56,67 mA
R11 0,12 0,12
ICsat ==56,67mA
-Ñeå cho Q1 daãn baûo hoøa:

Vcc − VEB SAT − Vout I Csat


IB = 
R10 β
βIB >ICsat
Maø VEbsat ≈0,8V
Vout taïi chaân 3 (ngoõ ra 555 )≈0,2V

9 − 0,8 − 0,2 56,67


IB =  = 0,28335( mA)
R10 200

8
R10 = 28,23KΩ
0,28335
→ Choïn R10 =10KΩ

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 15
* ÔÛ 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.
Choïn R14=100KΩ

R14
AV = = 100
R13
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,1Khz
Trong ñ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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 16

CHÖÔNG II. CHÖÔNG TRÌNH ÑIEÀU


KHIEÅN
A. THUAÄT GIAÛI
I. 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.

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 17

-Khôûi ñoäng thieát bò ngoaïi vi


-Khôûi ñoäng thanh ghi Timer, cho pheùp
ngaét

-Naïp giaù trò ñaàu #00H vaøo caùc oâ


nhôù

Ca: =

Ca: =Ca +

- 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

Goïi chöông trình con ñaàu doø (DAUDO)

Ñeám saûn phaåm

S
Ñuû
SP

Ro-le ñoùng hoäp, ñeám hoäp (RL – ÑH)

S
Ñuû
hoäp

- 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á

- Goïi chöông trình con doø phím (IN –


HEX)
S S
Phím E Ca = 9
Löu ñoà thuaät giaûi chöông
II. CAÙC CHÖÔNG TRÌNH CON:
trình chính
1. Chöông
- Goïitrình
chöôngcon khôûi
trình xemñoäng ngoaïi
soá lieäu löu vi:
8255 chæbaáthoaït
kì cañoäng
naøo 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

GVHD Nguyeãn Vieät Huøng


- Cho pheùp baêng truyeàn ngöng hoaït
ñoäng
- Goïi
Ñeám
Ro-lechöông
ñoùng
saûn phaåm
trình
hoäp,xem
con
ñeámñaàu
soá
hoäp
lieäu
doø löu
- Goïi chöông trình löu soá hoäp, soá
Luaän vaên toát nghieäp
Trang 18

Baét ñaàu

Khôûi ñoäng 8255 - 1

Naïp giaù trò ban ñaàu


cho role baêng truyeàn

Naïp giaù trò ban ñaàu


cho ngoõ döï phoøng

Khôûi ñoäng 8255 - 2

Naïp giaù trò ban ñaàu


xoùa 8 led 7 ñoaïn

Naïp giaù trò ban ñaàu


ñeå môû role ñoùng hoäp

Naïp giaù trò ban ñaàu


ñeå choïn led saùng

Ret

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 19
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:

B
aét

Cho
pheùp ngaét

R2 - 1

R2 = 0
S
Ñ

TOÁC ÑOÄ 1 → R2
Choïn led hieån thò
Xuaát döõ lieäu ra led
R1 - 1

R1 = # 69H S

R1 ← # 77H

Thoaùt 1
3. Chöông trình con nhaán soá Ret
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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 20
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.

Ba
ét ñaàu

Xoùa bit YES


Xoaù bit NO
Goïi chöông trình doø phím

Ñ
Ñaët bit YES
A = # 0AH
Xoùa A
S
Ñ
A = # 0BH Ñaët
S bit NO

Xoùa côø C
A - # 0AH

S C=1
Ñ

RET

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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 21
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öï 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ò.

Baét
ñaàu

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

RET
5. Chöông trình con kieåm tra phím aán: IN – HEX
Neá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.

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 22

Löu ñoà thuaät giaûi kieåm


tra phím aán
Baét
ñaàu

#50→ (R3)
#50→ (R3)

Goïi CT doø
maõ phím

C= 0
Ñ
Khoâng coù
phím aán S Coù phím aán
R3 - 1

R3= 0
S
Ñ
Caát ACC

#50→ (R3)

Goïi CT
doø maõ

Ñ
C=1

S
R3 - 1

S
R3= 0
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
Laáy ACC
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)
RET

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 23

Baét

#FE → A
# 4 → R6

A → R7
A → P1
Ñoïc port 1
A AND #0F0H

S
R7 → A
A = # Xoay A R6 =0
Ñ R6 - 1
Ñ
S
A → R7
#4 → A XO
XOÙA C
A –R6
A → R6
R7 → A

XOAY A

Xoay phaûi A
qua C

C
=0 S Ñ (3) (3)
R6 + 4 Ñaët côø c
R5 - 1 R6 → A
7. Chöông trình ñaàu doø:
8051 luoân luoân RET(Port B4) neân noäi
R5 =ñoïc döõ lieäu töø ñaàu doø
dung thanh ghi0 A baèng noäi
S 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 (3)
ñ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

GVHD Nguyeãn Vieät Huøng


Ñ
Luaän vaên toát nghieäp
Trang 24
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ÁN

A ← @DPTR

ACC. 0
Ñ
S
R3 - 1

R3 = 0
Ñ
Baté S
R3 ← #100

A ← DEMHOP
A ← @DPTR (ñoïc portHB1)
LED 70 ← NGAN
LED 71 ← TRAM
ACC.0 =
0 Ñ
S
← DEMHOP
A R3 -1 L
LED 72 ← CHUC
LED 73 ← DONVI
R3 = 0
8. Chöông trình Blank: xoùa Ñ soáS 0 khoâng coù nghóa
Chöông trình naøy coù yù RET
nghóa nhö sau: khi soá saûn phaåm hay
soá hoäp chæ tôùi haøng ñôn vò, chuïc, H
A ← DEM_SP traêm thì nhöõng soá 0 ñöùng
tröôùc noù khoâng coù nghóaLEDbò75loaïi boû (khoâng saùng ) vaø caùc oâ
← TRAM
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ápA← tuïc so saùnh
DEM_ SPL xem oâ nhôù haøng traêm
vôùi soá 0 neáu ñuùng laø LED
0 thì76
xoùa
← CHUChieån thò haøng traêm, töông
led
töï cho haøng chuïc, coøn oâ nhôù haøng ñôn vò giaù trò baèng bao
LED 77 ← DONVI
nhieâu thì led haøng ñôn vò cuõng hieån thò.

A ← LED 70
GVHD Nguyeãn Vieät Huøng

(1
Luaän vaên toát nghieäp
Trang 25

( 1)
A =0 S

Xoùa LED 70
A ← LED 71

A =0 S

Ñ
Xoùa LED 71
A ← LED 72

A=
Ñ
Xoùa LED 72

A ← LED 75

S
A=
Ñ
Xoùa LED 75
A ← LED 76

A
Ñ
Xoùa LED 76

RET

GVHD Nguyeãn Vieät Huøng


Chöông trình blank
Luaän vaên toát nghieäp
Trang 26

(1)
Baét
ñaàu

HIEÅN THÒ “nhaäp 0”


LÖU HOP L ← # 00H
LÖU HOP H ← # 00H
Goïi nhaán soá thöù
nhaát
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ánA = 9:
0 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á
BIT 7D = 1
ñaõ nhaäp thì nhaán A ngöôïc laïi laø B (xoùa soá ñaõ nhaäp)

A → ÑÔN VÒ
ÑÔN VÒ→ LÖU HOP L
Goïi nhaán soá thöù 2

RET BIT 7E = 1

GVHD Nguyeãn Vieät Huøng BIT 7D = 1 Ñ


Luaän vaên toát nghieäp
Trang 27

(2)

ÑÔN VÒ → CHUìC
A → ÑÔN VÒ
CHUìC + ÑÔN VÒ → LÖU HOP L
Goïi nhaán soá thöù 3

Ñ BIT 7E = 1

S BIT 7D = 1
Ñ (1)
S
(2)
CHUìC → TRAÊM
ÑÔN VÒ → CHUìC
A → ÑÔN VÒ
CHUìC + ÑÔN VÒ → LÖU HOP L
LÖU HOPH→ TRAÊM
Goïi nhaán soá thöù 4

BIT 7E = 1
S
Ñ
BIT 7D = 1
S Ñ (1)

TRAÊM → NGAØN
CHUìC → TRAÊM
ÑÔN VÒ → CHUìC
A → ÑÔN VÒ
CHUìC, ÑÔN VÒ → LÖU HOP L
NGAØN,TRAÊM → LÖU HOPH

Goïi chöông
S

A = # 0AH A = # 0BH
S
GVHD Nguyeãn Vieät Huøng RET

Löu ñoà chöông trình


Luaän vaên toát nghieäp
Trang 28

Baét
ñaàu

10. Chöông trình nhaäpHieån saûn phaåm:


thò “Nhaäp O
0”
Chöông trình cho pheùp nhaäp caùc soá töø 1 ñeán 999. Soá chæ
LÖU – SPL ← # 00H
ñöôïc nhaäp khi caùc bit 7D, 7E = 0 vaø khi bit 7D = 1 thì yeâu caàu
LÖU – SPH ← # 00H
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ø Goïi
7Cnhaán soá löu
(LÖUSPL: thöù nhaát
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)
Ñ
A=0

S

BIT 7D =
Ñ
1 S

ÑÔN VÒ ← A
LÖU – SPL ← ÑÔNVÒ
Goïi nhaán soá thöù 2

Ñ BIT 7E = 1

S
(3)
BIT 7D = 1
Ñ
S
CHUìC ← ÑÔN VÒ
ÑÔN VÒ ← A
LÖU – SPL ← CHUìC,ÑÔNVÒ
Goïi nhaán soá thöù 3
GVHD Nguyeãn Vieät Huøng

(2)
Luaän vaên toát nghieäp
Trang 29

(2)
BIT 7E = 1

Ñ S (1)
BIT 7D = 1

TRAÊM ← CHUìC
CHUìC ← ÑÔN VÒ
ÑÔN VÒ ← A
LÖU – SPL ← CHUìC,ÑÔNVÒ
LÖU – SPH ← TRAÊM

Goïi chöông trình doø phím


(3)
S
S
A = # 0CH A = # 0BH
Ñ
Ñ

RET

Chöông trình con nhaäp saûn


phaåm

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 30

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.

Baét ñaàu

TH0 ← # HIGHT COUNT0


TL0 ← # LOW COUNT0
TR0 = 1

Chaïy
timer
COUNT 0 (FFFF → 0000)
S
Ñ

Xoùa côø traøn


R4 - 1

S R4 = 0
Ñ

Ret

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 31

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

Soá saûn phaåm, hoäp


cuûa caùc ca ñöôïc löu
vaøo oâ nhôù töông

Ñöa soá lieäu cuûa caùc


ca trong oâ nhôù ra
hieån thò

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 32

A ← 2EH

30H ← LUUHOPL
31H ← LUUHOPH
A =#01H Ñ
LÖU: 32H ← LUU_SPL
33H ← LUU_SPH
S

34H ← LUUHOPL
A =#02H Ñ 35H ← LUUHOPH
36H ← LUU_SPL
37H ← LUU_SPH
S

38H ← LUUHOPL
39H ← LUUHOPH
A =#03H Ñ
3AH ← LUU_SPL
3BH ← LUU_SPH
S

3CH ← LUUHOPL
3DH ← LUUHOPH
A =#04H Ñ
3EH ← LUU_SPL
3FH ← LUU_SPH
S

40H ← LUUHOPL
41H ← LUUHOPH
A =#05H Ñ
42H ← LUU_SPL
43H ← LUU_SPH
S (2) (1)

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 33

(2)
44H ← LUUHOPL
45H ← LUUHOPH
A =#06H Ñ
46H ← LUU_SPL
47H ← LUU_SPH
S
Löu ñoà chöông trình cho pheùp xem
soá lieäu
48H ← LUUHOPL
Goïi chöông trình con doø
49H ← LUUHOPH
phím Ñ
A =#07H 4AH ← LUU_SPL
4BH ← LUU_SPH
LUUHOPL ←
S
#FFH
Ñ
XEM: A =#00H LUUHOPH ←
4CH ← LUUHOPL
#FFH
S 4DH ← LUUHOPH
LUU_SPL ← #FFH
Ñ 4EH ← LUU_SPL
A =#08H
4FH ← LUU_SPH
LUUHOPL ← 30H
S LUUHOPH ← 31H
A =#01H Ñ
LUU_SPL ← 32H
LUU_SPH ← 33H
S
50H ← LUUHOPL
51H ← LUUHOPH
Ñ LUUHOPL ← 34H
A =#09H 52H ← LUU_SPL
LUUHOPH ← 35H
A =#02H Ñ 53H ← LUU_SPH
LUU_SPL ← 36H
S LUU_SPH ← 37H
S

LUUHOPL ← 38H
RET LUUHOPH ← 39H
Ñ
A =#03H LUU_SPL ← 3AH
LUU_SPH ← 3BH
Löu
S ñoà chöông trình löu
soá lieäu

LUUHOPL ← 3CH
LUUHOPH ←
A =#04H Ñ
GVHD Nguyeãn Vieät Huøng 3DH
LUU_SPL ← 3EH
S (2) LUU_SPH ← 3FH (1)
Luaän vaên toát nghieäp
Trang 34

(2
) LUUHOPL ← 40H
LUUHOPH ← 41H
Ñ
A =#05H LUU_SPL ← 42H
LUU_SPH ← 43H
S

LUUHOPL ← 44H
A =#06H Ñ LUUHOPH ← 45H
LUU_SPL ← 46H
LUU_SPH ← 47H
S

LUUHOPL ← 48H
LUUHOPH ← 49H
A =#07H Ñ
LUU_SPL ← 4AH
LUU_SPH ← 4BH
S

LUUHOPL ← 4CH
LUUHOPH ←
Ñ
A =#08H 4DH
LUU_SPL ← 4EH
S LUU_SPH ← 4FH

LUUHOPL ← 50H
LUUHOPH ← 51H
A =#09H Ñ
LUU_SPL ← 52H
LUU_SPH ← 53H
S

GVHD Nguyeãn Vieät Huøng


RET Goïi chöông trình
blank (1)
Luaän vaên toát nghieäp
Trang 35

B. CHÖÔNG TRÌNH HEÄ THOÁNG

;CHUONG TRINH DEM SAN PHAM VA DONG HOP


;-----------------KHAI BAO CAC BIEN HANG---------------------
CWR4 EQU 4003H ;CWR4
ROLE_BC EQU 4000H ;PORTA4
CAMBIEN EQU 4001H ;PORTB4
NGO_DP1 EQU 4002H ;PORTC4
CWR6 EQU 6003H ;CWR6
HIENTHI EQU 6000H ;PORTA6
ROLE_DH EQU 6001H ;PORTB6
CHONLED EQU 6002H ;PORTC6
LED70 EQU 70H
LED71 EQU 71H
LED72 EQU 72H
30H ← LUUHOPL
3CH
34H
38H
40H
GVHD Nguyeãn Vieät Huøng 31H ← LUUHOPH
3DH
35H
39H
41H
A =#05H
=#01H
=#02H
=#03H
=#04H 32H ← LUU_SPL
3AH
36H
3EH
42H
S
S (2) Ñ
Ñ (1)
3FH ← LUU_SPH
3BH
37H
33H
43H
Luaän vaên toát nghieäp
Trang 36
LED73 EQU 73H
LED74 EQU 74H
LED75 EQU 75H
LED76 EQU 76H
LED77 EQU 77H
LUU_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 7CH
LUUHOPH EQU 7DH
DEMHOPL EQU 7EH
DEMHOPH EQU 7FH
COUNT0 EQU -10000
DELAY1 EQU 50
DELAY2 EQU 20
TOCDO1 EQU 9
COUNT1 EQU -250
BLK EQU 0FH
START EQU 0CH
NO BIT 7DH
YES BIT 7EH
LUU_CY BIT 7FH
;-------------------------CHUONG TRINH CHINH-----------------
ORG 00H
LJMP BAT_DAU0
ORG 1BH
LJMP NGAT_T1
ORG 30H
BAT_DAU0: MOV R1,#LED77
MOV R2,#TOCDO1
MOV TMOD,#21H
MOV TH1,#COUNT1
LCALL KD_NV
SETB TR1
SETB ET1
SETB EA
BAT_DAU1: MOV 2EH,#00H
MOV 30H,#00H
MOV 31H,#00H
MOV 32H,#00H
MOV 33H,#00H
MOV 34H,#00H
MOV 35H,#00H
MOV 36H,#00H
MOV 37H,#00H
MOV 38H,#00H
MOV 39H,#00H
MOV 3AH,#00H
MOV 3BH,#00H

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 37
MOV 3CH,#00H
MOV 3DH,#00H
MOV 3EH,#00H
MOV 3FH,#00H
MOV 40H,#00H
MOV 41H,#00H
MOV 42H,#00H
MOV 43H,#00H
MOV 44H,#00H
MOV 45H,#00H
MOV 46H,#00H
MOV 47H,#00H
MOV 48H,#00H
MOV 49H,#00H
MOV 4AH,#00H
MOV 4BH,#00H
MOV 4CH,#00H
MOV 4DH,#00H
MOV 4EH,#00H
MOV 4FH,#00H
MOV 50H,#00H
MOV 51H,#00H
MOV 52H,#00H
MOV 53H,#00H
MOV 54H,#00H
MOV 55H,#00H
MOV 56H,#00H
MOV 57H,#00H
BAT_DAU: MOV DEMHOPL,#00H
MOV DEMHOPH,#00H
MOV DEM_SPL,#00H
MOV DEM_SPH,#00H
INC 2EH
MOV 77H,2EH
MOV 76H,#BLK
MOV 75H,#BLK
MOV 74H,#BLK
MOV 73H,#BLK
MOV 72H,#BLK
MOV 71H,#0AH
MOV 70H,#10H
MOV R4,#250
LCALL DELAY
MOV LED70,#0DH ;'N'
MOV LED71,#0BH ;'H'
MOV LED72,#0AH ;'A'
MOV LED73,#0EH ;'P'
LCALL NHAPHOP
LCALL NHAP_SP
MOV DPTR,#ROLE_BC

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 38
MOV A,#0FFH ;Cho phep bang chuyen hoat dong
MOVX @DPTR,A
DEM: LCALL BLANK
LCALL DAUDO
MOV A,DEM_SPL
LCALL TANG_1
MOV DEM_SPL,A
JNC DU_SP?
MOV A,DEM_SPH
LCALL TANG_1
MOV DEM_SPH,A
DU_SP?: MOV A,DEM_SPH
CJNE A,LUU_SPH,DEM
MOV A,DEM_SPL
CJNE A,LUU_SPL,DEM
LCALL BLANK
MOV R4,#DELAY1
LCALL DELAY
MOV A,#00H
MOV DPTR,#ROLE_DH
MOVX @DPTR,A
MOV R4,#DELAY2
LCALL DELAY
MOV A,#0FFH
MOVX @DPTR,A
MOV DEM_SPL,#00H
MOV DEM_SPH,#00H
MOV A,DEMHOPL
LCALL TANG_1
MOV DEMHOPL,A
JNC DUHOP?
MOV A,DEMHOPH
LCALL TANG_1
MOV DEMHOPH,A
DUHOP?: MOV A,DEMHOPH
CJNE A,LUUHOPH,DEM
MOV A,DEMHOPL
CJNE A,LUUHOPL,DEM
LCALL BLANK
KETTHUC: MOV DPTR,#ROLE_BC
MOV A,#00H
MOVX @DPTR,A
MOV A,2EH
LCALL LUU
L14: LCALL IN_HEX
CJNE A,#0EH,L12
MOV 77H,#BLK
MOV 76H,#BLK
MOV 75H,#BLK
MOV 74H,#BLK

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 39
MOV 73H,#BLK
MOV 72H,#BLK
MOV 71H,#0AH
MOV 70H,#10H
L13: LCALL IN_HEX
PUSH ACC
CLR C
SUBB A,#0AH
POP ACC
JNC L13
MOV 77H,A
LCALL DELAY
LCALL XEM
MOV 74H,#0CH
MOV DEMHOPL,LUUHOPL
MOV DEMHOPH,LUUHOPH
MOV DEM_SPL,LUU_SPL
MOV DEM_SPH,LUU_SPH
LCALL BLANK
LCALL DELAY
LJMP L14
L12: MOV A,2EH
CJNE A,#09H,L15
LJMP BAT_DAU1
L15: LJMP BAT_DAU
;------------------KHAI BAO CHUONG TRINH CON-----------------
;CHUONG TRINH CON LUU SO HOP, SO SAN PHAM
LUU: NOP
L0: CJNE A,#01H,L1
MOV 30H,LUUHOPL
MOV 31H,LUUHOPH
MOV 32H,LUU_SPL
MOV 33H,LUU_SPH
LJMP L10
L1: CJNE A,#02H,L2
MOV 34H,LUUHOPL
MOV 35H,LUUHOPH
MOV 36H,LUU_SPL
MOV 37H,LUU_SPH
LJMP L10
L2: CJNE A,#03H,L3
MOV 38H,LUUHOPL
MOV 39H,LUUHOPH
MOV 3AH,LUU_SPL
MOV 3BH,LUU_SPH
LJMP L10
L3: CJNE A,#04H,L4
MOV 3CH,LUUHOPL
MOV 3DH,LUUHOPH
MOV 3EH,LUU_SPL

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 40
MOV 3FH,LUU_SPH
LJMP L10
L4: CJNE A,#05H,L5
MOV 40H,LUUHOPL
MOV 41H,LUUHOPH
MOV 42H,LUU_SPL
MOV 43H,LUU_SPH
LJMP L10
L5: CJNE A,#06H,L6
MOV 44H,LUUHOPL
MOV 45H,LUUHOPH
MOV 46H,LUU_SPL
MOV 47H,LUU_SPH
LJMP L10
L6: CJNE A,#07H,L7
MOV 48H,LUUHOPL
MOV 49H,LUUHOPH
MOV 4AH,LUU_SPL
MOV 4BH,LUU_SPH
LJMP L10
L7: CJNE A,#08H,L8
MOV 4CH,LUUHOPL
MOV 4DH,LUUHOPH
MOV 4EH,LUU_SPL
MOV 4FH,LUU_SPH
LJMP L10
L8: CJNE A,#09H,L10
MOV 50H,LUUHOPL
MOV 51H,LUUHOPH
MOV 52H,LUU_SPL
MOV 53H,LUU_SPH
L10: RET
;------------------------------------------------------------
;CHUONG TRINH CON XEM
XEM: NOP
CJNE A,#00H,H0
MOV LUUHOPL,#0FFH
MOV LUUHOPH,#0FFH
MOV LUU_SPL,#0FFH
MOV LUU_SPH,#0FFH
LJMP H9
H0: CJNE A,#01H,H1
MOV LUUHOPL,30H
MOV LUUHOPH,31H
MOV LUU_SPL,32H
MOV LUU_SPH,33H
LJMP H9
H1: CJNE A,#02H,H2
MOV LUUHOPL,34H
MOV LUUHOPH,35H

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 41
MOV LUU_SPL,36H
MOV LUU_SPH,37H
LJMP H9
H2: CJNE A,#03H,H3
MOV LUUHOPL,38H
MOV LUUHOPH,39H
MOV LUU_SPL,3AH
MOV LUU_SPH,3BH
LJMP H9
H3: CJNE A,#04H,H4
MOV LUUHOPL,3CH
MOV LUUHOPH,3DH
MOV LUU_SPL,3EH
MOV LUU_SPH,3FH
LJMP H9
H4: CJNE A,#05H,H5
MOV LUUHOPL,40H
MOV LUUHOPH,41H
MOV LUU_SPL,42H
MOV LUU_SPH,43H
LJMP H9
H5: CJNE A,#06H,H6
MOV LUUHOPL,44H
MOV LUUHOPH,45H
MOV LUU_SPL,46H
MOV LUU_SPH,47H
LJMP H9
H6: CJNE A,#07H,H7
MOV LUUHOPL,48H
MOV LUUHOPH,49H
MOV LUU_SPL,4AH
MOV LUU_SPH,4BH
LJMP H9
H7: CJNE A,#08H,H8
MOV LUUHOPL,4CH
MOV LUUHOPH,4DH
MOV LUU_SPL,4EH
MOV LUU_SPH,4FH
LJMP H9
H8: CJNE A,#09H,H9
MOV LUUHOPL,50H
MOV LUUHOPH,51H
MOV LUU_SPL,52H
MOV LUU_SPH,53H
LJMP H9
H9: RET
;------------------------------------------------------------
;CHUONG TRINH CON CHO HIEN THI
NGAT_T1: MOV LUU_CY,C
DJNZ R2,THOATT1

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 42
MOV R2,#TOCDO1
PUSH ACC
PUSH DPH
PUSH DPL
MOV DPTR,#CHONLED
MOV A,R1
SWAP A
MOVX @DPTR,A
MOV DPTR,#HIENTHI
MOV A,@R1
LCALL TRABANG
MOVX @DPTR,A
DEC R1
POP DPL
POP DPH
POP ACC
CJNE R1,#LED70-1,THOATT1
MOV R1,#LED77
THOATT1: MOV C,LUU_CY
RETI
;------------------------------------------------------------
;CHUONG TRINH CON KHOI DONG THIET BI NGOAI VI
KD_NV: MOV DPTR,#CWR4
MOV A,#82H ;PORTB4:INPUT
MOVX @DPTR,A
MOV DPTR,#ROLE_BC
MOV A,#00H ;Dung bang chuyen
MOVX @DPTR,A
MOV DPTR,#NGO_DP1
MOV A,#0FFH
MOVX @DPTR,A
MOV DPTR,#CWR6
MOV A,#80H
MOVX @DPTR,A
MOV A,#0FFH
MOV DPTR,#HIENTHI
MOVX @DPTR,A
MOV DPTR,#ROLE_DH
MOVX @DPTR,A
MOV DPTR,#CHONLED
MOVX @DPTR,A
RET
;------------------------------------------------------------

;------------------------------------------------------------
;CHUONG TRINH CON DELAY
DELAY: MOV TH0,#HIGH COUNT0
MOV TL0,#LOW COUNT0
SETB TR0
CHO: JNB TF0,CHO

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 43
CLR TF0
CLR TR0
DJNZ R4,DELAY
RET
;------------------------------------------------------------
;CHUONG TRINH CON NHAN SO
NHANSO: CLR YES
CLR NO
LCALL IN_HEX
CJNE A,#0AH,XOASO?
SETB YES
CLR A
LJMP THOAT0
XOASO?: CJNE A,#0BH,LOAITRU
SETB NO
LJMP THOAT0
LOAITRU: PUSH ACC
CLR C
SUBB A,#0AH
POP ACC
JNC NHANSO
THOAT0: RET
;------------------------------------------------------------
;CHUONG TRINH CON TANG 1
TANG_1: CLR AC
CLR C
ADD A,#1
DA A
RET
;------------------------------------------------------------
;CHUONG TRINH CON DAU DO
DAUDO: MOV DPTR,#CAMBIEN
DO1: MOV R3,#110
DO2: MOV R4,#200
DOMUC_L: MOVX A,@DPTR
JB ACC.0,DO1
DJNZ R4,DOMUC_L
DJNZ R3,DO2
DOTIEP1: MOV R3,#34
DOTIEP2: MOV R4,#200
DOMUC_H: MOVX A,@DPTR
JNB ACC.0,DOTIEP1
DJNZ R4,DOMUC_H
DJNZ R3,DOTIEP2
RET
;------------------------------------------------------------
CHUONG TRINH CON XOA SO 0 KHONG CO NGHIA
BLANK: MOV A,DEMHOPH
SWAP A
ANL A,#0FH

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 44
MOV LED70,A
MOV A,DEMHOPH
ANL A,#0FH
MOV LED71,A
MOV A,DEMHOPL
SWAP A
ANL A,#0FH
MOV LED72,A
MOV A,DEMHOPL
ANL A,#0FH
MOV LED73,A
MOV A,DEM_SPH
ANL A,#0FH
MOV LED75,A
MOV A,DEM_SPL
SWAP A
ANL A,#0FH
MOV LED76,A
MOV A,DEM_SPL
ANL A,#0FH
MOV LED77,A
MOV A,LED70
JNZ THOAT3
MOV LED70,#BLK
MOV A,LED71
JNZ THOAT3
MOV LED71,#BLK
MOV A,LED72
JNZ THOAT3
MOV LED72,#BLK
THOAT3: MOV A,LED75
JNZ THOAT4
MOV LED75,#BLK
MOV A,LED76
JNZ THOAT4
MOV LED76,#BLK
THOAT4: RET
;------------------------------------------------------------
;CHUONG TRINH CON NHAP HOP
NHAPHOP: MOV LED74,#BLK
MOV LED75,#BLK
MOV LED76,#BLK
MOV LED77,#00H
MOV LUUHOPL,#00H
MOV LUUHOPH,#00H
SOHOP1: LCALL NHANSO
JZ SOHOP1
JBC NO,NHAPHOP
MOV LED77,A
MOV LUUHOPL,A

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 45
SOHOP2: LCALL NHANSO
JBC YES,THOAT1
JBC NO,NHAPHOP
MOV LED76,LED77
MOV LED77,A
MOV A,LED76
SWAP A
ORL A,LED77
MOV LUUHOPL,A
SOHOP3: LCALL NHANSO
JBC YES,THOAT1
JBC NO,NHAPHOP
MOV LED75,LED76
MOV LED76,LED77
MOV LED77,A
MOV A,LED76
SWAP A
ORL A,LED77
MOV LUUHOPL,A
MOV LUUHOPH,LED75
SOHOP4: LCALL NHANSO
JBC YES,THOAT1
JBC NO,NHAPHOP
MOV LED74,LED75
MOV LED75,LED76
MOV LED76,LED77
MOV LED77,A
MOV A,LED76
SWAP A
ORL A,LED77
MOV LUUHOPL,A
MOV A,LED74
SWAP A
ORL A,LED75
MOV LUUHOPH,A
KT_NHAPHOP: LCALL IN_HEX
CJNE A,#0AH,XOANHAPHOP?
LJMP THOAT1
XOANHAPHOP?: CJNE A,#0BH,KT_NHAPHOP
LJMP NHAPHOP
THOAT1: RET
;------------------------------------------------------------
;CHUONG TRINH CON NHAP SAN PHAM
NHAP_SP: MOV LED74,#0CH
MOV LED75,#BLK
MOV LED76,#BLK
MOV LED77,#00H
MOV LUU_SPL,#00H
MOV LUU_SPH,#00H
SO_SP1: LCALL NHANSO

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 46
JZ SO_SP1
JBC NO,NHAP_SP
MOV LED77,A
MOV LUU_SPL,A
SO_SP2: LCALL NHANSO
JBC YES,KT_NHAP_SP
JBC NO,NHAP_SP
MOV LED76,LED77
MOV LED77,A
MOV A,LED76
SWAP A
ORL A,LED77
MOV LUU_SPL,A
SO_SP3: LCALL NHANSO
JBC YES,KT_NHAP_SP
JBC NO,NHAP_SP
MOV LED75,LED76
MOV LED76,LED77
MOV LED77,A
MOV A,LED76
SWAP A
ORL A,LED77
MOV LUU_SPL,A
MOV LUU_SPH,LED75
KT_NHAP_SP: LCALL IN_HEX
CJNE A,#START,XOA_NHAP_SP?
LJMP THOAT2
XOA_NHAP_SP?: CJNE A,#0BH,KT_NHAP_SP
LJMP NHAP_SP
THOAT2: RET
;------------------------------------------------------------
;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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 47
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 BANG
TRABANG: ADD A,#11
MOVC A,@A+PC
RET
DB '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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 48
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

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 49
LÔØI CAÛM ÔN

Trong quaù trình boán naêm röôõi hoïc taïi tröôøng Ñaïi hoïc Sö
phaïm kyõ thuaät TP.HCM. Chuùng em ñaõ ñöôïc söï höôùng daãn taän
tình cuûa quí thaày coâ veà nhöõng kieán thöùc chuyeân moân cuõng
nhö kieán thöùc trong cuoäc soáng. Töø nhöõng kieán thöùc neàn taûng
ñoù ñaõ giuùp chuùng em hoaøn thaønh taäp luaän vaên toát nghieäp
trong thôøi gian cho pheùp.
Chuùng em xin chaân thaønh caûm ôn thaày coâ trong khoa ñieän ñaõ
giaûng daïy cho chuùng em nhöõng kieán thöùc veà chuyeân moân vaø
ñònh höôùng ñi theo söï hieåu bieát, khaû naêng cuûa chuùng em ñeå
chuùng em thöïc hieän toát luaän vaên toát nghieäp vaø taïo ñieàu
kieän thuaän lôïi cho chuùng em hoaøn taát khoùa hoïc.
Chuùng em xin chaân thaønh caûm ôn thaày NGUYEÃN VIEÄT HUØNG
vaø coâ TRAÀN THANH MAI ñaõ taän tình giuùp ñôõ chuùng em hoaøn
thaønh taäp luaän aùn naøy.
Chuùng em xin chaân thaønh caûm ôn anh BUØI ÑÖÙC MINH, NGUYEÃN
KIM HUY, cuøng caùc baïn sinh vieân ñaõ taän tình giuùp ñôõ chuùng
em hoaøn thaønh toát maïch.
Sinh vieân thöïc hieän
ÑINH THÒ KHA
LEÂ HOAØNG MINH

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 50

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)

GVHD Nguyeãn Vieät Huøng


Luaän vaên toát nghieäp
Trang 51
Chöông trình con kieåm tra phím aán

IN _HEX

#50→ (R3)
#50→ (R3)

Call: getkey
Khoâng coù phím
aán
C= 0
Ñ
S Coù phím
R3 - 1 aán

R3= 0

Caát ACC

#50→ (R3)

Call: getkey

Ñ
C=1

R3 - 1

S
S
R3= 0

Ñ
Laáy ACC

RET

GVHD Nguyeãn Vieät Huøng

You might also like