8255 programmable peripheral interface-microprocessor, Assembly Language

8255 Programmable Peripheral Interface

Intel's 8255 A programmable peripheral interface provides a nice instance of a parallel  interface. As shown the interface have a control register and 3 separately addressable ports, denoted from A, B, and C. Whether or not an 8255A is being accessed is determined by the signal on the CS pin and the direction of the access is according to the WR and RD signals. Which of the 4 registers is being addressed is determined by the signals applied to the pins A0 and A1. So, the lowest port address assigned to an 8255 A might be divisible by 4. A review of the 8255 A's addressing is:

A1        A0        RD       WR      CS        Transfer Description

0          0          0          1          0          Port A to data bus

0          1          0          1          0          Port B to data bus

1          0          0          1          0          Port C to data bus

0          0          1          0          0          Data bus to port A

0          1          1          0          0          Data bus to port B

1          0          1          0          0          Data bus to port C

1          1          1          0          0          Data bus to control register if D7= 1; if D7=0 input from the data bus is treated as a Set/Reset instruction

x          x          x          x          1          D7-D0 go to high-impedance state

1          1          0          1          0          Illegal combination

x          x          1          1          0          D7-D0 go to high-impedance state

Where 0 is low and 1 is high

Because the bits in port C are sometimes utilized as control bits, the 8255 A is designed so that they may be output to separately by using a Reset/set instruction. When the 8255 A receives a byte that is directed to its control register, it checked data bit 7.If this bit is one, the data are transferred to the control register, but if it is zero, the data retreated as a Reset/set instruction and is utilized to clear or set the port C it denoted by the instruction. Bits 3-1 gives the bit number of the bit to be changed and bit 0 denote whether it is to be cleared or set. The remaining bits are not useful.


The bits in the 3 ports are attached to pins that can be linked to the I/O device. These bits are divided into groups A & B, with group A consisting of the bits in port A and the 4 MSBs of port C and group b consisting of port B and the 4 LSBs of port C. the use of each of the 2 groups is controlled by the mode connected with it. Group A is connected with 1 of 3 modes, mode zero, mode one, and mode two, and group B with 1 of 2 modes, mode 0 and mode 1.


Posted Date: 10/10/2012 6:51:27 AM | Location : United States

Related Discussions:- 8255 programmable peripheral interface-microprocessor, Assignment Help, Ask Question on 8255 programmable peripheral interface-microprocessor, Get Answer, Expert's Help, 8255 programmable peripheral interface-microprocessor Discussions

Write discussion on 8255 programmable peripheral interface-microprocessor
Your posts are moderated
Related Questions
Sum of series of 10 numbers and store result in memory location total

IMUL: Signed Multiplication: This instruction multiplies a signed byte by a signed bit in source operand e in the register AL or signed word in source operand by signed word in th

GROUP : Group the Related Segments:- The directive which is used to form logical groups of segments with same purpose or type. This isused to inform the assembler to form a log

As an instance of the normal priority mode, imagine that initially AEOI is equal to 0 and all the ISR and IMR bits are clear. Also consider that, as shown in given figure, requests

Ask question #MinimuWHAT ARE CONSTANTS AND WHAT DO THEY DO?m 100 words accepted#

RCR: Rotate Right through Carry:- This instruction rotates the contents  bit-wise of the destination operand right by the specified count through carry flag (CF). For each operati

DIV: Unsigned Division:- This instruction performs unsigned division operation. It divides an unsigned word or double word by a 16-bit or 8-bit operand. The dividend might be in t


1. Write a program that calculates the Fibonacci series: 1, 1, 2, 3, 5, 8, 13, ….. (Except for the first two numbers in the sequence, each number is the sum of the preceding two n

Write an assembly program that adds the elements in the odd indices of the following array. Use LOOP. What is the final value in the register?