You are on page 1of 100

Li ni u

Ngy nay, vi s pht trin vt bc ca cc thit b in t, k thut ghp ni


vi my tnh ang c ng dng ngy cng nhiu em li hu ch cho cuc sng.
My tnh c s dng trong cc nh my x nghip trong cc dy truyn sn xut,
trong cc ng dng thit k ngi nh thng minh. Cc thit b, h thng o lng ghp
ni vi my tnh c chnh xc cao.
Gio trnh ny gii thiu cu trc cc cng, khe cm v cch thit k cc mch
o lng, iu khin ghp ni vi my tnh. Khi ghp ni vi my tnh, ngoi phn
cng ghp ni ta cn phi vit chng trnh trn my tnh giao tip vi cc cng,
khe cm. Gio trnh cng a ra rt nhiu cc v d b ch vi y s nguyn l
mch in v chng trnh vit bng ngn ng lp trnh Visual Basic, ta cng c th
vit bng cc ngn ng lp trnh C, Pascal nhng Visual Basic cho ta giao din p v
tin dng hn. Ni dung cun sch bao gm 4 chng:
Chng 1: Gii thiu qua cc khi nim v cu trc c bn ca mt my tnh,
cc dng thng tin trc khi a vo my tnh, cu trc c bn ca mt khi ghp ni.
Chng 2: Gii thiu phng thc truyn tin song song s dng cng song
song v khe cm m rng. Ni dung chng ny cng gii thiu cu trc ca cng
song song v cc khe cm nh ISA, PCI,cch lp trnh giao tip qua cc cng ny.
Chng 3: Gii thiu phng thc truyn tin ni tip, t trnh by cu trc
cng ni tip RS-232 v cng USB, cch lp trnh giao tip qua cc cng ny.
Chng 4: Gii thiu cc bc c bn trong qu trnh thit k ng dng cc
Modul ghp ni vi my tnh v cc ng dng o lng v iu khin thng qua cc
cng ca my tnh t cc bn c c th thit k, ch to c cc ng dng thc
t, hu ch.
Mc d ti liu ny c s dng ging dy ti trng i Hc Cng
nghip H Ni nhiu nm nhng cng khng trnh khi nhng sai st. CHng ti rt
mong nhn c nhng kin ng ghp ca bn c ln ti bn ti c hon
thin hn:
Mi ng gp xin gi v: B mn in t my tnh, khoa in t, trng i
hc Cng nghip H Ni, Minh Khai T Lim H Ni, in thoi 043 7655121
(266)

CC TC GI

Mc lc
Li ni u ..................................................................................................................3
Chng 1 My tnh v khi ghp ni..............................................................................6
1.1 My tnh v khi ghp ni.....................................................................................6
1.1.1 Cc dng tin trao i ca my tnh ................................................................7
1.1.2 Cc loi thng tin trao i ca my tnh........................................................7
1.1.3 Cc phng thc trao i tin ca my tnh ...................................................8
1.2 Vai tr, nhim v v cu trc ca khi ghp ni ...............................................10
1.2.1 Vai tr ..........................................................................................................10
1.2.2 Nhim v .....................................................................................................10
1.3 Cu trc chung ca khi ghp ni ......................................................................11
1.3.1 Khi phi hp ng dy............................................................................11
1.3.2 Khi gii m a ch - lnh .........................................................................11
1.3.3 Khi x l ngt ............................................................................................12
1.4 Bi tp cui chng.................................................................................................13
Chng 2 Ghp ni trao i tin song song theo chng trnh......................................14
2.1 Cc vi mch m, cht song song thng dng....................................................14
2.1.1 Vi mch 74HC240 .....................................................................................14
2.1.2 Vi mch 74HC244 ......................................................................................14
2.1.3 Vi mch 74HC245 .......................................................................................15
2.1.4 Vi mch 74HC373 .......................................................................................15
2.1.5 Vi mch 74HC573 .......................................................................................16
2.2 Cng song song...................................................................................................16
2.2.1 Gii thiu .....................................................................................................16
2.2.2 Giao din mt hng cng song song ......................................................21
2.2.3 Giao din 2 hng dng cng song song - module vo ra 8 bit..................29
2.3 Rnh cm m cng..............................................................................................32
2.3.1 Gii thiu ....................................................................................................32
2.3.2 Gii thiu mt s loi BUS .........................................................................33
2.4 Bi tp cui chng ............................................................................................37
Chng 3 Ghp ni trao i tin ni tip .......................................................................39
3.1 Khi nim v truyn tin ni tip..........................................................................39
3.1.1 Khi nim.....................................................................................................39
3.1.2 Cc phng thc truyn tin ni tip ............................................................39
3.2 Cng ni tip.......................................................................................................40
3.2.1 Gii thiu .....................................................................................................40
3.2.2 Lp trnh cho cng ni tip RS232..............................................................42
3.2.3 Modul vo ra 8 bit dng cng RS232..........................................................50
3.3 Cng USB (Universal Serial Bus).......................................................................58
3.3.1 Gii thiu .....................................................................................................58
3.3.2 Nhng c trng ca USB...........................................................................59
3.3.3 Cu trc cng USB ......................................................................................59
3.3.4 Truyn d liu qua cng USB .....................................................................61
3.3.5 Hub USB......................................................................................................61
3.4 Bi tp cui chng ............................................................................................62
Chng 4 Thit k ng dng o lng iu khin bng my tnh ...............................64

4.1 Quy trnh thit k cc ng dng o lng iu khin bng my tnh.................64


4.2 Cc vi mch s thng dng ................................................................................66
4.2.1 Vi mch ghp ni vo ra song song theo chng trnh 8255A ...................66
4.2.2 Vi mch m nh thi lp trnh c 8253 (PROGRAMABLE COUNTER
AND TIMER). ......................................................................................................71
4.2.3 Cc b bin i AD (ANALOG DIGITAL CONVERTER) ......................79
4.2.4 Cc b bin i DA (DIGITAL ANALOG CONVERTER).......................82
4.3 Cc thit k ng dng ghp ni vi my tnh......................................................83
4.3.1 iu khin vi mch 8255 qua cng song song ............................................83
4.3.2 iu khin vi mch 8253 qua cng song song ............................................85
4.3.3 Mch m sn phm qua cng RS-232 .......................................................87
4.3.4 Voltmet in t ghp ni qua cng RS-232 ................................................91
4.4.5 iu khin Led 7 on qua cng USB ........................................................93
4.4 Bi tp cui chng ............................................................................................97
Ph lc.......................................................................................................................98
Bng m ASCII..........................................................................................................98
Ti liu tham kho...................................................................................................101

Chng 1 My tnh v khi ghp ni


Khi sn xut my tnh, cc nh sn xut d tr sn cc con ng cho php
ngi s dng c th ghp ni vi my tnh. Chng ta c th s dng my tnh iu
khin cc thit b bn ngoi bng cch s dng cng song song, cng ni tip hay cng
USB. Trc khi nghin cu cu trc ca cc cng, cc khe cm, chng ny s gii
thiu v tng quan v cc dng thng tin trao i vi my tnh, cc phng thc trao
i thng tin vi my tnh v cu trc ca mt khi ghp ni.

1.1 My tnh v khi ghp ni


Cu trc ca mt my tnh c th c phn chia thnh ba khi chnh:
-

Khi x l trung tm (CPU): Lm nhim v thu thp v x l mi d liu.

Khi nh (Memory): Lu tr cc loi d liu khc nhau a vo, ly ra t CPU.

Khi phi hp vo ra (I/O): Lm nhim v tng thch gia cc thit b ngoi v


ng dy (bus) trong ca my tnh.

Trong my tnh thng c mt s thit b ngoi thng dng nh: Mn hnh, bn


phm, chut, my in, loa, cc a ngoi,...Vi cc thit b ngoi , my tnh u c
khi ghp ni tng ng, v d, khi ghp ni gia mn hnh v bus my tnh l card
mn hnh (VGA); khi ghp ni gia loa v bus my tnh l card sound,... Thng
thng, cc my tnh th h hin nay th cc khi ghp ni cho cc thit b ngoi vi
thng dng ny c tch hp c trn mt bng mch chnh gi l Main hay Main
Board.
My tnh khng phi l mt h thng khp kn m my tnh cn s dng rng
ri trong nhiu lnh vc, c bit, s dng my tnh trong o lng v iu khin cho
ta tc nhanh v kt qu rt chnh xc. Mi mt ng dng s cn thit k mt khi
ghp ni khc nhau. Tt c cc kh nng u c cc nh sn xut my tnh lu
tm ti v h d tr rt nhiu cc cng v cc khe cm m rng c th ghp vi
bus ca my tnh. y chnh l con ng cho nhng ai mun nghin cu m rng
thm phm vi ng dng ca my tnh.
Ni dung mn hc ny i vo nghin cu cc cng (cng song song, cng ni
tip), cc khe cm m rng ca my tnh t thit k cc khi ghp ni phc v
mc ch o lng v iu khin trong cng nghip.

1.1.1 Cc dng tin trao i ca my tnh

- Dng s (Digital)
y l mt chui cc bit 0,1 c biu din theo cc h m nh: H nh phn,
h thp lc phn... Cc tn hiu s ny c th dng ni tip hoc song song v mc
c th l RS hoc TTL.

- Dng ch (Text)
y chnh l dng biu din ca cc k t di dng s, trn th gii hin nay
thng dng nht l cch biu din theo m ACCII. Theo cch ny, cc k t c biu
din bng mt s cc bit 0,1 trn h thp lc phn, v d: m ca k t A l 41h. Dng
tn hiu ny cng c th coi l tn hiu s.

- Dng tng t (Analog)


y l cc dng in hay in p bin i lin tc theo thi gian. in hnh l
i lng vt l thu thp c t cc b cm bin (sensor). Mun x l c dng tin
ny, my tnh (khi ghp ni) phi chuyn sang dng s bng cc b ADC.
-

Dng m tn

y l dng t hp ca nhiu tn hiu tng t vi cc tn s v bin khc


nhau. Cng c th coi y l mt dng ca tn hiu tng t.
1.1.2 Cc loi thng tin trao i ca my tnh
Trong qu trnh gi tin t thit b ngoi vo my tnh c hai loi thng tin sau:
-

Tin v trng thi ca thit b ngoi

Tin mang d liu cn trao i


Trong qu trnh ngc li:

Tin v a ch: y chnh l a ch ca cc thanh ghi m nm trong khi ghp


ni, v d: 3F8h l a ch thanh ghi m c/vit cng ni tip (RS232).

Tin v d liu trao i.

Tin mang lnh iu khin.

1.1.3 Cc phng thc trao i tin ca my tnh


My tnh c th trao i vi thit b ngoi theo hai phng thc:
-

Trao i theo chng trnh.

Trao i trc tip vi khi nh (Direct Memory Access - DMA).

a. Ch trao i tin theo chng trnh


y l ch trao i tin trong my tnh trao i vi thit b ngoi bng cc
lnh vo ra, cc lnh dch chuyn d liu gia cc thanh ghi, c th nh sau:
-

Trong ngn ng Assembly cc lnh sau c dnh cho trao i: IN, OUT, MOV.

Trong ngn ng Pascal:


+ c mt byte d liu: x: =port [a ch];
+ a ra 1 byte d liu: port [a ch] :=y;
(y l byte d liu a ra, x cha byte d liu c c vo).

Trong ngn ng C:
+ c 1 byte d liu: x=inport[a ch];
+ a 1 byte d liu: outport (a ch, y);
(x l byte d liu c c vo, y l byte d liu xut ra).

Trong ngn ng VB: Nu s dng th vin lin kt ng Inpout32.dll


+ c 1 byte d liu : x=Inp(a ch)
+ a 1 byte d liu: Out (a ch) = y
(x l byte d liu c c vo, y l byte d liu xut ra).
Trong ch trao i theo chng trnh c 3 phng php:

- Phng php trao i ng b

phng php ny, my tnh s tin hnh trao i tin ngay vi thit b ngoi
khi khi ng xong m khng cn bit trng thi ca dng dy cng nh thit b
ngoi.
c th thc hin c phng php ny th yu cu:
+ Tc trao i tin ca thit b ngoi ln hn hoc bng tc trao i tin ca
my tnh.
+ Thit b ngoi phi trng thi sn sng ngay khi my tnh khi ng xong.
+ Phng php ny c u im l tc trao i tin nhanh nhng nhc im l
d b mt tin khi thit b ngoi cha trng thi sn sng.
-

Phng php khng ng b

Trong phng php ny, trc khi trao i tin, my tnh tin hnh c, kim tra
trng thi ca thit b ngoi, nu thit b ngoi sn sng th s tin hnh trao i tin
cn ngc li s ch.
Ngoi ra trong qu trnh trao i, nu tin b li cng yu cu pha pht phi
truyn li.
Phng php ny c tin cy cao nhng tc chm hn phng php ng
b.
- Phng php trao i theo ngt chng trnh
Phng php ny li dng c u im, khc phc c nhc im ca hai
phng php trn. Trnh t tin hnh nh sau:
-

Khi thit b ngoi c yu cu trao i s gi tn hiu yu cu (ngt) n my tnh.

My tnh dng chng trnh ang phc v (nu thit b ngoi ang yu cu c
mc u tin cao hn) v nh li im dng ng thi gi tn hiu xc nhn, yu
cu thit b ngoi trao i tin.

My tnh v thit b ngoi trao i tin theo chng trnh (gi l chng trnh con
phc v ngt).

Kt thc trao i, my tnh tr li chng trnh chnh t im dng.

Phng php trao i theo ngt chng trnh khc phc c nhc im ca
hai phng php ng b v khng ng b, n cho php tn dng c ti a thi
gian lm vic ca my tnh.
b. Trao i DMA
y l phng thc trao i trc tip vi khi nh ca my tnh m khng
thng qua CPU. Khi , CPU s trng thi treo, nhng quyn iu khin BUS cho
khi ghp ni. Thit b ngoi v khi nh ca my tnh s tin hnh trao i (c/ghi
d liu), sau khi qa trnh kt thc s nhng li quyn iu khin BUS cho CPU.

1.2 Vai tr, nhim v v cu trc ca khi ghp ni


1.2.1 Vai tr
Trong qu trnh trao i gia my tnh v thit b ngoi, khi ghp ni gi vai
tr trung chuyn tin. Trung chuyn y c ngha tch cc v trong qu trnh nhn tin
t thit b ngoi vo my tnh, khi ghp ni nhn tin t thit b ngoi, x l v gi
cho my tnh theo khun dng tin, tc thch hp thch hp. Ngc li, trong qu
trnh gi tin t my ra thit b ngoi, khi ghp ni nhn tin t my tnh, x l v gi
cho thit b ngoi theo dng ph hp vi thit b ngoi tng ng.
1.2.2 Nhim v
p ng c cc vai tr trn, i hi khi ghp ni phi thc hin cc
nhim v sau:
a. Phi hp v mc v cng sut ca tn hiu
Mc tn hiu ca cc ng dy my tnh l mc TTL (nm trong khong 0V5V), cng sut thng rt nh trong khi mc tn hiu ca thit b ngoi rt a dng v
cng sut thng ln hn do vy yu cn khi ghp ni phi c kh nng phi hp
mc v cng sut ca tn hiu. thc hin chc nng ny, khi ghp ni thng
cha cc b chuyn i mc, cc b khuch i, phi hp cng sut.
b. Phi hp v dng tin
Tn hiu ng dy my tnh l tn hiu s dng song song trong khi tn
hiu ca thit b ngoi c th l tn hiu s, tng t c th dng ni tip, song
song...c th dng m khc. V vy, khi ghp ni phi c nhim v bin i tng
thch khun dng tn hiu gia thit b ngoi v my tnh. Cc b bin i s/tng t,

10

tng t/s; cc b chuyn i ni tip/song song song song/ni tip trong khi ghp
ni s thc hin nhim v ny.
c. Phi hp v tc trao i tin
Tc trao i tin ca my tnh ln hn nhiu ln so vi tc trao i tin ca
thit b ngoi v vy khi ghp ni thng phi nhn tin theo xung nhp thit b ngoi
v pht tin theo xung nhp ca my tnh. thc hin c nhim v ny, khi ghp
ni thng c cc b nh m.
d. Phi hp v phng thc trao i tin
Mt khi ghp ni i khi l c mt h thng nh, cng c c phn mm
thm ch c h iu hnh. Mt khi ghp ni nh vy ng nhin c th phi hp vi
my tnh trong phng php trao i tin theo chng trnh cng nh c lp hot ng
trong phng php trao i DMA.
Ngoi nhng nhim v trn, khi ghp ni cn c kh nng phi hp v tr
khng, cm khng, dung khng... gia cc mch in t ca my tnh v thit b ngoi.

1.3 Cu trc chung ca khi ghp ni


Hnh 1.1 m t cu trc chung ca mt khi ghp ni.
1.3.1 Khi phi hp ng dy
Khi ny c nhim v:

Phi hp v mc, cng sut, khun dng tn hiu ca ng dy my tnh vi


ng dy thit b ngoi. Khi ny thng cha cc b chuyn mc, chuyn mch,
khuch i cng sut, ADC, DAC...

C lp ng dy my tnh khi khng c trao i tin (trng thi in tr cao)

iu khin a tin ra, vo my tnh.

1.3.2 Khi gii m a ch - lnh


Khi ny lm nhim v gii m a ch cho cc thanh ghi bn trong khi ghp
ni, cc a ch ny s tu thuc vo cc lnh m khi ghp ni nhn thc hin. Kt
qu m khi ny thc hin s l cc xung cho php c/ghi i vi tng thanh ghi ca
khi ghp ni.

11

1.3.3 Khi x l ngt


