Pages: [1]   Go Down
Author Topic: How to expansion I/O? what's a good and cheaply way using AT89S52?  (Read 289 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi specialists,

I am a newcomer and using AT89S52 now. here have anybody who know How to expansion I/O? what's a good and cheaply way?  smiley-grin

Cheers,
Yong Jie
Logged

UK
Offline Offline
Faraday Member
**
Karma: 92
Posts: 3969
Where is your SSCCE?!?!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

An IO expander.  One I use lots of is the MCP23017 which uses I2C to provide 16 IO ports.  Up to 8 of them can be hooked up to the same I2C bus giving up to 128 extra IO ports.

It's also available as the MCP23S17 which uses SPI instead of I2C if you need a higher speed.

If you want ultra cheap and only want one direction of data (say 8 output ports), you can use a simple shift register.  The most common is probably the 74HC595.  You can cascade as many of these together as you like to give you lots and lots of IO ports.  They are often used to drive LED displays, and can be controlled using the shiftOut() command in the Arduino.
Logged

Why not visit my eBay shop? http://stores.ebay.co.uk/Majenko-Technologies
Replacement for the Arduino IDE: UECIDE - Proper serial terminal, graphing facilities, plugins, overhauled internals.
Java isn't bad in itself, but it has enabled morons to write programs.

South England
Offline Offline
Full Member
***
Karma: 3
Posts: 205
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Couldn't you also map some 82C55's into the external bus? If you wanted to keep any serial interfaces free for other purposes, you could use as many of those as you have free address space and end up with more I/O than anyone could ever want smiley
Logged

South Africa
Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

probably the easiest and cheapest way us just with a simple 8 bit shift register. they are very cheap and easy.
Logged

Pages: [1]   Go Up
Jump to: