chuong 15_ghep noi 8255 - smith.n studio
TRANSCRIPT
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
1/16
ch-ng 15Php ghp 8031/51 vi 8255
Nh- ni ch-ng 14 trong qu trnh ni ghp 8031/51 vi b nhngoi th hai cng P0 v P2 b mt. Trong ch-ng ny chng ta s trnh by lmth no m rng cc cng vo/ ra I/O ca 8031/51 bng vic ni n ti chp
8255.15.1 Lp trnh 8255.Trong mc ny ta nghin cu 8255 nh- l mt trong nhng chp vo/ ra
-c s dng rng ri nht. Tr-c ht ta m t nhng c tnh ca n v sau sch ra cch ni 8031/51 vi 8255 nh- th no?
Hnh 15.1: Chp 8255.15.1.1.1 Cc chn PA0 - PA7 (cng A).
C 8 bt ca cng A PA0 PA7 c th -c lp trnh nh- 8 bit u vohoc 8 bit u ra hoc c 8 bt hai chiu vo/ ra.S
PB2
PA3PA2PA1
PA0P1.4P1.5GNDA1A0
PA5PA6PA7WRRESED0
VCC
PA4123
56
4
789
1112
10
131415
1718
16
1920
403938
3635
37
343332
3029
31
282726
2423
25
2221
8255A
D1D2D3D4D5D6D7
PB7
PB6PB5PB4PB3
PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1
PA
PB
PC
8255
A0A1
RESETCS
WR
RD
D7 D0
15.1 Lp trnh 8255.Trong mc ny ta nghin cu
8255 nh- l mt trong nhng chp vo/ra -c s dng rng ri nht. Tr-c htta m t nhng c tnh ca n v sau ch ra cch ni 8031/51 vi 8255nh- th no?15.1.1 Cc c tnh ca 8255.
8255 l mt chp DIP 4 chn(xem hnh 15.1). N c 3 cng truy cp-c ring bit. Cc cng c tn A,B v C u l cc cng 8 bit. Cc cngny u c th lp trnh nh- cng uvo hoc u ra ring r v c th thayi mt cch nng ng. Ngoi ra, cccng 8255 c kh nng bt tay. Do vycho php giao din vi cc thit b khc
cng c gi tr tn hiu bt tay nh- ccmy in chng hn. Kh nng bt tay ca8255 s -c bn ti mc 15.3.
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
2/16
Hnh 15.2: S khi ca 8255.
15.1.1.2 Cc chn PB0 - PB7 (cng B).C 8 bit ca cng B c th -c lp trnh hoc nh- 8 bit u vo hoc 8 bit
u ra hoc c 8 bit hai chiu vo/ ra.15.1.1.3 Cc chn PC0 - PC7 (cng C).
Tt c 8 bit ca cng C (PC0 PC7) u c th -c lp trnh nh- cc bitu vo hoc cc bit u ra. 8 bit ny cng c th -c chia lm hai phn: Cc bitcao (PC4 PC7) l CU v cc bit thp (PC0 PC3) l CL. Mi phn c th -cdng hoc lm u vo hoc lm u ra. Ngoi ra tng bit ca cng C tPC0 PC7 cng c th -c lp trnh ring r.
15.1.1.4 Cc chn RD v WR.y l hai tn hiu iu khin tch cc mc thp ti 8255 -c ni ti cc
chn d liu RD v WR t8031/51 -c ni ti cc chn u vo ny.15.1.1.5 Cc chn d liu D0 - D7.
Cc chn d liu D0 D7 ca 8255 -c ni ti cc chn d liu ca b viiu khin cho php n gi d liu qua li gia b vi iu khin v chp 8255.
15.1.1.6 Chn RESET.y l u vo tn hiu tch cc mc cao ti 8255 -c dng xo thanhghi iu khin. Khi chn RESET -c kch hot th tt c cc cng -c khi toli nh- cc cng vo. Trong nhiu thit k th chn ny -c ni ti u raRESET ca bus h thng hoc -c ni ti t khng kch hot n. Cng nh-tt c cc chn u vo ca IC th n cng c th h.
15.1.1.7 Cc chn A0, A1 v CS .
Trong khi CS chn ton b chp th A0 v A1 li chn cc cng ring bit.Cc chn ny -c dng truy cp cc cng A, B, C hoc thanh ghi iu khintheo bng 15.1. L-u CS l tch cc mc thp.15.1.2 Chn ch ca 8255.
Trong khi cc cng A, B v C -c dng nhp v xut d liu th thanhghi iu khin phi -c lp trnh chn ch lm vic ca cc cng ny. Cccng ca 8255 c th -c lp trnh theo mt ch bt k d-i y.
1. Ch 0 (Mode0):y l ch vo/ ra n gin. ch ny cc cng A,B CL v CU c th -c lp trnh nh- u vo hoc u ra. Trong ch ny thtt c cc bit hoc l u vo hoc l u ra. Hay ni cch khc l khng c iukhin theo tng bit ring r nh- ta thy cc cng P0 P3 ca 8051. V aphn cc ng dng lin quan n 8255 u s dng ch vo/ ra n gin nynn ta s tp chung i su vo ch ny.
2. Ch 1 (Mode1): Trong ch ny cc cng A v B c th -c dng nh-cc cng u vo hoc u ra vi cc kh nng bt tay. Tn hiu bt tay -c cp
bi cc bit ca cng C (s -c trnh by mc 15.3).3. Ch 2 (Mode2): Trong ch ny cng A c th -c dng nh- cng vo/ra hai chiu vi kh nng bt tay v cc tn hiu bt tay -c cp bi cc bit cngC. Cng B c th -c dng nh- ch vo/ ra n gin hoc ch c bttay Mode1. Ch ny s khng -c trnh by trong ti liu ny.Ch BSR: y l ch thit lp/ xo bit (Bit Set/Reset). ch ny ch cnhng bit ring r ca cng C c th -c lp trnh (s -c trnh by mc15.3).
Bng 15.1: Chn cng ca 8255.
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
3/16
CS A1 A0 Chn cng
0 0 0 Cng A0 0 1 Cng B0 1 0 Cng C0 1 1 Thanh ghi iu khin1 x X 8255 khng -c chn
Hnh 15.3:nh dng tiu khin ca 8255 (ch vo/ ra).15.1.3 Lp trnh ch vo/ ra n gin.
Hng Intel gi ch 0 l ch vo/ ra c s. Mt thut ng -c dngchung hn l vo/ ra n gin. Trong ch ny th mt cng bt k trong A, B,C -c lp trnh nh- l cng u vo hoc cng u ra. Cn l-u rng trong ch
ny mt cng cho khng th va lm u vo li va lm u ra cng mtlc.V d 15.1:
Hy tm tiu khin ca 8255 cho cc cu hnh sau:Tt c cc cng A, B v C u l cc cng u ra (ch 0).PA l u vo, PB l u ra, PCL bng u vo v PCH bng u ra.
Li gii:Thnh 15.3 ta tm -c:
a)1000 0000 = 80H; b) 1001 000 = 90H15.1.4 Ni ghp 8031/51 vi 8255.
Chp 8255 -c lp trnh mt trong bn ch va trnh by trn bngcch gi mt byte (hng Intel gi l mt tiu khin) ti thanh ghi iu khin
ca 8255. Tr-c ht chng ta phi tm ra cc a ch cng -c gn cho mi cngA, B, C v thanh ghi iu khin. y -c gi l nh x cng vo/ ra (mapping).
Nh- c th nhn thy thnh 15.4 th 8255 -c ni ti mt 8031/51 nh-
th n l b nhRAM. vic s dng cc tn hiu RD v WR. Ph-ng phpni mt chp vo/ ra b nh v n -c nh x vo khng gian b nh. Hay nicch khc, ta s dng khng gian b nh truy cp cc thit b vo/ ra. V ly???do ny m ta dng lnh MOVX truy cp RAM v ROM. i vi mt 8255-c ni ti 8031/51 th ta cng phi dng lnh MOVX truyn thng vi n.iu ny -c th hin trn v d 15.2.
1 = I/O Mode0 = BSRMode
Mode Selection00 = Mode 001 = Mode 11x = Mode2
Pont A1 = Input0 = Output
Port C (UpperPC7 PCA)1 = Input0 = Output
Mode Selcction0 = Mode 0
1 =Mode 1
Port B1 = Input0 = Output
Port 0 (LowePC3 PCC)1 = Input0 = Output
Group A Group A
D7 D6 D5 D4 D3 D2 D1 D0
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
4/16
V d 15.2:i vi hnh 15.4:
a) Hy tm cc a ch vo/ ra -c gn cho cng A, B, C v thanh ghi iu khin.b) Hy lp trnh 8255 cho cc cng A, B v C thnh cc cng u ra.c) Vit mt ch-ng trnh gi 55H v AAH n cng lin tc.Li gii:a) a ch c s dnh cho 8255 nh- sau:
A15
A14
A13
A12
A11
A10
A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
x 1 x x x x x x x x x x x X 0 0 =4000HPA
x 1 x x x x x x x x x x x X 0 1 =4000HPB
x 1 x x x x x x x x x x x X 1 0 =4000HPC
x 1 x x x x x x x x x x x X 1 1 =4000HCR
b) Byte (t) iu khin cho tt c cc cng nh- u ra l 80H nh- -c tnh vd 15.1.c)
MOV A, #80H ; T in khinMOV DPTR, # 4003H ; Np a ch cng ca thanh ghi iu khinMOVX @DPTR, A ; Xut t in khinMOV A, # 55H ; Gn A = 55
AGAIN: MOV DPTR, # 4000H ; a ch cng PAMOVX @DPTR, A ; Ly cc bit cng PAINC DPTR ; a ch cng PBMOVX @DPTR, A ; Ly cc bt cng PBINC DPTR ; a ch cng PCMOVX @DPTR, A ; Ly cc bt cng PCCPL A ; Ly cc bt thanh ghi AACALL DELAY ; ChSJMP AGAIN ; Tip tc
Hnh 15.4: Ni ghp 8051 vi 8255 cho v d 15.2.
8051
AD7
P0.0
P0.7
ALE
P3.7
P3.6
RD
74LS373
G
OC
QD
A0
A1
AD0
8255
WR
CS WR RDP2.7
PA
PB
PCA1
D7 D0A0
D7
D0
A1
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
5/16
V d 15.3:i vi hnh 15.5:
a) Tm cc a ch cng vo ra -c gn cho cc cng A, B, C v thanhg ghi iukhin.b) Tm byte iu khin i vi PA bng u vo, PB bng u ra, PC bng u rac) Vit mt ch-ng trnh nhn d liu tPA gi n n c cng B v cng C.Li gii:a) Gi s tt cc cc bit khng dng n l 0 th a ch cng c s cho 8255 l1000H. Do vy ta c:
1000H l PA; 1001H l PB; 1002H l PC v 1003H l thanh ghi iu khin.b) Tiu khin cho tr-ng hp ny l 10010000 hay 90H.c)
MOV A, #90H ; PA l u vo, PB l u ra, PC l u raMOV DPTR, #1003H ; Np a ch cng ca thanh ghi iu khinMOVX @DPTR, A ; Xut t iu khinMOV DPTR, #1000H ; a ch PAMOVX A, @DPTR ; Nhn d liu t PAINC DPTR ; a ch PBMOVX @DPTR, A ; Gi d liu ra PB
INC DPTR ; a ch PCMOVX @DPTR, A ; Gi d liu ra PC
Hnh 15.5: Ni ghp 8051 ti 8255 cho v d 15.3.i vi v d 15.3 ta nn dng ch lnh EQU cho a ch cc cng A, B, C
v thanh ghi iu khin CNTPORT nh- sau:APORT EQU 1000HBPORT EQU 1001HCPORT EQU 1002HCNTPORT EQU 1003H
MOV A, #90H ; PA l u vo, PB l u ra, PC l u raMOV DPTR, #CNTPORT ; Np a ch ca cng thanh ghi iu khin
8051
AD7
P0.0
P0.7
ALE
P3.7
P3.6
RD
74LS373
G
OC
QD
D0
D7
A0
A1
D0
AD0
A15
A0
A1
8255
WR
CSWR
D7
RDP2.7
PA
PBPC
RE
A12
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
6/16
MOVX @DPTR, A ; Xut t iu khinMOV DPTR, #CNTPORT ; a ch PAMOVX DPTR, APORT ; Nhn d liu PAINC A, @DPTR ; a ch PBMOVX DPTR ; Gi d liu ra PBINC DPTR ; a ch PCMOVX DPTR, A ; Gi d liu ra PC
hoc c th vit li nh- sau:
CONTRBYT EQU 90H Xc nh PA u vo, PB v PC u raBAS8255P EQU 1000H ; a ch c s ca 8255
MOV A, #CONTRBYTMOV DPTR, #BAS8255P+3 ; Np a ch cng CMOVX @DPTR, A ; Xut t iu khinMOV DPTR, #BASS8255P ; a ch cng A...
trong v d 15.2 v 15.3 ta s dng thanh ghi DPTR v a ch cs gn cho 8255 l 16 bit. Nu a ch c s dnh cho 8255 l 8 bit, ta c th sdng cc lnh MOVX A, @R0 v MOVX@R0, A trong R0 (hoc R1)
gi a ch cng 8 bit ca cng. Xem v d 15.4, ch rng trong v d 15.4 ta sdng mt cng lgc n gin gii m a cha cho 8255. i vi h thng cnhiu 8255 ta c th s dng 74LS138 gii m nh- s trnh by v d 15.5.15.1.5 Cc b danh ca a ch (Addren Alias).
Trong cc v d 15.4 v 15.4 ta gii m cc bt a ch A0 A7, tuy nhintrong v d 15.3 v 15.2 ta gii m mt phn cc a ch cao ca A8 A15.Vic gii m tng phn ny dn n ci gi l cc b danh ca a ch (AddressAliases). Hay ni cch khc, cng cng vt l ging nhau c cc a ch khcnhau, do vy cng mt cng m -c bit vi cc tn khc nhau. Trong v d15.2 v 15.3 ta c th thay i tt x thnh cc t hp cc s 1 v 0 khc nhauthnh cc a ch khc nhau, song v thc cht chng tham chiu n cng mt
cng vt l. Trong ti liu thuyt minh phn cng ca mnh chng ta cn phi bom ghi ch y cc b danh a cha nu c sao cho mi ng-i dng bit-c cc a ch c sn h c th m rng h thng.V d 15.4:
Cho hnh 15.6:a) Hy tm cc a ch cng vo/ ra -c gn cho cc cng A, B, C v thanh ghiiu khin.b) Tm tiu khin cho tr-ng hp PA l u ra, PB l u vo, PC PC3 l uvo v CP4 CP7 l u ra.c) Vit mt ch-ng trnh nhn d liu tPB v gi n ra PA. Ngoi ra, d liutPC1 -c gi n CPU.
Li gii:a) Cc a ch cng -c tm thy nh- sau:
BB CS A1 A0 a ch Cng
0010 00 0 0 20H Cng A0010 00 0 1 21H Cng B0010 00 1 0 22H Cng C0010 00 1 1 23H Thanh ghi iu khin
b) Tiu khin l 10000011 hay 83H.
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
7/16
c)CONTRBYT EQU 83H ; PA l u ra, PB,PCL l u voAPORT EQU 20HBPORT EQU 21HCPORT EQU 22HCNTPORT EQU 23H
...MOV A, #CONTRBYT
MOV A, #CONTRBYT ; PA, PCU l u ra, PB v PCL l u voMOV R0, #CNTPORT ; Np a ch ca cng thanh ghi iu khinMOVX @R0, A ; Xut t iu khinMOV R0, #BPORT ; Np a ch PBMOVX A, @R0 ; c PBDEC R0 ; Ch n PA (20H)MOVX @R0, A ; Gi n n PAMOV R0, #CPORT ; Np a ch PCMOVX A, @R0 ; c PCLANL A, #0FH ; Che phn caoSWAP A ; Trao i phn cao v thpMOVX @R0, A ; Gi n PCU
Hnh 15.6: Ni ghp 8051 vi 8255 cho v d 15.4.V d 15.5:
Hy tm a ch c s cho 8255 trn hnh 15.7.Li gii:
GA B2G A2G C B A a ch
A7 A6 A5 A4 A3 A2 A1 A0
1 0 0 0 1 0 0 0 88H
8051
AD7
P0.0
P0.7
ALE
P3.7
P3.6
RD
74LS373
G
OC
QD
D0
D7
A0
A1
D0
AD0 A0
A1
8255
WR
CSWR
D7
RD
PA
PB
PCL
RES
A2
A7
PCU
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
8/16
Hnh 15.7:Gii m a ch ca 8255 s dng 74LS138.15.1.6 H 8031 vi 8255.
Trong mt h thng da trn 8031 m b nh ch-ng trnh ROM ngoi lmt sbt buc tuyt i th s dng mt 8255 l rt -c tro n. iu ny ldo mt thc t l trong gii trnh phi ghp 8031 vi b nh ch-ng trnh ROMngoi ta b mt hai cng P0 v P2 v ch cn li duy nht cng P1. Do vy, vicni vi mt 8255 l cch tt nht c thm mt s cng. iu ny -c ch ra
trn hnh 15.8.
Hnh 15.8: Ni 8031 ti mt ROM ch-ng trnh ngoi v 8255.15.2 Ni ghp vi th gii thc.15.2.1 Phi ghp 8255 vi ng c bc.
Ch-ng 13 ni chi tit v phi ghp ng c b-c vi 8051, y tatrnh by ni ghp ng c b-c ti 8255 v lp trnh (xem hnh 15.9).
A2
A3
A4
A5
A6A7 G1
A0
A1
Y28255
A
B
C
A2G
B2G CS
74LS138
8031
AD7
P0.0
P0.7
ALE
P3.7
P3.6
PSEN
P2.7
P2.0
74LS373
G
OC
D
AD0
WREA
RD
A0
8255
RESD7
2864(2764)8K8
ProgramRAM
CE OE VCC
D0
RDWR
VCC
A1
PA
PB
PC
A0
A0A8
A12 A12
A8
A0
A0
D7
D0
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
9/16
Hnh 15.9: Ni ghp 8255 vi mt ng c b-c.Ch-ng trnh cho s ni ghp ny nh- sau:
MOV A, #80H ; Chn t iu khin PA l u raMOV R1, #CRPORT ; a ch cng thanh ghi iu khinMOVX @R1, A ; Cu hnh cho PA u raMOV R1, #APORT ; Np a ch cng PAMOV A, #66H ; Gn A = 66H, chuyn xung ca ng c b-c
AGAIN: MOVX @R1, A ; Xut chui ng c n PARR A ; Quay chui theo chiu kim ng hACALL DELAY ; ChSJMP AGAIN
15.2.2 Phi ghp 8255 vi LCD.
Hnh 5.10: Ni ghp 8255 vi LCD.Ch-ng 15.1:
; Ghi cc lnh v d liu ti LCD khng c kim tra c bn.; Gi s PA ca 8255 -c ni ti D0 D7 ca LCD v; IB RS, PB1 = R/W, PB2 = E ni cc chn iu khin LCD
MOV A, #80H ; t tt c cc cng 8255 l u raMOV R0, #CNTPORT ; Np a ch thanh ghi iu khinMOVX @R0, A ; Xut t iu khinMOV A, #38H ; Cu hnh LCD c hai dng v ma trn 57
ULN2003 Stepper Motor
COMCOM
16
15
14
134
3
2
1
+5V
PA0
PA1
PA2
PA3
0855D0
D7
A0A1
from8051
DecodingCircuyiry
A2
A7
D0
D7
A0A1
RD
WR
CS
ULN2003 Conection for Stepper MotorPin 8 = GNDPin 9 = +5v
Ch-ng trnh 15.1 trnh bycch xut cc lnh v d liu ti mtLCD -c ni ti 8255 theo s hnh 15.10. Trong ch-ng trnh 15.1ta phi t mt tr tr-c mi lnxut thng tin bt k (lnh hoc dliu) ti LCD. Mt cch tt hn lkim tra cbn tr-c khi xut bt kth g ti LCD nh- ni ch-ng12. Ch-ng trnh 15.2 lp li ch-ngtrnh 15.1 c s dng kim tra c
bn. rng lc ny khng cnthi gian gi chm nh- v tr 15.1.
0855D0PA0
PA1
PB0PB1
PB2
A7
VCC
VEE
VSSRS R/W E
LCD
10KPOT
RESET
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
10/16
ACALL CMDWRT ; Ghi lnh ra LCDACALL DELAY ; Ch n ln xut k tip (2ms)MOV A, # 0EH ; Bt con tr cho LCDACALL CMDWRT ; Ghi lnh ny ra LCDACALL DELAY ; Ch ln xut k tipMOV A, # 01H ; Xo LCDACALL CMDWRT ; Ghi lnh ny ra LCDACALL DELAY ; Dch con tr sang phi
MOV A, # 06 ; Ghi lnh ny ra LCDACALL CMDWRT ; Ch ln xut sauACALL DELAY ; Ghi lnh ny ra LCD... ; v.v... cho tt cmi lnh LCDMOV A, # 'N' ; Hin th d liu ra (ch N)ACALL DATAWRT ; Gi d liu ra LCD hin thACALL DELAY ; Ch ln xut sauMOV A, # '0' ; Hin th ch"0"ACALL DATAWRT ; Gi ra LCD hin thACALL DELAY ; Ch ln xut sau... ; v.v... cho cc d liu khc
; Ch-ng trnh con ghi lnh CMDWRT ra LCDCMDWRT: MOV R0, # APORT ; Np a ch cng A
MOVX @R0, A ; Xut thng tin ti chn d liu ca LCDMOV R0, # BPORT ; Np a ch cng BMOV A, # 00000100B ; RS=0, R/W=1, E=1 cho xung cao xung thp
MOVX @R0, A ; Kch hot cc chnRS, R/W, E ca LCDNOP ; To xung cho chn ENOPMOV A, # 00000000B ; RS=0, R/W=1, E=1 cho xung cao xung thp
MOVX @R0, A ; Cht thng tin trn chn d liu ca LCDRET
; Ch-ng trnh con ghi lnh DATAWRT ghi d liu ra LCD.
CMDWRT: MOV R0, # APORT ; Np a ch cng AMOVX @R0, A ; Xut thng tin ti chn d liu ca LCDMOV R0, # BPORT ; t RS=1, R/W=0, E=0 cho xung cao xung thpMOV A, # 00000101B ; Kch hot cc chn RS, R/W, EMOVX @R0, A ; To xung cho chn ENOPNOPMOV A, # 00000001B ; t RS=1, R/W=0, E=0 cho xung cao xung thpMOVX @RC, A ; Cht thng tin trn chn d liu ca LCDRET
Ch-ng trnh 15.2:
; Ghi cc lnh v d liu ti LCD c s dng kim tra c bn.; Gi s PA ca 8255 -c ni ti D0 D7 ca LCD v; PB0 = RS, PB1 = R/W, PB2 = E i vi 8255 ti cc chn iu khin LCD
MOV A, #80H ; t tt c cc cng 8255 l u raMOV R0, #CNTPORT ; Np a ch thanh ghi iu khinMOVX @R0, A ; Xut t iu khinMOV A, #38H ; Chn LCD c hai dng v ma trn 57ACALL NMDWRT ; Ghi lnh ra LCDMOV A, # 0EH ; Lnh ca LCD cho con tr btACALL NMDWRT ; Ghi lnh ra LCDMOV A, # 01H ;Xo LCD
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
11/16
ACALL NMDWRT ; Ghi lnh ra LCDMOV A, # 06 ; Lnh dch con tr sang phiACALL CMDWRT ; Ghi lnh ra LCD... ; v.v... cho tt cmi lnh LCDMOV A, # 'N' ; Hin th d liu ra (ch N)ACALL NCMDWRT ; Gi d liu ra LCD hin thMOV A, # '0' ; Hin th ch"0"ACALL NDADWRT ; Gi ra LCD hin th
... ; v.v... cho cc d liu khc; Ch-ng trnh con ghi lnh NCMDWRT c hin th c bnNCMDWRT: MOV R2, A ; L-u gi tr thanh ghi A
MOV A, #90H ; t PA l cng u vo c trng thi LCDMOV R0, # CNTPORT ; Np a ch thanh ghi iu khinMOVX @R0, A ; t PA u vo, PB u raMOV A, # 00000110B ; RS=0, R/W=1, E=1 c lnhMOV @R0, BPORT ; Np a ch cng BMOVX R0, A ; RS=0, R/W=1 cho cc chn RD v RS
MOV R0, APORT ; Np a ch cng AREADY: MOVX @R0 ; c thanh ghi lnh
RLC A ; Chuyn D7 (c bn) vo bit nhcarryJC READY ; Ch cho n khi LCD sn sngMOV A, #80H ; t li PA, PB thnh u raMOV R0, #CNTPORT ; Np a ch cng iu khinMOVX @R0, A ; Xut t iu khin ti 8255MOV A, R2 ; Nhn gi tr tr li ti LCDMOV R0, #APORT ; Np a ch cng AMOVX @R0, A ; Xut thng tin ti cc chn d liu ca LCDMOV R0, #BPORT ; Np a ch cng BMOV A, #00000100B ; t RS=0, R/W=0, E=1 cho xung thp ln caoMOVX @R0, A ; Kch hot RS, R/W, E ca LCDNOP ; To rng xung ca chn ENOP
MOV A, #00000000B ; t RS=0, R/W=0, E=0 cho xung cao xung thpMOVX @R0, A ; Cht thng tin chn d liu LCDRET
; Ch-ng trnh con ghi d liu mi NDATAWRT s dng c bnNCMDWRT: MOV R2, A ; L-u gi tr thanh ghi A
MOV A, #90H ; t PA l cng u vo c trng thi LCDMOV R0, # CNTPORT ; Np a ch thanh ghi iu khinMOVX @R0, A ; t PA u vo, PB u raMOV A, # 00000110B ; RS=0, R/W=1, E=1 c lnhMOV @R0, BPORT ; Np a ch cng BMOVX R0, A ; RS=0, R/W=1 cho cc chn RD v RS
MOV R0, APORT ; Np a ch cng A
READY: MOVX @R0 ; c thanh ghi lnhRLC A ; Chuyn D7 (c bn) vo bit nhcarryJC READY ; Ch cho n khi LCD sn sngMOV A, #80H ; t li PA, PB thnh u raMOV R0, #CNTPORT ; Np a ch cng iu khinMOVX @R0, A ; Xut t iu khin ti 8255MOV A, R2 ; Nhn gi tr tr li ti LCDMOV R0, #APORT ; Np a ch cng AMOVX @R0, A ; Xut thng tin ti cc chn d liu ca LCDMOV R0, #BPORT ; Np a ch cng BMOV A, #00000101B ; t RS=1, R/W=0, E=1 cho xung thp ln cao
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
12/16
MOVX @R0, A ; Kch hot RS, R/W, E ca LCDNOP ; To rng xung ca chn ENOPMOV A, #00000001B ; t RS=1, R/W=0, E=0 cho xung cao xung thpMOVX @R0, A ; Cht thng tin chn d liu LCDRET
15.2.3 Ni ghp ADC ti 8255.Cc b ADC -c trnh by ch-ng 12. D-i y mt ch-ng trnhch mt b ADC -c ni ti 8255 theo s cho trn hnh 115.11.
MOV A, #80H ; T iu khin vi PA = u ra v PC = u voMOV R1, #CRPORT ; Np a ch cng iu khinMOVX @R1, A ; t PA = u ra v PC = u vo
BACK: MOV R1, #CPORT ; Np a ch cng CMOVX A, @R1 ; c a ch cng C xem ADC sn sng ch-aANL A,, #00000001B ; Che tt c cc bt cng C xem ADC sn
sng ch-aJNZ BACK ; Gi hin th PC0 che EOC
; Kt thc hi thoi v by gi nhn d liu ca ADC
MOV R1, #APORT ; Np a ch PAMOVX A, @R1 ; A = u vo d liu t-ng t
Cho n y ta -c trao i ch vo/ ra n gin ca 8255 v trnhby nhiu v d v n. Ta xt tip cc ch khc.
Hnh 15.11: Ni ghp ADC 804 vi 8255.15.3 Cc ch khc ca 8255.15.3.1 Ch thit lp/ xo bit BSR.
Mt c tnh duy nht ca cng C l cc bit c th -c iu khin ringr. Ch BSR cho php ta thit lp cc bit PC0 PC7 ln cao xung thp nh--c ch ra trn hnh 15.12. V d 15.6 v 15.7 trnh by cch s dng ch nynh- th no?
D0
D7
DecodingCircuyiry
A2
A7
D0
D7
PA0
PA7
PC0 INTR
RESET
8255
VCCCLK R
CLK IN
Vin(+)
Vin()
A GND
Vref/2
GND
CS
10KPOT
10k 150pF
5VADC804
RD
WR
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
13/16
Hnh 15.12: Tiu khin ca ch BSR.V d 15.6:
Hy lp trnh PCA ca 8255 ch BSR th bit D7 ca t iu khinphi mc thp. PC4 mc cao, ta cn mt tiu khin l "0xxx1001" v mc thp ta cn "0xxx1000". Cc bt -c nh du x l ta khng cn quan tmv th-ng chng -c t v 0.
MOV A, 00001001B ; t byte iu khin cho PC4 =1MOV R1, #CNTPORT ; Np cng thanh ghi iu khinMOVX @R1, A ; To PC4 = 1ACALL DELAY ; Thi gian gi chm cho xung caoMOV A, #00001000B ; t byte iu khin cho PC4 = 0MOVX @R1, A ; To PC4 = 0ACALL DELAY
Hnh 15.13: Cu hnh cho v d 15.6 v 15.7.V d 15.7:
Hy lp trnh 8255 theo s 15.13 :a) t PC2 ln caob) S dng PC6 to xung vung lin tc vi 66% y xung.
Li gii:a) MOV R0, # CNTPORTMOV A, # 0XXX0101 ; Byte iu khinMOV @R0, A
b)AGAIN: MOV A, #00001101B ; Chn PC6 = 1
MOV R0, #CNTPORT ; Np a ch thanh ghi iu khinMOVX @R0, A ; To PC6 = 1ACALL DELAYACALL DELAYMOV A, #00001100B ; PC6 = 0
0 x x x Bit Select S/R
BSR
Mode
D7 D6 D5 D4 D3 D2 D1 D0
Not Used.
Generally = 0.
000=Bit0 100=Bit4
001 = Bit1 101=Bit5010 = Bit2 110=Bit6011 = Bit3 111=Bit7
Set=1
Reset=0
DecodingCircuyiry
A2
A7
D0
D7
CS
WR
RDRD
WR
A0A7 A7
A0 PC4
8255
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
14/16
ACALL DELAY ; Thi gian gi chmSJMP AGAIN
S
s
Hnh 15.14: Biu u ra ca 8255 ch 1.
Hnh 15.15: Biu nh thi ca 8255 ch 1.15.3.2 8255 ch 1: Vo/ ra vi kh nng ny bt tay.
Mt trong nhng c im mnh nht ca 8255 l kh nng bt tay vi cc
thit b khc. Kh nng bt tay l mt qu trnh truyn thng qua li ca hai thitb thng minh. V d v mt thit b c cc tn hiu bt tay l my in. D-i y tatrnh by cc tn hiu bt tay ca 8255 vi my in.
Ch 1:Xut d liu ra vi cc tn hiu bt tay.Nh- trnh by trn hnh 15.14 th cng A v B c th -c s dng nh-
cc cng u ra gi d liu ti mt thit b vi cc tn hiu bt tay. Cc tnhiu bt tay cho c hai cng A v B -c cp bi cc bit ca cng C. Hnh 15.15biu nh thi ca 8255.
PC4
PC4
PC7
PC6
INTEA
PC6
Port A Output
PC1
PC2
INTEB
PC0
PB7
PB0Port A Output
PC4.5
INTEB
INTEA
OBFAACKA
OBFB
ACKB
PortA
wit
h
HanshakeSig
nals
PortB
with
Hansha
keSignals
WR
1 0 1/0 1 0 X1 0
D7 D6 D5 D4 D3 D2 D1 D0
PortB
Output
PortB
Mode1
PortB
Output
PortA
Output
PortA
Mode1
PortA
Mode1
I/OMode
PC4.51=Input,0=Outpput
ControlWordMode1Output
D7 D6 D5 D4 D3 D2 D1 D0INTEB
INTEB
I/O
I/O
iNTEA
StatusWordMode1Output
INTEA
OBFA
OBFB
INTEA is controlled by PC6 in BSRmodeINTEB is controlled by PC2 in BSRmode
INTEB
OBF
WR
ACK
Output
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
15/16
D-i y l cc phn gii thch v cc tn hiu bt tay v tnh hp l cachng i vi cng A, cn cng B th hon ton t-ng t.
Tn hiu OBFa :y l tn hiu b m u ra y ca cng A -c tchcc mc thp i ra tchn PC7 bo rng CPU ghi 1 byte d liu ti cng A.Tn hiu ny phi -c ni ti chn STROBE ca thit b thu nhn d liu (chnghn nh- my in) bo rng n by gi c th c mt byte d liu tchtcng.
Tn hiu ACKa : y l tn hiu chp nhn do cng A c mc tch ccmc thp -c nhn ti chn PC6 ca 8255. Qua tn hiu ACKa th 8255 bitrng tn hiu ti cng A -c thit b thu nhn ly i. Khi thit b nhn ly d
liu i tcng A n bo 8255 qua tn hiu ACKa . Lc ny 8255 bt OBFa lncao bo rng d liu ti cng A by gi l d liu c v khi CPU ghi mt
byte d liu mi ti cng A th OBFa li xung thp v.v...Tn hiu INTRa:y l tn hiu yu cu ngt ca cng A c mc tch cc
cao i ra tchn PC3 ca 8255. Tn hiu ACK l tn hiu c di hn ch. Khi
n xung thp (tch cc) th n lm cho OBFa khng tch cc, n mc thp mt
thi gian ngn v sau tr nn cao (khng tch cc). S-n ln ca ACKkchhot INTRa ln cao. Tn hiu cao ny trn chn INTRa c th -c dng gych ca CPU. CPU -c thng bo qua tn hiu INTRa rng my in nhnbyte cui cng v n sn sng nhn byte d liu khc. INTRa ngt CPU ngngmi th ang lm v p n gi byte k tip ti cng A in. iu quan trng l
ch rng INTRa -c bt ln 1 ch khi nu INTRa, OBFa v ACKa u mccao. N -c xo v khng khi CPU ghi mt byte ti cng A.
Tn hiu INTEa:y l tn hiu cho php ngt cng A 8255 c th cmINTRa ngn n khng -c ngt CPU. y l chc nng ca tn hiu INTEa.N l mt mch lt Flip Flop bn trong thit k che (cm) INTRa. Tn hiuINTRa c th -c bt ln hoc b xo qua cng C trong ch BSR v INTEa lFlip Plop -c iu khin bi PC6.
T trng thi: 8255 cho php hin th trng thi ca cc tn hiu INTR,OBF v INTE cho c hai cng A v B. iu ny -c thc hin bng cch ccng C vo thanh ghi tng v kim tra cc bit. c im ny cho php thc thithm d thay cho ngt phn cng.
Hnh 15.16:u cm DB25.
(hnh 15.17 m qu khng v c)
Hnh 15.17:u cp ca my in Centronics.Bng 15.2: Cc chn tn hiu ca my in Centronics.
1 13
14 25
Smith Nguyen Studio.
-
8/2/2019 Chuong 15_Ghep Noi 8255 - Smith.N Studio
16/16
Chn s M t Chn s M t
123456789
10
STROBED liu D0D liu D1D liu D2D liu D3D liu D4D liu D5D liu D6D liu D7
ACK (chp nhn)
11121314151617
1825
Bn (busy)Ht giy (out ofpaper)Chn (select)
Tnp ( Autofeed )
Li ( Error)
Khi to my inChn u vo ( inputSelect )
t (ground)
Cc b-c truyn thng c bt tay gia my in v 8255.Mt byte d liu -c gi n bus d liu my in.My in -c bo c 1 byte d liu cn -c in bng cch kch hot tn
hiu u vo STROBE ca n.Khi my nhn -c d liu n bo bn gi bng cch kch hot tn hiu
u ra -c gi l ACK (chp nhn).
Tn hiu ACK khi to qu trnh cp mt byte khc n my in.Nh- ta thy tcc b-c trn th ch khi mt byte d liu ti my in l
khng . My in phi -c thng bo v shin din ca d liu. Khi d liu-c gi th my in c th bn hoc ht giy, do vy my in phi -c bo chobn gi khi no n nhn v ly -c d liu ca n. H nh 15.16 v 15.17 trnhcc cm DB25 v u cp ca my in Centronics t-ng ng.
Smith Nguyen Studio.