Hi Dave, For a complete proof of concept, make sure you have enough time in the short duty cycle time to go through the extra instructions needed to extract the info on the receiving end. Since your not using the same duty cycle for "1" and "0", and you don't know when a "1" or a "0" occurs, you have to check for either event and restart the timing from the transitions when they occur. I'm sure this could be done, but it will be more complex ( multiple and varied decisions have to be made during the decoding process) than the standard bit banged async, with it's fixed bit time. Beware that it looks very nicely repetitive with AAhex but what about CBhex? The scheme used by TV remotes is similar to your proposal, but a transition occurs for each bit, and a single timer value can be used to make a single check for each bit. Tested code for this is readily available. I suggest asking for/creating reciever code before being satisfied that the concept is viable. And that the advantages of using a varied duty cycle outweighs the disadvantage of the extra code/time required. Just my 2cents (Cnd), Heinz At 3:58 PM 4/4/2000, David E Arnold wrote: >hi, > >I'm new to PIC micros as well as the PICLIST. So far, I like what I see, >but does anyone know if it's possible with "bit banging" or "PWM" > >to make software serial port (TTL level not rs232 voltages - no max232 >required) >that outputs 8N1 format ( 8 data, 1 stop, 1 start bit, no parity bit ) but with >reduced duty cycle. > >What I mean by reduced duty cycle is, the bit on time _IS NOT_ 100% duty cycle >like most serial ports. >It is something like 2% duty cycle. > >For example: when transmitting the following byte AAhex = 10101010binary > >the typical uart output looks like this: >======+ START +--------+ 1 +--------+ 3 +--------+ 5 +--------+ > 7 +--------+======= > | | | | | | | | | > | > TX |________| 0 |________| 2 |________| 4 |________| 6 >|________| STOP > > >I want my output to look like this: >======+ START +---+ 1 +---+ 3 +---+ 5 +---+ > 7 +--------+======= > | | | | | | | | | > | > TX |___________| 0 |_____________| 2 |____________| 4 |_____________| 6 >|___________| STOP > > >Assume the baud rate for these two graphs is the same, but the one on the >bottom > has a reduced >on time. The on time is just something in the range of >2-10uS(microseconds). Can > the PIC16F84 even make a 2uS pulse? >For 2400bps this gives a 416uS bit period and a duty cycle of 2% for 10uS when >there is a logical 1. > >If anyone knows if this would be possible with a PIC and perhaps even has some >code I would >be very greatful. > >thanks, >-Dave Arnold > >------