Russell, How about this: Have one pin per ternay input PLUS a single additional pin. Feed your inputs directly into your ternary input pins, and then have a 10K pull-up from each pin to the single additional pin. To read your inputs, first pull all of them high with the pull-ups. Read the values. Then pull all low, and read the values. The ones that changed when you changed the pull-up state are tri-state. The ones which were always low are low, and the ones that were always high are high. Alternatively, use PORTB or other such port which has internal pull-ups. You can eliminate the additional pin, just toggle the internal pull-ups. Sean At 12:10 AM 2/26/00 +1300, you wrote: >Roger Hawkins ,bill roberts , ADR >To: PICLIST@MITVMA.MIT.EDU > >This may be old hat. >Anyone care to critique my thought processes. > | | Sean Breheny | Amateur Radio Callsign: KA3YXM | Electrical Engineering Student \--------------=---------------- Save lives, please look at http://www.all.org Personal page: http://www.people.cornell.edu/pages/shb7 mailto:shb7@cornell.edu ICQ #: 3329174