'****************************************************************
'*  Author  : [Hüseyin GÜNER - ViProje]                         *
'*  Notice  : Copyright (c) 2010                                *
'*  Date    : 06.05.2010                                        *
'*  Version : 2.0                                               *
'****************************************************************
Device = 16F628A 'PIC'i tanıtıyoruz.  
Config INTRC_OSC_CLKOUT, MCLRE_OFF, LVP_OFF, WDT_OFF, PWRTE_OFF, CP_OFF, BODEN_OFF
Declare I2C_SCLOUT On   
'---------------------------LCD-------------------------------- 	
		LCD_DTPin = PORTB.0
        LCD_RSPin = PORTB.4
		LCD_ENPin = PORTA.3
		LCD_Interface = 4	' 4-bit Interface
		LCD_Lines = 2
		LCD_Type = 0
		CMCON = 7
'---------------------------Adresler----------------------------
Dim FREKANS_step As Word     'Frekans Onda sayı
Dim FREKANS_Tam As Word      'Frekans Tam sayı
Dim FREKANS_Onda As Word     'Frekans stepi
Dim FREKANS As Word          'Frekans bilgisi değişkeni
Dim F_KONTROL As Word        'KONTROL değikenini tanımladık

Dim LO As FREKANS.LowByte    'Frekans değişkeninin düşük byte'ı
Dim HI As FREKANS.HighByte   'Frekans değişkeninin yüksek byte'ı  

'--------------------------Portlar------------------------------
Symbol SDA = PORTA.1         'I2C'nin SDA'sı PORTA.1'ya bağlı     
Symbol SCL = PORTA.0         'I2C'nin Scl'si PORTA.0'ya bağlı
Symbol LED = PORTA.2         'LED PORTA.2'e bağlı

PORTA=0 : PORTB=0     'PORTA ve PORTB sıfırlandı 
'------------------------Eepromdan OKu-------------------------- 

bas:
High LED
Print At 1,1, " FM TRANSMITTER "
Print At 2,1, "  Rdvv ViProje  "
DelayMS 300
FREKANS_step = ERead 02 'Frekans Deyerini EData dan okuyor
If  FREKANS_step > 0   Then  TsaYaz 'Frekans Bilgisi 0 Dan Büyük ise Tsa yaza gidiyor
'----------------------Frekans Değiştir-------------------------
Frekans_set:
FREKANS_Onda = (FREKANS_step*10/2)//100
FREKANS_Tam =  (FREKANS_step*10/2)/100
Print  At 1,1, " FRE SET ", Dec FREKANS_Tam, ",", Dec FREKANS_Onda,"  " 'LCD Yaz
Print  At 2,1, " RDVV 8Watt PLL " 'LCD Yaz
DelayMS 28
If  PORTB.5=1   Then    Artir_frekans
If  PORTB.7=1   Then    Azalt_frekans
If  PORTB.6=1   Then    Kaydet_frekans
'----------------------- Tsa5511 e yaz--------------------------
FREKANS = FREKANS_step
I2CWRITE SDA,SCL,$C2, [HI,LO,$8E,$10]
GoTo Frekans_set

Artir_frekans:
            FREKANS_step=FREKANS_step + 1                  'içeriği 5 artir
            If FREKANS_step > 2160 Then FREKANS_step=1750 'içerik 10800 dan büyük ise 8750 yap
            GoTo Frekans_set
Azalt_frekans:
            FREKANS_step=FREKANS_step-1                    'içeriği 5 azalt
            If FREKANS_step < 1750 Then FREKANS_step=2160 'içerik 8750 den küçük ise 10800 yap
            GoTo Frekans_set
            
'--------------------------Edataya yaz---------------------------
Kaydet_frekans:
EWrite 02 ,[FREKANS_step] 'Frekans Bilgisini Edataya yazıyor 
DelayMS 50
'----------------------- Tsa5511 e yaz--------------------------
TsaYaz:
FREKANS_Onda = (FREKANS_step*10/2)//100
FREKANS_Tam =  (FREKANS_step*10/2)/100
Print  At 1,1, " UnLock ", Dec FREKANS_Tam, ",", Dec FREKANS_Onda, "  " 'lcd yaz
Print  At 2,1, " RDVV 8Watt PLL " 'LCD Yaz
FREKANS = FREKANS_step
I2CWRITE SDA,SCL,$C2, [HI,LO,$8E,$00]
DelayMS 150

'----------------------Tsa5511i Kontrol et----------------------
If  PORTB.6=1   Then    Frekans_set
I2CREAD SDA,SCL,$C2,[F_KONTROL]
If F_KONTROL.6=1 Then Kitli
GoTo TsaYaz
Kitli:
I2CWRITE SDA,SCL,$C2, [HI,LO,$8E,$24]
FREKANS_Onda = (FREKANS_step*10/2)//100
FREKANS_Tam =  (FREKANS_step*10/2)/100
Print  At 1,1, "   Lock ", Dec FREKANS_Tam, ",", Dec FREKANS_Onda, "  " 'lcd Yaz
Print  At 2,1, " RDVV 8Watt PLL " 'LCD Yaz
K_buton:
DelayMS 20
If  PORTB.5=1   Then    LCD_Led_Off
If  PORTB.7=1   Then    LCD_Led_On
If  PORTB.6=1   Then    Frekans_set
GoTo K_buton
LCD_Led_On:
High LED
GoTo K_buton
LCD_Led_Off:
Low LED
GoTo K_buton
End
