Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

can anyone help!!!

Status
Not open for further replies.
arpita said:
hi!!
can anyone tell me how a 8051 microcontroller is expanded by connecting it to 8255 chip

If I remember correctly an 8255 was a Z80 PIO chip, it's a memory addressed device, so you need to provide data lines, address lines, R/W and enable lines. It's a micro-processor PIO, not a micro-controller one.
 
Nigel Goodwin said:
If I remember correctly an 8255 was a Z80 PIO chip, it's a memory addressed device, so you need to provide data lines, address lines, R/W and enable lines. It's a micro-processor PIO, not a micro-controller one.
Wrong. A Z80 PIO and the 8255 are distinctly different parts. The former was made by Zilog and the latter made by Intel. Although similar in function they are quite different in terms of programming.

That said, Nigel's answer is essentially correct. Use ALE, WR*, and RD* as the strobes. P0 on the 8051 is the multiplexed address data bus and P2 on the 8051 is the high order address bus. IIRC you get 3 eight bit ports on the device. So you give up 2 eight bit ports to get three eight bit ports. Not much bang for the buck.

P0, P2, WR*, and RD* are activated only when the 8051 executes either variety of the MOVX instruction. PSEN* is used for instruction fetch and in the MOVC instruction if EA* is low and you are using external code memory.
 
OK, I'll rephrase - the 8255 was the PIO often used with the Z80 :D

Personally though I've always considered it a really horrible device, with lots of silly limitations - the 6522 (6502 PIO) was a far more useful chip.
 
Nigel Goodwin said:
OK, I'll rephrase - the 8255 was the PIO often used with the Z80 :D

Personally though I've always considered it a really horrible device, with lots of silly limitations - the 6522 (6502 PIO) was a far more useful chip.
And the 8080 and the 8085....
You'll get no argument from me on that score. The Z80 PIO was a bear to use in a system. Alas poor PIO, I knew him well....
 
thnks 4 d information...but i would like to know how 8255 and 8051 r connected....in respect to the project i m referring to...and also wat is the need 4 expanding the ports of 8051 as it has 4 8 bit i/o ports....so wat are they actuallly doing....do help!!!...the link of my project is

**broken link removed**
 
arpita said:
thnks 4 d information...but i would like to know how 8255 and 8051 r connected....in respect to the project i m referring to...and also wat is the need 4 expanding the ports of 8051 as it has 4 8 bit i/o ports....so wat are they actuallly doing....do help!!!...the link of my project is

**broken link removed**

In the 8051 one of P0's functions is a multiplexed address/data bus. I think that the 8255 (it was originally for the 8080, which the Z80 was base on) has the address latches on chip so you do not need to worry about them. You need to connect the RD, WR, and ALE lines across as well as the AD0-AD7.

To answer your question, I do not see a need for the 8255 either. Mind you, you do not even need a micro to drive the stepper... it would be even easier using a solenoid to throw the switch.

D.
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top