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
'.........................