applications of handshake mode
TRANSCRIPT
-
8/10/2019 Applications of Handshake Mode
1/3
Applications of the 8255 in the Handshake mode
IntroductionThis report is based on the application of the 8255 in the handshake mode. There are a many applications
using the hand shake mode and a few are listed in this report. 8255 is a widely used general purpose
programmable devices, can be compatible with any microprocessor. The 8255 includes three programmable
ports, one of which can be used for bidirectional data transfer. This is an important additional feature incomparison with the 8155 I/O ports. The 8255 has 24 I/0 pins that can be grouped primarily in two 8 bit
parallel ports. A & B, with the remaining eight bits as port c. the eight ports of port c can be used as individual
bits or be grouped in two 4-bit ports. The figure shows all the functions of 8255, classified according to two
modes: the BSR mode and I/P mode. The BSR mode is used to set or reset the bits in port c. the I/O mode is
further divided into three modes: mode 0, mode 1 and mode 2. In mode 0, all the ports function as simple
I/O ports. Mode 1, is a handshake mode where by ports A and/or B use bits from port C as handshake signals.
In the handshake mode, two types of I/P data can be transferred implemented: status check and interrupt. In
mode 2, port A can be set up for bidirectional data transfer using handshake signals from port C, and port B
can be used to set up either in mode 0 or mode 1.
1. INTERFACING ANALOG TO DIGITAL DATA CONVERTERS
In most of the cases, the PIO 8255 is used for interfacing the analog to digital converters with aMicroprocessor.This section will only emphasize theInterfacing techniques of analog to digital converters with 8255.The function of an A/D converter is to produce a digital word whichRepresents the magnitude of some analog voltage or current. TheSpecifications for an A/D converter are very similar to those for D/AConverter. The resolution of an A/D converter refers to the number of bits inthe output binary word. An 8-bit converter for example has a resolution of 1Part in 256. Accuracy and linearity specifications have the same meaningFor an A/D converter as they do for a D/A converter. Another importantSpecification for an ADC is its conversion time. This is simply the time it
takes the converter to produce a valid output binary code for an appliedinput voltage. When we refer to a converter as high speed, we mean that ithas a short conversion time.
The analog to digital converter is treated as an input device by theMicroprocessor that sends an initialising signal to the ADC to start theanalog to digital data conversation process. The start of conversion signal isa pulse of a specific duration. The process of analog to digital conversion isa slow process, and the microprocessor has to wait for the digital data tillthe conversion is over. After the conversion is over, the ADC sends end ofconversion (EOC) signal to inform the microprocessor that the conversionis over and the result is ready at the output buffer of the ADC. These tasksof issuing an SOC pulse to ADC, reading EOC signal from the ADC andreading the digital output of the ADC are carried out by the CPU using8255 I/O ports.The time taken by the ADC from the active edge of SOC pulse (theedge at which the conversion process actually starts) till the active edge ofEOC signal is called as the conversion delay of the ADC. Or broadlyspeaking the time taken by the converter to calculate the equivalent digitaldata output from the instant of the start of conversion is called conversiondelay. It may range any where from a few microseconds in case of fast
ADCs to even a few hundred milliseconds in case of slow ADCs. A numberof ADCs are available in the market, The selection of ADC for a particularapplication is done, keeping in mind the required speed, resolution range ofoperation, power supply requirements, sample and hold device
requirements and the cost factors are considered.The available ADCs in the market use different conversion techniquesfor the conversion of analog signals to digital signals. Parallel converter or
-
8/10/2019 Applications of Handshake Mode
2/3
flash converter, Successive approximation and dual slope integrationtechniques are the most popular techniques used in the integrated ADCchips. Whatever may be the technique used for conversion, a generalalgorithm for ADC interfacing contains the following steps.1. Ensure the stability of analog input, applied to the ADC.2. Issue start of conversion (SOC) pulse to ADC.3. Read end of conversion (EOC) signal to mark the end of conversionprocess.4. Read digital data output of the ADC as equivalent digital output.It may be noted that analog input voltage must be constant at theinput of the ADC right from the start of conversion till the end ofconversion to get correct results. This may be ensured by a sample and holdcircuit which samples the analog signal and holds it constant for a specifiedtime duration. The microprocessor may issue a hold signal to the sample10and Hold circuit. If the applied input changes before the complete conversionprocess is over, the digital equivalent of the analog input calculated by the ADCmay not be correct.
ADC 0808 is an 8-bit Analog to Digital Converter chip. It comes in a 28 pin DIP. It uses
successive approximation technique. The conversion is quite fast. The conversion time is
100 micro seconds when the clock rate is 640 KHz. ADC 0808 has 8 analog inputs i/p
0-7. An input is selected for conversion based on C B A inputs. Start of Conversion SOC)
signal is needed to begin conversion. The end of conversion is indicated by activation ofEOC signal. The digital output comes out on Out7-0.
Program for A/D Conversion
MOV AL, 98H; Configure 8255
OUT 7FH, AL; PA as input, PB as output, PCL as output, PCU as inputMOV AL, 02H; Select i/p 2 as analog input
OUT 7DH, AL; by sending 02 to Port B
MOV AL, 00OUT 7EH, AL; Send 0 on PC0
MOV AL, 01
OUT 7EH, AL; Send 1 on PC0
MOV AL, 00; Send 0 on PC0OUT 7EH, AL; i.e. send SOC on PC0WAIT: INAL, 7EH; Read Port C
ROL AL,1; Look at EOC by rotate left
JNC WAIT; Remain in loop while EOC is 0IN AL, 7CH; Read from Port A after EOC
HLT
2. Digital to Analog ConversionDAC 0800 is an 8-bit Digital to Analog Converter chip. It comes in a 16 pin DIP. It has 8digital inputs. DAC 0808 generates analog current output.Current to voltage converter is
used externally. Current output is generated in about 100 milli seconds.Program for Triangular waveform generation using DAC
MOV AL, 80H; Configure Port A as output in Mode 0
OUT 7FH, AL
MOV AL, 00; Initialize AL with 0
UP: OUT 7CH, AL; Next 4 instructions generate rising portion of triangular waveform
INC AL;
CMP AL, FFH;
JB UP
DOWN: OUT 7CH, AL; Next 4 instructions generate falling portion of triangular waveform
DEC AL;
CMP AL, 00;
JA DOWN
JMP UP;
-
8/10/2019 Applications of Handshake Mode
3/3
3. Parallel Printer Interface:For the most common printer such as the IBM PC printer, the Epson dot
matrix printers and the Panasonic dot matrix printers, data to be printed is sent to
the printer as ASCII characters on eight parallel lines. The printer receives the
characters to be printed and stores them in an internal RAM buffers. When the
printer detects a carriage return character, it prints out the first row of characters
from the print buffer. When the printer detects a second carries return, it prints out
the second row of characters etc. The process continuous until the desired
characters have been printed.
Transfer of the ASCII codes from a microcomputer to a printer must be
done on a handshake basis because the microcomputer can send characters much
faster than a printer can print them. The printer must in some way let the
microcomputer know that its buffer is full and that is cannot accept any more
characters until it prints some out. A common standard for interface with parallel
printers in the centronics parallel interface standard, named for the company that
developed it.
Centronics type printers usually have a 36-pin interface connected. This 36-
pin connector fall into two categories, i. Signals sent to the printer to tell it what
operation to do and ii. signals form the printer that indicate its status.
The major control signals to the printer are INIT on pin 31, which tells the
printer to perform its initialization sequence, and STROBE on pin1 which tells the
printer Here is a character for you. The two addition input pins pin14 and pin16
are usually taken care of inside the printer.
The major status signals output from the printer are
1. The ACKNLG signal on pin10, which when low indicates that the character
has been accepted and the printer is ready for the next character.
2. The BUSY signal on pin11, which is high if, for some reason such as being
out of paper, the printer is not ready to receive a character.
3. The PE signal on pin12 which goes high if the out of paper switch in the
printer is activated.
204. The SLCT signal on pin13, which goes high if the printer is selected for
receiving data5. The ERROR signal on pin32, which goes low for a variety of problem
conditions in the printer.
with 8255