1) Every I/O is fully driven EXCEPT PORTA:4 (TOCK1). This is the only port on the chip which is open collector (it will drive low, but becomes high impedance when driven high or set as input). The only time other pins go hi-z is when they are configured as input. 2) a Schmitt Trigger input is a nice way of saying, "this part will always turn on and off athe the specified voltages despite process variation, etc, etc." Thus you can put an analog signal in and it will always trigger on and off at the same voltage levels. Other inputs will vary due to other conditions on the chip 3) I've not heard of a normally closed quad bilateral chip, but I bet someone somewhere has them... When set as output portc and portd drive their lines, either high or low, but they drive them. 4) There are all sorts of 8, 16 and 24 bit data latches made. Look in digikey, or other chip catalogs, you'll find what you need. It would be fairly easy to multiplex these on a PIC, though you would need a few seperate i/o for control. Hook the 8-bit port to the inputs of the three latches, then connect the three enable lines to seperate i/o elsewhere (or a 3-8 or 2-4 decoder). By enabling each in turn, you'll be extending your 8bit port to 24 bits. A suggestion: If you need 24 output controlled with an 8 bit port, look up the 8255. It is an i/o chip where you can set three 8-bit ports to either input or output. It is obsolete, but they are all over the place still. I hope this helps! -Adam Josh Koffman wrote: > > Greetings, > I have a couple questions about the PIC16F877 and it's i/o ports. The > data book clearly states that porta has full output drivers, but what > bout the rest of the ports? Portb doesn't concern me as much, as I know > i'm using it as an input, but what bout portc, portd, and porte? From > the diagrams, it looks like portc has full output drivers. Portd and > porte look the same, but I'm not sure what they are. Do they just go > high when activated and HiZ when deactivated? I also seem to remember > something about open collector outputs...but of course as I am looking > in the book now i cannot find any mention of it :) I am also confused by > the Schmitt Trigger inputs. What makes them different than a regular > input? All I've been able to find is a casual mention somewhere that you > need to drive them with a higher voltage, but what does that mean? > Now for my (not really) OT stuff. I'm looking for suggestions on what to > use for a couple of chips. IF anyone is familiar with the LM4066, it's a > quad bilateral switch. Basically 4 normally open switches on a chip. Has > anyone ever heard of a normally closed one? I'm trying to design some > fail-safe into my project, if the power to the controller fails, the > switches will go closed. I could just use pullup resistors and drive > them active low, assuming I can do that on portc and portd (See question > above). If there is a chip that defaults to NC, that would be much > easier. Also, I'm looking for suggestions on a data latch chip. I know > how to construct a data latch out of discrete logic, but i need a whole > chip for each line I want latched. 8 lines = 8 chips, and if I want 3 > different latch channels I end up with 24 chips just for latch! Is there > an 8 bit data latch on a chip? I just want something that has 8 input > pins, 8 output pins, and an enable pin. (I suppose power connection pins > too :)) Also I'd want to multiplex two or three of these on one 8 bit > i/o port. Is this even possible? > > I know this is alot of questions! Thank you in advance for your help! > > Josh Koffman > joshy@mb.sympatico.ca