??? 04/27/08 15:00 Read: times |
#154037 - Pushpull... Responding to: ???'s previous message |
It is possible to still use the pushpull driver outputs with the LCD (or in conjunction with whatever voltage level translator may be necessary with a 5V LCD module). I have used SiLabs parts like this where you "turn the bus around" on the fly by changing the port configuration bits from push-pull to input.
The typical case that works well when going from port output to port input is to first set the port data register to 0xFF and then flip the bit to take the port out of push-pull mode. (This actually simulates the brief hard pullup that other style 8051's have for their quasi-bidirectional pins). When going from input mode back to outputs to it can also be useful to first set the output port bits to desired initial output state and then toggle the push-pull control bit(s) in the port mode control register. This makes all bits change at the same time so timing is consistent with respect to a target device which may then receive a strobe signal as set by the next part of the program. In any case it is very very necessary to consider the nature of any and all circuitry and devices that you have attached to the "bus" when doing I/O in a turn-around manner like this. Always make sure that you prevent cases where the MCU is in push-pull output mode at the same time that some other device is in its own output mode on the same wire(s). Michael Karas |
Topic | Author | Date |
Silabs C8051F020 and LCD busy bit | 01/01/70 00:00 | |
of course, it don't | 01/01/70 00:00 | |
Pushpull... | 01/01/70 00:00 | |
Problem solved | 01/01/70 00:00 | |
Misinterpreting | 01/01/70 00:00 | |
Another one on the Silabs IDE.. | 01/01/70 00:00 | |
SiLabs to Keil | 01/01/70 00:00 | |
post this in the SILabs forum | 01/01/70 00:00 | |
editor is not keil | 01/01/70 00:00 | |
never used it, but .... | 01/01/70 00:00 | |
ASS U ME![]() | 01/01/70 00:00 | |
my very reason for not doing the push-pull | 01/01/70 00:00 |