Hello
I am a new user in picbasic and would want help
I found this code for 16F84 but communication transmitter receiver is not good
Thanks
Transmitter
Code:
DEFINE OSC 4
DEFINE BUTTON_PAUSE 50
TRISA=%11110
TRISB=%11110000
PORTA=0
PORTB=0
VERICI VAR Byte
VERICI=0
Index VAR Byte
X VAR Byte
b1 var Byte
b2 var Byte
b3 var Byte
b4 var Byte
PAUSE 500
START:
Button PORTA.1,0,255,0,b1,1,ch1
Button PORTA.2,0,255,0,b2,1,ch2
Button PORTA.3,0,255,0,b3,1,ch3
Button PORTA.4,0,255,0,b4,1,ch4
GoTo START
ch1:
VERICI=10
GoTo GONDER
ch2:
VERICI=20
GoTo GONDER
ch3:
VERICI=30
GoTo GONDER
ch4:
VERICI=40
GoTo GONDER
GONDER:
SerOut PORTA.0,396,[REP$AA\5,REP$00\5,REP$FF\5]
SEROUT2 PORTA.0,396,["I","S","K","O",VERICI]
GoTo START
receiver
Code:
DEFINE OSC 4
TRISA=0011
TRISB=%11110000
PORTA=0
PORTB=0
dekths VAR BYTE
Index VAR BYTE
aa1 var word
x VAR BYTE
aa2 var word
aa3 var word
dekths=0
aa1=300
aa2=300
aa3=500
PAUSE 500
START:
SERIN2 PORTA.0,396,[WAIT("ISKO"),dekths]
if PORTA.1=1 then poa1
if PORTA.1=0 then poao
poao:
IF dekths=10 THEN
high PORTB.0
PAUSE aa2
low PORTB.0
PAUSE aa3
ENDIF
IF dekths=20 THEN
high PORTB.1
PAUSE aa2
low PORTB.1
PAUSE aa3
ENDIF
IF dekths=30 THEN
high PORTB.2
PAUSE aa2
low PORTB.2
PAUSE aa3
ENDIF
IF dekths=40 THEN
high PORTB.3
PAUSE aa2
low PORTB.3
PAUSE aa3
ENDIF
GOTO START
poa1:
IF dekths=10 THEN
TOGGLE PORTB.0
PAUSE aa1
ENDIF
IF dekths=20 THEN
TOGGLE PORTB.1
PAUSE aa1
ENDIF
IF dekths=30 THEN
TOGGLE PORTB.2
PAUSE aa1
ENDIF
IF dekths=40 THEN
TOGGLE PORTB.3
PAUSE aa1
ENDIF
GOTO START
END
Bookmarks