mehmetkose
Usta Üye
- Katılım
- 21 Kas 2006
- Mesajlar
- 597
- Puanları
- 196
Arkadaşlar aşağıdaki kodu çalıştırıyorum ama PORTA.0 dan çıkış alamıyorum neresi yanlış yardımcı olursanız sevinirim....acil yardım bekliyorum....!
'**************************************************************@ DEVICE pic16F628a 'işlemci 16F628a
@ DEVICE pic16F628a, WDT_OFF 'Watch Dog timer KAPALI
@ DEVICE pic16F628a, PWRT_OFF 'Power on timer açık
@ DEVICE pic16F628a, PROTECT_ON'Kod Protek AÇIK
@ DEVICE pic16F628a, MCLR_OFF 'MCLR pini kullanılıyor.
@ DEVICE pic16F628a, BOD_OFF
@ DEVICE pic16F628a, LVP_OFF
@ DEVICE pic16F628a, INTRC_OSC_NOCLKOUT 'Dahili osilatör kullanılacak
'----------------------
OPTION_REG.7=1 'portB deki dahili PULL-UP lar iptal edildi.
CMCON=7
TRISA=%00111100 'PORTA 0,1 Çıkış; 2,3,4,5 Giriş olarak ayarlandı..!
TRISB=%10001111 'PORTB 0,1,2,3,7 Giriş; 4,5 Çıkış olarak ayarlandı..!
'----------------------
PAUSE 100
'**************************************** *
BASLA:
IF PORTB.3=0 Then
goto KANAL_2
else
GOTO KANAL_1
endIF
goto basla
end
'*****************************************
KANAL_1:
If PORTA.2=1 Then
PORTA.1=1
ELSE
PORTA.1=0
EndIf
'----------------------
If PORTA.2=1 AND PORTA.3=1 Then
PORTA.0=1
ELSE
PORTA.0=0
EndIf
'----------------------
If PORTA.2=1 AND PORTA.3=1 AND PORTA.5=1 Then
PORTB.5=1
ELSE
PORTB.5=0
EndIf
goto basla
'******************************************************************
'******************************************************************
'******************************************************************
KANAL_2:
If PORTB.0=1 Then
PORTA.1=1
ELSE
PORTA.1=0
EndIf
'----------------------
If PORTB.0=1 AND PORTB.1=1 Then
PORTA.0=1
ELSe
PORTA.0=0
EndIf
'----------------------
If PORTB.0=1 AND PORTB.1=1 AND PORTB.2=1 Then
PORTB.5=1
Else
PORTB.5=0
EndIf
GOTO BASLA
'***************************************************************************
'***************************************************************************
End
'**************************************************************@ DEVICE pic16F628a 'işlemci 16F628a
@ DEVICE pic16F628a, WDT_OFF 'Watch Dog timer KAPALI
@ DEVICE pic16F628a, PWRT_OFF 'Power on timer açık
@ DEVICE pic16F628a, PROTECT_ON'Kod Protek AÇIK
@ DEVICE pic16F628a, MCLR_OFF 'MCLR pini kullanılıyor.
@ DEVICE pic16F628a, BOD_OFF
@ DEVICE pic16F628a, LVP_OFF
@ DEVICE pic16F628a, INTRC_OSC_NOCLKOUT 'Dahili osilatör kullanılacak
'----------------------
OPTION_REG.7=1 'portB deki dahili PULL-UP lar iptal edildi.
CMCON=7
TRISA=%00111100 'PORTA 0,1 Çıkış; 2,3,4,5 Giriş olarak ayarlandı..!
TRISB=%10001111 'PORTB 0,1,2,3,7 Giriş; 4,5 Çıkış olarak ayarlandı..!
'----------------------
PAUSE 100
'**************************************** *
BASLA:
IF PORTB.3=0 Then
goto KANAL_2
else
GOTO KANAL_1
endIF
goto basla
end
'*****************************************
KANAL_1:
If PORTA.2=1 Then
PORTA.1=1
ELSE
PORTA.1=0
EndIf
'----------------------
If PORTA.2=1 AND PORTA.3=1 Then
PORTA.0=1
ELSE
PORTA.0=0
EndIf
'----------------------
If PORTA.2=1 AND PORTA.3=1 AND PORTA.5=1 Then
PORTB.5=1
ELSE
PORTB.5=0
EndIf
goto basla
'******************************************************************
'******************************************************************
'******************************************************************
KANAL_2:
If PORTB.0=1 Then
PORTA.1=1
ELSE
PORTA.1=0
EndIf
'----------------------
If PORTB.0=1 AND PORTB.1=1 Then
PORTA.0=1
ELSe
PORTA.0=0
EndIf
'----------------------
If PORTB.0=1 AND PORTB.1=1 AND PORTB.2=1 Then
PORTB.5=1
Else
PORTB.5=0
EndIf
GOTO BASLA
'***************************************************************************
'***************************************************************************
End