Code:
INCLUDE "bs2defs.bas"
relay var portb.3 '<-----?????? Relay VAR b3 'relay number storage variable
stat var portb.4 '<------??????stat VAR b4 'relay status ON/OFF variable
trisa = $10 : trisb = 0 : PAUSE 100
loop: SERIN porta.4,396,[ WAIT [254],relay,stat] 'serial data in on PortA.4
'--note for line above...Is porta.4 an optional analog port? Are the correct ADCON bits set?
'---depends on the PIC you're using....which we don't know, in this case, they're not.....
branch relay,[outr1,outr2,outr3,outr4,outr5,outr6,outr7,outr8,outr9,outr10,outr11,outr12]
GOTO loop
outr1: if stat = 1 then
high 0
else
low 0
endif
goto loop
outr2: IF stat = 1 THEN
high 1
else
low 1
endif
goto loop
outr3: IF stat = 1 THEN
high 2
else
low 2
endif
GOTO loop
outr4: if stat = 1 then
high 3
else
low 3
endif
goto loop
outr5: IF stat = 1 THEN
high 4
else
low 4
endif
goto loop
outr6: if stat = 1 then
high 5
else
low 5
endif
goto loop
outr7: if stat = 1 then
high 6
else
low 6
endif
goto loop
outr8: if stat = 1 then
high 7
else
low 7
endif
goto loop
outr9: if stat = 1 then
porta.0 = 1
else
porta.0 = 0
endif
goto loop
outr10: if stat = 1 then
porta.1 = 1
else
porta.1 = 0
endif
goto loop
outr11: if stat = 1 then
porta.2 = 1
else
porta.2 = 0
endif
goto loop
outr12: if stat = 1 then
porta.3 = 1
else
porta.3 = 0
endif
goto loop
end
Like I said in the code above, if your ADCON and/or ANSEL bits aren't set right, chances are anything you try to do digitally with an analog capable pin won't work right.
Bookmarks