It’s  entirely logical that low-cost miniature microcontrollers have fewer  ‘legs’ than their bigger brothers and sisters – sometimes too few. The  author has given some consideration to how to economise on pins, making  them do the work of several. It occurred that one could exploit the high  impedance feature of a tri-state output. In this way the signal  produced by the high impedance state could be used for example as a CS  signal of two ICs or else as a RD/ WR signal. 
Circuit diagram:
All we need are two op-amps or comparators  sharing a single operating voltage of 5 V and outputs capable of  reaching full Low and High levels in 5-V operation (preferably types  with rail-to-rail outputs). Suitable examples to use are the LM393 or  LM311.The resistances in the voltage dividers in this circuit are  uniformly 10 kilo ohms. Consequently input A lies at half the operating  voltage (2.5 V), assuming nothing is connected to the input – or the  microcontroller pin connected is at high impedance. 
The non-inverting input of IC1A lies at two  thirds and the inverting input of IC1B at one third of the operating  voltage, so that in both cases the outputs are set at High state. If the  microcontroller pin at input A becomes Low, the output of IC1B becomes  Low and that of IC1A goes High. If A is High, everything is reversed.
source by :streampowers
 
