Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note...
-
Upload
bruce-jackson -
Category
Documents
-
view
225 -
download
2
Transcript of Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note...
![Page 1: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/1.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-11
IO Devices Stepper Motors
DAC, ADC, PPI
Lec note 10
![Page 2: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/2.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-22
Stepper Motors
more accurately controlled than a normal
motor
allowing fractional turns step by step
low speed, and lower torque than a
comparable D.C. motor
useful for precise positioning for roboticsServomotors require a position feedback
signal for control
![Page 3: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/3.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-33
Stepper MotorDiagram
![Page 4: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/4.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-44
Stepper Motor Step Angles
![Page 5: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/5.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-55
Terminology
Steps per second(SPS), Rotate Per minute
(RPM)
SPS = (RPM * SPR) /60
Number of teeth
4-step, wave drive 4-step, 8-step
Motor speed (SPS)
Holding torque
![Page 6: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/6.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-66
Stepper Motor Types
Variable Reluctance
Permanent Magnet
![Page 7: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/7.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-77
Variable Reluctance Motors
![Page 8: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/8.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-88
Variable Reluctance Motors
This is usually a four wire motor – the common wire goes to the +ve supply and the windings are stepped through
Our example is a 30o motorThe rotor has 4 poles and the stator has
6 polesExample
![Page 9: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/9.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-99
Variable Reluctance Motors
To rotate we excite the 3 windings in sequenceW1 - 1001001001001001001001001 W2 - 0100100100100100100100100 W3 - 0010010010010010010010010
This gives two full revolutions
![Page 10: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/10.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1010
Unipolar Motors
![Page 11: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/11.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1111
Unipolar Motors
To rotate we excite the 2 windings in sequenceW1a - 1000100010001000100010001 W1b - 0010001000100010001000100 W2a - 0100010001000100010001000W2b - 0001000100010001000100010
This gives two full revolutions
![Page 12: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/12.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1212
Basic Actuation Wave Forms
![Page 13: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/13.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1313
Unipolar Motors
To rotate we excite the 2 windings in sequenceW1a - 1100110011001100110011001 W1b - 0011001100110011001100110 W2a - 0110011001100110011001100 W2b - 1001100110011001100110011
This gives two full revolutions at 1.4 times greater torque but twice the power
![Page 14: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/14.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1414
Enhanced Waveforms
better torque more precise control
![Page 15: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/15.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1515
Unipolar Motors
The two sequences are not the same, so by combining the two you can produce half steppingW1a - 11000001110000011100000111 W1b - 00011100000111000001110000 W2a - 01110000011100000111000001 W2b - 00000111000001110000011100
![Page 16: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/16.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1616
Motor Control Circuits
For low current options the ULN200x family of Darlington Arrays will drive the windings direct.
![Page 17: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/17.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1717
Interfacing to Stepper Motors
![Page 18: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/18.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1818
Example
![Page 19: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/19.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-1919
Digital to Analog Converter
![Page 20: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/20.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2020
Example – Step Ramp
![Page 21: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/21.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2121
Analog to Digital
![Page 22: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/22.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2222
Vin Range
![Page 23: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/23.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2323
Timing
![Page 24: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/24.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2424
Interfacing ADC
![Page 25: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/25.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2525
Example
![Page 26: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/26.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2626
Temperature Sensor
![Page 27: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/27.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2727
Printer Connection
![Page 28: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/28.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2828
IO Base Address for LPT
![Page 29: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/29.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-2929
Printer’s Ports
![Page 30: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/30.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3030
8255 8051 has limited number of I/O ports
one solution is to add parallel interface chip(s)
8255 is a Programmable Peripheral Interface PPI
Add it to 8051 to expand number of parallel ports
8051 I/O port does not have handshaking capability
8255 can add handshaking capability to 8051
![Page 31: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/31.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3131
8255Programmable Peripheral Interface (PPI)
Has 3 8_bit ports A, B and CPort C can be used as two 4 bit ports CL and
ChTwo address lines A0, A1 and a Chip select CS8255 can be configured by writing a control-
word in CR register
![Page 32: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/32.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3232
8255 Control Word
![Page 33: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/33.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3333
![Page 34: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/34.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3434
8255 Operating Modes
Mode 0 : Simple I/O Any of A, B, CL and CH can be programmed as input or
output
Mode 1: I/O with Handshake A and B can be used for I/O C provides the handshake signals
Mode 2: Bi-directional with handshake A is bi-directional with C providing handshake signals B is simple I/O (mode-0) or handshake I/O (mode-1)
BSR (Bit Set Reset) Mode Only C is available for bit mode access
Allows single bit manipulation for control applications
![Page 35: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/35.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3535
8255 Mode Definition Summary
![Page 36: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/36.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3636
Mode 0
Provides simple input and output operations for each of the three ports. No “handshaking” is required, data is simply
written to or read from a specified port.Two 8-bit ports and two 4-bit ports.Any port can be input or output.Outputs are latched.Inputs are not latched
![Page 37: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/37.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3737
Mode 1Mode 1 Basic functional Definitions:
Two Groups (Group A and Group B).Each group has one 8-bit data port and one 4-
bit control/data port.The 8-bit data port can be either input or
output. Both inputs and outputs are latched.The 4-bit port is used for control and status of
the 8-bit data port.
![Page 38: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/38.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3838
8255 mode 1 (output)
![Page 39: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/39.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-3939
Mode 1 – Control Signals
Output Control Signal Definition OBF (Output Buffer Full F/F). (C7 for A, C1 for B)
The OBF output will go “low” to indicate that the CPU has written data out to the specified port.
A signal to the device that there is data to be read. ACK (Acknowledge Input). (C6 for A, C2 for B)
A “low” on this input informs the 8255 that the data from Port A or Port B has been accepted.
A response from the peripheral device indicating that it has read the data.
INTR (Interrupt Request). (C3 for A, C0 for B)A “high” on this output can be used to interrupt
the CPU when an output device has accepted data transmitted by the CPU.
![Page 40: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/40.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4040
Timing diagram for mode1(output)
![Page 41: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/41.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4141
8255 mode 1 (input)
![Page 42: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/42.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4242
Mode 1 – Control Signals
Input Control Signal Definition STB (Strobe Input). (C4 for A, C2 for B)
A “low” on this input loads data into the input latch.
IBF (Input Buffer Full F/F) (C5 for A, C1 for B)A “high” on this output indicates that the data has
been loaded into the input latch; in essence, an acknowledgement from the 8255 to the device.
INTR (Interrupt Request) (C3 for A, C0 for B)A “high” on this output can be used to interrupt
the CPU when an input device is requesting service.
![Page 43: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/43.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4343
Timing diagram for mode1(input)
![Page 44: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/44.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4444
Mode 2 - Strobed Bidirectional Bus I/O
MODE 2 Basic Functional Definitions:Used in Group A only.One 8-bit, bi-directional bus port (Port A)
and a 5-bit control port (Port C).Both inputs and outputs are latched.The 5-bit control port (Port C) is used for
control and status for the 8-bit, bi-directional bus port (Port A).
![Page 45: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/45.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4545
Mode 2 Output Operations
OBF (Output Buffer Full). The OBF output will go low to indicate that the CPU has written data out to port A.
ACK (Acknowledge). A low on this input enables the tri-state output buffer of Port A to send out the data. Otherwise, the output buffer will be in the high impedance state.
Input Operations STB (Strobe Input). A low on this input
loads data into the input latch. IBF (Input Buffer Full F/F). A high on this
output indicates that data has been loaded into the input latch.
Pin Function
PC7 /OBF
PC6 /ACK
PC5 IBF
PC4 /STB
PC3 INTR
PC2 I/O
PC1 I/O
PC0 I/O
![Page 46: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/46.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4646
![Page 47: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/47.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4747
BSR ModeIf used in BSR mode, then the bits of
port C can be set or reset individually
![Page 48: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/48.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4848
BSR Mode example
Move dptr, 0093h
Up: Move a, 09h ;set pc4
Movx @dptr,a
Acall delay
Mov a,08h ;clr pc4
Movx @dptr,a
Acall delay
Sjmp up
![Page 49: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/49.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-4949
Interfacing 8255 with 8051 CS is used to interface 8255 with 8051 If CS is generated from lets say Address lines
A15:A12 as follows,A15:A13 = 110
Address of 8255 is 110 xxxxx xxxx xx00b Base address of 8255 is
1100 0000 0000 0000b=C000H Address of the registers
A = C000H B = C001H C = C002H CR = C003H
![Page 50: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/50.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-5050
Interfacing 8255 with 8051
8255
805174138
3×8 decoder
74373
P0.7-P0.0(AD7-AD0)
D7-D0
D7-D0
/CS
A0A1
O0O1
O7
A2A1A0
P2.7(A15)P2.6(A14)P2.5(A13)
ALE
/RD/WR
/RD/WR
![Page 51: Hsabaghianb @ kashanu.ac.ir Microprocessors 10-1 IO Devices Stepper Motors DAC, ADC, PPI Lec note 10.](https://reader036.fdocuments.in/reader036/viewer/2022062321/56649d8a5503460f94a71537/html5/thumbnails/51.jpg)
hsabaghianb @ kashanu.ac.irhsabaghianb @ kashanu.ac.ir MicroprocessorsMicroprocessors 10-10-5151
8255 Usage: Simple Example 8255 memory mapped to 8051 at address C000H base
A = C000H, B = C001H, C = C002H, CR = C003H Control word for all ports as outputs in mode0
CR : 1000 0000b = 80H
test: mov A, #80H ; control wordmov DPTR, #C003H ; address of CRmovx @DPTR, A ; write control wordmov A, #55h ; will try to write 55 and AA
; alternativelyrepeat:mov DPTR,#C000H ; address of PA
movx @DPTR, A ; write 55H to PAinc DPTR ; now DPTR points to PBmovx @DPTR, A ; write 55H to PBinc DPTR ; now DPTR points to PCmovx @DPTR, A ; write 55H to PCcpl A ; toggle A (55AA, AA55)acall MY_DELAY ; small delay subroutinesjmp repeat ; for (1)