Trong ch trao i tin theo ngt chng trnh, khi ny gi vai tr tip nhn
cc yu cu ngt t thit b ngoi, sp xp chng theo th t u tin nht nh v thng
bo v CPU ln lt tng yu cu ngt c u tin phc v. Khi c CPU thng
bo chp nhn ngt, khi ny cng nhn cc thng bo , gi ngc tr li cho thit
b ngoi.
Ngoi cc khi chnh trn, mi khi ghp ni cn c khi iu khin iu khin
ton b h thng, khi pht xung nhp ng b h thng.

Ao
An

Gii
m
a
ch

WR

CSn

INTR

RD

INTR2
Phi h ng dy

Phi h ng dy

INTA

INTR1

X l
ngt

Thanh ghi
trng thi

Thanh ghi
iu
WR
khin

RD
WR

Thanh ghi
m
c/vit

Do - Dn

Hnh 1.1 Cu trc chung ca mt khi ghp ni

12

BUS thit b ngoi

RD

BUS my tnh

RD
WR
CS1

1.4 Bi tp cui chng


1. Hy nu cu trc chung ca mt my tnh v nhim v chc nng ca tng khi
2. Hy nu cc dng tin trao i ca my tnh.
3. Hy nu cu trc mt khi ghp ni v chc nng ca tng khi.
4. Hy i cc s sau h mi sang h mi su: 1029; 65530; 540.
5. Hy i cc s sau sang h hai v h mi: 005EH; 12A0H; 0FFFEH.

13

Chng 2 Ghp ni trao i tin song song theo chng trnh


Chng ny s gii thiu v cu trc ca cng song song v a ra mt s cc
mch thit k n gin ghp ni qua cng song song ng dng o lng v iu khin.
Trong cc mch thit k, cn phi s dng cc b m khng lm suy hao tn hiu
v cc b cht tch cc tn hiu a ch.

2.1 Cc vi mch m, cht song song thng dng


2.1.1 Vi mch 74HC240
2
4
6
8
11
13
15
17
1
19

1A1
1A2
1A3
1A4

1Y 1
1Y 2
1Y 3
1Y 4

2A1
2A2
2A3
2A4

2Y 1
2Y 2
2Y 3
2Y 4

18
16
14
12

My tnh truyn
(D0-D3)

9
7
5
3

Thit b ngoi
truyn (D0-D3)

1G
2G

20

2
4
6
8
11
13
15
17
1
19
20

VCC
74HC240

Truyn

2
4
6
8

11
13
15
D7 17

VCC

1
19
20

1A1
1A2
1A3
1A4
2A1
2A2
2A3
2A4
1G
2G

1Y 1
1Y 2
1Y 3
1Y 4

2A1
2A2
2A3
2A4

2Y 1
2Y 2
2Y 3
2Y 4

18
16
14
12

Thit b ngoi
nhn (D0-D3)

9
7
5
3

My tnh
nhn (D0-D3)

1G
2G
VCC
74HC240

b)

a)
D0

1A1
1A2
1A3
1A4

1Y 1
1Y 2
1Y 3
1Y 4
2Y 1
2Y 2
2Y 3
2Y 4

18
16
14
12

2
4
6
8

9
7
5
3

11
13
15
17

VCC

VCC

c)

1
19
20

1A1
1A2
1A3
1A4
2A1
2A2
2A3
2A4
1G
2G
VCC

1Y 1
1Y 2
1Y 3
1Y 4
2Y 1
2Y 2
2Y 3
2Y 4

18
16
14
12
9
7
5
3

D0

D0

Nhn
D7

Truyn
D7
VCC

2
4
6
8
11
13
15
17
1
19
20

1A1
1A2
1A3
1A4

1Y 1
1Y 2
1Y 3
1Y 4

2A1
2A2
2A3
2A4

2Y 1
2Y 2
2Y 3
2Y 4

18
16
14
12
9
7
5
3

D0

Nhn
D7

1G
2G
VCC

d)
Hnh 2.1 S nguyn l v cc ng dng ca 240

Vi mch 240 cha 8 b cht 3 trng thi vi cc u vo A v u ra Y . Cc


b ny c iu khin bi 1G v 2G . Vi mch ny c th dng lm b truyn nhn 4
bit c o (Hnh 2.1.b); B m 8 bit c o v khng o (Hnh 2.1.d,c).
2.1.2 Vi mch 74HC244
Khc vi 240, 244 cha 8 cht 3 trng thi khng o, cch iu khin hon
ton nh nhau. Cc ng dng c th nu ra l: B m 8 bit (hnh 2.2.b), b truyn
nhn 4 bit (hnh 2.2.c)...

14

2
4
6
8
11
13
15
17
1
19

1A1
1A2
1A3
1A4

1Y 1
1Y 2
1Y 3
1Y 4

2A1
2A2
2A3
2A4

2Y 1
2Y 2
2Y 3
2Y 4

18
16
14
12

2
4
6
8

9
7
5
3

11
13
15
17

1OE
2OE

20

VCC

VCC
74HC244

1
19
20

1A1
1A2
1A3
1A4

1Y 1
1Y 2
1Y 3
1Y 4

2A1
2A2
2A3
2A4

2Y 1
2Y 2
2Y 3
2Y 4

18
16
14
12
9
7
5
3

1OE
2OE
VCC
74HC244

My tnh truyn
(D0-D3)
Thit b ngoi
truyn (D0-D3)

2
4
6
8
11
13
15
17

/WR
1
/RD
19
VCC
20

1A1
1A2
1A3
1A4

1Y 1
1Y 2
1Y 3
1Y 4

2A1
2A2
2A3
2A4

2Y 1
2Y 2
2Y 3
2Y 4

18
16
14
12
9
7
5
3

Thit b ngoi
nhn (D0-D3)
My tnh
nhn (D0-D3)

1OE
2OE
VCC

Hnh 2.2 S nguyn l v cc ng dng ca 244

2.1.3 Vi mch 74HC245


2
3
4
5
6
7
8
9

B1
B2
B3
B4
B5
B6
B7
B8

A1
A2
A3
A4
A5
A6
A7
A8

1
19

D0

D7

Truyn/Nhn

DIR
OE

20

18
17
16
15
14
13
12
11

VCC

VCC

2
3
4
5
6
7
8
9
1
19
20

A1
A2
A3
A4
A5
A6
A7
A8

B1
B2
B3
B4
B5
B6
B7
B8

18
17
16
15
14
13
12
11

D0

D7

DIR
OE
VCC

74HC245

a)

b)
Hnh 2.3 S nguyn l v ng dng ca 245

Vi mch 245 cha 16 cht 3 trng thi to thnh 8 cp (hnh 2.3.a). Cc cht
ny c cho php bi OE v iu khin bi DIR. Khi DIR=1, tn hiu c php
truyn t cc u vo A sang B v ngc li. ng dng in hnh ca vi mch ny l
b truyn nhn 8 bit song song (hnh 2.3.b).
2.1.4 Vi mch 74HC373

15

DATA BUS
3
4
7
8
13
14
17
18
11
1
20

1D
2D
3D
4D
5D
6D
7D
8D

1Q
2Q
3Q
4Q
5Q
6Q
7Q
8Q

2
5
6
9
12
15
16
19

DATA BUS
3
4
7
8
13
14
17
18

1D
2D
3D
4D
5D
6D
7D
8D

Cho php 11
cht VCC 1

LE
OE

2
5
6
9
12
15
16
19

LE
OE

20

VCC

1Q
2Q
3Q
4Q
5Q
6Q
7Q
8Q

VCC
VCC

VCC

DATA BUS
3
4
7
8
13
14
17
18
11
1
20

1D
2D
3D
4D
5D
6D
7D
8D

1Q
2Q
3Q
4Q
5Q
6Q
7Q
8Q

2
5
6
9
12
15
16
19

LE
OE
VCC

74HC373

a)

b)

c)

Hnh 2.4 S nguyn l v cc ng dng ca 373

Vi mch 373 cha 8 D-FF v 8 cng 3 trng thi c iu khin bi cc chn


LE(11) v OE (1). Cc D-FF ny c th hot ng ch cht (Latch), cht cc bit
d liu BUS d liu (khi LE chuyn trng thi t 1 sang 0), to thnh thanh ghi 8 bit
(Hnh b). Ngoi ra nu cc D-FF ny hot ng nh mt FF thng th 373 li tr
thnh b m BUS 8 bit (Hnh c).
2.1.5 Vi mch 74HC573
573 c cu to hon ton ging 373 ch khc cch b tr chn. Cch b tr
chn ca 573 thun tin hn nhiu so vi 373 trong vic thit k mch in.
2
3
4
5
6
7
8
9
11
1
20

1D
2D
3D
4D
5D
6D
7D
8D

1Q
2Q
3Q
4Q
5Q
6Q
7Q
8Q

19
18
17
16
15
14
13
12

LE
OE
VCC
74HC573

Hnh 2.5 S nguyn l ca 573

2.2 Cng song song


2.2.1 Gii thiu
Cng song song c thit k u tin bi cng ty Centronics nhm mc ch
ghp ni my tnh vi my in. Sau ny cng ny c tiu chun ho v c mt hu
ht cc my tnh. Tn gi ca cng song song bt ngun t kiu truyn d liu qua

16

cng ny, cc bit truyn song song cn cc byte truyn ni tip. Ngoi tn gi ny ra
cng song song cn c tn gi l cng LPT hoc cng Centronics.
Cu trc ca cng song song gm 8 ng d liu, bn ng dn iu khin
v nm ng dn trng thi. Cc ng dn ny u tng thch mc TTL(0;5V) do
vy kh thun tin, n gin cho vic ghp ni v nhiu linh kin, mch in tng
thch vi mc logic trn. S dng cng song song trong o lng v iu khin tng
i n gin. Khong cch truyn ca cng song song b hn ch do in dung k
sinh, hin tng cm ng v b suy gim cng sut. Khong cch ny b gii hn trong
khong 2m. Nu cn ghp ni khong cch xa hn cn c cc b m, cc phng
php lm gim in dung k sinh, hin tng cm ng (chng hn kp mass gia cc
ng tn hiu). Nu mun c khong cch xa hn na, nn chn gii php ghp ni
trao i tin ni tip v truyn d liu qua cng song song vi khong cch xa s tng
kh nng gy li d liu c truyn m cn tng chi ph. Tc truyn qua cng
song song c th t n gi tr 1 Mbit/s
Trong cc my tnh th h c, cng song song c ti 36 chn nhng ngy nay
gim chi ph, ngi ta chun ho thnh 25 chn, trong s 25 chn ny ch c 18
chn c ngha, cc chn cn li u l cc chn ni mass. Di y l s giao
din cng song song trn my tnh:

Hnh 2.6 Giao din cng song song trn my tnh PC

K hiu v ngha ca cc chn cm trn cng song song khi kt ni vi my


in nh bng 2.1:

17

Bng 2.1 Sp xp cc chn tn hiu trn cm

25
Chn

36
Chn

STROBE

Ra

Tn hiu thng bo c 1byte


sn sng c in

2-9

2-9

D0-D7

Ra

Cc ng d liu t D0-D7

10

10

ACK

Vo

Tn hiu xc nhn nhn


c 1byte ca my in i
vi my tnh

K hiu

Vo/ra(I/O)

(Acknowledge)

M t

11

11

BUSY

Vo

Tn hiu bo bn ca my in

12

12

PE
(Paper Empty)

Vo

Tn hiu bo ht giy ca
my in

13

13

SLCT
(Select)

Vo

Tn hiu bo trng thi sn


sng ca my in

14

14

AF

Ra

Tn hiu yu cu np mt
dng mi ca my tnh i
vi my in

(Auto Linefeed)
15

32

ERROR

Vo

Tn hiu thng bo li ca
my in i vi my tnh

16

31

INIT(RESET)

Ra

Tn hiu khi ng li ca
my tnh i vi my in.

17

36

SLCTIN
(Select Input)

Ra

Tn hiu la chn my in ca
my tnh

18-25

19-30,
33

GND

Tn hiu ni mass

16

Tn hiu ni mass

17

Tn hiu ni mass

18

+5V

34,35

Khng s dng

Cc ng dn tn hiu trn cng song song c chia thnh 3 nhm:

Cc ng dn tn hiu xut ra t my tnh v iu khin my in c gi l cc


ng dn iu khin.

18

Cc ng dn tn hiu a cc thng bo ngc li t my in v my tnh c


gi l cc ng dn trng thi.

Cc ng dn xut ra t my tnh truyn cc byte k t cn in l cc ng


dn d liu.

Cc nhm ng dn tn hiu trn lin quan ti cc thanh ghi bn trong cng


song song. c th ghp ni cc thit b ngoi vi hay cc mch in ng dng trong
o lng v iu khin vi cng song song ta phi tm hiu cch trao i vi cc thanh
ghi thng qua cch sp xp ng dn v a ch ca cc thanh ghi v cc phn mm
lin quan. C ba thanh ghi bn trong cng song song:

Thanh ghi d liu (c a ch c s)


D7 D6

D5 D4 D3 D2 D1 D0

Bit d liu D0(chn 2)


Bit d liu D1(chn 3)
Bit d liu D2(chn 4)
Bit d liu D3(chn 5)
Bit d liu D4(chn 6)
Bit d liu D5(chn 7)
Bit d liu D6(chn 8)
Bit d liu D7(chn 9)
Hnh 2.7 Kt ni cc chn trn cng song song v thanh ghi d liu

Thanh ghi trng thi (c a ch c s + 1)

S7

S6

S5

S4

S3

ERROR(chn15)
SLCT(chn13)
PE(chn12)
ACK(chn10)
BUSY(chn11)
Hnh 2.8 Kt ni cc chn trn cng song song v thanh ghi trng thi

19

Thanh ghi iu khin (c a ch c s + 2)


C7 C6

C5 C4

C3

C2 C1 C0
STROBE(chn 1)
AF(chn 14)
INIT(chn 16)
SLCIN(chn 17)
IRQ-Enable

Hnh 2.9 Kt ni cc chn trn cng song song v thanh ghi iu khin

Qua cu trc cc thanh ghi ta thy c 8 ng dn d liu dn ti 8 bit nh trn


thanh ghi d liu v 4 ng dn iu khin Strobe, Auto Linefeed, Reset, Select
Input dn ti bn nh trn thanh ghi iu khin, cui cng l 5 ng dn trng thi
Acknowledge, Busy, Paper Empty, Select, Error ni ti 5 nh trn thanh ghi trng
thi. Ring thanh ghi iu khin cn ch ti bit IRQ-Enable c s dng cho mc
ch ghp ni nhng li khng c ni vi cm 25 chn, bit ny c th c s
dng xo mt ngt c lin quan vi ng dn Acknowledge.
H iu hnh DOS d tnh n bn cng song song t tn l: LPT1, LPT2,
LPT3 v LPT4. Tuy nhin, hu ht cc my vi tnh ch c mt cng song song thm
ch khng c cng song song v l do kinh t. Khi bt my, BIOS s kim tra xem trn
my tnh c trang b my cng song song. Cc sng song song c BIOS tm thy s
c sp theo cc tn ln lt l LPT1, LPT2... Phn ln cc phin bn ca BIOS chy
trong giai an khi ng (Boot phase) ca my tnh, khi , cc thng s v phn
cng cng nh cc cng song song tm thy s hin th trong mt khung hnh ch nht.
Ta c th dng li qu trnh khi ng ca my tnh bng phm <Pause> quan st
k cc thng s c lit k trong bng 2.2.
Bng 2.2 Cc a ch ca cng song song trn my tnh PC

Cng song song


(LPT)

a ch thanh ghi
d liu

LT1
LPT2
LPT3
LPT4

3BCh
378h
278h
2BCh

20

a ch thanh ghi
trng thi
3BDh
379h
279h
2BDH

a ch thanh ghi
iu khin
3BEh
37Ah
27Ah
2BEh

Thng qua a ch, ta c th trao i bng phn mm vi cc thanh ghi ca cng


song song bng cch thit lp cho cc chn ca cng ln mc cao (High) hoc xung
mc thp (Low).
i vi cng song song, chiu ca cc thanh ghi ch l mt hng. Thanh ghi
iu khin c chiu ra, thanh ghi trng thi c chiu vo, ring thanh ghi d liu vi
mt s my c th c hai hng nhng tnh hai hng b hn ch.
2.2.2 Giao din mt hng cng song song
Giao din mt hng (hng t my tnh a ra) s dng cc chn tn hiu ca
thanh ghi d liu v thanh ghi iu khin, cc thanh ghi ny u c chiu ra. Nu s
dng giao din mt hng ti a s c 12 chn tn hiu ra c lp.
s dng giao din ny trong cc ng dng iu khin, trc tin phi chc
chn xem cc chn tn hiu trn hai ng dn iu khin v ng dn d liu cn tt
hay khng, s dng mt phn cng v mt phn mm n gin nh sau kim tra:
Ghp ni cc Led n vi cc chn tn hiu trn ng n d liu v iu
khin
J1

D1
1
14
2
15
3
16
4
17
5
18
6
19
7
20
8
21
9
22
10
23
11
24
12
25
13

D2
D3
D4
D5
D6
D7
D8
D9
D10

CONN-D25M

D11
D12

Hnh 2.10 S nguyn l mch kim tra giao din mt hng ca cng song song

21

Chng trnh iu khin cc Led sng tt vit bng ngn ng Visual Basic
(VB) lm theo cc bc sau:
Bc 1: Xy dng giao din.

Hnh 2.11 Giao din chng trnh vo ra trn cng song song

Bc 2: Vit chng trnh.

