moonstar52
Üye
- Katılım
- 22 Mar 2013
- Mesajlar
- 5
- Puanları
- 1
- Yaş
- 34
arkadaşlar aşağıda verdiğim kodları c şeklinde istiyorum yardımcı olursanız sevinirim
alıcı için olan kodlar
***************************************************************
DEFINE OSC 4
TRISA=%00000001
TRISB=%00000000
PORTA=0
PORTB=0
@ DEVICE pic16F628 'islemci 16F628
@ DEVICE pic16F628, WDT_on 'Watch Dog timer açık
@ DEVICE pic16F628, PWRT_ON 'Power on timer açık
@ DEVICE pic16F628, PROTECT_OFF 'Kod Koruma kapalı
@ DEVICE pic16F628, MCLR_OFF 'MCLR pini kullanılıyor.
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT 'Dahili osilatör kullanılacak
GIRIS VAR PORTA.0
AL VAR BYTE
AL=0
PAUSE 200
BASLA:
SERIN2 PORTA.0,396,[WAIT("MCT"),AL]
IF AL=20 THEN ;İLERİ
PORTB=1
ENDIF
IF AL=40 THEN ;GERİ
PORTB=2
ENDIF
IF AL=70 THEN ;SAG
PORTB=4
ENDIF
IF AL=120 THEN ;SOL
PORTB=8
ENDIF
IF AL=90 THEN ;İLERİ+SAG
PORTB=5
ENDIF
IF AL=140 THEN ;İLERİ+SOL
PORTB=9
ENDIF
IF AL=110 THEN ;GERİ+SAG
PORTB=6
ENDIF
IF AL=160 THEN ;GERİ+SOL
PORTB=10
ENDIF
IF AL=0 THEN PORTB=0
GOTO BASLA
END
verici için olan kodlar
***************************************************************
@ DEVICE pic16F628,
@ DEVICE pic16F628, WDT_on
@ DEVICE pic16F628, PWRT_ON
@ DEVICE pic16F628, PROTECT_OFF
@ DEVICE pic16F628, MCLR_OFF
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
'-------------------------------------------------------------------------------
CMCON=7 '16F628 de komparatör pinleri iptal hepsi giriş çıkış
OPTION_REG.7=0 'Dahili pull-up lar AKTİF yapıldı
PORTA=0
TRISA=%00000000
PORTB=0
TRISB=%00001111
'-------------------------------------------------------------------------------
TUS1 VAR PORTB.0 ;iLERİ
TUS2 VAR PORTB.1 ;GERİ
TUS3 VAR PORTB.2 ;SAG
TUS4 VAR PORTB.3 ;SOL
VERI VAR BYTE
'-------------------------------------------------------------------------------
PAUSE 200
VERI=0
'-------------------------------------------------------------------------------
BASLA:
If TUS1=0 Then
If TUS3=0 Then
VERI=90
While TUS1=0 And TUS3=0:GoSub VERI_GONDER:Wend
EndIf
If TUS4=0 Then
VERI=140
While TUS1=0 And TUS4=0:GoSub VERi_GONDER:Wend
EndIf
VERI=20:GoSub VERi_GONDER:GOTO BASLA
EndIf
BASLA2:
If TUS2=0 Then
If TUS3=0 Then
VERI=110
While TUS2=0 And TUS3=0:GoSub VERi_GONDER:Wend
EndIf
If TUS4=0 Then
VERI=160
While TUS2=0 And TUS4=0:GoSub VERi_GONDER:Wend
EndIf
VERI=40:GoSub VERi_GONDER:GOTO BASLA2
EndIf
If TUS3=0 Then
WHILE TUS3=0 AND TUS4=0
VERI=70:GOSUB VERI_GONDER
WEND
VERI=70:GoSub VERi_GONDER
EndIf
If TUS4=0 Then
WHILE TUS4=0 AND TUS3=0
VERI=120:GOSUB VERI_GONDER
WEND
VERI=120:GoSub VERi_GONDER
ENDIF
WHILE TUS1=1 AND TUS2=1 AND TUS3=1 AND TUS4=1
VERI=0:GOSUB VERI_GONDER
WEND
GoTo BASLA
'--------------------------------ALT PROGRAM------------------------------------
VERI_GONDER:
SEROUT2 PORTA.0,396,["M","C","T",VERi]
SEROUT2 PORTA.0,396,["M","C","T",VERI]
RETURN
END
***************************************************************
alıcı için olan kodlar
***************************************************************
DEFINE OSC 4
TRISA=%00000001
TRISB=%00000000
PORTA=0
PORTB=0
@ DEVICE pic16F628 'islemci 16F628
@ DEVICE pic16F628, WDT_on 'Watch Dog timer açık
@ DEVICE pic16F628, PWRT_ON 'Power on timer açık
@ DEVICE pic16F628, PROTECT_OFF 'Kod Koruma kapalı
@ DEVICE pic16F628, MCLR_OFF 'MCLR pini kullanılıyor.
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT 'Dahili osilatör kullanılacak
GIRIS VAR PORTA.0
AL VAR BYTE
AL=0
PAUSE 200
BASLA:
SERIN2 PORTA.0,396,[WAIT("MCT"),AL]
IF AL=20 THEN ;İLERİ
PORTB=1
ENDIF
IF AL=40 THEN ;GERİ
PORTB=2
ENDIF
IF AL=70 THEN ;SAG
PORTB=4
ENDIF
IF AL=120 THEN ;SOL
PORTB=8
ENDIF
IF AL=90 THEN ;İLERİ+SAG
PORTB=5
ENDIF
IF AL=140 THEN ;İLERİ+SOL
PORTB=9
ENDIF
IF AL=110 THEN ;GERİ+SAG
PORTB=6
ENDIF
IF AL=160 THEN ;GERİ+SOL
PORTB=10
ENDIF
IF AL=0 THEN PORTB=0
GOTO BASLA
END
verici için olan kodlar
***************************************************************
@ DEVICE pic16F628,
@ DEVICE pic16F628, WDT_on
@ DEVICE pic16F628, PWRT_ON
@ DEVICE pic16F628, PROTECT_OFF
@ DEVICE pic16F628, MCLR_OFF
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
'-------------------------------------------------------------------------------
CMCON=7 '16F628 de komparatör pinleri iptal hepsi giriş çıkış
OPTION_REG.7=0 'Dahili pull-up lar AKTİF yapıldı
PORTA=0
TRISA=%00000000
PORTB=0
TRISB=%00001111
'-------------------------------------------------------------------------------
TUS1 VAR PORTB.0 ;iLERİ
TUS2 VAR PORTB.1 ;GERİ
TUS3 VAR PORTB.2 ;SAG
TUS4 VAR PORTB.3 ;SOL
VERI VAR BYTE
'-------------------------------------------------------------------------------
PAUSE 200
VERI=0
'-------------------------------------------------------------------------------
BASLA:
If TUS1=0 Then
If TUS3=0 Then
VERI=90
While TUS1=0 And TUS3=0:GoSub VERI_GONDER:Wend
EndIf
If TUS4=0 Then
VERI=140
While TUS1=0 And TUS4=0:GoSub VERi_GONDER:Wend
EndIf
VERI=20:GoSub VERi_GONDER:GOTO BASLA
EndIf
BASLA2:
If TUS2=0 Then
If TUS3=0 Then
VERI=110
While TUS2=0 And TUS3=0:GoSub VERi_GONDER:Wend
EndIf
If TUS4=0 Then
VERI=160
While TUS2=0 And TUS4=0:GoSub VERi_GONDER:Wend
EndIf
VERI=40:GoSub VERi_GONDER:GOTO BASLA2
EndIf
If TUS3=0 Then
WHILE TUS3=0 AND TUS4=0
VERI=70:GOSUB VERI_GONDER
WEND
VERI=70:GoSub VERi_GONDER
EndIf
If TUS4=0 Then
WHILE TUS4=0 AND TUS3=0
VERI=120:GOSUB VERI_GONDER
WEND
VERI=120:GoSub VERi_GONDER
ENDIF
WHILE TUS1=1 AND TUS2=1 AND TUS3=1 AND TUS4=1
VERI=0:GOSUB VERI_GONDER
WEND
GoTo BASLA
'--------------------------------ALT PROGRAM------------------------------------
VERI_GONDER:
SEROUT2 PORTA.0,396,["M","C","T",VERi]
SEROUT2 PORTA.0,396,["M","C","T",VERI]
RETURN
END
***************************************************************