You are on page 1of 44

Thit k h vi x l 8 bt Bi c

Thng-TH1-K47

tI THIT K H VI X L 8 BIT
YU CU
Phn cng :
1. B vi x l 8 bit (8085, 89C51 .)
2. B nh chng trnh ROM : 8KB t a ch
0000H
3. B nh d liu RAM 8kB c a ch tu chn.
4. Cng vo tng t 8 knh nhn tn hiu nhit
t 0 10V
tng ng vi nhit t 0 200 C.
5. Nhp d liu vo t bn phm 16 phm
6. Khi hin th d liu dng mn hnh tinh th
lng LCD.
Phn mm :
1. Tn hiu cho php chy v dng chng
trnh.Tn hiu dng khn cp.
2. c tn hiu t 8 knh o l tr trong vng nh
RAM .
3. Sau mi ln c tnh gi tr trung bnh ca
nhit v gi kt qu ra cng hin th bng
LCD
4. Chng trinh dng li bo ng bng ci nu xy
ra mt s iu kin sau:
- Gi tr trung bnh < hoc > gi tr min hoc
max tng ng cho trc.Cc gi tr max & min
ny c t trong 2 nh RAM.
- C 4 knh o vt qu hoc nh hn gi tr gii
hn cho php so vi gi tr trung bnh.

Bi tp di: Thit k h Vi x l 8 bt 1
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

phn I
Thit k mch phn cng
Chng I
nh hng thit k
Thit k mt h vi x l bao gm c vic thit k t
chc phn cng v vit phn mm cho nn phn cng m ta
thit k. Vic xem xt gia t chc phn cng v chng
trnh phn mm cho mt thit k l mt vn cn phi
cn nhc. V khi t chc phn cng cng phc tp, cng c
nhiu chc nng h tr cho yu cu thit k th phn mm
cng c gim bt v d dng thc hin nhng li y cao gi
thnh chi ph cho phn cng, cng nh chi ph bo tr. Ngc
li vi mt phn cng ti thiu li yu cu mt chng trnh
phn mm phc tp hn, hon thin hn; nhng li cho php
bo tr h thng d dng hn cng nh vic pht trin tnh
nng ca h thng t c th a ra gi cnh tranh c.
T yu cu v nhn nh trn ta c nhng nh hng s
b cho thit k nh sau:
1. Chn b vi x l:
T yu cu dng VXL 8 bit ta d kin dng cc chip vi iu
khin thuc h MCS-51 ca Intel, m c th y l dng
chip 89C51 v nhng l do sau:
+ AT89C51 thuc h MCS-51, l chip vi iu khin 8 bt
n chp CMOS c hiu sut cao, cng sut ngun tiu th
thp v c 4 Kb b nh ROM Flash xo c lp trnh c.
Chp ny c sn xut da theo cng ngh b nh khng mt
ni dung c tch hp cao ca Atmael
+ AT89C51 c cc c trng chun sau: 4Kb Flash, 128
byte RAM, 32 ng xut nhp, b nh thi / m 16 bit,
mt cu trc ngn hai mc u tin v 5 nguyn nhn ngt,

Bi tp di: Thit k h Vi x l 8 bt 2
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
mt port ni tip song song cng, mch dao ng v mch
dao ng v mch to xung trn chp.
V nhng l do trn m vic la chn vi iu khin
89C51 l mt gii php hon ton ph hp cho thit k.
2. T chc ngoi vi:
+ X l tn hiu vo ta dng thit b chuyn i tng
t/ s (ADC) c 8 knh vo tng t kt ni vi 8 tn hiu o
nhit t 0 10V tng ng vi nhit t 0o 200oC.
+ X l vic hin th kt qu nhit trung bnh ta
dng 3 LED 7 thanh hin th tng ng vi cc nhit
trong di 0 2000C.
+ Tn hiu cho php chy c x l bng cch dng mt
nt n Reset h thng.
+ Tn hiu bo ng c x l bng mt ci bo ng
kt ni vi mt cng bt k phc v cho vo/ra.
+ Nu c yu cu dng cc phm nh cc mode hot
ng, cng nh t li gi tr MAX v MIN th bn phm
cng phi c kt ni vi cc cng giao tip vo/ra ( y
yu cu dng 8255).
Tt c cc thit b phi c kt ni vi nhau thng qua
cc bus cn thit gm bus d liu, bus a ch v bus iu
khin.
S khi cho thit k phn cng ca h thng nh sau:

Address Bus

Khi
VXL
Mch vo t
89C51 ROM RAM
ng t
giao
8 knh
tip Khi
8255 hin
th

Data Bus

Control Bus

Bi tp di: Thit k h Vi x l 8 bt 3
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

Chng II
Ni dung thit k
I. t chc phn cng h VXL89C51.
1. H vi x l AT89C51:
1.1 S chn h vi x l AT89C51:

Port 0
Port 0 l port xut nhp 8 bit hai chiu cc D h.
Port 0 cn c cu hnh lm bus a ch ( byte thp )
v bus d liu a hp trong khi truy xut b nh d liu
ngoi vc b nh ch[ng trnh ngoi.

Bi tp di: Thit k h Vi x l 8 bt 4
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
Port 0 cng nhn cc byte m trong khi lp trnh cho
Flash v cc byte m trong khi kim tra chng trnh.
Port 1
Port 1 l port xut nhp 8 bt.
Port 1 cng l byte a ch thp trong thi gian lp
trnh cho Flash v kim tra chng trnh.
Port 2
Port 2 l port xut nhp 8 bit hai chiu.
Port 2 to ra byte cao ca a ch trong thi gian tm
np lnh t b nh chng trnh ngoi v trong thi gian truy
xut b nh d liu ngoi s dng a ch 16 bit
Port 2 cng nhn cc a ch cao v tn hiu iu
khin trong thi gian lp trnh cho Flash v kim tra chng
trnh.
Port 3
Port 3 l port xut nhp 8 bit hai chiu.
Port 3 cng cn c dng lm chc nng khc ca
AT89C51 cc chc nng c lit k nh sau:

Chn ca port Chc nng


P3.0 RxD ( ng vo ca port ni tip )
P3.1 TxD ( ng ra ca port ni tip )
P3.2 INT 0 ( ng v ngt ngoi 0 )
P3.3 INT1 ( ng vo ngn ngoi 1 )
P3.4 TO ( ng vo bn ngoi ca b nh thi 0
)
P3.5 T1 ( ng vo bn ngoi ca b nh thi
1)
P3.6 RW ( iu khin b nh d liu ngoi )
P3.7 RD ( iu khin c b nh d liu ngoi
)
Port 3 cng nhn mt vi tn hiu iu khin cho vic
lp trnh Flash v iu khin chng trnh.
RST
Ng vo reset.

Bi tp di: Thit k h Vi x l 8 bt 5
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
ALE/ PROG xung ca ng ra cho php cht a ch ALE
cho php cht byte thp ca a ch trong thi gian truy
xut b nh ngoi. Chn ny cng c dng lm ng vo xung
lp trnh ( PROG ) trong thi gian lp trnh Flash.
PSEN

Chn cho php b nh chng trnh ngoi , iu khin


truy xut b nh chng trnh ngoi.
EA / V pp

Chn cho php truy nhp b nh ngoi EA , phi c ni


vi GND cho php chp vi iu khin tm np lnh t
cc v tr nh ca b nh chng trnh ngoi
Chn EA ni vi VCC thc hin chng trnh bn
trong chp.
cn nhn in p cho php lp trnh V PP trong
EA / V pp

thi gian lp trnh cho Flash , in p ny cp cho b phn


c yu cu in p 12V
XTAL1
Ng vo n mch khuych i do ca mch dao
ng v ng n mch xung clock bn trong chp.
XTAL2
Ng ra t mch khuych i o ca mch dao ng.
1.2 T chc b nh:
1.2.1 Cu trc chung ca b nh:
Tt c cc vi iu khin thuc h MCS-51 u phn
chia b nh thnh hai vng a ch cho b nh d liu v b
nh chng trnh. S phn chia logic gia b nh d liu v
b nh chng trnh cho php truy nhp b nh d liu bng
8 bit a ch gip cho vic lu tr v thao tc d liu nhanh
hn.Tuy nhin, chng ta c th s dng a ch b nh d
liu 16 bit thng qua thanh ghi DPTR.
B nh chng trnh l loi b nh ch cho php c,
khng cho php ghi. Mt s vi iu khin c tch hp sn
b nh chng trnh bn trong vi dung lng khong 4kbyte hay
8 kbyte, s cn li phi s dng b chng trnh m rng m
qu trnh truy nhp c thc hin thng qua s iu khin
bng tn hiu PSEN (Progam Strobe Enable).

Bi tp di: Thit k h Vi x l 8 bt 6
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
Tuy nhin, vi iu khin 8051 cho php ta s dng n
64kbyte b nh chng trnh bng cch s dng c b nh ch-
ng trnh bn trong v bn ngoi.
B nh s liu chim gi vng a ch phn chia ca
b nh chng trnh. Dung lng ca b nh d liu c th m
rng ln ti 64 kbyte. Trong qu trnh truy nhp b nh s liu,
CPU pht ra cc tn hiu c v tn hiu vit s liu thng
qua cc chn RD v WR.
B
B nh Chng nh
trnh S
FFFFH B Bliu
nh m nh
FFH m

rng rn
g
|EA=0 |EA=1
B B
nh nh
ngoi trong
00H
0000H

|PSEN |WR |
RD
Hnh 2.3: Cu trc b nh ca h
MCS-51.
Chng ta c th kt hp b nh chng trnh m rng vi
b nh s liu m rng bng cch cho hai tn hiu RD v
PSEN qua mt cng logic AND, li ra ca cng AND ny s to
tn hiu c cho b nh m rng.
1.2.2 B nh chng trnh:
Sau khi Reset, CPU bt u thc hin chng trnh t
a ch 0000H. Vng u ca b nh chng trnh l vng
cha cc vector ngt, mi ngt c phn chia mt vng a
ch c nh trong trong b nh chng trnh. Khi xut hin
ngt, CPU s nhy ti a ch ny, y cng l a ch
u ca chng trnh con phc v ngt. Cc vector ngt
cch nhau 8 byte, v vy nu chng trnh con phc v ngt
qu di (>8 byte) th ti vector ngt ta phi t mt lnh
nhy khng iu kin ti vng a ch khc cha chng
trnh con phc v ngt.
1.2.3 B nh s liu:

Bi tp di: Thit k h Vi x l 8 bt 7
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
Pha bn phi ca Hnh 2.3 biu din khng gian b
nh d liu ca MCS-51. Chng ta c th s dng ti 64 Kbyte
b nh s liu ngoi vi. rng bus a ch ca b nh s
liu ngoi c th l 8 bit hoc 16 bit. Bus a ch rng 8 bit
thng c s dng lin kt vi mt hoc nhiu ng vo
ra khc nh a ch cho RAM theo trang. Trong trng
hp bus a ch rng 16 bit, cng P2 s pht ra 8 bit a
ch cao cn cng P1 s pht ra 8 bit a ch thp. Bng
cch ny, ta c th truy nhp trc tip ln b nh d liu
ngoi vi ln ti a l 64 Kbyte.
B nh s liu trong c chia ra lm 3 vng:
+128 byte cao.
+128 byte thp.
+Vng dnh cho cc thanh ghi chc nng c bit
(SFR).
a ch ca b nh s liu trong lun l 8 bit, v c th
qun l c 256 byte b nh.
2. T chc b nh (Memory Map):
T cu trc ca vi iu khin 89C51 gii thiu chng I
v yu cu thit k ta tin hnh phn b cc vng nh nh
sau:
B nh chng trnh 8K ROM chia lm hai vng:
ROM trong (On-chip) c a ch vt l: 0000H
0FFFH.
B nh d liu c m rng thm 8K RAM ngoi, vi
a ch vt l: 2000H 3FFFH.
Mch ghp ni vo/ ra s dng IC8255 vi a ch ca
tng cu hnh nh sau:
a ch cng PA: 4000H
a ch cng PB: 4001H
a ch cng PC: 4002H
a ch ca t iu khin PSW: 4003H
a ch ca ADC08098 knh vo tng t: 6000H
6007H.
3. Khi hin th :
Khi hin th gm 8 LED 7 on c t chc theo kiu
sng lun phin 2.5 ms mt ln. LED sng c chn bi

Bi tp di: Thit k h Vi x l 8 bt 8
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
89C51 qua ng iu khin t cng P0.0 -> P0.3. D liu
c hin th di dng m 7 thanh cng c 89C51 gi ti LED
qua ng data. ph hp gia s liu a ra cng ca 8255
( dng BCD) vi s liu hin th ra LED 7 on, ta s dng
mch phn cng. V vy trong khi hin th ta s dng vi
mch SN7447 gii m s BCD ra m 7 thanh v iu
khin b n hin th.
4. Khi cc thit b giao tip/ghp ni.
Cng vo ra tng t/s dng ADC0809. S liu vo tng
t t 8 cm bin nhit s c kt ni vo 8 cng vo ca
ADC, ADC c iu khin bi VXL89C51 thc hin vic
chuyn i s liu sang dng s v lu tr vo mt vng no
trong RAM trong.
Cng vo/ ra s dng vi mch PPI 8255 c kh nng lp
trnh thc hin qu trnh phi hp trao i d liu; c th
y l s liu vo gia ADC vi VXL v s liu t VXL ra
LED.
Gii thiu linh kin v t chc phi ghp.
1. Thit k b nh:
Xem xt cu trc ca 89C51 v yu cu cn 8K cho nh
chng trnh ta thit k thm vng nh chng trnh dng
thm 8Kb ROM t ngoi. i vi yu cu cho nh d liu,
v 89C51 c 128 bytes RAM trong v yu cu cn thit k
b nh d liu l 4Kb nn d dng cho thit k ta s
dng thm 8Kb RAM ngoi m rng b nh d liu cho h
thng.
B nh ROM ngoi
Thc ra th ta c th dng b nh ROM ngoi l cc chp
nh EPROM c dung lng 4K hoc 8K c bn trn th trng
m rng b nh.Tuy nhin, cho n gin ta la chn gii
php l dng b nh ROM 8k trn chp vi iu khin
89S51.Nh vy s n gin hn rt nhiu cho thit k m
vn ph hp vi ni dung phm vi cho php ca chng trnh.
B nh RAM ngoi
i vi RAM ngoi ta s dng loi SRAM vi mch dng trong
thit k l 6264. Cng c 13 ng a ch 8 ng d liu.
N c a ch 20003FFF, a ch ny c chn ra trong
vng a ch ca vi iu khin bi chn /CS2 ca gii m
a ch. Ngoi ra cn c ng chn v khc l /CS2 c ni

Bi tp di: Thit k h Vi x l 8 bt 9
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
tch cc v c hai ngtn hiu yu cu c vit l /OE,
/WE .
S chn ca RAM 6264:

2. Vi mch ADC0809:
B ADC 0809 l mt thit b CMOS tch hp vi mt
b chuyn i tng sang s 8 bit, b chn knh v mt b
logic iu khin tng thch. B chuyn i tng t s ny
s dng phng php chuyn i xp x. B chn knh c
th chn ra knh cn chuyn i bng 3 chn chn a
ch. Thit b ny loi tr kh nng cn thit iu chnh
im zero bn ngoi v kh nng iu chnh t s lm cho
ADC dng giao tip vi cc b vi x l.
Cc c im c bn ca ADC 0809
- Ngun nui n 5 V, hiu sut cao.
- Di tn hiu li vo tng t 5V khi ngun nui l
+5V. C th m rng thang o bng cc gii php k thut
cho tng mch c th.
- D dng giao tip vi vi x l v u ra c b m
3 trng thi nn c th ghp trc tip vo knh d liu ca
h VXL.
- Tng sai s cha chnh 1/2LSB.
- Thi gian chuyn i 100 s .
- Tn s xung clock 10kHz 1028 kHz.
- m bo sai s tuyn tnh trong di nhit t
40 C 85OC.
0

a. Bng chn l v s chn ca vi mch


ADC0809.

A B C X
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3

Bi tp di: Thit k h Vi x l 8 bt 10
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
X X X (?)
* ngha cc chn:
- IN0 IN7 : 8 u vo tng t.
- A,B,C : cc tn hiu chn knh.
- Cc chn 2.1-2.7: l cc u ra s.
- ALE cho php cht s liu u vo.
- Start: xung cho php bt u chuyn i.
- Clk:u vo xung clock
- Ref(+): in p vo chun +5v
- Ref(-): in p vo chun 0
- Vcc: ngun cung cp
b. Cu trc bn trong ca ADC 0809

Cu trc bn trong ca ADC0809 c th hin hnh v di:


Hot ng chuyn i:
Cc bit a ch li vo A,B,C t b gii m a ch s
cht v xc nh knh u vo no c chn. Khi mt knh
c chn ng thi yu cu START, ALE c tch cc, yu cu
rng xung START khng nh hn 200ns. Gi tr in p
cn c chuyn i s c cht li cng vo tng ng

Bi tp di: Thit k h Vi x l 8 bt 11
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
xung Start bt u chuyn i. Sau xung START khong
10s u ra EOC (end of convert) lc ny xung thp thc s
bt u qu trnh chuyn i. Trong sut qu trnh
chuyn i EOC lun mc tch cc thp, ng thi u
ra 3 trng thi ca ADC0809 b th ni. Sau khong 100 s,
ADC0809 thc hin vic chuyn i xong, d liu u vo
c a n b m u ra ba trng thi ng thi chn
tn hiu EOC chuyn ln mc cao bo cho VXL bit c
kt qu vo.
c. Ghp ADC0809 vi VXL8051.
+ Cc knh vo Analog c ni vo cc u vo tng ng
ca ADC. Mi knh c a ch ring do t hp 3 bit a
ch A,B,C quy nh. Cc u vo a ch ny kt ni vi
ng a ch A0A1A2 ca Bus a ch ca h thng. Cc -
ng a ch cao ca h thng c dng to tn hiu
chn chip (/CS) cho ADC0809.
+ Tn hiu /CS c a ti u vo ca mch OR khi
ng ADC (Start) khi c tn hiu /WR ng thi cht a
ch (ALE) ca knh hin hnh c gi tr l gi tr 3 bit A,B,C.
Tn hiu /CS cng c a ti u vo ca mch OR th hai
to tn hiu OE cng vi /RD nhm cht d liu bin
i xong u ra.
+ V khi bin i xong, ACD0809 dng tn hiu ra chn
EOC bo cho VXL bit m nh phn tng ng vi mc cao
ca tn hiu u vo c to ra. V vy ta kt ni EOC vi
u vo ngt ngoi /INT1 ca 8051.
- + 8 bit d liu thng c ghp trc tip vi Bus d
liu h thng v bn thn b m ra l 3 trng thi, cng
c th ghp qua 8255.

Bi tp di: Thit k h Vi x l 8 bt 12
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

3.Vi mch giao tip song song PPI 8255:


Vi mch 8255 l mt vi mch c s dng ph bin
giao tip trong cc h VXL 8 16 bit. S dng 8255A lm cho
vic thit k ghp ni b VXL vi cc thit b ngoi vi
n gin i nhiu, mm do ca thit k s tng ln v
linh kin ph tr i km cng gim i nhiu. Do c kh nng
lp trnh c nn n c th va dng nh cng nhn s liu
cng nh xut s liu tu ni dung ca t iu khin m ngi
lp trnh a vo.

Bi tp di: Thit k h Vi x l 8 bt 13
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
a. S chn v s chc nng ca 8255A.
S chc nng v s chn ca 8255A c th
hin di hnh v sau:

PA 1 40 PA
PA PA
PA3 PA
4

PA2 PA
5
PA0 PA7
RD1 WR
6 D0 D7
CS0\ RESE
7
\
GN\ D
T0
8255
AD1 D1 A
A D2
PC0 8255 D3 RD\ PB0 PB7
PC A D4 WR\
PC7 D5
PC6 D6 RESE
PC5 D7 T
PC4 Vc A0
PC0 cPB
PC1 PB A1 PC0 PC7
PB2 PB7 CS\
PB3 PB6
PB0 20 21 PB5
1 4
2 3

Trong :
Chn 1 4, 37 40 (PA0 PA7): l cc ng xut nhp
c tn l cng A.
Chn 18 25 (PB0 PB7): l cc ng nhp xut c
tn cng B.
Chn 10 13, 14 17 (PB0 PB7): l cc ng nhp
xut c tn cng C.
Chn 27 34 (D0 D7): l cc ng d liu (data)
hot ng hai chiu, dn tn hiu iu khin t vi x l ra
cc thit b bn ngoi ng thi nhn cc d liu t cc thit

Bi tp di: Thit k h Vi x l 8 bt 14
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
b iu khin bn ngoi vo vi x l.
Chn 35 (Reset input): ng vo xa, chn reset phi
c ni vi tn hiu reset out ca vi x l khng lm nh
hng n mch iu khin. Khi reset, cc cng ca 8255A l
cc ng vo, ng thi tt c cc d liu trn thanh ghi bn
trong 8255A u b xa, 8255A tr v trng thi ban u
sn sng lm vic.
Chn 6 (CS\): tn hiu ng vo chip select (CS\) c
iu khin bi vi x l, dng la chn 8255A lm vic khi
vi x l giao tip vi nhiu thit b.
Chn 5 (RD\): ng vo c d liu (Read Input).
Chn 36 (WR\) : ng vo ghi d liu (Write Input).
Chn 8,9 (A1, A0): ng vo a ch (Address Input),
dng nhn a ch vo la chn thanh ghi v cc cng.

Bi tp di: Thit k h Vi x l 8 bt 15
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
Bng a ch la chn thanh ghi v cc cng:
A1 A0
Cng v thanh
ghi
0 0 Cng A
0 1 Cng B
1 0 Cng C
1 1 Thanh ghi iu
khin
Chn 26 (Vcc) : ngun 5 VDC.
Chn 7 (GND) : GND 0 VDC.
b. Cu trc bn trong v hot ng ca 8255A.

PA7 PA0
Port A
iu
khin
nhm A PC7 PC4
Port C
(4 bit
m cao)
D7
bus
D0 Nhm A
d
liu Port C
PC3 PC0
(4 bit
iu thp)
khin
nhm B PB7 PC0
RD\ Logic
WR\ iu Port B
CS\ khin
A0 ghi/ Nhm B
A1 c

S khi cu trc bn trong ca vi mch


8255A.

Hot ng ca vi mch 8255A:


T s khi cu trc bn trong ca vi mch 8255A ta
thy cc cng ca 8255A c chia thnh 2 nhm:
Nhm A gm cng A v 4 bit cao ca cng C.

Bi tp di: Thit k h Vi x l 8 bt 16
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
Nhm B gm cng B v 4 bit thp ca cng C.
Cu hnh lm vic ca 2 nhm s do ni dung ca thanh
ghi iu khin quyt nh.
Vi mch 8255 giao tip vi vi x l thng qua cc ng
sau :
- ng d liu: gm 8 ng d liu (D0 - D7). M lnh,
cc d liu u c truyn i trn ng ny.
- ng a ch: gm 2 ng (A0 A1) dng la
chn cng hoc thanh ghi iu khin nh trnh by
trn.
- ng iu khin: gm cc ng RD\, WR\, CS\,
Reset dng iu khin vic hot ng ca 8255A.
s dng cc cng lm cng c giao tip, ngi s
dng phi gi t iu khin ra thanh ghi iu khin
8255A nh cu hnh lm vic cho cc cng ng nh yu
cu ca ngi lp trnh.
c. T iu khin:
T iu khin l d liu c gi ti thanh ghi iu khin
(CWR) ca 8255. Gi tr ca t iu khin s xc nh cu
hnh lm vic cho cc cng ca 8255A, l vic la chn
chc nng nhp hay xut ca cc cng.
Trong t iu khin c mt bit phn bit hai chc
nng iu khin khc nhau l:
+ nh ngha ch cc ca (bit D 7 ca t iu kin l
1).
+ Lp/xo cc bit ca Port C (bit D 7ca t iu khin l
0).
nh ngha ch cc cng
Khi D7 =1, 8255A s s dng thng tin trong CWR
nh ngha ch cc ca. Ni dung ca CWR xc nh
chc nng ca 24 ng ghp ni vi thit b ngoi vi. Phn
mm ca h thng s nh ngha ch ca PA, PB mt
cch c lp; cn PC c th c nh ngha c lp hay
chia lm hai ph thuc vo ch ca PA v PB.

Bi tp di: Thit k h Vi x l 8 bt 17
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

1D6D5D4D3D2D1D0

Nhm A Nhm B
Mode select PCL (4 bit thp)
00 = mode 0
1 = Input
01 = mode 1
0 = OutputPB
1x = mode
1 = Input
2Cng A
0 = OutputMode
1 = Input
select
0 = OutputPCH (4
1 = mode 0
bit cao) 0 = mode 1
1=Input
0=Output

Trong ch ny c th c 3 ch lm vic khc


nhau tu thuc vo ni dung ca hai bit D6D5, c th l:
+ Ch 0(Vo ra c s): D 6D5 = 00, ch ny
8255A cho kh nng xut/nhp d liu n gin qua c 3
cng A, B, C mt cch c lp.
+ Ch 1 : D6D5 =01, y l ch vo ra c cht
(Strobe), ngha l c s i thoi gia ngoi vi v h VXL
thng qua cc bit ca cng C. Trong ch ny, vi nhm A.
th PA dng trao i s liu v na cao ca PC (PC 4
PC7) i thoi gia ngoi vi v VXL. Cn nhm B th PB
dng trao i s liu v PCL i thoi.
+ Ch 2: D6D5 =1x. Cng A dng vo/ra hai chiu, cc
bit PC3 PC7 dng lm tn hiu i thoi. Cng PB c th lm
vic nh ch 1.
Lp/xo bit:
Nu D7=0 th CWR l lnh lp/xo bit ca Port C.
Lnh ny cho php lp/xo bt k bit no ca C mt cch
c lp.

Bi tp di: Thit k h Vi x l 8 bt 18
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
0D6D5D4D3D2D1D0

1:
Lp
0: Xo
Khng
dng=000
Ca CD3 D2 D1 bit 0
bit 1
bit 2
bit 3
bit 4
bit 5
bit 6
bit 70 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
d. Ghp ni 8255A vi VXL8051.
+ Vi h thng n gin c th phi ghp trc tip
8255A vi VXL. u vo /CS c ni vo mt trong cc /CSi ca
gii m a ch 74LS138 (s cp sau).
+ Cc tn hiu /RD, /WR ca 8255 cng c kt ni tng
ng vi cc tn hiu iu khin vic xut/nhp d liu ca
8051.
+ u vo Reset (chn 35) c th kt ni vi chn Reset
ca 8051 nu mun 8255A cng Reset vi h thng khi n nt
reset hoc c th mc tch cc thp.
+ Hai tn hiu vo a ch A 1A0 c ni trc tip vo
Bus a ch h thng. A1A0 c gii m bn trong mch
8255A chn cc ca vo/ra A, B, C v CWR nh cp
trn.
+ Cc chn s liu ca 8255 c th kt ni trc tip vo
Bus s liu ca h thng m khng cn m 3 trng thi, v
bn thn cc cng P0 ca 8051 u c m 3 trng thi ri.
e. Ghp ni 8255A vi thit b ngoi vi:
Phn ghp ni vi thit b ngoi vi ca 8255A thng qua
24 ng s liu v iu khin cc cng A, B, C. Cc ng
ghp ni ny c nh ngha bng chng trnh nh gii

Bi tp di: Thit k h Vi x l 8 bt 19
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
thiu trn. Bng cch chn ch lm vic thch hp v
chnh xc vi mch 8255A c th p ng c nhng nhu cu
ghp ni tinh vi.

m
AD0-AD7 BUS D0-D7
S/L
P1 7424 PA
5
A0
P2 A1
A14
Cht
805 A15 /C
Gii
m CS 8255A PB
1 ALE/P
Thp
7437
/c
(3/8)
3

PC
P3.0P3
.5 (P3.7)RD RD
(P3. WR WR
6

4. Thit k khi hin th:


y ta dng khi hin th l dng khi hin th tinh
th lng LCD:
LCD1
LM016L
VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
1
2
3

4
5
6

7
8
9
10
11
12
13
14

Khi hin th ny c u im l:
- Mn hnh ang dn c gi thnh h
- Kh nng hin th s, k t v ha tt hn nhiu
so vi n LED.
- S dng thm b iu khin lm ti LCD v nh vy
gii phng CPU khi cng vic ny .Cn i vi LED lun cn
CPU hoc bng cch no duy tr vic hin th d
liu.
- D dng lp trnh cc k t , ha.
Chc nng cc chn ca LCD
VCC : chn ni ngun 5V
VSS : chn t
VEE : chn iu khin tng phn ca LCD.

Bi tp di: Thit k h Vi x l 8 bt 20
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
RS : chn ny dng chn thanh ghi.Nu RS=0 th
thanh ghi m lnh c chn cn nu RS=1 th thanh ghi d
liu c chn v cho php ngi dng gi d liu hin th ln
LCD
R/W : chn vo c ghi cho php ngi dng c/ghi
thng tin t /ln LCD R/W=0 th c, cn R/W=0 th l ghi
ln LCD.
E : chn cho php c LCD s dng cht thng
tin hin c trn chn d liu .Khi d liu c cp n th
mt xung cao xung thp c p n chn E LCD cht
d liu trn chn d liu.Xung ny phi rng ti thiu l
450ns.
D0-D7 : y l 8 chn d liu trn 8 bt ,c dng gi
thng tin ln LCD hoc c ni dung ca cc thanh ghi trong
LCD.
Ta c th gi cc m lnh n iu khin hin th
trn LCD ,cc m lnh ny c cho trong ti liu k thut ca
LCD.
Trong h thng ,khi ghp ni th cc chn ca LCD c
th ghp qua 8051 hoc c th ghp qua cc chn ca
cng giao tip 8255 ty theo s thch ca ngi s dng.

Bi tp di: Thit k h Vi x l 8 bt 21
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
5.Khi vo d liu:
A
7 8 9
B
4 5 6
C
1 2 3
D
ON
C
0 = +

Khi vo d liu m ta s dng l bn phm s 16


phm c dng rng ri.Nguyn tc hot ng ca bn phm
thc cht l nguyn tc hot ng ca ma trn phm .Chng
trnh chy bn phm l chng trnh dng thut ton
"by phm " ngha l lin tc qut hng ca bn phm
,ng thi khi pht hin c phm nhn ,ct tng ng =0 th
b Vi x l ca ta hon ton c th xc nh c hng v ct
ca phm c n v t cho m ca phm.
6. Cc vi mch ph tr khc:
a. Mch gii m 74LS138:
N bao gm 14 chn, trong :
Y0 Y7 l cc ng ra a ch,
tch cc mc thp.
A,B,C l 3 ng a ch vo,
tch cc cao.
E1, E2 l cc u vo cho php
lm vic, tch cc mc thp.
E3 l cc u vo cho php lm
vic, tch cc mc cao.
Ta c bng chn chc nng ca 74LS138 nh sau:

Bi tp di: Thit k h Vi x l 8 bt 22
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

C B A /E1 / E /Y0 /Y1 /Y2 /Y3 /Y4 /Y5 /Y6 /Y7


E2 1
X X X 1 X X 1 1 1 1 1 1 1 1
X X X X 1 X 1 1 1 1 1 1 1 1
X X X X X 0 1 1 1 1 1 1` 1 1
0 0 0 0 0 1 0 1 1 1 1 1 1 1
0 0 1 0 0 1 1 0 1 1 1 1 1 1
0 1 0 0 0 1 1 1 0 1 1 1 1 1
0 1 1 0 0 1 1 1 1 0 1 1 1 1
1 0 0 0 0 1 1 1 1 1 0 1 1 1
1 0 1 0 0 1 1 1 1 1 1 0 1 1
1 1 0 0 0 1 1 1 1 1 1 1 0 1
1 1 1 0 0 1 1 1 1 1 1 1 1 0
b. Vi mch cht 74LS373:
y l mch c tc dng cht li s
liu u vo khi c tn hiu tch cc,
u ra s khng b bin i khi tn hiu
u vo mt. N ch thay i khi tn
hiu cht tch cc tr li. Bn ngoi v
cng c tn hiu /OE cho php hot ng.
Khi c yu cu cht chn LE s c tch
cc.
Trong ghp ni vi 89C51:
+ Chn /OE (s 1) ca 74LS373 c
ni t.
+ Chn LE(s 11) ca 74LS373 c ni vi chn ALE (s
30) ca 89C51.

Bi tp di: Thit k h Vi x l 8 bt 23
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

III.S thit k chi tit.


address bus
data bus
U4
U1 1 U5
OC J1
11
A 8 21 39 A D 0 3 C 2 A 0 A D 0 34 4 1
A 9 22 P 2 .0 /A 8 P 0 .0 /A D 0 38 A D 1 4 1D 1Q 5 A 1 A D 1 33 D 0 P A 0 3 2
A 10 23 P 2 .1 /A 9 P 0 .1 /A D 1 37 A D 2 7 2D 2Q 6 A 2 A D 2 32 D 1 P A 1 2 3
A 11 24 P 2 .2 /A 10 P 0 .2 /A D 2 36 A D 3 8 3D 3Q 9 A 3 A D 3 31 D 2 P A 2 1 4
A 12 25 P
P
2 .3 /A
2 .4 /A
11
12
P
P
0 .3 /A
0 .4 /A
D
D
3
4
35 A D 4 13 4D 4Q
5D 5Q
12 A 4 A D 4 30 D
D
3
4
P
P
A
A
3
4
40 5 Ra LCD
A 13 26 34 A D 5 14 15 A 5 A D 5 29 39 6
STOP A
A
14
15
27
28
P
P
2 .5 /A
2 .6 /A
13
14
P
P
0 .5 /A
0 .6 /A
D
D
5
6
33
32
A
A
D
D
6
7
17
18
6D 6Q
7D 7Q
16
19
A
A
6
7
A
A
D
D
6
7
28
27
D
D
5
6
P
P
A
A
5
6
38
37
7
8
P 2 .7 /A 15 P 0 .7 /A D 7 8D 8Q D 7 P A 7
10 1 74LS373 A0 9 18
11 P 3 .0 /R XD P 1 .0 /T2 2 A1 8 A0 P B 0 19 CON8
12 P 3 .1 /TX D P 1 .1 /T 2 -E X 3 A1 P B 1 20
13 P 3 .2 /IN T 0 P 1 .2 4 35 P B 2 21
LS 1 P 3 .3 /IN T 1 P 1 .3 RESET P B 3
14
15 P 3 .4 /T0 P 1 .4 /S S
5
6
U2 5
36 RD P B 4
22
23
1 2 3 4
16 P 3 .5 /T1 P 1 .5 /M O S I 7 A 13 1 15 6 W R P B 5 24
P 3 .6 /W R P 1 .6 /M IS O A Y 0 CS P B 6 5 6 7 8 LED bo cao
17
P 3 .7 /R D P 1 .7 /S C K
8 A 14
A 15
2
3 B Y 1
14
13 P B 7
25
0 9 A B
bn phm
SPEAKER 30 19 C Y 2 12 14
29 A L E /P R O G XTA L1 18 6 Y 3 11 P C 0 15
PSEN XTA L2 4 G1 Y 4 10 P C 1 16
C D E F
0 31 5 G 2A Y 5 9 P C 2 17 0
E A /V P P 9 G 2B Y 6 7 P C 3 13
RST Y 7 P C 4 12
40 P C 5 11
VCC 74LS138 P C 6 10
P C 7
AT89S8252 U6 8255 U 11

A D 0 34 4 2 18
A D 1 33 D 0 P A 0 3 4 A 1 Y 1 16
U7 A D 2 32 D 1 P A 1 2 6 A 2 Y 2 14
U8 A D 3 31 D 2 P A 2 1 8 A 3 Y 3 12
A 0 10 11 A D 0 A D 4 30 D 3 P A 3 40 11 A 4 Y 4 9
26 17 A D 0 A 1 9 A 0 D 0 12 A D 1 A D 5 29 D 4 P A 4 39 13 A 5 Y 5 7
27 IN 0 D 0 14 A D 1 A 2 8 A 1 D 1 13 A D 2 A D 6 28 D 5 P A 5 38 15 A 6 Y 6 5
28 IN 1 D 1 15 A D 2 A 3 7 A 2 D 2 15 A D 3 A D 7 27 D 6 P A 6 37 17 A 7 Y 7 3
1 IN 2 D 2 8 A D 3 A 4 6 A 3 D 3 16 A D 4 D 7 P A 7 A 8 Y 8
2 IN 3 D 3 18 A D 4 A 5 5 A 4 D 4 17 A D 5 A0 9 18 1
3 IN 4 D 4 19 A D 5 A 6 4 A 5 D 5 18 A D 6 A1 8 A0 P B 0 19 19 1OE
4 IN 5 D 5 20 A D 6 A 7 3 A 6 D 6 19 A D 7 A1 P B 1 20 2OE
5 IN 6 D 6 21 A D 7 A 8 25 A 7 D 7 35 P B 2 21
IN 7 D 7 A 9 24 A 8 6264 5 RESET P B 3 22 2 18
12 7 A 10 21 A 9 36 RD P B 4 23 4 A 1 Y 1 16
16 REF+ EOC A 11 23 A 10 6 W R P B 5 24 6 A 2 Y 2 14
REF- A 12 2 A 11 CS P B 6 25 8 A 3 Y 3 12
U 9A 10 A 12 P B 7 11 A 4 Y 4 9
C LK 22 14 13 A 5 Y 5 7
2 25 27 O E P C 0 15 15 A 6 Y 6 5
7402 1 24 A0 20 W E P C 1 16 17 A 7 Y 7 3
3 23 A1 26 C S1 P C 2 17 A 8 Y 8
22 A2 C S2 P C 3 13 1
9 A LE P C 4 12 19 1OE
6 OE P C 5 11 2OE
S TA R T P C 6 10
11 P C 7 74LS244
U 10B VCC 8255

5 A D C 0809
4
6

7402 VCC

LED bo thp 0

T i t le
measure the degree
S iz e D ocum ent N um ber R ev
A3 Bui Duc Thang- Automation1-K47-hut
D ate: P a g e M o d if y D a t e S heet 1 of 1

Bi tp di: Thit k h Vi x l 8 bt 24
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

phn II
Thit k phn Mn
phn 1
Lu thut ton

1.Lu ca chng trnh:


1.1 Chng trnh chnh:
START

S
n
start?

- Khi to ch ca
8255A
- Cho php ngt ngoi
- Nhp gi tr min, max
,trung bnh
- c t ADC
Hin to trung
bnh


-n phm chn c chn
knh knh?

S i 20s

S
C k bo
ng?

Bo
ng

STOP

Bi tp di: Thit k h Vi x l 8 bt 25
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

1.2 Chng trnh c d liu 8 knh t ADC:

Start

R2=j=8

-i chuyn i
xong
-c knh th i

Ch c
xong

c N
xong
?

j=j-1

N
j=0

End

Bi tp di: Thit k h Vi x l 8 bt 26
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

Chng trnh con dng tnh gi tr trung bnh: dng


pp i tr tg chuyn i ca ADC.( sau khong 100us)

Start

Start

-c knh th i(0i7)
-Chia cho 8
-Phn nguyn =Ai
-Phn d=Bi -c knh th i t ADC
-a ga tr c c vo
vng nh RAM tng ng

N
c xong?
End

TBC=Ai+(Bi)/8

Start
End

-c s TBC
-TBC/10
-A=phn nguyn
-B=phn d

-Hng chc =A
-Hng chc =B
1.3. Chng trnh tnh gi tr trung
bnh ca 8 knh c c t ADC:

Bi tp di: Thit k h Vi x l 8 bt End 27


Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
1.4. Chng trnh tch s trung bnh cng ra hng chc,
n v
1.5 .Chng trnh con qut phm .

Bt u

c tt c cc Ni t hng
hng tip theo

c tt c cc
hng
c tt c cc
ct
phm hng ny
oc
n
S tt c phm c
n
Tm phm c
n

Xc nh m
qut
c tt c cc
hng
Tr v

S tt c phm c
n

Ch phm nhn
xong

c tt c cc
ct

c phm c n
S

Bi tp di: Thit k h Vi x l 8 bt 28
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

Chng trnh hin th n LED qua cc cng ca 8255.

Xa C, R4, R5, R6,


R7

Bng Khc
nhit knh
so vi
tb

S
nhit
knh>tb

Tng R4,R6 Tng


R5,R7

Quay R4,R5

S
ht knh

a R4 ra PA,R5 ra
PB

Bi tp di: Thit k h Vi x l 8 bt 29
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47

Bi tp di: Thit k h Vi x l 8 bt 30
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
Chng trnh phn mm vit bng ngn ng Assembly:

; ------------- READS51 generated header --------------


; module : C:\thang45\thang45.asm
; created : 10:37:23, Sunday, April 23, 2006
; -----------------------------------------------------
#include <sfr51.inc>
CONGA EQU 4000H
CONGB EQU 4001H
CONGC EQU 4002H
ONHOMIN EQU 40H
ADC EQU 6000H
LED EQU 8000H

ORG OO00H
LJMP MAIN
ORG 0003H
LJMP CHONKENH
ORG 0013H ; NUT AN STOP
LJMP STOP
RETI
MAIN:
ACALL PAPC_RA
;-----------------------
MOV IE,#10000101B
ACALL START_LCD
ACALL NHOM
START:
ACALL PAPC_RA
ACALL BANPHIM
MOV A,R6
CJNE A,#'C',START
ACALL NHAPGIATRI ;NHAP GIA TRI MIN,Max VA TB
ACALL XOAMANHINH
LAMLAI:
ACALL DOCDATATHANG ;DOC DU LIEU TU ADC
ACALL TINHTB ;TINH GIA TRI TB.
ACALL DISPLAYLED ;HIEN THI CAO THAP CUA KENH.
ACALL HETCHUONGTRINH
;--------------
TINHTB:
ACALL TINHTOAN
ACALL XOAMANHINH
MOV A,38H
MOV B,#10
DIV AB
ADD A,#48
MOV R1,A
ACALL HIENTHI
MOV A,B
ADD A,#48
MOV R1,A
ACALL HIENTHI
RET
;------------
NHAPGIATRI:

Bi tp di: Thit k h Vi x l 8 bt 31
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
MOV R0,#ONHOMIN
ACALL XOAMANHINH; DAU TIEN XOA HET MAN HINH
ACALL NHAPMIN ;goi gia tri max
LAP1:
ACALL BANPHIM ;go mot phim nao do
MOV A,R6
MOV R1,A
CJNE A,#'A',LUU1 ;phim do co phai la "A" ko?
ACALL XOAMANHINH ;xoa LCD
ACALL NHAPMAX ;goi gia tri min
LAP2:
ACALL BANPHIM
MOV A,R6
MOV R1,A
CJNE A,#'A',LUU2
ACALL XOAMANHINH
ACALL NHAPTB
LAP3:
ACALL BANPHIM
MOV A,R6
MOV R1,A
CJNE A,#'A',LUU3
SJMP THOAT
LUU1:
ACALL LUU
SJMP LAP1
LUU:
MOV @R0,A
INC R0
ACALL READY
ACALL HIENTHI;hien thi gia tri len LCD
RET
LUU2:
ACALL LUU
SJMP LAP2
LUU3:
ACALL LUU
SJMP LAP3
THOAT:
RET
;-----------
NHAPMIN: ; nhap gia tri min
ACALL READY ; kiem tra xem LCD da san sang chua
;goi chuong trinh con cho PaPc_vao
MOV A,#'N'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'H'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'A'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'P'

Bi tp di: Thit k h Vi x l 8 bt 32
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#86H ; nhap ma cua dau space
MOV R1,A
ACALL DUALENH
ACALL READY
MOV A,#'M'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'I'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'N'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#':'
MOV R1,A
ACALL HIENTHI
RET
;-------------
NHAPTB: ; nhap gia tri min
ACALL READY ; kiem tra xem LCD da san sang chua
;goi chuong trinh con cho PaPc_vao
MOV A,#'N'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'H'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'A'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'P'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#86H ;DICH CON TRO SANG PHAI
MOV R1,A
ACALL DUALENH
ACALL READY
MOV A,#'T'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'R'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'B'
MOV R1,A

Bi tp di: Thit k h Vi x l 8 bt 33
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
ACALL HIENTHI
ACALL READY
MOV A,#':'
MOV R1,A
ACALL HIENTHI
RET
;------------
NHAPMAX:
ACALL READY ; kiem tra xem LCD da san sang chua
;goi chuong trinh con cho PaPc_vao
MOV A,#'N'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'H'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'A'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'P'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#86H ; nhap ma cua dau space
MOV R1,A
ACALL DUALENH
ACALL READY
MOV A,#'M'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'A'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'X'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#':'
MOV R1,A
ACALL HIENTHI
RET
;------------
BANPHIM:
OVER:
ACALL DELAY ;tao tre 20ms
MOVX A,@DPTR ;lay lai gt nhan
ANL A,00001111B ;che bit khong dung
CJNE A,#00001111B,OVER1 ;sau 20ms neu P@ van khac chung
to chac chan la van co phim. Bay gio tim hang
SJMP OVER ;nhay ve neu do chi la nhieu
OVER1: ;hoac do an nho tay.
MOV DPTR,#CONGB ;nap gia tri dia chi cua cong B

Bi tp di: Thit k h Vi x l 8 bt 34
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
MOV A,#11111110B ;tiep dat hang 0
MOVX @DPTR,A
INC DPTR ;nap dia chi cho cong C;
MOVX A,@DPTR ;lay gia tri cong C
ANL A,#00001111B ;che 4 bit cao khong dung
CJNE A,#00001111B,HANG0 ;neu bien thien chung to khong duoc an
nen
;nhay den chuong trinh tim cot
MOV DPTR,#CONGB ;lay dia chi cong B
MOV A,#11111101B
MOVX @DPTR,A ;tiep dat hang 1
INC DPTR
MOVX A,@DPTR
ANL A,#00001111B ;che 4 bit cao khong dung
CJNE A,#00001111B,HANG1
MOV DPTR,#CONGB
MOV A,#11111011B
MOVX @DPTR,A ;kiem tra tiep hang 2
INC DPTR
MOVX A,@DPTR
ANL A,#00001111B
CJNE A,#00001111B,HANG2
MOV DPTR,#CONGB
MOV A,#11110111B
MOVX @DPTR,A ;tiep dat hang 3
INC DPTR
MOVX A,@DPTR
ANL A,#00001111B
CJNE A,#00001111B,HANG3
LJMP OVER
HANG0:
MOV DPTR,#MA0 ;kiem tra cot 0
SJMP TIMCOT
HANG1:
MOV DPTR,#MA1 ;kiem tra cot 1
SJMP TIMCOT
HANG2:
MOV DPTR,#MA2 ;kiem tra cot 2
SJMP TIMCOT
HANG3:
MOV DPTR,#MA3 ;kiem tra cot 3
SJMP TIMCOT
TIMCOT:
RRC A ;quay phai A va co nho vao co C
JNC LAYDL ;neu co CY o muc thap, lay du lieu
INC DPTR ;neu khong thi nhay den cot du lieu tiep
cho
SJMP TIMCOT ;den khi co C bang 0.
LAYDL:
CLR A ;xoa thanh ghi A
MOVC A,@A+DPTR
MOV R6,A
K1: MOV DPTR,#CONGB
MOV A,#00
MOVX @DPTR,A
MOV DPTR,#CONGC
MOVX A,@DPTR

Bi tp di: Thit k h Vi x l 8 bt 35
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
ANL A,#00001111B
CJNE A,#00001111B,K1
RET

;------------------
ORG 400H

MA0: DB '7'
DB '8'
DB '9'
DB ':'
MA1: DB '4'
DB '5'
DB '6'
DB '*'
MA2: DB '1'
DB '2'
DB '3'
DB '-'
MA3: DB 'A'
DB '0'
DB 'C'
DB 'D'
PBPC_VAO:
MOV A,#10000001B
MOV DPTR,#4003H
MOVX @DPTR,A
RET
DELAY:
MOV R1,#250
LAP:
MOV R2,#250
AGAIN:
DJNZ R2,AGAIN
DJNZ R1,LAP
RET
START_LCD:
ACALL PAPC_RA
MOV R1,#38H
ACALL DUALENH
MOV R1,#0EH
ACALL DUALENH
MOV R1,#01H
ACALL DUALENH
MOV R1,#06H
ACALL DUALENH
ACALL DELAY ; DE CHO LCD HOAT DONG SONG CHU KHONG CO LA BI MAT
CHU "N"
RET
READY:
MOV A,#10000000B ;TU DE LAP BIT D7 LEN 1
MOV DPTR,#4000H
MOVX @DPTR ,A ; LUC NAY PA.7 BANG 1
MOV DPTR,#4003
MOV A,#90H ; tu dk PA lam vao, PB,PC ra
MOVX @DPTR,A

Bi tp di: Thit k h Vi x l 8 bt 36
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
MOV A,#01000000B ;R/W BANG 1 DE DOC THANH GHI LENH tu dk
LCD kiem tra san sang
MOV DPTR,#4002H ;DUA RA CONG C
MOVX @DPTR,A ;dua DPTR
Tre_ready:
MOV A,#01100000B ; SET BIT PC.5 LEN 1 DE E = 1 NHAN XUNG CAO
XUONG THAP
MOVX @DPTR , A ; DUA RA LCD
MOV A,#01000000B ; XOA DE CHOT DU LIEU
MOVX @DPTR,A
MOV DPTR,#4000H
MOVX A,@DPTR ;lay du lieu cong PA
JB ACC.7,Tre_ready
LCALL PAPC_RA
RET
DUALENH:
ACALL READY
MOV A,R1; LAY R1 LAM TRUNG GIAN VI A DUNG NHIEU QUA
MOV DPTR,#4000H
MOVX @DPTR,A
MOV DPTR,#4002H
MOV A,#00100000B; SEM LAI LENH NAY MOT CHUT
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
RET
HIENTHI:
ACALL READY
MOV A,R1
MOV DPTR,#4000H
MOVX @DPTR,A
MOV A,#10100000B
MOV DPTR,#4002H
MOVX @DPTR,A
CLR ACC.5
MOVX @DPTR,A
RET
PAPC_RA:
MOV DPTR,#4003H ; nhap dia chi 4.000H de chon 8255(2)
; 0100.0000.0000.0000.A0A1:00
; chon congPA
MOV A,#10000001B ; tu dk cong ra (tat ca cac cong la ra)
MOVX @DPTR,A ;nap control word to control register
RET
XOAMANHINH:
ACALL READY
ACALL START_LCD
MOV A,#01H
MOV R1,A
ACALL DUALENH
ACALL START_LCD
RET
;--------------------
XULYKETQUA:
MOV R1,#ONHOMIN ;bat dau dia chi chua nhiet do max ,min va
tb
BATDAU:

Bi tp di: Thit k h Vi x l 8 bt 37
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
CJNE R1,#46H,TIEP1
SJMP DATGIATRI
TIEP1:
MOV A,@R1; lay o nho dau tien
CLR C
SUBB A,#30H; tru 30 de chuyen tu ma ASCI sang ma thuc
MOV B,#10 ; lay 10 nap vao B
MUL AB; nhan chu so hang chuc
MOV R2,A; luu tam vao r2
INC R1;tang o nho tiep theo
MOV A,@R1
CLR C
SUBB A,#30H
MOV @R1,A; lay chu so hang don vi
MOV A,R2 ;lay lai gia tri cua so hang chuc
ADD A,@R1;cong voi so hang don vi
DEC R1;ve o nho dau tien
MOV @R1,A;lay lai gia tri cua A dat vao o nho do
INC R1
INC R1;nhay den o nho tiep theo(cach 2 o)
SJMP BATDAU; SAU chuong trinh thi add(max) = 40h
;add(min) = 42h
;add(tb) = 44h
DATGIATRI: ;add(min) = 40h
MOV A,42H ;add(max) = 41h
MOV 41H,A ;add(tb) = 42h
MOV A,44H
MOV 42H,A
;MOV @R1,A
RET
;-------------------------

DOIMA2:
ADD A,#30H
RET
;----------------
CHUYENMATHANG:
MOV B,#10
DIV AB
ACALL DOIMA2
MOV R2,A
ACALL READY
MOV A,R2
MOV R1,A
ACALL HIENTHI
MOV A,B
ACALL DOIMA2
MOV R2,A
ACALL READY
MOV A,R2
MOV R1,A
ACALL HIENTHI
RET
;-----------------------
DOCDATATHANG:
MOV R1,#30H
MOV DPTR,#6000H

Bi tp di: Thit k h Vi x l 8 bt 38
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
MOV R2,#8
DOCTIEP:
MOV A,#00H
MOVX @DPTR,A
ACALL TREs
ACALL TREs
MOVX A,@DPTR
MOV @R1,A
INC R1
INC DPTR
DJNZ R2,DOCTIEP
RET
;--------------------
TREs:
MOV R5,#20;
LAN11:
MOV R3,#20;
LAN21:
MOV R4,#100;
DOI1:
DJNZ R4,DOI1
DJNZ R3,LAN21
DJNZ R5,LAN11
RET
;---------------------
TINHTOAN:
MOV R2,#00;
MOV R1,#00;
MOV R3,#00;
MOV R0,#30H;
Tinh_V:
MOV A,@R0 ;lay kenh 1
MOV B,#08
DIV AB ;chia cho 8
ADD A,R1 ;so nguyen vao R0
MOV R1,A
MOV A,B
ADD A,R2 ;so du vao
MOV R2,A
INC R0
CJNE R0,#37H,tinh_V ;vong den khi 37H
MOV A,R2;
MOV B,#08;
DIV AB;
ADD A,R1
MOV 38H,A ;gia tri trung binh de vao dia chi 38H trong RAM
RET
;--------------------
DISPLAYLED:

CLR C ;xoa C
MOV R0,#30H ;R0 lam thanh ghi chua dc
MOV R4,#00H ;dung R4 bao cao
MOV R5,#00 ;dung R5 bao thap
MOV R6,#00 ;dung R6 lam bao so kenh co t > ttb
MOV R7,#00 ;dung R7 lam bao so kenh co t < ttb
VONG_LAP:

Bi tp di: Thit k h Vi x l 8 bt 39
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
MOV A,@R0
CJNE A,42H,SOSANH ;nhay den so sanh
LJMP bo_qua ;thoat khoi chuong trinh
SOSANH:
JNC CAO ;nhay den cao neu c = 0(@R0 > NDTB)
LJMP THAP ;C = 1 nhay den thap
CAO:
INC R6 ;so kenh co t > ttb
INC R4 ;dk led cao
LJMP bo_qua ;Nhay de
THAP:
INC R7 ;so kenh co t < ttb
INC R5 ;dk led thap
Bo_qua:
MOV A,R4 ;chuyen R4 vao A
RL A ;quay trai A
MOV R4,A ;tra cho R4,thuc chat quay R4
MOV A,R5 ;chuyen R5 den A
RL A ;quay trai A
MOV R5,A ;chuyen tra lai cho R5
INC R0;
CJNE R0,#38H,VONG_LAP
Dua_ra_led:
MOV DPTR,#8003H ;chon 8255(1)
MOV A,#80H ;nap tu dk control register
MOVX @DPTR,A ;gui ra cong PD
MOV DPTR,#8000H ;lay cong PA
MOV A,R4 ;dua tu dk cac bit cong PB
MOVX @DPTR,A
MOV A,R5
INC DPTR
MOVX @DPTR,A
RET
;-----------------------
COIBAODONG:
;de coi o chan Pc.0 cua 8255(1)
CLR C ;xoa co C
MOV A,#3
CJNE A,5H,SAU1 ;so sanh R6 voi R6 > 3 C = 1
SAU1:
JC BAODONG ;C = 1, nhay den bao dong
CLR C ;xoa C
MOV A,#3H ;neu so kenh lon hon 3
CJNE A,6H,SAU2 ;R7 > 3, C = 1

SAU2:
JC BAODONG ;C = 1, nhay den bao dong
CLR C ;xoa C
MOV A,41H ;41h chua nhiet do max
CJNE A,38H ,SAU3 ;Ttb > Tmax C = 1
SAU3:
JC BAODONG ;C = 1, nhay den bao dong
CLR C ;xoa C
MOV A,38H ;dua nhiet do trung binh da tinh vao A
CJNE A,40H,SAU4 ;Tmin > Ttb C = 1
SAU4: ;Tmin luu o 40H
JC BAODONG ;C = 1, nhay den bao dong

Bi tp di: Thit k h Vi x l 8 bt 40
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
LJMP HET ;neu ko thi nhay den ket thuc

;-----------------------
BAODONG:
MOV R6,#200
COI1:MOV R7,#100
COI2:DJNZ R7,COI2
DJNZ R6,COI1
CPL P3.5
SJMP BAODONG
;-------------------
HET : RET
;--------------------
CHONKENH: ;ngat phai uu tien nhI
ACALL NHAPKENH ;sau khi goi LCD hien chu "Nhap kenh tu 0-
>7:"
ACALL BANPHIM ;GO mot phim chon kenh (chi duoc tu 0- > 7)
MOV A,R6 ;GIU GIA TRI CUA PHIM AN
MOV R7,A
MOV R1,A
ACALL HIENTHI
MOV A,#':'
MOV R1,A
ACALL HIENTHI
MOV A,R7
CLR C
SUBB A,#48
ADD A,#2FH ;den dia chi bat dau chua du lieu
MOV R0,A
MOV A,@R0
MOV B,#10
DIV AB
ADD A,#48
MOV R1,A
ACALL HIENTHI
MOV A,B
ADD A,#48
MOV R1,A
ACALL HIENTHI
TAMDUNG:
ACALL BANPHIM
MOV A,R6
CJNE A,#'D',TAMDUNG
RETI
;--------------
NHAPKENH:
ACALL PAPC_RA
ACALL XOAMANHINH ;goi ctr con xoa LCD
ACALL READY ; kiem tra xem LCD da san sang chua
MOV A,#'K';
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'E'
MOV R1,A
ACALL HIENTHI
ACALL READY

Bi tp di: Thit k h Vi x l 8 bt 41
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
MOV A,#'N'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'H'
MOV R1,A
ACALL HIENTHI
ACALL READY
RET
NHOM:
ACALL READY ; kiem tra xem LCD da san sang chua
;goi chuong trinh con cho PaPc_vao
MOV A,#'N'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'H'
MOV R1,A
ACALL HIENTHI
ACALL READY MOV A,#'O'
MOV R1,A
ACALL HIENTHI
ACALL READY MOV A,#'M'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'4'
MOV R1,A
ACALL HIENTHI
ACALL READY
RET
;--------------------
STOP:ACALL XOAMANHINH
ACALL READY ; kiem tra xem LCD da san sang chua
;goi chuong trinh con cho PaPc_vao
MOV A,#'S'
MOV R1,A
ACALL HIENTHI
ACALL READY
MOV A,#'T'
MOV R1,A
ACALL HIENTHI
ACALL READY MOV A,#'O'
MOV R1,A
ACALL HIENTHI
ACALL READY MOV A,#'P'
MOV R1,A
ACALL HIENTHI
ACALL READY
SJMP $
RET
;----------------
HETCHUONGTRINH:
MOV R5,#200;
LAN111:
MOV R3,#200;
LAN211:

Bi tp di: Thit k h Vi x l 8 bt 42
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
MOV R4,#100;
DOI11:
DJNZ R4,DOI11
DJNZ R3,LAN211
DJNZ R5,LAN111
RET

END

Li kt

Qua thi gian lm n gip chng em hiu thm v


vic thit k mt h thng trong cng nghip c s dng vi

Bi tp di: Thit k h Vi x l 8 bt 43
Thit k h vi x l 8 bt Bi c
Thng-TH1-K47
iu khin c bit l vi iu khin 89C51. Trong cng
nghip hin nay vic a cc vi iu khin vo to ra cc
thit b thng minh l cn thit. T cc h thng c tao ra
s gon nh hn v gii quyt nhim v nhanh hn, d dng
hn. Trong thit k h thng ny p ng c yu cu ca
bi ton t ra, vn dng tt nhng tnh nng u vit ca vi
iu khin 89C51 cng nh kt ni cc thit b c s dng mt
cch hp l. c s ch bo, gip tn tnh ca cc thy hng
dn, chng em hon thnh vic thit k h thng thu thp s
liu 8 knh t ng. Nhng do thi gian c hn v kin thc thc
t cha c nn vic tm hiu cng nh vn dng cn nhiu hn
ch, chng em rt mong c s gp ca cc thy mch
thit k c hon thin hn.

Chng em xin chn thnh cm n


cc thy !

Nhm n

Bi tp di: Thit k h Vi x l 8 bt 44

You might also like