Khi chy on chng trnh trn cho ty theo gi tr nhp vo text1 v text2 cc
Led s sng hoc tt khi ta nhn command1. V d, mun tt c cc Led sng ht khi
nhn command1 th phi nhp gi tr 255 (11111111B) vo text1 v gi tr 4
(00000100) vo text2, mun cc Led tt ht nhp gi tr 0(00000000B) vo text1
v 11 (00001011B) vo text2. Cc bit C0, C1, C3 o trng thi trc khi a ra cc
chn 1, 14, 17.
Ch : chy c chng trnh trn file inpout32.dll phi c copy vo
a C theo ng dn: C:\Windows\System32.
on chng trnh vit bng ngn ng VB trn c th khng nh c cc
chn tn hiu thuc thanh ghi d liu v thanh ghi iu khin ca cng song song hot
ng tt. Di y l cc cc ng dng iu khin dng cng song song.
V d 1: Thit k m hnh iu khin n giao thng theo thi gian thc bng
cng song song ca my tnh PC.

22

35s
X1

Hng i 1:

Xanh1

5s
V1

5s

X2

V2

Hng i 2:
Hnh 2.12 Gin thi gian thc ca h thng iu khin n giao thng ch gi cao
im
VCC

LED
VCC

D0
2

Xanh1

LED
VCC

D1
2

LED
VCC

D2
2

Vng1

LED
VCC

D3
2

Xanh2

LED
VCC

D4
2

LED
VCC

D5
2

Vng2

LED
VCC

D6
2

LED

D7

Hnh 2.13 S nguyn l mch iu khin n giao thng

23

H thng n giao thng trong v d ny c thit k cho ng t c cc n


xanh1, vng1, 1, xanh2, vng2, 2 trn hai hng. Ch gi cao im n xanh
sng trong 35 giy, n vng sng 5 giy v n sng 40 giy, ch na m n
vng nhp nhy 2 giy.
Hnh 2.11 l gin thi gian thc m t trng thi cc n sng ch gi
cao im, thit k mch ghp ni hnh 2.12 v di y l chng trnh iu khin:
Thit k giao din

Hnh 2.14 Giao din chng trnh iu khin n giao thng

Vit chng trnh

24

Hnh 2.15 Giao din khi chy chng trnh

25

V d 2: Thit k mch iu khin m t bc qua cng song song ca my tnh.


C 3 phng php iu khin motor bc:
+ iu khin 1 pha:
phng php ny cc bc ca motor s t : 00,1.80,3.60, ... 258.20. Motor s
quay 200 bc/vng. Cc bc ca motor c thit lp theo bng I.
+ iu khin 2 pha:
phng php ny cc bc motor s l: 0.90,2.70,4.50, ... 359.10. Motor s quay
200 bc/vng. Cc bc ca motor c thit lp theo bng II .
+ iu khin hn hp mt pha v hai pha:
Vi phng php ny cc bc ca motor s l: 00,0.90,1.80,2.70,3.60,4.50, ...
359.10. Motor s quay 400 bc/vng. Cc bc ca motor c thit lp theo
bngIII.

Hnh 2.16 M t hot ng ca Motor bc

26

1
14
2
15
3
16
4
17
5
18
6
19
7
20
8
21
9
22
10
23
11
24
12
25
13

VCC

2
3
4
5
6
7
8
9
11
1

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7

D0
D1
D2
D3
D4
D5
D6
D7

19
18
17
16
15
14
13
12

470

CA

470

C/A

470

CB

470

C/B

VCC

10K
/B
C/B

H1061

LE
OE
74HC573
VCC

VCC

10K

VCC

10K
A

CA

H1061

10K
B

CB

H1061

/A
C/A

H1061

LPT

Hnh 2.17 S nguyn l mch iu khin Motor bc bng cng song song

Thit k giao din iu khin Motor bc nh hnh 2.18 di y:

Hnh 2.18 Giao din chng trnh iu khin Motor bc

27

28

2.2.3 Giao din 2 hng dng cng song song - module vo ra 8 bit
Trc ht chc chn rng cc ng dn trng thi ang hot ng tt, chng
ta tin hnh kim tra bng phn cng gm 05 in tr (<100 ) u ni cc ng dn
d liu v trng thi vi nhau v phn mm sau:
J1
13
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2
14
1
CONN-D25F

Hnh 2.19 Giao din kim tra thanh ghi trng thi cng song song

29

\
Hnh 2.19 Giao din chng trnh kim tra thanh ghi trng thi cng song song

Sau khi chy chng trnh trn, nhp gi tr trong khong t 0 n 31 vo text1
v bm vo nt kim tra s xut hin gi tr t 0 n 31 tng ng trong text2, nu
gi tr c vo ging vi gi tr xut ra th cng song song c th s dng tt.
Trn cng song song ch c 5 ng dn trng thi c li vo m trn thc t
thng ti thiu phi c 8 ng (8bit) tr thnh mt giao din hai hng, ta c th
khc phc tnh trng trn bng mt phn cng v mt phn mm nh sau:

30

VCC
RB1
LPT0
LPT1
LPT2
LPT3
LPT4
LPT5
LPT6
LPT7
VCC
J1

RLPT1
1K, 1W
C1
VCC
100pF
DL1

U1
10K

13
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2
14
1
DB25

9
8
7
6
5
4
3
2
1
L2Y
L3Y

L4Y
LPT7

VCC
LPT0
LPT1
LPT2
LPT3
LPT4
LPT5
LPT6
LPT7

1
11
2
3
4
5
6
7
8
9

LPT6

DL2

DL3

OC
C
1D
2D
3D
4D
5D
6D
7D
8D

1Q
2Q
3Q
4Q
5Q
6Q
7Q
8Q

19
18
17
16
15
14
13
12

D0
D1
D2
D3
D4
D5
D6
D7

Data out

74HC573

LPT5
LPT4
C10

LPT3

VCC
100pF

LPT2
U5
LPT1
L1Y
LPT0

DIR

15
8
1

DIR

L4Y

12

L3Y

L2Y

L1Y

G
GND
A/B
4Y
3Y
2Y
1Y

VCC
VCC
4B
4A
3B
3A
2B
2A
1B
1A

16
13
14
10
11
6
5
3
2

D0
D1
D2
D3
D4
D5
D6
D7

Data in

74HC157

Hnh 2.20 Giao din vo ra 8bit cng song song

Hnh 2.21 Giao din chng trnh vo ra 8 bit cng song song

31

DL4

DL5

2.3 Rnh cm m cng


2.3.1 Gii thiu
Cc rnh cm m rng l mt dng th hin bng phn cng ca cc bus trn
bng mch chnh, trn cho php cm cc card m rng nng cp hoc thay i
cu hnh ca my tnh. Cho n nay tn ti mt s bus (rnh cm m rng) sau:

Bus PC (cn gi l ISA 8 bit)

Bus ISA (16 bit)

Bus PC/ MCIA (16 bit)

Bus VESA Local (32 bit)

Bus SCCI ( 16/32but )

Bus EISA (32bit)

Bus MCA (32bit)

Bus PCI (32/64 bit)

32

Bus AGP ( 32/64 bit ).

Ngoi tr bus ISA, cc bus cn li u c tc qu nhanh, khong cch gia


cc chn cm qu nh rt kh cho vic thit k mch in v quan trng nht l kh tm
c linh kin tng thch v tc , do vy cc mch in o lng v iu khin s
ch tp trung vo 2 loi bus l:
-

ISA 8 bit (PC 8 bit)

ISA 16 bit.

2.3.2 Gii thiu mt s loi BUS


2.3.2.1. Bus PC
GND
RESET DRV
+ 5V
IRQ2
-5V
DRQ2
-12V
OWS
+12V
GND

B1

A1

B10

A10

B20

A20

B31

A31

SMEMW
SMEMR
IOW
IOR
DACK3
DRQ3
DACK1

DRQ1
DEF

CLK
IRQ7
IRQ6
IRQ5
IRQ4
IRQ3
DACK2

T/C
ALE
+5V
OSC

I/ O CH CK
D7
D6
D5
D4
D3
D2
D1
D0
I/ O CH RDY
AEN
A19
A18
A17
A16
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0

Hnh 2.22 S chn ca Bus PC (ISA 8bit)

33

Kch thc hnh hc:


+ Chiu cao: 106,7 mm (hay 4,2 inch)
+ Chiu di: 333,5 mm (hay 13,3 inch)
+ Chiu dy - k c linh kin: 12,7 mm (hay 0,5 inch)
Bus PC l loi bus xut hin trn my tnh PC/XT, loi bus ny tn dng cu
trc ca b vi x l Intel 8088 nn c 1 bus d liu 8 bit v bus a ch 20 bit. Rnh
cm ni vi bus PC c 62 chn cho php cm vo 1 card m rng lm t mt tm
mch in 2 mt c 62 tip im. V bus ny c 8 bit d liu nn cn c gi l bus 8
bit hay bus ISA 8 bit. Bus PC hot ng tn s 4,772727 MHz.
Bng 2.2 Chc nng cc chn ca bus PC
Tn hiu

M t

A0-A19

Bus a ch 20 bit

AEN

Cho php a ch (Address enable - li ra)

D0- D7

Bus d liu (li vo/ li ra)

CLK

Tn hiu gi nhp (4,772727 MHz)

ALE

Cho php cht a ch (Address latch enable - li ra)

IOR

Tn hiu cho php c

IOW

Tn hiu cho php ghi

SMEMR

Tn hiu c b nh h thng, bo hiu mt chu trnh bus c


b nh h thng trong phm vi bus a ch 20 bit (System
memory read)

SMEMW

Tn hiu ghi b nh h thng, bo hiu mt chu trnh bus ghi


b nh h thng trong phm vi bus a ch 20 bit (System
memory write)

DRQ1-DRQ3

Tn hiu yu cu truy nhp b nh trc tip t ngoi

DACK1-DACK3

Tn hiu chp nhn yu cu truy nhp b nh trc tip

IRQ2-IRQ7

Tn hiu yu cu ngt t thit b ngoi

OSC

Tn hiu ng h c tn s 14.31838 MHz

RESET

t li trng thi ban u cho bn mch m rng cm vo


bus ISA.

5V 12V v GND

Ngun dng cho card m rng.

3.2.2. Bus ISA ( 16 bit)

34

y l loi bus c cu trc theo tiu chun cng nghip (ISA - Industry
Standard Architecture). u im ca bus ny l c th cho php cng mt lc x l
vi 16 bit d liu. Bus ISA thc cht l bus PC c b xung thm 1 rnh cm th hai
thng hng trn cha 8 bit d liu v 4 ng dn a ch.

MEM CS16
I / O CS16
IRQ10
IRQ11
IRQ12
IRQ13
IRQ14
DACK 0
DRQ0
DACK 5
DRQ5
DACK 0
DRQ6
DACK 7
DRQ7
Vcc
MASTER

D1

C1

D10

C10

D18

C18

SBHE
LA23
LA22
LA21
LA20
LA19
LA18
LA17
MEMR
MEMW
SD08
SD09
SD10
SD11
SD12
SD13
SD14
SD15

GND

Hnh 2.23 S rnh cm th hai ca Bus ISA

Bng 2.3 Chc nng cc chn ca bus ISA


Tn hiu

M t

LA17-LA23

Phn cao ca bus a ch.

SBHE

Cho php byte cao ca bus d liu (System byte high enable)

SD08-SD15

8 bit cao ca bus d liu

MEMR

Tn hiu c b nh

MEMW

Tn hiu ghi b nh

DRQ0,DRQ5-DRQ7

Cc tn hiu yu cu truy nhp trc tip b nh.

DACK0- DACK7

Cc tn hiu xc nhn yu cu truy nhp trc tip b nh.

MASTER

Tn hiu ny cho php b vi x l khc iu khin: ng dn


iu khin, ng dn d liu v ng dn a ch ca h
thng.

IRQ10-IRQ12;
IRQ14-IRQ15

Tn hiu yu cu ngt

35

Vcc

in p ngun +5V

3.2.3. Ghp ni vi bus ISA


Hnh 2.25 l mt v d in hnh cho k thut ghp ni BUS ISA. Vi mch
74HC688 c chc nng so snh a ch c a vo t cc ng a ch ca BUS
ISA v a ch c t trc cc chn Q0 n Q7 ca vi mch ny, nu cc tn hiu
t A2 n A9 bng Q0 n Q7 s c mt mc logic 0 u ra P = Q . Mc logic ny
s dng iu khin b iu khin BUS 74HC245 v b gii m ghi c 74HC138.
Vi mch ADC0804 c ghp vo BUS ISA thng qua 74HC245 v c la chn
bng u ra Y0 ca 74HC138. Nh vy, a ch ca ADC trong mch ny l 300h.
Di y l giao din chng trnh hin th gi tr in p c c t ADC qua mch
ghp ni ISA.

Hnh 2.24 Giao din chng trnh hin th gi tr in p c c t ADC

36

U28
5
Do
D1
D2
D3
D4
D5
D6
D7

2
3
4
5
6
7
8
9

VCC

1
19
20

B1
B2
B3
B4
B5
B6
B7
B8

A1
A2
A3
A4
A5
A6
A7
A8

18
17
16
15
14
13
12
11

DIR
OE

Do
D1
D2
D3
D4
D5
D6
D7

11
12
13
14
15
16
17
18

INTR

WR
RD
CS

DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0

CLKIN
CLKR
VREF/2
-IN
+IN

3
2
1
4
19
9
7
6
ANALOG IN

ADC0804

VCC
74HC245
B

2
1

A
Ao
A1
/IOW

/IOR

1
2
3
A
Y

VCC

6
4
5

U24
A
B
C
G1
G2A
G2B

Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

15
14
13
12
11
10
9
7

74LS138
B

A
A2
A3
A4
A5
A6
A7
A8
A9

VCC

2
4
6
8
11
13
15
17
3
5
7
9
12
14
16
18

AEN
1
VCC
20

P0
P1
P2
P3
P4
P5
P6
P7

2
1

P=Q

19

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
OE
VCC
74HC688

Hnh 2.25 B ADC0804 c ghp vo BUS ISA

Cu trc bn trong cng song song c ba thanh ghi trc khi a ra cc chn
ngoi cng. Thc cht vic trao i d liu vi cng song song l truy nhp cc thanh
ghi ny. Mun a d liu trong my tnh ra dng thanh ghi d liu v thanh ghi iu
khin, thanh ghi trng thi a thng tin t ngoi vo my tnh.

2.4 Bi tp cui chng


1. Hy nu cu chc nng cc thanh ghi bn trong ca cng song song.

37

2. Hy nu chc nng ca cc vi mch m cht, khi no cc vi mch c s dng


lm b m, khi no th c s dng lm b cht.
3. Thit k Modul vo ra 8 bit qua cng my in, thit k giao din v vit chng trnh
xut d liu ra cng my in qua thanh ghi d liu sau c vo qua thanh ghi trng
thi vi giao din hnh 2.26.
4. Thit k mch iu khin ng c in mt chiu qua cng song song, iu khin
dng, chy, o chiu, tng tc bng cc phm t bn phm hoc cc nt iu khin
trn giao din.

Hnh 2.26 Giao din chng trnh bi tp 2

38

Chng 3 Ghp ni trao i tin ni tip


Phng php ghp ni trao i tin ni tip l mt trong nhng k thut c s
dng ph bin nht ghp ni cc thit b ngoi vi vi my tnh. Qua cng ni tip
ta c th ghp ni chut, bn phm, my in, modem v cc thit b o lng v iu
khin. c bit l ghp ni qua cng USB th s lng v chng loi cc thit b ng
hng u trong s cc kh nng ghp ni vi my tnh. Vi cc mch thit k chuyn
dng nh nhng modul ghp ni vi my tnh iu khin cc thit b bn ngoi hay
thu thp cc tn hiu vt l th c th chn gii php l ghp ni qua cng RS-232 hay
cng USB. Ty theo cc ng dng thit k n gin hay phc tp m chn gii php
ghp ni qua cng RS-232 hay qua cng USB. Chng ny s gii thiu v cng ni
tip v cng USB v phng php ghp ni truyn nhn d liu.

3.1 Khi nim v truyn tin ni tip


3.1.1 Khi nim
Truyn tin ni tip l phng thc truyn tin trong cc bit mang thng tin
c truyn k tip nhau trn mt ng dn vt l. Ti mt thi im pha bn truyn
cng nh bn nhn ch c th truyn/nhn c 1 bit.
So vi truyn tin song song th truyn tin ni tip c mt s u, nhc im
sau:
-

u im: Truyn c khong cch xa, tit kim ng truyn dn, truyn tin
ni tip c u th hn so vi truyn tin song song.

Nhc im: Tc truyn chm hn, phc tp hn do cc thit b thng phi c


cc khi chuyn i ni tip sang song song, song song sang ni tip khi s dng
phng thc ny trao i tin.

3.1.2 Cc phng thc truyn tin ni tip


C 3 phng thc truyn tin ni tip:
-

Phng thc ng b: Cc byte cha cc bit thng tin c truyn lin tip trn
ng truyn v ch c ngn cch nhau bng bit ng b khung (Syn). Hnh
3.1.a.

39

Phng thc khng ng b: Cc byte cha cc bit thng tin c cha trong mt
khung. Mt khung c bt u bng 1 bit Start, tip theo l cc bit mang thng
tin, k tip l bit kim tra chn l v kt thc l bit Stop. Khong cc gia cc
khung l cc bit dng bt k, Khi ng truyn c y ln mc cao (Hnh
3.1.b).

Phng thc lai: y l phng thc kt hp ca 2 phng thc trn, trong cc


bit trong 1 khung c truyn theo phng thc khng ng b cn cc byte c
truyn theo phng thc ng b.

Syn Cc bit mang thng tin

Syn Cc bit mang thng tin

a)

Start

b)

Cc bit mang thng tin

Parity
Stop

Start

Hnh 3.1 Cc phng thc truyn tin ni tip


a, Phng thc truyn tin ng b
b, Phng thc truyn tin khng ng b

3.2 Cng ni tip


