post details Interfacing-8255-AT89C51-AT89C52-AT89S51-AT89S52-Microcontrollers | PPI-Programmable-Peripheral-Interface-8051-Microcontrollers
Interfacing 8255 with AT89C51/52 AT89S51/52 MCU
8255 or 8255A can be interface with following 8051 Microcontroller Family Models :
Atmel, NXP, Philips, 8051, 8052, 89C51, 89C52, 89S51, 89s52, 89C1051, 89C1051, 89C2051, AT89C4051, AT89S8252,l AT89C1051, AT89C2051, AT89C4051,P89C51RB+, P89C51RC+, P89C51RD+, P89C51RB2Hxx, P89C51RC2Hxx, P89C51RD2Hxx, P89C660, P89C662, P89C664, P89C668, P89C669, P89C51RA2xx, P89C51RB2xx, P89C51RC2xx, P89C51RD2xx, P89C60X2, P89C61X2,P89LV51RB2, P89LV51RC2, P89LV51RD2, P89V51RB2, P89V51RC2, P89V51RD2, P89V660, P89V662, P89V664.
Here we will study the tutorials how to connect 8255 chip with 89S51, 89S52  microcontrollers and its other important variants. First of all we will describe the features of 8255 and connect with 89C51, 89C52 Microcontrollers.
 Introduction 8255 Programmable Peripheral Interface
8255 is a SPI, Programmable Peripheral Interface is the most popular and most used input output integrated chip, interface 8255 with AT89S51, AT89S52, AT89C51, AT89C52, AT89C2051, AT89C4051, AT89C1051 microcontrollers is very easy and can be connected with ATMEL and other microcontroller. Basically 8255 is a port expansion used to expand the port and its data with external circuitry. Every 8255 chip has 3 off 8 bit TTL logics input output port which can control 24 output signals or logic levels or reading 24 individual inputs or outputs.
 Functions Of PPI 8255 Features
8255 is a 40 pin DIP chip that is used to expand the ports of microcontrollers. It has three 8 bit  ports that can be accessed separately having the name Port A, Port B and Port C in short PA, PB and PC of 8255. Ports can be programmed separately and for sending or receiving data these 8255 ports can be changed dynamically using programming in assembly or KEIL C language. This chip also includes handshaking features and functions to detect the conditions and signals. It can be interfaced with another devices having handshaking capability 8255.
 Interfacing PA0 - PA7 Ports 8255A with 89C51 Microcontroller
The 8 bit port of 8255 A can be used for dual purpose for input and output for 8051 microcontrollers. PA 8255 is bidirectional port can be programmed easily to send or receive data from external devices like memories, chips and electronic devices.
Interfacing PB0 - PB7 Port 8255 with 89C52 Microcontroller
Port B of 8255 is also a dual role in getting and receiving data from external devices and is programmed as a bidirectional port using assembly language or C language. Port PB of 8255 is a 8 bit port and 8 bits can be handled individually with 8255 and 89S51 or 89S52 Microcontrollers.
 Interfacing PC0 - PC7 Port 8255A with 89S51 Microcontroller
Port C of 8255 chip is also a bidirectional 8 bit port. The another function of 8255 Port C, that it can be split into two parts to be programmed. One of them is CU 8255, upper bits PC4 - PC7 and CL 8255 lower bits PC0 - PC3. Each can be used as a input or output port to connect with 89C51, 89C52 Microcontrollers.
 Interfacing D0 -D7 Data Pins 8255 Chip with 89S52 Microcontroller
This is the data pins 8255 can be connected with 89S51, 89S52, 89C51, 89C52, 89C2051, 89C4051, 89C1051, any of the microcontroller to send or receive data over this line. Data port of 8255 can be used to send data or receive between AT89S51, AT89S52, AT89C51, AT89C52, AT89C2051, AT89C4051, AT89C1051 microcontroller.
 RD, WR And RESET 8255 Chip with 89C1051, 89c2051 and 89c4051 Microcontroller
RD and WR signals refers to reading and writing to 8255A IC with active low signal functionality. RD and WR lines of 8255 are connected with RD and WR signals of 8051 microcontroller or its other variants. RESET is an active high signal used to reset and clear the internal registers of 8255 chip. When we set RESET set to active high all ports of 8255 are set as input ports. This pin can be set grounded with the circuitry, It can be be left unconnected.
 A0, A1 and CS or Chip Select 8255
CS is used to select the chip and makes it works, A0 and A1 select a particular port of 8255 to send or receive data over lines. These three lines are used to access a particular port from 3 ports A, B and C of the chip.
8255 Hardware Connection with 8051 Microcontrollers
8255 chip can be interfaced very easily with 8051 microcontroller using its data lines and all other important lines with the external circuit. Following is the hardware diagram can be used to create a circuit used to interconnect with 8255 using Atmel microcontrollers.