Merhaba hocam dün okudum arşivden buldum bu porton ile yazılmıştı buton kısmında problem vardı düzelttim bende basic kurulu değil proton basici kur 873.bas dosyasını aç derle.
http://s4.dosya.tc/server5/inersu/873ENKODERSIZ_TEMIZ.rar.html'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 31.03.2012 *
'* Version : 1.0 *
'* Notes : 1khz ara *
'* : 7,2 mhz kiristal kullanılacak *
'****************************************************************
PORTA=0
PORTB=0
PORTC=0
TRISA=%000001
TRISB=%11111111
TRISC=%00000000
'-----------------------------------------------------------------
Device = 16F873A
Xtal 10
@ CONFIG_REQ
@ __config CP_ALL & CPD_ON & WDT_OFF & HS_OSC & PWRTE_OFF & BODEN_OFF & WRT_1FOURTH & LVP_OFF & DEBUG_OFF
'-------------------------------------------------------------------
'All_Digital = TRUE
Declare LCD_DTPin PORTC.4
Declare LCD_RSPin PORTC.2
Declare LCD_ENPin PORTC.3
Declare LCD_Interface 4
Declare LCD_Lines 4
Declare Adin_Res 10
Declare Adin_Tad FRC
Declare Adin_Stime 50
'ADCON1 = %10000010
ADCON1=%1110
'ADCON1 = %10000010
CMCON=7 'KARŞILAŞTIRICI İPTALİ
OPTION_REG.7=0 'Dahili pull-up ları İPTAL,AKTİF7=0
Declare LCD_CommandUs 100 'Define delay time between sending LCD commands
Declare LCD_DataUs 200 'Define delay time between data sent.
'************************************************* *******************************
Symbol KAYIT=PORTB.4
Symbol ADIMI=PORTB.5
Symbol YUK=PORTB.6
Symbol ASA=PORTB.7
Symbol CLK= PORTC.0
Symbol EN= PORTA.5
Symbol DAT= PORTC.1
Dim CEK As Dword
Dim P As Dword
Dim ONDALIK As Dword
Dim S As Dword
Dim KUSUR As Word
Dim KURU As Word
Dim T As Word
Dim MXA As Word
Dim M As Word
Dim A As Byte
Dim G As Byte
Dim Address As Byte
Dim Address1 As Byte
Dim REF As Byte
Dim KURULUM As Byte
Dim DUR As Byte
Dim KUR As Byte
'Cls
'DelayMS 200
'Print At 1,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
Print At 2,1," PARDUS QRP"
Print At 3,1,"
www.ta3en.com"
'Print At 2,20,255
'Print At 3,20,255
'Print At 4,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
DelayMS 2000
Cls
Print At 1,1," PARDUS TRX PLL "
Print At 3,1,"S.",0,1,1,1,1,1,1,1,2,1,1,2," + OdB "
Address=0
Address1=4
A=1
G=0
'GoSub AYAR
GoSub SM
S=ERead 0
DelayMS 50
GoSub AYAR
T=ERead 4
DelayMS 50
GoSub AYAR
ANA:
MXA=ADIn 0
M=MXA/150'136 mili volt
If G=0 Then
If M>0 Then
GoSub SM
EndIf
EndIf
'100 herz
If G=0 Then
If A=0 Then
If YUK=0 Then
DelayMS 10
S=S+1
T=T+1
DelayMS 200
GoSub AYAR
'While YUK=0: Wend
EndIf
If ASA=0 Then
DelayMS 10
S=S-1
T=T-1
DelayMS 200
GoSub AYAR
'While ASA=0: Wend
EndIf
EndIf
'1 Kherz
If A=1 Then
If YUK=0 Then
DelayMS 10
S=S+10
T=T+10
DelayMS 200
GoSub AYAR
'While YUK=0: Wend
EndIf
If ASA=0 Then
DelayMS 10
S=S-10
T=T-10
DelayMS 200
GoSub AYAR
'While ASA=0: Wend
EndIf
EndIf
'''''''''''''''''''
'10Kherz
If A=2 Then
If YUK=0 Then
DelayMS 10
S=S+100
T=T+10
DelayMS 200
GoSub AYAR
'While YUK=0: Wend
EndIf
If ASA=0 Then
DelayMS 10
S=S-100
T=T-100
DelayMS 200
GoSub AYAR
'While ASA=0: Wend
EndIf
EndIf
'''''''''''
'100 khz
If A=3 Then
If YUK=0 Then
DelayMS 70
S=S+1000
T=T+1000
DelayMS 200
GoSub AYAR
'While YUK=0: Wend
EndIf
If ASA=0 Then
DelayMS 70
S=S-1000
T=T-1000
DelayMS 200
GoSub AYAR
'While ASA=0: Wend
EndIf
EndIf
EndIf
''''''''''''''''''''''''''''
If KAYIT=0 Then
DelayMS 200
G=G+1
DelayMS 500
'While KAYIT=0
'Wend
EndIf
If G=1 Then GoSub ORSE 'ekran
If G=2 Then GoSub ORS 'pll
If G=3 Then GoSub KAYDET 'kayıt
If G>3 Then G=0
If ADIMI=0 Then
DelayMS 120
A=A+1
DelayMS 700
EndIf
If A=0 Then GoSub A1
If A=1 Then GoSub A2
If A=2 Then GoSub A3
If A=3 Then GoSub A4
If A>3 Then A=0
GoTo ANA
''''''''''''''''''''''''
AYAR:
CEK=S
P =CEK/10000'000
ONDALIK=CEK/10
KUSUR=CEK//1000
KURULUM=40 '12000+5557=15557
If T<0 Then T=0
If S<0 Then S=1
'If S>4200000 Then S=4200000
'REF=%10101001 ' 7.2 mhz de am de 5khz
'REF=%10111001 ' am de 1khz 7200
'REF=%10110010 ' 4.5 mhz de FM de 2khz '15557-8465=7092
'REF=%10000001 ' 4.5 mhz de am de 10khz
'REF=%10110001 ' 4.5 mhz de am de 1khz 'am de 1khz 4,5 1khz seçilmesi için
REF=%10111001 ' am de 1khz ara ve 7.200 kiristal seçildi
'REF=%10000001 ' 4.5 mhz de am de 10khz
KUR=%00101001
KURU=%0001001000000000
DUR=%00000000
SHOut DAT,CLK,0,[KURULUM]
EN=1
SHOut DAT,CLK,0,[T\16,REF]
EN=0
SHOut DAT,CLK,0,[KUR]
EN=1
SHOut DAT,CLK,0,[KURU\16,DUR]
EN=0
Print At 2,2,"FRQ:",Dec2 P,".",Dec3 ONDALIK,".",Dec1 KUSUR," kHz"
Print At 4,4,"TA3EN 40 M QRP"
Return
''''''''''''''''''''''''''''''''''''''
AYARA:
'12000+5557=15557
If T<0 Then T=0
'REF=%10111001' 7.200 mhz de am de 1khz
'REF=%10101001 ' 7.2 mhz de am de 5khz
REF=%10111001 ' am de 1khz 7200
'REF=%10110010 ' 4.5 mhz de FM de 2khz '15557-8465=7092
'REF=%10000001 ' 4.5 mhz de am de 10khz
'REF=%10110001 ' 4.5 mhz de am de 1khz '8465+5735 =14200
'REF=%10000001 ' 4.5 mhz de am de 10khz
KURULUM=40
KUR=%00101001
'KURU=%0000000000000000
KURU=%0001001000000000
DUR=%00000000
SHOut DAT,CLK,0,[KURULUM]'in1 için kurulum
EN=1
SHOut DAT,CLK,0,[T\16,REF]'T data REF 4,5 vyada 7,2mhz ve kiloherz ayarı burda 1khz seçildi.
EN=0
SHOut DAT,CLK,0,[KUR]
EN=1
SHOut DAT,CLK,0,[KURU\16,DUR]
EN=0
'Print At 2,2,"FRQ:",#TAMSAYI,".",Dec3 ONDALIK,".",Dec3 YEDEK," kHz"
Print At 2,2,"FRQ:",Dec5 T," "
Return
''''''''''''''''''''''''''''''''
ORSE:
If G=1 Then
Print At 3,1," PLL FREKANS AYARI "
If A=0 Then
If YUK=0 Then
DelayMS 50
S=S+1
DelayMS 200
GoSub AYAR
'While YUK=0: Wend
EndIf
If ASA=0 Then
DelayMS 50
S=S-1
DelayMS 200
GoSub AYAR
'While ASA=0: Wend
EndIf
EndIf
If A=1 Then
If YUK=0 Then
DelayMS 50
S=S+10
DelayMS 200
GoSub AYAR
'While YUK=0: Wend
EndIf
If ASA=0 Then
DelayMS 50
S=S-10
DelayMS 200
GoSub AYAR
'While ASA=0: Wend
EndIf
EndIf
'''''''''''''''''''
If A=2 Then
If YUK=0 Then
DelayMS 50
S=S+100
DelayMS 200
GoSub AYAR
'While YUK=0: Wend
EndIf
If ASA=0 Then
DelayMS 50
S=S-100
DelayMS 200
GoSub AYAR
'While ASA=0: Wend
EndIf
EndIf
'''''''''''
If A=3 Then
If YUK=0 Then
DelayMS 50
S=S+1000
DelayMS 200
GoSub AYAR
'While YUK=0: Wend
EndIf
If ASA=0 Then
DelayMS 50
S=S-1000
DelayMS 200
GoSub AYAR
'While ASA=0: Wend
EndIf
EndIf
EndIf
Return
ORS:
If G=2 Then
Print At 3,1,"19.705 kHZ PLL AYARI"
If A=0 Then
If YUK=0 Then
T=T+1
DelayMS 200
GoSub AYARA
'While YUK=0: Wend
EndIf
If ASA=0 Then
T=T-1
DelayMS 200
GoSub AYARA
'While ASA=0: Wend
EndIf
EndIf
If A=1 Then
If YUK=0 Then
T=T+10
DelayMS 200
GoSub AYARA
EndIf
If ASA=0 Then
T=T-10
DelayMS 200
GoSub AYARA
'While ASA=0: Wend
EndIf
EndIf
'''''''''''''''''''
If A=2 Then
If YUK=0 Then
T=T+100
DelayMS 200
GoSub AYARA
EndIf
If ASA=0 Then
T=T-100 '-27610 49902
DelayMS 200
GoSub AYARA
'While ASA=0: Wend
EndIf
EndIf
'''''''''''
If A=3 Then
If YUK=0 Then
T=T+1000
DelayMS 200
GoSub AYARA
EndIf
If ASA=0 Then
T=T-1000
DelayMS 200
GoSub AYARA
'While ASA=0: Wend
EndIf
EndIf
Print At 2,2,"FRQ:",Dec5 T," "
EndIf
Return
KAYDET:
If G=3 Then
EWrite Address,
DelayMS 10
EWrite Address1, [T]
DelayMS 50
Print At 3,1," KAYDEDILIYOR "
DelayMS 300
Print At 3,1," "
Print At 2,2,"FRQ:",Dec5 T'" "
DelayMS 300
Print At 3,1,"KAYIT",255
DelayMS 300
Print At 3,1,"KAYIT",255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255,255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255,255,255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255,255,255,255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255,255,255,255,255,255,255,255,255
DelayMS 300
Print At 3,1,"KAYIT",255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
DelayMS 400
EndIf
Print At 3,1,"S.",0,1,1,1,1,1,1,1,2,1,1,2," + OdB "
GoSub SM
G=0
GoSub AYAR
Return
A1:
Print At 2,20,"A"
Return
A2:
Print At 2,20,"B"
Return
A3:
Print At 2,20,"C"
Return
A4:
Print At 2,20,"D"
Return
SM:
Print $FE,$40,0,0,0,0,0,0,16,31
Print $FE,$48,0,0,0,0,0,0,0,31
Print $FE,$50,0,0,0,0,0,0,1,31
'Print $FE,$58,31,31,31,31,31,0,0,0
Print $FE,$60,31,31,31,31,31,0,16,31
Print $FE,$68,31,31,31,31,31,0,0,31
Print $FE,$70,31,31,31,31,31,0,1,31
If M>14 Then
M=14
EndIf
If M=1 Then
Print At 3,1,"S.",0,1,1,1,1,1,1,1,2,1,1,2," + OdB "
DelayMS 300
EndIf
If M=2 Then
Print At 3,1,"S.",4,1,1,1,1,1,1,1,2,1,1,2," + 1dB "
DelayMS 300
EndIf
If M=3 Then
Print At 3,1,"S.",4,5,1,1,1,1,1,1,2,1,1,2," + 2dB "
DelayMS 300
EndIf
If M=4 Then
Print At 3,1,"S.",4,5,5,1,1,1,1,1,2,1,1,2," + 3dB "
DelayMS 300
EndIf
If M=5 Then
Print At 3,1,"S.",4,5,5,5,1,1,1,1,2,1,1,2," + 4dB "
DelayMS 300
EndIf
If M=6 Then
Print At 3,1,"S.",4,5,5,5,5,1,1,1,2,1,1,2," + 5dB "
DelayMS 300
EndIf
If M=7 Then
Print At 3,1,"S.",4,5,5,5,5,5,1,1,2,1,1,2," + 6dB "
DelayMS 300
EndIf
If M=8 Then
Print At 3,1,"S.",4,5,5,5,5,5,5,1,2,1,1,2," + 7dB "
DelayMS 300
EndIf
If M=9 Then
Print At 3,1,"S.",4,5,5,5,5,5,5,5,2,1,1,2," + 8dB "
DelayMS 300
EndIf
If M=10 Then
Print At 3,1,"S.",4,5,5,5,5,5,5,5,6,1,1,2," + 9dB "
DelayMS 300
EndIf
If M=11 Then
Print At 3,1,"S.",4,5,5,5,5,5,5,5,6,5,1,2," +20dB "
DelayMS 300
EndIf
If M=12 Then
Print At 3,1,"S.",4,5,5,5,5,5,5,5,6,5,5,2," +40dB "
DelayMS 300
EndIf
If M=13 Then
Print At 3,1,"S.",4,5,5,5,5,5,5,5,6,5,5,6," +60dB "
DelayMS 300
EndIf
If M>13 Then
Print At 3,1,"s.",4,5,5,5,5,5,5,5,6,5,5,6," +60dB "
EndIf
Return
End
'''''''''''''''''''''''''''''''' '''''''''''''''''''
'Ewrite
'LC72131 AYARLARI
'REF=%10111001' 7.200 mhz de am de 1khz
'REF=%10110001 ' 4.5 mhz de am de 1khz
'REF=%10110010 ' 4.5 mhz de FM de 2khz
'REF=%10000001 ' 4.5 mhz de am de 10khz
'REF=%10111001' 7.200 mhz de am de 1khz
'REF=%10110001 ' 4.5 mhz de am de 1khz
'REF=%10110010 ' 4.5 mhz de FM de 2khz
'REF=%10000001 ' 4.5 mhz de am de 10khz
'dvs:0
'sns:1
'.......................
'17 sns
'18 dvs
'dvs 1 sns 0 fm
'1KHZ AYARI
'R3:1
'R2:0
'R1:1
'R0:1
'...........................
'10KHZ AYARI
'R3:1
'R2:0
'R1:0
'R0:0
'.............................
'REFERANS KRİSTAL AYARI
'XS:0 4,5MHZ
'XS:1 7.2MHZ
'.........................