3.2.1 Gii thiu
Cng ni tip l mt giao din rt ph bin trn my tnh, cng ny c mt s tn
gi thng dng nh cng COM (COM 1, COM 2...) hoc cng RS-232 (Recommended
Standard).
Chun RS-232 ch cho php s dng ng truyn ngn vi tc bit thp. Cc
tiu chun truyn thng ra i sau nh RS-422, RS-449 hay RS-485 cho php truyn vi
khong cch di v tc bit rt cao.
Ging nh cng my in, cng ni tip c s dng kh rng ri v thun tin cho
vic ghp ni my tnh vi cc thit b ngoi. Khong cch truyn cng ni tip c ci
thin hn so vi cng song song v in p chnh lch gia 2 mc logic 0 v 1 l kh ln.

40

Hnh 3.2. Giao din ca cng ni tip trn my tnh

Bng 3.1 Chc nng cc chn tn hiu cng ni tip

Chn K hiu
1
2
3
4
5
6
7
8
9

DCD
RxD
TxR
DTR
GND
DSR
RTS
CTS
RI

ngha
Data carrier detect - Pht hin tn hiu mang d liu
Receive data - Nhn d liu
Transmit data - Truyn d liu
Data terminal ready - D liu u cui sn sng
Signal ground - Ni t
Data set ready- D liu sn sng c nhn
Request to send - Tn hiu yu cu gi
Clear to send - Tn hiu yu cu xo gi tip
Ring indicator Bo chung

Mt s thng s c trng ca cng ni tip:


-

in p quy nh i vi mc logic 1 nm trong khong t 3V n 12V; mc


logic 0 l +3V n +12V.

Tc truyn d liu c quy nh chun gm cc tc sau: 300, 600, 1200,


2400, 4800, 9600,19200, 28800, v 56600 baud

di cc i ca cp kt ni l 15m (Trong trng hp khng c cc b m, b


lp).

Vic truyn d liu qua cng ni tip RS-232 c thc hin theo kiu khng
ng b, cc byte cha cc bit thng tin c cha trong mt khung. Khun mu
khung truyn c bt u bng bit Start, bit ny lun mc 0. Tip theo l cc bit

41

mang thng tin, cc bit mang tin trong khung truyn thng l 5, 6, 7 hoc 8 bit c
gi di dng m ASCII, ri n mt bit chn l v cui cng l bit dng (Stop), bit
dng lun mc 1. Khong thi gian phn cch gia cc bit quy nh tc truyn.
C b truyn v b nhn u phi c t tc bng nhau v tn hiu d liu ch
xut hin trong khong thi gian tng i ngn. Hnh 3.3 m t gin mc logic th
hin mt khung truyn d liu ni tip qua RS232.
Bit
Bt
u

A'

(01000001)

Bit
Chn
l

Bit
dng

S0

-12V

+12V
0

D0

D1

D2

D3

D4

D5

D6

D7

S1

Hnh 3.3 Khun mu khung truyn k t A qua cng ni tip

Trn my tnh c th c 4 cng ni tip, tuy nhin ngy nay v l do kinh t nn


hu ht cc my tnh bn ngi ta ch b tr 2 cng gi l COM1 v COM2. a
ch ca cc cng ni tip nh sau:
Cng Com 1

a ch c bn: 3F8H

Cng Com 2

a ch c bn: 2F8H

Cng Com 3

a ch c bn: 3E8H

Cng Com 4

a ch c bn: 2E8H

S trao i ca cc ng dn tn hiu:
3.2.2 Lp trnh cho cng ni tip RS232
Trn my tnh c 1 vi mch c chc nng truyn/nhn d liu thng qua cng
ni tip, vi mch gi l UART (Universal Asynchronous Receiver/Transmister - b
truyn nhn ni tip khng ng b). UART ph bin nht l vi mch 8250 ca hng
Intel v cc phin bn cao hn ca vi mch ny nh 16450, 16550, 16750... Vi mch
ny thng c hn c nh trn Main gn giao din cng ni tip. Vic trao i d
liu qua cng ni tip thc cht l vic truy xut cc thanh ghi ca vi mch. Trn h
iu hnh Windows cng c sn mt chng trnh truyn nhn c tn l Hyper
Terminal, chng trnh ny cho php truyn/nhn cc k t nn c th dng kim

42

tra cc mch ghp ni cng ni. Tuy nhin, c cc ng dng th cn phi lp trnh
ch khng th da vo mt chng trnh c sn c. iu u tin khi lp trnh
vi cng ni tip l phi tm hiu cc thanh ghi ca b UART tng ng trn my tnh
.
3.2.2.1 Cc thanh ghi ca cng ni tip
Thanh ghi iu khin modem (a ch c s +4 (3FCH))
C7

C6

C5

C4

C3

C2

C1

C0

Loop Out2 Out2 RTS DTR

Trng thi ca 2 bit C1 v C0 trn thanh ghi ny c lin quan trc tip ti cc
ng dn RTS (7) v DTR (4). D1=D0=1 th trn 2 chn RTS v DTR s c mc
in p tng ng mc logic 1 (-12V) v ngc li.
LOOP: Bit ny t bng 1 th 8250 hot ng ch vng (TXD ni vi
RXD) ch ny cho php kim tra dng truyn nhn ca cng COM trn cng mt
my tnh.
Cu lnh sau:
Out &H3FC, 0
thit lp cho chn 7, 4 ca cng RS232 mc 0 tng ng + 12V
Out &H3FC, 3
thit lp cho chn 7, 4 ca cng RS232 mc 1 tng ng -12V
Thanh ghi trng thi modem (a ch c s +6).(3FEH)
S7

S6

RLSD

RI

S5

S4

S3

S2

S1

S0

DSR CTS DRLSD TERI DDSR DCTS

Thanh ghi ny c chc nng thng bo v trng thi cc ng dn bt tay.


iu ch thanh ghi ny l c 3 bit D4, D5, D6, y chnh l li vo ca cc ng
dn CTS (8), DSR(6) v RI (9).
Thanh ghi iu khin ng truyn ( a ch: 3FBH)
C7

C6

C5

C4

C3

C2

C1

C0

43

Thanh ghi iu khin ng truyn c chc nng t cc thng s cho ng


truyn, ngha tng bit nh sau:
C1,C0 : t s bit trong mt byte:

00 - 5 bit, 01 6 bit
10 7 bit, 11 8 bit

C2: t s bit dng

0 1 bit dng
1 1,5 bit dng

C3 : Bit kim tra chn l (parity)

0 - Khng kim tra chn l


1 - C

C4 : Loi parity

0 - Parity l
1 - Parity chn

C5 : Bit nh du khung cn
kim tra chn l (Stick bit)
C6 : Bit iu khin ng truyn
(break bit)

0 Khng c stick bit


1 Stick bit
0 Truyn nhn bnh thng
1 Dng (khng truyn nhn)

C7: DLAB (Divisor Latch Access Bit): Bit phn chia truy nhp cho cc thanh
ghi c cng a ch (do 8250 c 3 bit a ch nhng c ti 9 thanh ghi).
Nu DLAB = 1 th:
a ch 3F8H l a ch ca thanh ghi cha byte thp ca s chia tc baud
a ch 3F9H l a ch ca thanh ghi cha byte cao ca s chia tc baud
Nu DLAB = 0 th:
a ch 3F8H l a ch ca thanh ghi m ghi/c
a ch 3F9H l a ch ca thanh ghi cho php ngt
Thanh ghi trng thi ng truyn ( a ch c s +5-3FDH)

44

Thanh ghi ny phn nh trng thi ca ng truyn ni tip.

S6

S5

S4

S3

S2

S1

S0

S0 = 1 khi c 1 byte mi nhn c


S1 = 1 khi k t trc cha c c, k t mi n s xo k t c trong b
m
S2 = 1 khi c li chn l
S3 = 1 khi c li khung truyn
S4 = 1 khi c gin on ng truyn
S5 = 1 khi b truyn rng, cng ni tip c th truyn/nhn.
S6 = 1 khi b m truyn rng.
S7 = 0 (Khng s dng)
Bit S0 tng ng RI; bit S6 tng ng TI
Thanh ghi m ghi/c ( a ch c s l 3F8H).
Thanh ghi c a ch c s l thanh ghi m ghi/c khi DLAB = 1 cng
Tng ng SBUF
Thanh ghi ny lu tr tm thi d liu c truyn/nhn t 2 chn RXD v
TXD.
Thanh ghi cha s chia tc Baud (byte thp: 3F8H-DLAB=1 ).
Thanh ghi ny gm 8 bit, cha phn thp ca s chia tc baud. S chia tc
baud c tnh theo cng thc sau:
S chia tc baud =

1843200
(t l tc bound cn thit lp)
16 * t

Thanh ghi cha s chia tc Baud (byte cao: 3F9H-DLAB=1).

45

Nu cn c tc baud l 9600 th s chia tng ng s l 12, khi byte thp


ca s chia tc baud s c np gi tr bng 12, byte cao c np gi tr bng 0.
Ta c th thc hin bng cc cu lnh nh sau:
Out &H3FB, &H80
Out &H3F8, 12
Out &H3F9, 0
Thanh ghi cho php ngt (a ch c s +1; DLAB=0).

E3

E2

E1

E0

Khi cc bit cho php ngt c t bng 1 th cho php ngt


Khi cc bit cho php ngt c t bng 0 th cm ngt tng ng
E0: t ngt khi nhn c 1 k t
E1: t ngt khi b m truyn rng
E2: t ngt khi thay i trng thi ng truyn
E3: t ngt khi khi thay i trng thi Modem
Thanh ghi nhn dng ngt. ( a ch c s +2)
0

S2

S1

S0

Bng 3.2 Cc mc u tin ca tng ngt

46

Mc u tin Ngun gy ngt t li ngt

S2

S1

S0

Khng kim tra ngt

Cao nht

Li ng nhn c thanh ghi trng


d liu
thi ng truyn

Th 2

C d liu nhn c thanh ghi m nhn

Th 3

Thanh ghi m
truyn rng

c thanh ghi IR hoc ghi


ghi vo b m truyn

Th 4

Cc trng thi
ca Modem

c thanh ghi trng thi


Modem

3.2.2.2 Lp trnh cho cng ni tip


Mt chng trnh trao i d liu qua cng ni tip c bt u bng vic t
cc thng s cho ng truyn ni tip, tip l cc thao tc truyn/nhn qua thanh
ghi m. on chng trnh v d sau y s khi to cho cng ni tip tc 9600
baud, 1 bit dng, khng kim tra chn l, khng stick, khng break v khng dng
ngt:
Private Sub Form_Load()
Out &H3FB, 128
Out &H3F8, 12
Out &H3F9, 0
Out &H3FB, 3
End Sub
Vic c 1 byte d liu c bt u bng vic kim tra b m nhn. Nu c 1
byte d liu c nhn, bit Do ca thanh ghi trng thi ng truyn s c t bng
1. Du hiu ny cng c th c kim tra thanh ghi nhn dng ngt (nu c s dng
ngt). Chng trnh di y s minh ho c th hn:
Dim x As Byte
Dim y As Byte
Private Sub Form_Load()
Out &H3FB, 128
t DLAB = 1
Out &H3F8, 12
Out &H3F9, 0
9600 baud
Out &H3FB, 3
Out &H3F9, 0
Khng dng ngt
Out &H3FC, 0
Khng kt ni modem
Do
x = Inp(&H3F8 + 5) And 1
Loop Until x = 1
y = Inp(&H3F8)
Out &H3F8 + 5, &H7E
End Sub
Vic gi 1 byte d liu cng tng t nh nhn. Trc tin ta cn kim tra b
m truyn, nu b m truyn rng (bit D6 ca thanh ghi trng thi ng truyn
bng 1) s tin hnh truyn bng cch np byte d liu cn truyn vo b m truyn.
Chng trnh di y s minh ho c th:

47

Dim x, y As Byte
Private Sub Form_Load()
Out &H3FB, 128
t DLAB = 1
Out &H3F8, 12
Out &H3F9, 0
9600 baud
Out &H3FB, 3
Out &H3F9, 0
Khng dng ngt
Out &H3FC, 0
Khng kt ni modem
Do
x = Inp(&H3F8 + 5) And &H40
Loop Until x = &H40
Out &H3F8, y
Out &H3F8 + 5, &H3F
End Sub
Khi truyn/nhn nhiu byte trong 1 chng trnh th cn ph xa c
truyn/nhn (bit S6 v S0 ca thanh ghi trng thi ng truyn) sau mi ln
truyn/nhn.
Trong ngn ng lp trnh Visual Basic ta c sn cc hm thit lp cc thng s
cho cng ni tip. s dng ta thm i tng MScomm bng cch chn Microsoft
comm. Control 6.0 trong components.
Di y l on chng trnh khi to cho cng ni tip tc 9600 baud, 1
bit dng, khng kim tra chn l, cho php nhn k t v hin th trong text1.

Hnh 3.4 Giao din nhn mt byte qua cng ni tip

48

Private Sub Form_Load()


With MSComm1
' thiet dat cac thong so cho cong COM1
.Settings = "9600,N,8,1" ' thiet dat cau hinh cong
.CommPort = 1
.RThreshold = 1
.SThreshold = 0
.InputMode = 0 'comInputModeText 0
.InputLen = 0
.Handshaking = comNone
.InBufferSize = 1024
.OutBufferSize = 1024
If .PortOpen = False Then
.PortOpen = True
End If
End With
End Sub
Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = 2 Then
kt = MSComm1.Input
temp = Asc(kt) ' tra ve ma Asc cua ky tu nhan
Text1.Text = Str(temp)
End If
End Sub
Di y l on chng trnh khi to cho cng ni tip tc 9600 baud, 1
bit dng, khng kim tra chn l, cho php nhn chui k t vi di ca chui l 3
byte.
Private Sub Form_Load()
Dim kt As String
Text3.Text = " "
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1
MSComm1.InputLen = 3
MSComm1.InputMode = 0 'mode text
MSComm1.PortOpen = True
End Sub

49

Private Sub MSComm1_OnComm()


Dim x, y, z As String
If MSComm1.CommEvent = comEvReceive Then
x = MSComm1.Input
End If
End Sub
3.2.3 Modul vo ra 8 bit dng cng RS232
a phn cc thit b ghp ni thng l 8 bit d liu hoc 16 bit, ghp ni
trao i tin ni tip ta phi thit k Modul c chc nng chuyn d liu t song song
thnh ni tip v ngc li. Ht nhn ca Modul ny l mt b vi iu khin, vi mch
ny c th m nhim chc nng nh mt b thu pht ni tip khng ng b (UART)
lp trnh c. C th dng s dng bt k vi iu khin no min l vi iu khin
c cng ni tip tng thch vi RS-232, gio trnh ny s gii thiu v vi iu khin
89S52. Ngoi ra, phn cng ca Modul cn s dng c vi mch MAX232 lm nhim
v chuyn i mc t TTL sang RS232 v ngc li.
3.2.3.1. Vi mch MAX232.
MAX232 l vi mch ca hng MAXIM cha hai b chuyn mc t TTL
sang RS232 v hai b lm chc nng ngc li.
Trong hnh 3.5, hai b chuyn mc R1INR1OUT, R2INR2OUT lm chc
nng chuyn mc t RS232 sang TTL cn hai b chuyn mc T1IN T1OUT, T2IN
T2OUT lm chc nng chuyn mc t TTL sang RS232.

Hnh 3.5 S cu trc vi mch MAX232

3.2.3.2. Vi iu khin 89S52


89S52 l mt b vi iu khin bn trong n c mt b UART c kh nng t
cu hnh bng phn mm rt tin dng khi thit k mt Modul vo ra 8 bit cng ni
tip.

50

Hnh 3.6 S 89C52/89S52 kiu DIP 40 chn

B vi iu khin AT89S52 gm cc khi chc nng chnh sau y:


CPU (Central processing unit ) bao gm :
-

Thanh ghi tch ly A

Thanh ghi tch ly ph B, dng cho php nhn v php chia

n v logic hc (ALU : Arithmetic Logical Unit )

T trng thi chng trnh (PSW : Prorgam Status Word)

Bn bng thanh ghi

Con tr ngn xp

B nh chng trnh (B nh ROM) gm 8Kb Flash.


B nh d liu (B nh RAM) gm 256 byte.
B UART (Universal Ansynchronous Receiver and Transmitter) c chc
nng truyn nhn ni tip, AT89S52 c th giao tip vi cng ni tip ca my tnh
thng qua b UART.
3 b Timer/Counter 16 bit thc hin cc chc nng nh thi v m s kin.
WDM (Watch Dog Timer): WDM c dng phc hi li hot ng ca
ca CPU khi n b treo bi mt nguyn nhn no . WDM AT89S52 gm mt

51

b Timer 14 bit, 1 b Timer 7 bit, thanh ghi WDTPRG (WDT programable) iu


khin Timer 7 bit v mt thanh ghi chc nng WDTRST (WDM register). Bnh
thng WDT khng hot ng (b cm), cho php WDT, cc gi tr 1EH v
E1H cn phi c ghi lin tip vo thanh ghi WDTRST. Timer 14 bit ca WDT s
m tng dn sau mi chu k ng h cho n gi tr 16383 th xy ra trn. Khi xy
ra trn, chn Reset s c t mc cao trong khong thi gian 96 Tosc
(Tosc=1/Fosc) v AT89S52 s c reset. Khi WDT hot ng, ngoi tr Reset
phn cng v Reset do WDT trn th khng c cch no c th cm c WDT, v
vy khi s dng WDT th cc on m ca chng trnh phi c t trong cc
khe thi gian gia cc ln WDT c khi to li.
Thanh ghi WDTPRG:

Khi iu khin ngt vi 2 ngun ngt ngoi v 4 ngun ngt trong.


