You are on page 1of 31

8255

Programmable
Peripheral Interface

8255
6  
 
 
  
 

 r 8 bits (Port Number 0H)
 B 8 bits (Port Number 1H)
 C 4 bits upper and 4 bits lower (Port
Number 2H)
 !
"
c  


|



|

|



|

|



|

|

|




















|









|







|





|





|



|



|

|

|



|

|





|

|





|

|





|



#$

 #$%$&


|


+"!$
$"$
 %







"


  


!"

'(

"
)
'(

$"$
-
-..

$+,
"
!"
%

/0
| %| 

/0
| %|



%-"
/!"!$
+$"$-


!"

"
*
'(


"

'(

/0
|%|

/0
| %|











c




c


*





c


*




c


*




 







c



 



*


c


*




 



c



 

    
8255
&''


Pr PB PC
(Port r B C)

CS (Chip Select)
RD (Read)
WR (Write)
D0-D7 (Data Bus)
r0 r1 (rddress)

$


   Port 3

   / 

 
 
  

! 

 

!
"

  




 8255


8255    

8255  


8255 
 
! # $$   
 
Bi-direction

  
8255 
Port 3

8255

zode   "!3 zode  


1. zode 0 (Basic I/O)
2. zode 1 (Strobe I/O)
3. zode 2 (Bi - Conditional Bus)

 !  "
 $($ "6 

)*#$ $  6 
 "6 
 ++&

''
#
!$
%&
6 
,  ,!  
+""
(  6 ""
# 


> > > >* > > >c >


c

 
 
c


c

  
 
c c
c 

 
 
c


c

  
 
c c
c 

 
 

%&'()&*
+,(-.

Control Bytes   zode  


  

D0 : Port C  (Port C lower) 



   /  1 01   0 01

 
D1 :  Port B 
    /

 1 01 
  0 01  
D2 :  zode B / 1   zode 1
1 0 01    zode 0
D3 :  Port C (Port C upper Pc4-Pc7) /

 1 01 
  0 01  
D4 :   Port r /  1 01   201

 

c

D5 D6 : 
  zode      Group r
/ 
 00 01   zode 0 01 01   
zode 1 1X (10 111) 01    zode 2
D7 :  
! 
" lag 8255

cc

 "   8255$ 0

 "   8255$ 0

c

 "   8255$ 0

c*

 c
    zode 1
 0  
Handshaking

/ #2    r 1 B
  #   1 
  C (Pc4-Pc5)   0  
Handshaking  r
 C  (Pc0-Pc3)   0  
Handshaking  B
Handshaking       1   
2 " 

"!18255

c

  zode 1 8255

 

 













8255

 









CPU

 !

c

c

     8255 
3&4-5
6  !( 


 +& #+6."  #/




0 6 
&0 -0,!6$."&
&''6
  + $/

06  $
/



0 
# $6
0  

c

 &0 $  '1 


 &0 $ ',!&
&''  
  $  
&0 + 6.+" 
,!&&''  
   +
 6 + $& 0 6

,!&&'' + $ '
 ',!&&''
6  #0
,
6 6&., "&'' ,!+ #
 &
 ''  ,!+ #"6 
$
&0 $6+
c

 '&0 $
  1

 ',!&0 + $ 
&- #+(&&''
 ) 0
,!0 ,/


+0 " 
,!&&''     
$ 0 + +
6  0 $ "
 ,!&
&''  $
( %+ $"
0 6
 "
&'' ,!
26
$ '&
c
0  $+


   
% 3&4-5


/!"

0""

|

/


/


|

/1

01

|



2

|

/


/


|



/,0

/1

/,0

/,0

2

/,0

01

 0 6&)(7 


8'9:(
Pr7-Pr0





c"

PC4



PC5

 

PC3


"

PC6 7
c)

) 



PB7-PB0

PC1

 

PC2

 

PC0




  '

' '

 0 6&)(+ 
 8'9:(
Pr7-Pr0





c"

PC4

 

PC5

 

PC3


"

PC6 7
c)

) 



PB7-PB0

PC1



PC2

 

PC0




' '

  '

 "   8255 $ 1


Strobe Input

 "   8255 $ 1


Strobe Output

 "   8255 $ 1


Strobe Output

 "   8255 $ 1


Strobe Output

   
!
  &''",&#
!$
%&
6 && 3 ( 
6 "",&
 
),! ( $6  ) 
 !6 

6
"&
&!" "

& 
 &0 (&''

,!
  +"
 #,!   c


   
!

   
!



Summary of Port Connection for 8255


zode 0

zode 1

zode 2

Port r

IN

OUT

IN

OUT

I/O

Port B

IN

OUT

IN

OUT

Not
Used

OUT

INTRB
IBB
STBB
INTRr
STBr
IBB
I/O
I/O

INTRB
OBB
rCKB
INTRr
I/O
I/O
rCKr
OBB

Port C

1
2
3
4
5
6
7

IN

I/O
I/O
I/O
INTR
STB
IB
rCK
OB

c

You might also like