You need something such as a shift left.
For example a reciever:
counter var byte
result var byte
Loop:
result =0
for counter=0 to 7
'Here you check for your sending bit
Loop2:
if Portb0.0=then Loop2
'Here you do NOT go ahead, unless the bit goes to zero
Loop3:
if portb0.0=1 goto Loop3
Pauseus 50 'Wait until transmitter has time toggle bit
'Here you put your bit into register and shift left to add.
'If you do it 8 times, you have a complete byte
result=Portb0.0
result=result << 1
Pause 1 'Give time for transmitter to toggle bit to 0
next counter
Transmitter:
Dcounter var byte
counter var byte
number var byte
T var Porta.bitoftransmitter
DigNumber var byte
number=2468
for counter=7 to 0 step -1
DigNumber=Dig Number 7
for Dcounter=0 to 7
High T
pauseus 10 'remember, you can't go past 50us,because of reciever
Low T
T=DigNumber0.7
pauseus 20 'enough time for receiver to read!!
T=0 'TURN IT OFF!!!!!
DigNumber.7=DigNumber.7 <<1
Pause 1 'give time for receiver to do its job
Next Dcounter
Pause 100 '(give time for display to print it out)
Next counter
Dwayne
Bookmarks