B lp trnh (ghi chng trnh ln Flash ROM) cho php ngi s dng c
th np cc chng trnh cho chip m khng cn cc b np chuyn dng.
B chia tn s vi h s chia l 12.
4 Ports xut nhp vi 32 chn.
a, Chc nng ca cc ports
Port 0 gm 8 chn, ngoi chc nng xut nhp, Port 0 cn l bus a hp d
liu v a ch (AD0-AD7), chc nng ny s c s dng khi AT89S52 giao tip
vi cc thit b ngoi c kin trc Bus nh cc vi mch nh, mch PIO.
Chc nng duy nht ca Port 1 l chc nng xut nhp, cng nh cc Port
khc, Port 1 c th xut nhp theo bit v theo byte. Ring dng 89Sxx, ba chn
P1.5, P1.6, P1.7 c dng np ROM theo chun ISP ; hai chn P1.0 v P1.1
c dng cho b Timer 2.
Port 2 ngoi chc nng l cng vo/ra nh port 0 v port cn l byte cao ca
bus a ch khi s dng b nh ngoi.
Mi chn trn Port 3 ngoi chc nng xut nhp cn c mt chc nng ring,
c th nh sau:

52

Bit

Tn

Chc nng

P3.0

RXD

D liu nhn cho Port ni tip

P3.1

TXD

D liu pht cho Port ni tip

P3.2

INT0

Ngt 0 bn ngoi

P3.3

INT1

Ngt 1 bn ngoi

P3.4

T0

Ng vo ca Timer/counter 0

P3.5

T1

Ng vo ca Timer/counter 1

P3.6

/WR

Xung ghi b nh d liu ngoi

P3.7

/RD

Xung c b nh d liu ngoi

b, Chc nng ca cc b nh thi


B nh thi (Timer) c s dng trong hu ht ng dng iu khin.
AT89S52 c ba b Timer 16 bit. Hai b Timer 0 v Timer 1 c bn ch hot
ng, Timer 2 c ba ch hot ng. Cc b Timer c dng hn gi, m s
kin xy ra bn ngoi b vi iu khin hoc to tc baud cho cng ni tip bn
trong.
Trong cc ng dng nh khong thi gian, Timer c lp trnh sao cho s
trn sau mt khong thi gian v thit lp c trn bng 1. C trn c dng
ng b chng trnh nhm thc hin mt tc ng nh kim tra trng thi ca cc
ng vo hoc gi cc s kin ra cc ng ra. Cc ng dng khc c th s dng vic
to xung nhp u n ca Timer o thi gian tri qua gia hai s kin (v d :
o rng xung).
m s kin dng xc nh s ln xy ra ca mt s kin. Trong ng
dng ny ngi ta tm cch quy cc s kin thnh s chuyn mc t 1 xung 0 trn
cc chn T0,T1,T2 dng cc Timer m cc s kin .
Cc Timer cn c s dng to tc baud cho cng ni tip.
Thanh ghi TMOD cha hai nhm 4 bit dng t ch lm vic cho
Timer 0 v Timer 1.

GATE C/T M1 M0 GATE C/#T M1 M0

Timer 1

Timer 0

Thanh ghi TCON cha cc bit trng thi v cc bit iu khin cho Timer 0
v Timer 1.
TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0
TF1

TR1

TF0

TR0

IT1

IE1

IT0

IE0

Cc Timer0 v Timer1 u l cc Timer 16 bit, mi Timer c 2 thanh ghi 8 bit


dng cha gi tr khi to hoc gi tr hin thi ca cc Timer. C th Timer 0
c TH0 v TL0; Timer 1 c TH1 v TL1. Lu cc thanh ghi ny khng nh a
ch bit.

53

Timer 0

TH0 (8bits)

Timer 1

TH1 (8bits)

TL0 (8bits)

TL1 (8bits)

Timer 2 c ba ch hot ng ch thu nhn (Captuer), ch t np li


(Auto - reload) v ch cung cp tc baud cho cng ni tip (Baud Rate
Generator).
b, Cng ni tip
AT89S52 c mt cng (Port) ni tip trong chip c th hot ng nhiu ch
khc nhau vi cc tc khc nhau. Chc nng ch yu ca Port ni tip l thc
hin chuyn i song song sang ni tip vi d liu xut v chuyn i ni tip
sang song song vi d liu nhp c th giao tip vi my tnh (hnh 2.30) qua
cng ni tip hoc cc thit b tng t.
TXD
CLK

Xung
to tc
baud
(truyn)

SBUF
(ch ghi)

RXD
D Thanh ghi dch
CLK

Bus

Xung
to tc
baud
(nhn)

SBUF

Hnh 3.7 S khi Port ni tip ca 89S52

Port ni tip c bn ch hot ng, trong ch 1, Port ni tip hot


ng nh mt b UART 8 bit c tc thay i. D liu c truyn ni tip trn
chn TXD v nhn ni tip trn chn RXD, ch ny cung cp cho AT89S52 mt
cng c giao tip vi my tnh qua cng Com.
Vi ch 1, 1 khung truyn s gm 10 bit, ngoi 8 bit d liu ra cn c 1 bit
start ( mc thp) v 1 bit stop ( mc cao), LSB cng c truyn trc, MSM
c truyn sau.
Tc baud ca Port ni tip trong ch 1 c th c cung cp bi Timer
1 hoc Timer 2 hoc ng thi c 2 b Timer nu mun tc truyn v tc
nhn khc nhau (hnh 3.10).

54

RXD
TXD

RI
TI

Hnh 3.9 Gin truyn nhn d liu ch 1.

Khi s dng cc b Timer cung cp tc baud cho Port ni tip th thanh


anh c tn s 11.0592 Mhz c khuyn co nn dng v vi tn s ny s to c
cc tc baud chun vi sai s bng 0.
V d mun c tc baud l 9600 th cn c tc trn ca Timer 1 l f1 =
9600 x 32 = 307200 (Hz). Nu s dng thnh anh 11.0592 Mhz th tn s ca xung
clock cp cho Timer 1 s l f2 = 11059200 /12 (Hz). Nh vy cn khi to cho
Timer 1 gi tr nh hn gi tr xy ra trn l f2/f1=3 ngha l Timer 1 s c t
ch 2 v gi tr np cho TH1 l -3.
Trn hnh 3.10, khi TCLK = RCLK = 1 th tc baud ca Port ni tip c
cung cp bi Timer 2.
Khc vi Timer 1, Timer 2 c cp xung clock c tn s bng 1/2 tn s ca
b dao ng thch anh, theo hnh 2.37, gi s cn tc baud l 9600 th gi tr
np cho Timer 2 s l -(11059200/2)/(9600x16) = -36.

Hnh 3.10 Dng Timer 1, 2 cung cp tc baud cho Port ni tip.

55

Khi cn c tc baud khc nhau cho ng truyn v ng nhn th c th


s dng c 2 b Timer (hnh 2.35). Nu t TCLK=1 v RCLK=0 th tc baud
ca ng truyn s c cung cp bi Timer 2, tc baud ca ng nhn s
c cung cp bi Timer 1. Nu t TCLK=0 v RCLK=1 th tc baud ca
ng truyn s c cung cp bi Timer 1, tc baud ca ng nhn s c
cung cp bi Timer 2.
/32
Tc
trn ca
Timer 1

Fosc/12

SMOD=0
Tc baud ca
Port ni tip
SMOD=1

/16

Hnh 3.11 Dng Timer 1 cung cp tc baud cho Port ni tip


(TCLK = RCLK = 0).

Fosc/2

Tc
trn ca
Timer 2

/16

Tc
baud ca
Port ni
tip

Hnh 3.12 Dng Timer 2 cung cp tc baud cho Port ni tip

Thao tc trao i d liu qua Port ni tip khng n thun ch l vic ghi/c
d liu nh trao i d liu trc tip qua cc Port m cn bao gm 3 thao tc chnh
nh sau:
- Khi to cng ni tip:
+ Truy xut SCON t cc thng s nh ch hot ng, cho php
thu...
+ Thit lp hoc xo bit SMOD ca thanh ghi PCON t h s chia
ca tc baud.
+ Truy xut cc thanh ghi ca cc b Timer 1v Timer 2 t tc
baud cho Port ni tip (ch vi ch 1 v 3).
- Kim tra c TI (khi truyn) v kim tra c RI (khi nhn).
- Ghi/c byte d liu SBUF.
3.2.3.3 Modul vo ra 8 bit qua cng RS-232

56

VCC
CP232

IC232
14
13
2
VCC

C3232
10uF

16

T1OUT
R1IN
V+

10uF

15
6

R1OUT
C1+

VCC

C1C2+

GND

C2-

VB1
C4232

T1IN

V-

R2IN
T2OUT
R2OUT
T2IN

11

TX

12
1

RX

3
4
5
8
7
9
10

MAX232

C5232
10uF
C6232
10uF

29
30
11
10
28
27
26
25
24
23
22
21
32
33
34
35
36
37
38
39

P3.6/WR
P3.7/RD
PSEN
ALE
P3.1/TXD
P3.0/RXD
P2.7/A15
P2.6/A14
P2.5/A13
P2.4/A12
P2.3/A11
P2.2/A10
P2.1/A9
P2.0/A8

RST
X2
X1
EA
P3.4/T0
P3.5/T1
P3.2/INT0
P3.3/INT1

P0.7/AD7
P0.6/AD6
P0.5/AD5
P0.4/AD4
P0.3/AD3
P0.2/AD2
P0.1/AD1
P0.0/AD0

P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0

16
17

C3
C

SW1

9
18
19
31

VCC

33P

12
13
8
7
6
5
4
3
2
1

10K

C2

14
15
11.0592Mhz

SUB-D 9
1
6
2
7
3
8
4
9
5

VCC

IC1

0.1uF

Y1
C1

33P

8051

Hnh 3.13 Module vo ra 8bit cng ni tip

Di y l chng trnh truyn nhn k t cng ni tip ca vi iu khin


vit bng ngn ng lp trnh C.
Chng trnh truyn 1 byte t cng ni tip ca vi iu khin
#include<stdio.h>
#include<reg52.h>
char x;
void main(void)
{
SCON = 0x52;
//Port ni tip ch 1, REN=TI=1.
TMOD = 0x20;
//Timer 1 mode 2
TH1 = TL1 = -3; //Tc baud l 9600
TR1 = 1;
While ( !TI); //ch TI=1
TI=0;

//xo TI

SBUF=x;

//truyn byte d liu trong bin x

}
Chng trnh nhn 1 byte t cng ni tip ca vi iu khin
#include<stdio.h>
#include<reg52.h>
char x;
void main(void)
{
SCON = 0x52;
//Port ni tip ch 1, REN=TI=1.

57

TMOD = 0x20; //Timer 1 mode 2


TH1 = TL1 = -3; //Tc baud l 9600
TR1 = 1;
While ( !RI) ;
//ch RI=1
RI=0 ;

//xo RI

x=SBUF ;

//nhn byte d liu cha trong bin x

}
3.3 Cng USB (Universal Serial Bus)
3.3.1 Gii thiu
USB (Universal Serial Bus) l mt chun kt ni tun t trong my tnh. USB
s dng kt ni cc thit b ngoi vi vi my tnh, chng thng c thit k di
dng cc u cm cho cc thit b tun theo chun cm-l-chy (plug-and-play) vi
tnh nng cm v ngt cc thit b khng cn phi khi ng li h thng.
Cc giao din song song, ni tip, my qut hnh, my nh s, modem, th nh
v.vu c th u ni vo bus USB. Bus USB c a ra s dng ln u tin vo
u nm 1996 nhng phi n gia nm 1998 mi thc s c h tr y . Cc
thng s k thut ca bus USB c cc cng ty ln cng tham gia xy dng nh
Compaq, Digital Equipment, IBM, Intel, Microsoft, NEC v Northern Telecom. C
th ni bus USB nhanh chng tr thnh mt chun khng chnh thc. Hnh 3.14 l
biu tng gn trn cc thit b ghp ni vi cng USB.

Hnh 3.14 Biu tng ca cng USB

Sau khi c gii thiu c rt nhiu thit b s dng trong lnh vc in t


gia dng, truyn thng c thit k c th u ni vo bus USB. S h tr bus
USB th hin qua Win32 Driver Model (WDM) v nh vy cho php lp trnh cc
phn mm iu khin thng nht dng cho Windows 9x v NT.
Trong cc h iu hnh ra i t nm 1998 u c s h tr y cho bus
USB, chng hn trong Windows 98 hoc Windows NT 5.0. Trn thc t, trong cc
phin bn nng cp ca Windows 95 (t phin bn OEM-2.1) bt u c tnh nng
h tr. T phin bn OSR 2.0 ca Windows 95 s h tr cho USB c th nhn
c t chng trnh ci t.
Cc my tnh i mi hin nay u c trang b rt nhiu cng USB v thng
b bt cng LPT v cng RS-232 gn nh v gim chi ph. Nh vy, s ra i ca
USB nhm thng nht cc kiu ghp ni my tnh v cng mt dng.

58

3.3.2 Nhng c trng ca USB


- USB h tr cc cuc truyn ng thi, cc tn hiu video v m thanh, cc tn hiu
truyn c m bo
- USB h tr c cc thit b khng ng thi, cc thit b ng thi hay khng ng
thi u c th tn ti cng mt thi im.
- C kh nng m rng ti 127 thit b c th kt ni cng vo mt my tnh trn
mt cng USB duy nht (bao gm cc hub USB) v c cc thao tc xy ra ng thi.
- Nhng si cp USB ring l c th di ti 5 mt; vi nhng hub, c th ko di ti
30 mt.
-

Vi USB 2.0 (tc cao), ng truyn t tc ti a n 480 Mbps.

- Trn si ngun, my tnh c th cp ngun ln ti 500mA in p 5V mt chiu


(DC).
- Nhng thit b tiu th cng sut thp (v d: chut, bn phm, loa my tnh cng
sut thp...) c cung cp in nng cho hot ng trc tip t cc cng USB m
khng cn c s cung cp ngun ring thm tr c cc thit b gii tr s nh
SmartPhone, PocketPC ngy nay s dng cc cng USB xc pin.
- Nhng thit b USB c c tnh cm nng, iu ny c ngha cc thit b c th
c kt ni (cm vo) hoc ngt kt ni (rt ra) trong mi thi im m ngi s
dng cn m khng cn phi khi ng li h thng.
- Nhiu thit b USB c th c chuyn v trng thi tm ngng hot ng khi my
tnh chuyn sang ch tit kim in.
-

H tr kh nng nhn dng cc thit b mc li

3.3.3 Cu trc cng USB


Bus USB c hai kiu u ni khc nhau l kiu A v kiu B (hnh 3.15). H
thng c thit k sao cho khng xy ra hin tng u ni nhm. Khc vi chun
RS-232, vic u ni bus USB khng chia ra nhng kiu ni thng hay bt cho. Bus
USB s dng mt cp bn si dy ni vi cc thit b, trong mt cp ng
truyn hai si xon c dng lm cc ng dn d liu vi phn (D+ v D-), cn hai
cp kia c dng lm ng dn 5V v ng ni t chung GND. Cp ni lun
thc hin lin kt 1:1. S sp xp cc chn u ni cp lun tun theo quy nh nh
bng 3.4 .
Ty vo my tnh PC c cm kiu A hay kiu B m vic u ni vi my tnh
c thc hin bng mt cp kiu A-B hay cp kiu A-A. Cc cp dng ko di
khong cch t my tnh PC n thit b thng l kiu A-A. Cho n nay, cc cp ni

59

USB u c cc nh sn xut cung cp di dng hon chnh, trn , u cm,


di, cht lng bc kim chng nhiu u khng th thay i c. V vy, ty theo
mc ch s dng ta phi la chn cc thng s cp cho chnh xc, t chiu di n
loi u ni (A hay B). Chun A dng cm vo my tnh, chun B cm vo thit b
ngoi vi.
Bng 3.4 ngha chn cng USB

Chn

Tn gi

Mu dy

M t

Vcc

+5 VDC

D-

Trng

D liu -

D+

Xanh lc

D liu +

GND

en

Ni t

Hnh 3.15 Cc u cm kiu A v kiu B

Hnh 3.16 S chn cng USB kiu A v kiu B

Hnh 3.16 l s 4 ng bn trong USB mt dy dn kt ni USB, trong


, chn 1, 4 l ng ngun 5VDC chn 2, 3 l ng tn hiu.
cm USB ly ra t my tnh c th ly ra in p 5V vi dng in tiu th
khong 100mA. Tn hiu trn ng n D+ v D- l cc tn hiu vi phn vi mc
in p bng 0/3.3V

60

3.3.4 Truyn d liu qua cng USB


Bus USB l mt bus ni tip. D liu truyn trn bus tng t trong trng hp
cng ni tip, c th l theo tng bit k tip nhau. Mt im ng lu l d liu c
truyn trn cng cc ng dn theo hai hng, trong khi tiu chun RS-232 d liu
truyn trn cc ng dn khc nhau, mi ng ch theo mt hng. S khc nhau c
bn th hin ch cc giao din ni tip t trc n nay ch c th s dng cho mt
thit b nhng USB li cho php u ni n 127 thit b, cng chnh v vy c gi
l mt bus.
Mi thit b u ni vo bus nhn c mt a ch v cng chnh qua a ch
ny thit b c th trao i d liu vi my tnh PC cng nh cc thit b khc. V mt
tc vic trao i d liu qua bus USB nhanh hn qua cng RS-232.
Khi mt my tnh c cp ngun, n truy vn tt c thit b c kt ni vo
ng truyn v gn mi thit b mt a ch. Quy trnh ny c gi l lit k
nhng thit b c lit k khi kt ni vo ng truyn. My tnh cng tm ra t mi
thit b cch truyn d liu no m n cn hot ng:
- Ngt: Mt thit b nh chut hoc bn phm, gi mt lng nh d liu, s chn
ch ngt.
- Hng lot: Mt thit b nh mt chic my in, nhn d liu trong mt gi ln, s
dng ch truyn hng lot. Mt khi d liu c gi n my in (mt khi 64
byte) v c kim tra chc chn n chnh xc.
- ng thi: Mt thit b truyn d liu theo chui (ly v d nh loa) s dng ch
ng thi. Nhng dng d liu gia thit b v my trong thi gian thc, v khng
c s sa li y.
My tnh c th gi lnh hay truy vn tham s iu khin nhng gi tin. Khi
nhng thit b c lit k, my tnh s gi s kim tra i vi tng bng thng m tt
c nhng thit b ng thi v ngt yu cu. Chng c th tiu hao ti 90% ca
480Mbps bng thng cho php. Sau khi 90% c s dng, my tnh s t chi mi
truy cp ca nhng thit b ng thi v ngt khc. iu khin gi tin v gi tin cho
truyn ti hng lot s dng mi bng thng cn li (t nht 10%). USB chia bng
thng cho php thnh nhng khung v my tnh iu khin nhng khung . Khung
cha 1500 byte v mt khung mi bt u mi ms. Thng qua mt khung, nhng thit
b ng thi v ngt ly c mt v tr do chng c m bo bng thng m
chng cn. Truyn ti hng lot v iu khin truyn ti s dng phn cn li.
3.3.5 Hub USB
Khi cn u ni nhi thit b ta cn mt hp phn phi c gi l Hub, Phn
ln nhng my tnh ta mua ngy nay c nhiu u cm USB c thit k sn trn cc
cng vo/ra hoc cc u cm trn bo mch ch. Tuy nhin ngi s dng c th s
dng cc thit b ngoi vi hn s cng sn c qua kh nng m rng thit b trn cc
cng USB thng qua cc USB hub. Hub cng trnh xy ra tnh trng tn hiu tc

61

cao c chuyn giao xung tn hiu c tc thp. Trn hnh 3.17 mt USB hub cho
ra 4 cng USB 2.0

Hnh 3.17 Hub USB

Cc hub ny c th m rng ra rt nhiu cng v nu chng c cung cp


ngun in t bn ngoi (s dng cc b adapter cp ngun ring) s cho php cc
thit b USB s dng nng lng t hub m khng b hn ch bi cng sut gii hn
trn cng USB trn my tnh.
Cc USB hub hin nay rt a dng v chng loi, chun h tr, s cng m
rng, hnh dng v thit k tch hp. Nhiu thit b ngoi vi tch hp cc hub gip
cho ngi s dng d dng cm cc thit b kt ni qua cng USB, mn hnh my tnh,
bn phm my tnh...cng c th c tch hp USB hub.
Mt s thit b ngoi vi s dng cc cng USB cp ngun cho chng (nh
cc a cng gn ngoi khng c ngun c lp) vi yu cu cm vo ng thi hai
cng USB th iu ny c ngha rng chng cn mt cng sut ln hn so vi kh
nng cung cp ca mt cng USB trn my tnh. Nu s dng USB hub loi khng c
ngun in ngoi th cng tr thnh v ngha bi u cm cn li ca thit b ngoi vi
ny ch dng ly in. S v ny ca rt nhiu ngi s dng lm h hng bo
mch ch bi s cung cp in nng qu ti gii hn cho mi u ra USB.

3.4 Bi tp cui chng


1. Hy nu u nhc im khi truyn tin bng cng ni tip.
2. Ti sao khi truyn tin khong cch xa ngi ta hay dng cng ni tip.
3. Vit chng trnh gi lin tip cc k t t A n Z ra cng ni tip ca my
tnh.
4. Vit chng trnh nhn lin tip 10 k t bt k t cng ni tip v lu cc k t
vo mt mng.

62

63

Chng 4 Thit k ng dng o lng iu khin bng my tnh


Khi ghp ni cc thit b vi my tnh c th to nn mt h thng o lng v
iu khin t ng c cht lng cao. Cc tn hiu c thu thp v x l ngay trn
my tnh. Trong chng ny s trnh by mt s ng dng ghp ni qua cng song
song, cng ni tip v cng USB. Trong cc ng dng thit k c nhng ng dng
dng cc vi mch s lp trnh c nh vi mch vo ra song song lp trnh c
8255A, ng dng dng vi mch to xung 8253 v chc chn khng th thiu cc b
bin i tng t s ADC hay cc b bin i DAC. Cc vi mch ny cng c gii
thiu trong chng ny.

4.1 Quy trnh thit k cc ng dng o lng iu khin bng my tnh


Vic thit k ng dng ghp ni vi my tnh c nhng bc c bn sau:
Bc 1: Phn tch bi ton
Mc ch ca vic phn tch bi ton l xc nh cc yu cu k thut nh
yu cu v kh nng tnh ton (tc v chnh xc); s u vo/ra s; s u vo/ra
tng t; s lng b m/nh thi; c lng dung lng b nh chng trnh, b
nh d liu cn thit v cc yu cu khc nh cc knh PWM, truyn thng qua
RS232, USB, CAN, LIN
Bc 2: La chn cc linh kin ngoi.
Cc tiu ch chnh la chn linh kin khi thit k l: S lng u vo/ra, s
lng b m/nh thi, s lng, s bit v tc bin i ca cc b bin i A/D,
D/A. Nu mch thit k cn dng n b vi iu khin th ta cn quan tm n kiu
ng v (lin quan n vic thit k mch in), hiu nng ca b vi iu khin: 8 bit/16
bit hay 32 bit, tn s xung nhp bao nhiu MHz, dung lng b nh chng trnh, b
nh s liu. Cng sut tiu th, iu ny c bit quan trng vi cc ng dng s dng
pin, c quy.
Bc 3: Xy dng s nguyn l.
Sau bc 2 ta chn la c vi iu khin v cc linh kin ngoi ph tr ta
tin hnh thit k mch nguyn l cho ng dng, vic thit k c th c thc hin
bng cc phn mm h tr nh ORCAD, PROTEL, ALTIUM
Bc 4: Lp trnh cho vi iu khin v bin dch chng trnh.

64

Cn c vo yu cu ca bi ton tin hnh lp lu thut ton v vit chng


trnh iu khin.
S dng trnh dch bin dch tp tin ngun (tp tin .asm hoc .c hoc .cpp)
thnh tp tin .hex theo chun ca Intel. i vi vi iu khin h 8051 ta c th dng
trnh dch Keil C51 ca Keil bin dch cc tp tin ngun vit bng ngn ng C. i
vi vi iu khin h AVR ta c th dng AVR Studio hoc CodeVisionAVR son
v bin dch chng trnh.
Bc 5: Chy th nghim trn my tnh.
S dng cc phn mm h tr thit k ng dng c linh kin lp trnh nh
Altium, Proteus chy m phng ng dng sau khi nhp s nguyn l v tp
tin .hex cho vi iu khin.
Nu kt qu chy th nghim trn my tnh khng p ng c cc yu cu
bi ton th phi quay li bc 4 xem li chng trnh, nu khng phi do chng
trnh phi quay li kim tra t bc 3.
Bc 6: Thit k, lm mch in v lp rp linh kin trn mch in
Bc 7: Np chng trnh vo vi iu khin
Vic np chng trnh cho vi iu khin thc cht l ghi cc thng tin trong tp
tin .hex vo b nh chng trnh ca vi iu khin. Vic np chng trnh vo vi iu
khin thng c thc hin bng b lp trnh chuyn dng (Programmer). Nu vi
iu khin h tr kh nng lp trnh trc tip trn h thng (ISP, SPI) th ta c th np
chng trnh cho vi iu khin ngay trn bn mch ng dng gn vi iu khin.
Mt cch n gin, thc hin vic np chng trnh xung vi iu khin c h tr
ISP nh 89S51, 89S52 bn c c th s dng chng trnh v mch np qua cng
song song ca my tnh trn trang web www.kmitl.ac.th/~kswichit/ISP-Pgm3v0/ISPPgm3v0.html
Bc 8: Thit k giao din v vit chng trnh giao tip vi my tnh
C th vit chng trnh bng ngn ng Visual Basic hoc c th vit bng
ngn ng lp trnh C, Pascal hay Assembly.
Bc 9: Chy th nghim h thng.

65

Vic chy th nghim h thng kim tra xem h thng c thit k, lp t c hot
ng v t cc yu cu ra hay khng.
Nu trong ng dng khng cn dng vi iu khin th b qua cc bc 4, bc 5 v
bc 7.

4.2 Cc vi mch s thng dng


4.2.1 Vi mch ghp ni vo ra song song theo chng trnh 8255A
4.2.1.1 S cu trc, s chn vi mch 8255A

PA3
PA2
PA1
PA0
RD
CS
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2

40

8255A

20

21

PA4
PA5
PA6
PA7
WR
RESET
D0
D1
D2
D3
D4
D5
D6
D7
Vcc
PB7
PB6
PB5
PB4
PB3

PA0 PA7

D0 D7

8255A
RD
WR
RESET
A0
A1
CS

Hnh 4.1 S chn, s logic ca 8255A

D0 D7 : BUS d liu (hai chiu).


Reset: Cho php khi to trng thi ban u cho vi mch.
/CS (Chip Select): Tn hiu chn vi mch
/RD (Read): Tn hiu cho php c
/WR (Write): Tn hiu cho php ghi
A0 A1: Tn hiu a ch
PA7 PA0: Cng A

66

PB0 PB7

PC0 PC7

PB7 PB0: Cng B


PC7 PC0: Cng C

iu
khin
nhm A

m
d liu

Ca A
(8bit)

I/O
PA0 PA7

Ca C
na cao
(4bit)

D0 D7

I/O

RD
WR
A1
A0
Reset

Logic iu khin c/vit

PC7 PC4

iu
khin
nhm B

Ca C
na thp
(4bit)
4

I/O
PC3 PC0

Ca B
(8bit)
4

I/O
PC3 PC0

Hnh 4.2 S khi vi mch 8255A

Phn ghp ni vi vi x l hoc my tnh bao gm:


- B m d liu trao i tin v d liu hai chiu (vo/ra) gia ng dy
ca vi x l v ng dy BUS ni ca 8255A.
- B logic iu khin c/vit: L b gii m a ch lnh do cc thanh ghi m
v thanh ghi iu khin.
Phn ghp ni vi thit b ngoii bao gm:
- Cng A: Thanh ghi m d liu (8 bit) vo/ra tu theo chng trnh khi pht.
- Cng B: Thanh ghi m s liu (8 bit) vo/ra tu theo chng trnh khi
pht.

67

- Cng C: Na cao (4 bit).


- Cng C: Na thp (4 bit).
Tu theo ch s dng ghi bi t iu khin cng C c th c dng:
- Trao i d liu vo hoc ra.
- iu khin hoc i thoi vi thit b ngoi v vi x l khi cng A v B ch
0 bng cch xc lp v xo tng bit PCi.
- iu khin hoc i thoi vi thit b ngoi v vi x l khi cng A v B ch
1 v 2.
Phn cc mch iu khin ni b
C cc khi iu khin nhm A, nhm B; khi iu khin cc cng A, B v C.
4.2.1.2. Cc lnh ghi/c cc cng v thanh ghi iu khin
Vi t hp ca cc tn hiu a ch (A0A1), tn hiu chn vi mch CS , cc tn
hiu c RD , ghi WR ca vi x l, ta c th c cc lnh ghi v c khc nhau cho cc
cng (A, B, C) v thanh ghi iu khin to ra s di chuyn d liu gia ng dy d
liu, cc cng v thanh ghi iu khin. Nh vy, vi mch 8255A c c im l khng
c lnh c thanh ghi trng thi m dng lnh c cng C khi vi mch ch 1 v 2,
cn ch 0, khng c c trng thi.
Bng 4.1 Logic ghi/c ca 8255A

A1

A0

CS

RD

WR

Lnh (ca VXL)

Chiu di chuyn d liu

c cng A

Cng A D0 D7

c cng B

Cng B D0 D7

c cng C

Cng C D0 D7

Ghi cng A

D0 D7 Cng A

Ghi cng B

D0 D7 Cng B

Ghi cng C

D0 D7 Cng C

Ghi thanh ghi iu D0 D7 thanh ghi iu khin


khin

Khng c gi tr

Vi mch trng thi


in tr cao

68

Khng c trao i d liu

4.2.1.3 Cc ch
Tu gi tr ghi vo thanh ghi iu khin khi khi to, vi mch c th hot ng
cc ch 0, 1, 2 khc nhau, chiu ca cc cng A,B,C c th l ra hoc vo.

C7

C6

C5

C4

C3

C2

C1

C0

Chiu cng C thp


1: Vo
0: Ra

1
Ch nhm A
00: Ch 0
01: Ch 1
1x: Ch 2

Chiu cng B
1: Vo
0: Ra

Chiu cng A
1: Vo
0: Ra

Ch nhm B
1: Ch 1
0: Ch 0

Chiu cng C
1: Vo
0: Ra

Hnh 4.3 Cu trc t iu khin ca 8255A

Ch 0.
Ch ny cn c gi l ch vo/ra c s v:
- Cc cng A, B v C c s dng c lp vi nhau.
- Cc cng A, B v C c th vo hoc ra tu thuc gi tr ca t iu khin ch
ghi vo thanh ghi iu khin.
- D liu ra c cht.
- D liu vo khng c cht.
- Khng c s i thoi vi thit b ngoi.

/WR /RD

D0 D7

PB
I/O
PB0 PB7

A0

PC
I/O
PC0 PC3

A1 /CS

PA
I/O
PC4 PC7

I/O
PA0 PA7

Hnh 4.4 M t hot ng ca 8255A ch 0

69

Ch 1
Ch ny cn gi l ch vo/ra c t ca hay i thoi vi cc bit ca
cng C. Cc cng A, B, C c chi thnh 2 nhm:
- Nhm A gm cng A trao i d liu v cng C cao (PC7 PC4) i
thoi vi vi x l v thit b ngoi.
- Nhm B gm cng B trao i d liu v cng C thp (PC0 PC3) i
thoi vi vi x l v thit b ngoi.
Chiu v ch ca cng A, B do t iu khin quyt nh, cn cc tn hiu
i thoi PCi cn ph thuc chiu cng vo hay ra.
ch 1 ta thy:
- PC0 lun l tn hiu INTRB tn hiu yu cu ngt chng trnh cho cng B.
- PC3 lun l tn hiu INTRA tn hiu yu cu ngt chng trnh cho cng A.
- PC2 lun l tn hiu vo, nhn cc tn hiu yu cu STBB v xc nhn ACKB ca
thit b ngoi cho cng B tng ng vi chiu vo hay chiu ra. Cn cng A nu l cng vo,
PC4 nhn STBA ca thit b ngoi v PC6 nhn ACKA ca thit b ngoi nu cng A l cng
ra.
PB

PC0

PC1

PC2

PC3

Ca vo: PB0 PB7 INTRB

IBFB

STBB

INTR A STBA

Ca ra: PB0 PB7

OBFB

ACKB INTR A

INTRB

i thoi ca B

PC4

I/O

PC5

PC6

PC7

IBFA

I/O

I/O

PA0 PA7

ACKA

OBFA

PA0 PA7

I/O

PA

i thoi ca A

Hnh 4.5 M t hot ng ca 8255A ch 1

Ch 2
Ch ny ch dng cho cng A vi vo, ra thun nghch v cc bit PC3, PC4
PC7 dng lm cc tn hiu i thoi trong :
- PC3 cho tn hiu yu cu ngt INTRA chung cho c hai chiu v ging ch 1.
- PC4 cho tn hiu vo STBA khi cng A c chiu vo.

70

- PC6 cho tn hiu vo ACKA khi cng A c chiu ra.


Chung c hai ch 1 v 2 cc bit cn li dng lm i thoi ca cng C u l
cc tn hiu ra:
- IBFA, IBFB ch d liu vo ghi y vo cc cng A hoc B yu cu thit
b ngoi khng a d liu vo na.
- OBFA, OBFB ch d liu ra ghi y vo cc cng A hoc B yu cu
thit b ngoi c d liu.
4.2.2 Vi mch m nh thi lp trnh c 8253 (PROGRAMABLE COUNTER
AND TIMER).
4.2.2.1 Nguyn tc cu to v hot ng ca 8253.
Vi mch 8253 l mt b m v nh thi c ng dng kh rng ri. C th
k ra mt s ng dng in hnh: b m tn s, b pht xung lp trnh c, b m
xung, thit b th phn ng, my o in dung, b iu khin sng, b bin i AD...
8253 cha 3 b m li 16 bit c lp vi nhau. Mi mt b m c 3 chn
tng ng: li vo gi nhp CLK, li vo iu khin GATE v li tn hiu ra OUT.
Khi hot ng mi b m cn phi c khi to mt gi tr xut pht, sau mi sn
m li vo gi nhp CLK, gi tr ca b m s gim i 1. Chn Gate c chc nng
iu khin hot ng ca mi b m, tu theo ch hot ng ca b m m cc
li ra OUT c dng tn hiu khc nhau.

22
23
19
20
21

D0
D1
D2
D3
D4
D5
D6
D7
RD
WR
A0
A1

CLK0
G0
OUT0

8253

8
7
6
5
4
3
2
1

CLK1
G1
OUT1
CLK2
G2
OUT2

9
11
10
15
14
13
18
16
17

CS

Hnh 4.6 Vi mch 8253

71

Hnh 4.8 S khi ca 8253

4.2.2.2 Cc lnh ghi/c cc b m v thanh ghi iu khin


Bng 4.2 Logic ghi/c ca 8253

Chc nng

A1

A0

CS

RD

WR

c ra t b m 0

c ra t b m 1

c ra t b m 2

Np gi tr xut pht cho b m 0

Np gi tr xut pht cho b m 1

Np gi tr xut pht cho b m 2

Np t iu khin cho thanh ghi i khin

Vi mch khng hot ng, bus trng thi tr


khng cao

Vi mch khng hot ng, bus trng thi tr


khng cao

B m ca 8253 l 16 bit, trong khi bus d liu li l 8 bit, v vy khi khi to


b m bng mt s ln hn 255 ta phi truyn byte thp trc, byte cao sau: Chng

72

hn nh np gi tr xut pht 50.000 vo mt b m th trc ht gi tr byte thp


l 80 sau byte cao l 195 cn phi c ghi. Php tnh tng ng snh sau:
50.000/256 = 195 d 80; y 195 l MSB cn 80 l LSB.
T iu khin cng c th c tnh theo cng thc tng qut sau:
Controlword = 2. Mode + 64. Counternumber +48
Trong : Mode l ch hot ng, counternumber l s th t ca b
counter/timer. V d: b m 0 hot ng ch 2 th gi tr ca t iu khin s l:
52.

C7

Chn b m:
00: B m 0
01: B m 1
10: B m 2
11: Cm

C6

C5

C4

C3

Truyn d liu:
00:Cht b m
01:Ch truyn LSB
10:Ch truyn MSB
11:Truyn LSB
trc MSB sau

C2

C1

C0

Ch hot ng:
000: Mode 0
001: Mode 1
x10: Mode 2
x11: Mode 3
100: Mode 4
101: Mode 5

Loi m:
1: BCD
0: Nh phn

Hnh 4.9 Cu trc t iu khin 8253.

4.2.2.3 Cc ch
Vi mch 8253 c 6 ch (mode) hot ng, ty theo s dng 8253 to
xung, m xung hay nh khong thi gian m ta chn b m ca 8253 lm vic
ch no cho ph hp.
Ch 0 (mode 0), sn dng b lm tr

Hnh 4.10 Gin xung ca ch hot ng 0

73

Trong kiu hot ng ny, li ra OUT bt u mc logic thp ngay sau khi
chn ch v gi nguyn trng thi trong n chu k gi nhp ca xung CLK (n l gi
tr khi ta ca b m), sau chuyn sang mc cao khi b m t gi tr 0. Nu
chn iu khin GATE mc thp, u ra OUT trng thi in tr cao. Ch ny
khng t np li c.
Ch 1: Mch Monoflop lp trnh c
Gn ging vi kiu hot ng 0, nhng u ra bt u mc logic cao, sau
xung thp v gi nguyn trng thi cho n khi b m t gi tr 0, sau li tr li
mc cao. Qu trnh m c bt u bng sn ln ca xung chn iu khin
GATE, sau , GATE mc cao hay thp u khng nh hng ti b m. Ch
ny khng t np li c.

Hnh 4.11 Gin xung ca ch hot ng 1

Ch 2: B chia 1/n
Trong kiu hot ng ny li ra OUT chuyn sang mc LOW hin mc 1 ca
b m trong khong thi gian 1 chu k gi nhp. Sau khi t ti hin mc 0 b m
li ra OUT chuyn li sang mc HIGH v b m bt u m li t gi tr xut pht.
y l im khc nhau c bn so vi kiu hot ng 0 v 1, kiu hot ng ny, sau
khi t hin mc m 0, b m bt u m li t gi tr xut pht. y mc ko
di ca mc HIGH tn hiu li ra OUT l (n-1) chu k gi nhp, cn mc LOW ko
di 1 chu k gi nhp nn chu k ca tn hiu li ra OUT bng n ln tn hiu CLOCK.
iu ng ch l b m c khi ng mi bng mi sn dng li vo
GATE. Nh vy m li vo GATE c th c tn dng ng b b m. B m
c th t np li. Trong thc t phi c bit ch l sn m u tin li vo
CLOCK cn cha c m, m ch c ga tr xut pht c chp nhn nh l hin
mc hin thi b m.

74

Hnh 4.12 Gin xung ca ch hot ng 2

Ch 3: B pht xung vung lp trnh c:


Trong kiu hot ng 3, b m ca 8253 c th c s dng nh l mt b
pht tn hiu vung lp trnh c. Trong kiu hot ng 3, tn hiu li ra OUT c mc
HIGH trong n/2 chu k u ca tn hiu gi nhp CLK v mc thp trong n/2 chu k
cn li nu n l mt s chn. Trng hp n l mt s l th tn hiu li ra OUT c mc
HIGH trong (n+1)/2 chu k u ca tn hiu gi nhp CLK v mc thp trong (n-1)/2
chu k cn li. B m c th t np li.
Xung nhp k st theo qu trnh s gim bt hin mc b m i 3, cn cc
xung nhp tip theo li ch gim bt i 2. Qu trnh ny c lp li v nh th u ra
v tr ln LOW trong (n-1)/2 chu k gi nhp.

Hnh 4.13 Gin xung ca ch hot ng 3

Ch 4
kiu hot ng ny li ra c gi mc cao trong sut n chu k gi nhp
ca CLK. Khi b m t hin mc 0, li ra OUT s mc thp trong 1 chu k k tip
ca CLK. B m khng c kh nng t np li.

75

Hnh 4.14 Gin xung ca ch hot ng 4

Ch 5
Trong kiu hot ng ny b m bt u qu trnh m bng sn dng ca
xung li vo GATE v nu trong qu trnh m c xung dng Gate th b m s
m li t u, dng xung li ra OUT ging ch 4.

Hnh 4.15 Gin xung ca ch hot ng 5

4.2.2.4 Mt s ng dng ca 8253.


B m xung 16 bit

CLK
OUT
+5V

GATE

Hnh 4.16 ng dng thit k b m xung 16 bit

76

Gi s mt b m c dt ch 2, ban u c np mt gi tr xut pht


l Xo. Xung cn m c a vo li vo gi nhp CLK ca b m. Sau mt
khong thi gian gi tr hin thi ca b m cn li l Yo. Nh vy s xung m
c s l Xo Yo.
B m xung 32 bit
CLK
OUT

CLK
OUT

+5V

GATE

GATE

Hnh 4.17 ng dng thit k b m xung 32 bit

Gi s mt b m c dt ch 2, ban u c np mt gi tr xut pht


l Xo. Xung cn m c a vo li vo gi nhp CLK ca b m. Sau mt
khong thi gian gi tr hin thi ca b m cn li l Yo. Nh vy s xung m
c s l Xo Yo.
B pht xung lp trnh c:
CLK
OUT

CLK

CLK
OUT

+5V

GATE

GATE

OUT
GATE

Hnh 4.18 B pht xung lp trnh c

Trong ng dng trn, hai b m th nht v th hai s hot ng ch 2


hoc ch 3 ng vai tr nh mt b chia tn s lp trnh c. T s chia ph thuc
vo gi tr khi to cho cc b m. B m th ba ng vai tr nh b pht xung,
dng xung ra s tu thuc v ngi lp trnh t ch hot ng ca b m.
Nu ch dng 8253 cho mc ch iu khin th c th dng cng song song
phi ghp hoc nu ch dng 8253 cho mc ch o lng th c th dng cng ni

77

tip phi ghp cn nu mun dng trong c 2 trng hp th khe ISA l ti u hn


c. Hnh 4.19 di y l mt mch in phi ghp 8253 dng SLOT ISA.
Mch phi ghp trn s dng a ch c s $300. Cc b m v thanh ghi iu
khin c th t ti bng cch cng vo a ch c s cc gi tr thch hp, c th nh
sau:
B m 0

a ch c s

B m 1

a ch c s +1

B m 2

a ch c s + 2

Thanh ghi iu khin

a ch c s + 3

Cng ging nh cc vi mch kh trnh khc, mun 8253 hot ng trc tin
phi ghi cho n t iu khin, tip s l g tr xut pht ca b m. on chng
trnh di y s khi to cho b m 0 ch 3, kiu m l m mi, truyn
byte thp trc, byte cao sau, gi tr xut pht l 200.

/IOW

/IOR

A
B

Do
D1
D2
D3
D4
D5
D6
D7

2
3
4
5
6
7
8
9

1
19

VCC

20

B1
B2
B3
B4
B5
B6
B7
B8

A1
A2
A3
A4
A5
A6
A7
A8

18
17
16
15
14
13
12
11
/IOR
/IOW
Ao
A1

DIR
OE
VCC

8
7
6
5
4
3
2
1
22
23
19
20
21

74HC245

D0
D1
D2
D3
D4
D5
D6
D7
RD
WR
A0
A1

CLK0
G0
OUT0
CLK1
G1
OUT1
CLK2
G2
OUT2

9
11
10
15
14
13
18
16
17

CS
8253

A2
A3
A4
A5
A6
A7
A8
A9

VCC

2
4
6
8
11
13
15
17
3
5
7
9
12
14
16
18

AEN
1
VCC
20

P0
P1
P2
P3
P4
P5
P6
P7

P=Q

19

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
OE
VCC
74HC688

Hnh 4.19 S nguyn l mch phi ghp 8253 SLOT ISA

78

4.2.3 Cc b bin i AD (ANALOG DIGITAL CONVERTER)


4.2.3.1 Nguyn tc chung
Hu ht cc b AD u c cu to v hot ng theo nguyn tc so snh gn
ng lin tip. Mng in tr gm nhiu in tr c mc nh hnh v s l nhim v
to cc in p so snh khc nhau t ln cc b so snh. Trong , U1>U2>U3...>Un.
u cn li ca b so snh s l in p cn bin i. Cc b so snh C1,C2...Cn hot
ng theo nguyn tc nu = th a ra mt mc logic 1 u ra, khng = th
a ra mc logic 0 u ra. B gi m nhn cc mc logic 1, 0 u ra ca b cc
so snh chuyn thnh cc gi tr s (nh phn) tng ng.

Cn
Rn

Do
Gii
m

C2
Dm
C1

R1

Uref Uo

Hnh 4.20 Nguyn tc chung ca cc b AD

4.2.3.2 Cc b ADC080X
Cc b ADC080X c cu to v nguyn tc hot ng gn ging nhau. Chng
u l cc b AD 8bit hoc ln hn vi li vo Analog vi phn, cc tn hiu ra tng
thch TTL. Mi b u c b pht xung nhp trn chp v c th t in p so snh

79

chn Vref/2 nh hnh v 4.20. Mi chu k bin i c bt u bng mt xung Low


chn /WR v kt thc mt chu k bin i c mt xung Low sinh ra chn /INTR.
Trong h ADC080X c b ADC0809 c 8 li vo tng t c kh nng qut ng
bng logic a ch. B ny dng trong trng hp cn nhiu li vo tng t.
VCC

ANALOG IN

DIGITAL OUT

Vref/2
3

6
7

+IN
-IN

9
19
4

LM358

VREF/2
CLKR
CLKIN

1
2
3

CS
RD
WR

DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
INTR

18
17
16
15
14
13
12
11
5

/EOC
/SOC

ADC0804

/SOC

Hnh 4.21 B ADC0804


26
27
28
1
2
3
4
5
12
16
10
9
7

U27
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7

D0
D1
D2
D3
D4
D5
D6
D7

REF+
REF-

A0
A1
A2

CLK
OE
EOC

START
ALE

17
14
15
8
18
19
20
21
25
24
23
6
22

ADC0809

Hnh 4.22 S chn ADC0809

phi ghp cc b ADC080X vo my tnh c th ghp ni vi cng ni tip,


cng song song hay SLOT ISA.
Hnh (4.23) s m t mt mch in phi ghp ADC0804 SLOT ISA.
Nu nh ta t a ch ca 0804 l 300h th mi ln truy nhp s c mt xung
Low /WR. Xung ny s bt u cho mt chu k bin i. Sau mt khong thi gian
c 100 s tn hiu s c bin i s c li ra Do D7. m bo tnh chnh xc,
vic c s lp li nhiu ln v chia trung bnh.
4.2.3.3 B bin i AD TCL549.
TCL549 l b bin i AD 8bit vi li ra ni tip v vy c th ghp trc tip
vo cng ni tip (hnh 4.24).

80

Mt chu k bin i bt u khi c mt xung Low chn /CS, ngay sau s


xut hin bit D7 li ra Data out, cc bit D6-D0 xut hin ln lt sau mi sn m
ca xung n t I/O clock.
Xung I/O clock c th to bng cch lp/xo bit Do (chn DTR) ca thanh ghi
iu khin MODEM. Sau mi ln to mt xung m s phi c ngay bit d liu chn
CTS v sp xp thnh mt byte hon chnh.

U28
5

Do
D1
D2
D3
D4
D5
D6
D7

2
3
4
5
6
7
8
9

VCC

1
19
20

B1
B2
B3
B4
B5
B6
B7
B8

A1
A2
A3
A4
A5
A6
A7
A8

18
17
16
15
14
13
12
11

DIR
OE

Do
D1
D2
D3
D4
D5
D6
D7

11
12
13
14
15
16
17
18

INTR

WR
RD
CS

DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0

CLKIN
CLKR
VREF/2
-IN
+IN

3
2
1
4
19
9
7
6

ANALOG IN

ADC0804

VCC
74HC245

2
1

A
Ao
A1
/IOW

/IOR

1
2
3

A
Y

VCC

6
4
5

U24
A
B
C
G1
G2A
G2B

Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7

15
14
13
12
11
10
9
7

74LS138

A
A2
A3
A4
A5
A6
A7
A8
A9

VCC

2
4
6
8
11
13
15
17
3
5
7
9
12
14
16
18

AEN
1
VCC
20

P0
P1
P2
P3
P4
P5
P6
P7

2
1

P=Q

19

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
OE
VCC
74HC688

Hnh 4.23 Phi ghp ADC 0804 SLOT ISA

81

ANALOG IN
2

VCC

7
1
3
5

AIN

DOUT

13
8
11
10

I/OCLK
REF+
REFCS

1
3
4
5
2
6

TLC549

VCC

R1IN
R2IN
T1IN
T2IN

R1OUT
R2OUT
T1OUT
T2OUT

C+
C1C2+
C2V+
V-

12
9
14
7

5
9
4
8
3
7
2
6
1
CONNECTOR DB9

MAX232

Hnh 4.24 Phi ghp TCL549 cng ni tip

4.2.4 Cc b bin i DA (DIGITAL ANALOG CONVERTER)


4.2.4.1 Nguyn tc chung

Uref

CRYSTAL

D7

D6

D5 .......

.......

D0

Hnh 4.25 Nguyn tc chung ca cc b DAC

Hu ht cc b DAC u c nguyn tc cu to chung nh hnh v. Mi b gm


mt s kho in t (s lng ty thuc vo s bit) v mt mng in tr phn dng.
Cc kho in t s lt v tr tu thuc vo bit gi tr s tng ng l 0 hay 1. Dng
in tng s l tng ca cc dng in ng vi cc bit 1.
4.2.4.2 B bin i DAC0800
DAC0800 l b bin i s-tng t 8 bit c tc bin i kh cao (c 100ns)
hot ng theo nguyn tc trn. Vi mch ny cho php t in p tiu chun chn
14 v 15, dng in t l vi in p bin i c c a ra t chn 4.

82

AD7545 l b bin i s tng t vi 12 bit, cch hot ng cng nh


DAC0800. Vi phn gii l 12 bit b bin i s tng t ny c th t 8191 mc
in p vi chnh xc ti 0.61 mV nu nh in p so snh l 5 V.

4.3 Cc thit k ng dng ghp ni vi my tnh


4.3.1 iu khin vi mch 8255 qua cng song song
Mch ghp ni vi mch 8255 v cng song song c thit k nh hnh 4.26.
Khi no cc ng dn cng song song khng s dng th phi s dng vi
mch 8255 tng ng d liu.
VCC
1
14
2
15
3
16
4
17
5
18
6
19
7
20
8
21
9
22
10
23
11
24
12
25
13

D0
D1
D2
D3

A0
A1

RD
WR

D4

10K x 8
D0
D1
D2
D3
D4
D5
D6
D7

1
2
3
4
5
6
7
8
9

VCC

D5
R1
R

D6

D0
D1
D2
D3
D4
D5
D6
D7

34
33
32
31
30
29
28
27

A0
A1

9
8

RD
WR

35
5
36
6

D0
D1
D2
D3
D4
D5
D6
D7

PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7

A0
A1

PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7

RESET
RD
WR
CS

D7

PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7

LPT

4
3
2
1
40
39
38
37
18
19
20
21
22
23
24
25
14
15
16
17
13
12
11
10

8255

Hnh 4.26 Ghp ni 8255 vi cng song song

Vic iu khin 8255A bng cng song song phi c thc hin theo kiu gi
iu khin. Mun ghi ra thanh ghi iu khin ca 8255 phi thc hin 4 bc sau:

Tch cc mc logic thch hp cho cc chn tn hiu iu khin: CS = 0, RD =1,


WR = 1, A1A0 = 11

a d liu ln BUS (Do D7).

Tch cc mc thp cho WR .

Tr li mc cao cho WR .

83

Mun ghi ra cc cng PA, PB, PC th cng phi lm 4 bc nh trn nhng


trc tin phi ghi ra thanh ghi iu khin t ch hot ng v chiu cho cc
cng ca 8255
Mun c cc cng PA, PB, PC vo my tnh phi thc hin cc bc sau:

Tch cc mc logic thch hp cho cc chn tn hiu iu khin: CS = 0, RD =1,


WR = 1, A1, A0 = 00

Tch cc mc thp cho RD .

c d liu t BUS (Do D7).

Tr li mc cao cho RD .

Ghi hay c ph thuc vo chn RD v WR , ghi c cng no ph thuc gi


tr ca A1, A0
Chng trnh sau y iu khin ghi ra cng PA, PB, PC gi tr nhp trong cc
text1, text2, text3.

84

Hnh 4.27 Giao din chng trnh xut d liu ra cng PA, PB, PC

4.3.2 iu khin vi mch 8253 qua cng song song


Mch ghp ni 8253 vi cng song song nh hnh 4.28

85

VCC
1
14
2
15
3
16
4
17
5
18
6
19
7
20
8
21
9
22
10
23
11
24
12
25
13

D0
D1
D2
D3

D0
D1
D2
D0
D3 8
D1
D4
D2
D5 6
D3
D6 5
D4
D7 4
D5 3
A0 2
D6
A1 1
D7

10K x 8

A0
A1

D0
D1
D2
D3
D4
D5
D6
D7

RD
WR

D4

1
2
3
4
5
6
7
8
9

VCC

D5
R1
R

D6
D7

RD
WR
A0
A1

34

U133
32

D031
D130
D229
D328
D427
D5
9
D6
8
D7
35
RD 5
WR
36
6
A0
A1

22
RD
23
WR
19
20
21

4
PA0 3
D0
PA1 2
D1
D2 CLK0PA2 9 1
PA3 11 40
D3
GATE0
PA4 39
D4
OUT0
PA5 38
D5
PA6 15 37
D6
D7 CLK1PA7 14
GATE1
13 18
A0 OUT1PB0 19
PB1 20
A1
18
CLK2PB2 21
16
RESET
GATE2PB3 22
RD OUT2PB4 17 23
PB5 24
WR
PB6 25
CS
PB7

CS
8253A

CLK0

2
3

2
3

2
3

LPT

PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7

CLK0

14
15
16
17
13
12
11
10

8255
470R

R1
C1
33p

4MHZ

C1
33p

Hnh 4.28 Mch ghp ni vi mch 8253 vi cng song song

Vic iu khin 8255A bng cng song song phi c thc hin theo kiu gi
iu khin ging nh vi mch 8255.
Giao din hnh 4.29 lp trnh cho Timer 0 hot ng ch 3, to xung vung
u ra OUT0 vi gi tr tn s c chia t b to dao ng thch anh 4Mhz a vo
chn CLK1, gi tr tn s cn to ra nhp text1. Timer ca vi mch 8253 c 16 bit,
nu ch dng Timer0 chia tn th ta ch c th to ra tn s vi di tn khong t
62Hz n 4Mhz. Nu ghp ni tip 3 timer vi nhau chia tn th c th to ra
khong thi gian chnh xc n vi gi thp ch vi ngy.

Hnh 4.29 Giao din chng trnh to xung nhp t bn phm

86

4.3.3 Mch m sn phm qua cng RS-232


Hu ht cc thit k cc ng dng qua cng RS-232u phi s dng vi iu
khin lm khi trung gian chuyn tip tn hiu ni tip sang song song v ngc li.
Trong ng dng ny thit k hai cp cm bin hng ngoi a vo cc chn INT0 v
INT1, vi iu khin c chc nng m s xung a vo qua chn INT0 v INT1 sau
gi gi tr ny ln my tnh.
Di y l chng trnh np cho vi iu khin vit bng ngn ng lp trnh C,
s nguyn l v chng trnh giao tip vi my tnh.

87

88

VCC

VCC

R18

R20
10K

470
R21
10K

R19
1K
UIR1

VCC

3
2

LED1
LED0

U9A
LM358N
1 INT0

OPTO
4

R22
10K

VCC

VCC
R24
1K
UIR2

VCC
R25
10K

R23
470
R26
10K

LED2
LED0

U9B
LM358N
7 INT1

5
6

OPTO

R27
10K

Hnh 4.30 S mch cm bin hng ngoi


VCC
CP232

1
6
2
7
3
8
4
9
5

IC232
14

C3232
VCC

10uF

13
2
16

T1OUT
R1IN
V+

10uF

15
6

R1OUT
C1+

VCC

C1C2+

GND

C2-

VB1
C4232

T1IN

V-

MAX232

R2IN
T2OUT
R2OUT
T2IN

11

TX

12
1

RX

3
4
5
8
7
9
10

C5232
10uF
C6232
10uF

29
30
11
10
28
27
26
25
24
23
22
21
32
33
34
35
36
37
38
39

PSEN
ALE
P3.1/TXD
P3.0/RXD
P2.7/A15
P2.6/A14
P2.5/A13
P2.4/A12
P2.3/A11
P2.2/A10
P2.1/A9
P2.0/A8
P0.7/AD7
P0.6/AD6
P0.5/AD5
P0.4/AD4
P0.3/AD3
P0.2/AD2
P0.1/AD1
P0.0/AD0

P3.6/WR
P3.7/RD
RST
X2
X1

16
17

C3
C

VCC
EA
P3.4/T0
P3.5/T1
P3.2/INT0
P3.3/INT1
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0

SW1

18
19
10K

31

33P

14
15

C2

12
13
8
7
6
5
4
3
2
1

INT0
INT1

11.0592Mhz

SUB-D 9

VCC

IC1

0.1uF

Y1
C1

33P

8051

Hnh 4.31 S mch giao tip my tnh qua cng com

89

Hnh 4.32 Giao din chng trnh c sn phm trn cm bin IR0

90

4.3.4 Voltmet in t ghp ni qua cng RS-232


Chng trnh np cho vi iu khin:

91

Hnh 4.34 Giao din chng trnh c in p v hin th trn my tnh

92

4.4.5 iu khin Led 7 on qua cng USB


Phn ny gii thiu cch thit k mch ghp ni qua cng USB, vi iu khin
trong Modul ny c chc nng chuyn cng USB thnh cng COM (cng COM o),
sau ta thit k mch v lp trnh nh i vi cng COM.
Di y l mch ghp ni qua cng USB vi Led 7 on thng qua cng
COM o:
C16
VCC

GND
VCC
C18
4.7uF

C19
100pF

+5V

R13 68
D+
DR16 68

+5V R17 2K2

C22

XTAL1

USB1

4
3
2
1

22pF
C23

GND
D+
D+5V

DZ1
3V6

DZ2
3V6

+5V

100pF

U6

Y3
XTAL
XTAL2

NC0
NC1
NC2
NC3
NC4
NC5
XTAL1
XTAL2

14
15
16
17
18
19
9
10

RX1
TX1
D+
DNC8
NC9
NC10
NC11

2
3
4
5
6
11
12
13

PB0 (ICP)
PB1 (OC1A)
PB2 (SS/OC1B)
PB3 (MOSI/OC2)
PB4 (MISO)
PB5 (SCK)
PB6 (XTAL1/TOSC1)
PB7 (XTAL2/TOSC2)

23
24
25
26
27
28
1

PC0 (ADC0)
PC1 (ADC1)
PC2 (ADC2)
PC3 (ADC3)
PC4 (ADC4/SDA)
PC5 (ADC5/SCL)
PC6 (RESET)

PD0 (RXD)
PD1 (TXD)
PD2 (INT0)
PD3 (INT1)
PD4 (XCK/T0)
PD5 (T1)
PD6 (AIN0)
PD7 (AIN1)

R15
10K
7
20
21

VCC
AVCC
AREF

+5V
C21
100pF

22
8

GND
GND

GND

ATmega8

22pF
C15
VCC
100pF
A0
A1
A2
A3

1
2
3
4
5
6
7
8
13
12
15
14

VCC

31

X1
X2

19
18

RESET1

NC14
NC15

17
16

U7
P10
P11
P12
P13
P14
P15
P16
P17

P00
P01
P02
P03
P04
P05
P06
P07

INT1
INT0

P20
P21
P22
P23
P24
P25
P26
P27

T1
T0
EA/VP
X1
X2
RESET
RD
WR

RXD
TXD
ALE/P
PSEN

39
38
37
36
35
34
33
32

P0
P1
P2
P3
P4
P5
P6
P7

21
22
23
24
25
26
27
28

D0
D1
D2
D3
D4
D5
D6
D7

10
11
30
29

TX1
RX1

C17
VCC
100pF
VCC
D7
D6
D5
D4
D3
D2
D1
D0

20
11
2
3
4
5
6
7
8
9

U8
VDD
LE
D0
D1
D2
D3
D4
D5
D6
D7

Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
OE
GND

19
18
17
16
15
14
13
12

DOT
G
F
E
D
C
B
A

1
10

MC74HC573

89S52

93

VCC
R5
1K

R6
1K

QL4
A1013

R9
1K

R10
1K

A0
LED1
LED2
LED3
LED4
A
B
C
D
E
F
G
DOT
LED1
LED2
LED3
LED4

R7
1K

QL1
A1013

A1

QL2
A1013

R11
1K
A2

R8
1K

QL3
A1013

R12
1K
A3

LEDQ1
11
7
4
2
1
10
5
3
6
8
9
12

a
b
c
d
e
f
g
dot
Led 1
Led 2
Led 3
Led 4
LED QUET4

Hnh 4.35 Ghp ni Led 7 on qua cng USB

Chng trnh vit cho vi iu khin 89S52


#include<reg52.h> // khai bao thu vien
#include<stdio.h>
#include<math.h>
sbit LED1=P1^0;
// quet led hang don vi
sbit LED2=P1^1;
// quet led hang chuc
sbit LED3=P1^2;
// quet led hang tram
sbit LED4=P1^3;
// quet led hang nghin
unsigned int digit4,digit3,digit2,digit1,i,j,product;
unsigned char temp, index=0;
unsigned char digit[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99,
0x92, 0x82, 0xF8, 0x80, 0x90};
void delay(int t)
// chuong trinh tao tre
{
for (i=1;i<=t;++i );
}
void timer0 (void) interrupt 1
{
TH0=0xF8;
TL0=0x40;
switch(index)
{
case 0:
LED2=LED3=LED4=1;
n
P2=digit[digit1];
// digit1 chinh la don vi
LED1=0;
// quet transistor led don vi
break;
case 1:
LED1=LED3=LED4=1;
P2=digit[digit2]; // digit2 chinh la don vi

94

LED2=0;
// LED hang chuc
break;
case 2:
LED1=LED2=LED4=1;
P2=digit[digit3];
LED3=0; // led hang tram
break;
case 3:
LED1=LED2=LED3=1;
P2=digit[digit4];;
LED4=0; // led hang nghin
break;
}
if(++index==4)index=0;

}
void main()
//chuong trinh chinh
{
SCON=0x52;
TMOD=0x20;
TH1=TL1=-3;
TR1=1;
TH0=0xF8; // su dung ngat trong TimerO
TL0=0x30;
TR0=1;
// co cho phep bat dau dem o timer0
ET0=EA=EX0=1;
PT0=1; //cho phep uu tien ngat timer0
temp=0;
product=0;
while(1) //cho ngat
{
do
temp=_getkey();
while(temp!='@');
temp=_getkey(); //byte thap
product=temp;
temp=_getkey(); //byte cao
product=temp*256 + product;
digit4=product/1000;
digit3=(product%1000)/100;
digit2=((product%1000)%100)/10;
digit1=((product%1000)%100)%10;
};
}
Chng trnh di y truyn cc s t 0 n 9999 xung LED.

95

Hnh 4.35 Giao din chng trnh truyn d liu qua com o

Private
Declare
Sub
Sleep
Lib
dwMilliseconds As Long)
Dim i As Integer
Private Sub Command1_Click()
For i = 0 To 9999
send ("@")
send (Chr(i Mod 256)) 'byte thap
send (Chr(i \ 256))
'byte cao
Sleep (20)
Next
End Sub
Private Sub Command2_Click()
If MSComm3.PortOpen = True Then
MSComm3.PortOpen = False
End If
End
End Sub

"kernel32"

Private Sub Form_Load()


MSComm3.CommPort = 3
MSComm3.Settings = "9600,N,8,1"
'MSComm3.RThreshold = 1
MSComm3.InputMode = 1
MSComm3.SThreshold = 1
If MSComm3.PortOpen = False Then
MSComm3.PortOpen = True
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
If (MSComm3.PortOpen) Then
MSComm3.PortOpen = False
End If
End Sub

96

(ByVal

Sub send(buffer As String)


If MSComm3.PortOpen = True Then
MSComm3.Output = buffer
End If
End Sub

4.4 Bi tp cui chng


1. Thit k mch o nhit qua cng RS-232, vit chng trnh v th m nhit
c v bng cc vng trn t mu, cc vng trn lin tip nhau c ni vi nhau
bng cc line, cc vng trn cch nhau 144 Pixel, mi ln ly mu cch nhau 500ms,
khi v ht mn hnh xa v v li t u. thang o 0 n 100 C
2. Thit k mch Ampemet qua cng RS-232, vit chng trnh v th m gi tr
dng in c v bng cc vng trn t mu, cc vng trn lin tip nhau c ni
vi nhau bng cc line, cc vng trn cch nhau 144 Pixel, mi ln ly mu cch nhau
500ms, khi v ht mn hnh xa v v li t u. thang o 0 n 100 C
3. Cho mch thit k trong mc 4.4.5, vit chng trnh nhp mt s bt k (t 0 n
9999) vo khung text1 v truyn s xung hin th trn LED 7 on.

97

Ph lc
Bng m ASCII
K t iu khin ASCII
Nh phn

Thp
phn

Thp
lc

Biu
din

Truy nhp
(bn phm)

Tn/ ngha
(ting Anh)

000 0000
000 0001

0
1

0
1

NUL
SOH

^@
^A

Null character
Start of Header

000 0010

STX

^B

Start of Text

000 0011
000 0100
000 0101
000 0110
000 0111
000 1000
000 1001
000 1010
000 1011
000 1100
000 1101
000 1110
000 1111
001 0000
001 0001
001 0010
001 0011
001 0100
001 0101
001 0110
001 0111
001 1000
001 1001
001 1010

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

3
4
5
6
7
8
9
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A

ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB

^C
^D
^E
^F
^G
^H
^I
^J
^K
^L
^M
^N
^O
^P
^Q
^R
^S
^T
^U
^V
^W
^X
^Y
^Z

End of Text
End of Transmission
Enquiry
Acknowledgement
Bell
Backspace
Horizontal Tab
Line feed
Vertical Tab
Form feed
Carriage return
Shift Out
Shift In
Data Link Escape
Device Control 1 - oft. XON
Device Control 2
Device Control 3 - oft. XOFF
Device Control 4
Negative Acknowledgement
Synchronous Idle
End of Trans. Block
Cancel
End of Medium
Substitute

001 1011
001 1100
001 1101
001 1110
001 1111

27
28
29
30
31

1B
1C
1D
1E
1F

ESC
FS
GS
RS
US

^[ hay ESC
^\
^]
^^
^_

Escape
File Separator
Group Separator
Record Separator
Unit Separator

111 1111

127

7F

DEL

DEL hay
Backspace

Delete

Tn/ ngha
(ting Vit)
K t rng
Bt u Header
Bt u vn
bn
Kt thc vn
bn
Kt thc truyn
Truy vn
Chung
Xo ngc
Tab ngang
Tab dc

K t ASCII in c
Nh phn

010 0000

98

Thp
phn
32

Thp
lc
20

ho

Nh phn

Thp phn

Thp
lc

ho

Khong trng
( )

110 0010

98

62

010 0001
010 0010
010 0011
010 0100
010 0101
010 0110
010 0111
010 1000
010 1001
010 1010
010 1011
010 1100
010 1101
010 1110
010 1111
011 0000
011 0001
011 0010
011 0011
011 0100
011 0101
011 0110
011 0111
011 1000
011 1001
011 1010

33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A

!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
6
7
8
9
:

110 0011
110 0100
110 0101
110 0110
110 0111
110 1000
110 1001
110 1010
110 1011
110 1100
110 1101
110 1110
110 1111
111 0000
111 0001
111 0010
111 0011
111 0100
111 0101
111 0110
111 0111
111 1000
111 1001
111 1010
111 1011
111 1100

99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124

63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C

c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|

011 1011
011 1100
011 1101
011 1110
011 1111
100 0000
100 0001
100 0010

59
60
61
62
63
64
65
66

3B
3C
3D
3E
3F
40
41
42

;
<
=
>
?
@
A
B

111 1101
111 1110
101 1010
101 1011
101 1100
101 1101
101 1110
101 1111

125
126
90
91
92
93
94
95

7D
7E
5A
5B
5C
5D
5E
5F

}
~
Z
[
\
]
^
_

100 0011
100 0100
100 0101
100 0110
100 0111
100 1000
100 1001
100 1010
100 1011
100 1100
100 1101
100 1110
100 1111
101 0000

67
68
69
70
71
72
73
74
75
76
77
78
79
80

43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50

C
D
E
F
G
H
I
J
K
L
M
N
O
P

110 0000
110 0001
110 0010
110 0011
110 0100
110 0101
110 0110
110 0111
110 1000
110 1001
110 1010
110 1011
110 1100
110 1101

96
97
98
99
100
101
102
103
104
105
106
107
108
109

60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D

`
a
b
c
d
e
f
g
h
i
j
k
l
m

99

101 0001
101 0010
101 0011
101 0100
101 0101
101 0110
101 0111
101 1000
101 1001
101 1010
101 1011
101 1100
101 1101
101 1110
101 1111
110 0000
110 0001

100

81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97

51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61

Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a

110 1110
110 1111
111 0000
111 0001
111 0010
111 0011
111 0100
111 0101
111 0110
111 0111
111 1000
111 1001
111 1010
111 1011
111 1100
111 1101
111 1110

110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126

6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E

n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~

Ti liu tham kho


[1] Kiu Xun Thc, V Th Thu Hng, V Trung Kin
Vi iu khin cu trc lp trnh v ng dng Nh xut bn gio dc, 2008
[2] Ng Din Tp
o lng v iu khin bng my tnh Nh xut bn khoa hc v k thut, 2002
[3] Ng Din Tp
K thut ghp ni vi my tnh Nh xut bn khoa hc v k thut, 2001
[4] www.datasheet.com

101

102

You might also like