Transmisor FM, PLL (Redfield29) ver.2.0

No he tenido grandes avances con mi tx pero si me encontre revisando todo una y otra vez.

Viendo las fotos del circuito con SAA1057 vi un par de detalles que me generaron algunas dudas:
pregunta.JPG

En el diagrama figura la pata 5 de U2 al negativo de C46 y el positivo de este a la R32 y luego a la pata 6; pero en el esquema de componentes el positivo de C46 va a la pata 5.

El puente que veo en el cristal de donde sale?

Perdonen que me esté tardando con el armado, es que me puse a estudiar pic ya que algo de programacion se y la verdad que esta muy bueno.

Gracias.
 
Última edición por un moderador:
Hola Polpi, el puente va de la carcaza del cristal a masa. Es solo algo que se hace para filtrar posibles ruidos.



La poralidad está bien como se ve en la imagen que pusiste, la resistencia que ves recalentada te recomendaría que pongas un puente directamente, y el puente que falta lo deben haber puesto por debajo, es el que lleva los 5v desde el regulador a la parte del pll.
 
Última edición:
Me ha quedado mas que claro. Gracias.

Alguna sugerencia acerca de un programador de PIC (que pueda trabajar con este en particular) que conecte por serial y sin alimentación externa; es mucho pedir?
 
Me ha quedado mas que claro. Gracias.

Alguna sugerencia acerca de un programador de PIC (que pueda trabajar con este en particular) que conecte por serial y sin alimentación externa; es mucho pedir?

Buenos días.

Mira este programador...

http://perso.wanadoo.es/pictob/jdm.htm

Miles de montajes de este programador avalan su buen funcionamiento.

Por Internet (Google) en contrarás varios programas para poder utilizarlo, p.e.

http://www.ic-prog.com/

Sal U2
 
Buenas noches compañeros

Alguien posee algún ejemplo del control de los integrados PLL I2C en lenguaje C? O al menos el algoritmo básico? Es para modificar el soft y flexibilizarlo para los integrados que pueden conseguirse en los tunners de TV o de radio como el LC72131.


Saludos.
 
fijate en los comentarios anteriores que aca hubo varios soft para integrados como tsa5510 , saa1057 y algun otro integrado , estaban en hex me parece no se si estaban abiertos para reformas , sino te paso un soft abierto que tengo de para un TA5510



Código:
'****************************************************************
'*  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  "

es un soft para un tsa5511
 y pic 16f628
es el unico que vi que esta abierto



'****************************************************************
'*  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
 
Última edición por un moderador:

Daniel Lopes

Miembro Geconocido
fijate en los comentarios anteriores que aca hubo varios soft para integrados como tsa5510 , saa1057 y algun otro integrado , estaban en hex me parece no se si estaban abiertos para reformas , sino te paso un soft abierto que tengo de para un TA5510



Código:
'****************************************************************
'*  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  "

es un soft para un tsa5511
 y pic 16f628
es el unico que vi que esta abierto



'****************************************************************
'*  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
Eso todo para mi es "Aramaico":cry::confused:( lingua enpleada en los tienpos de Jesus Cristo) , jajajajajajaa , quízaz sea mas facil apriender japones en Braile :eek: jajajajajajaja.
 
Última edición por un moderador:
esta es la traduccion ya algo se entiende , no se si te fijaste el que hay por aca si esta abierto


Código:
Autor: [DIA de Hussein - viproj A] * 
'* Aviso: Copyright (c) 2010 * 
'* Fecha: 06.05.2010 * 
'* Versión: 2.0 * 
'************************************************* *************** 
Device = 16F628 a los 'PICs están promoviendo. 
Config INTRC_OSC_CLKOUT, ​​MCLRE_OFF, LVP_OFF​​, WDT_OFF, PWRTE_OFF, CP_OFF​​, BODEN_OFF 
Declarar I2C_SCLOUT En 
'LCD --------------------------- --------------------- ----------- 
= PORTB.0 de LCD_DTP 
= PORTB.4 de LCD_RSP 
= PORTA.3 de LCD_ENP 
Como LCD_INTERFA = 4 'Interface de 4 bits 
LCD_LINES = 2 
LCD_TYP = 0 
De CMCO = 7 
'--------------------------- Direcciones --------------------- ------- 
Como número frekans_step Dim Word Frequency Onda 
Dim I Como frekans_ta Palabra entero Frecuencia 
Al igual que en frekans_o Dim Palabra estepa Frecuencia 
Dim Palabra Como la información de frecuencia variable FRECUENCIA '
Dim Palabra Como F_KONTROL dijo Panini han definido DE CONTROL 

Como Dr. LO a frekans.lowbyt 'de baja frecuencia variable de la byte'ý 
Dim Hola As de frekans.highbyt 'la alta frecuencia byte'ý variables

'-------------------------- ---------------------- Puertos -------- 
I2c'n SDA símbolo = PORTA.1 'conectado a la porta.1'y sda'sý 
SCL = símbolo PORTA.0 'ı2c'n la porta.0'y conectado al Scl de 
Símbolo LED = PORTA.2 'LED conectado a porta.2 

PORTA = 0: PORTB = 0 'PORTA y PORTB ha restablecido 
'Lee mi ------------------------ ----------------------- Eeprom --- 

Prensa: 
LED de alta 
Imprima a 1,1, "TRANSMISOR FM" 
Imprima a 2,1, "Rdvv a viproj" 
DELAYMS 300 
Frecuencia Deyer frekans_step = eReader 02 'lectura de la preposición 
Si frekans_step> 0 tsayaz 'Información sobre Frecuencias Tse verano va a mayor que 0 
'Intercambio de frecuencia ---------------------- ------------------------- 
Frekans_set: 
En frekans_o = (frekans_step * 2.10) // 100 
Frekans_ta I = (frekans_step * 10/2) / 100 
Imprima a 1,1, "FRAME SET", diciembre frekans_ta I, ",", en diciembre frekans_o, "" 'verano LCD 
Imprima a 2,1, "RDVV 8watt PLL" LCD verano 
DELAYMS 28 
El PORTB.5 = 1 si los Artir_frekans 
El PORTB.7 = 1 si los Azalt_frekans 
El PORTB.6 = 1 si el Kaydet_frekans 
'Summer ----------------------- E ----------------------- TSA5511 --- 
FRECUENCIA = frekans_step 
I2CWRIT SDA, SCL, $ C2, [HI, LO, $ 8 a $ 10] 
Ir Frekans_set 

Artir_frekans: 
Frekans_step = frekans_step + 1 'contenidos aumentarán 5 
Si frekans_step> 2160 de 1750 frekans_step = 'contenido es mayor que 10.800 hicieron 8750 
Ir Frekans_set 
Azalt_frekans: 
Frekans_step = frekans_step-1 disminuyó el contenido de 5 
Si frekans_step <1750 = 2160 El frekans_step que "el contenido es inferior a 8750 hizo 10.800 
Ir Frekans_set 

'-------------------------- Verano --------------------- Edata ------ 
Kaydet_frekans: 
EWriter 02, [frekans_step] dice a Edata Info Frecuencia 
DELAYMS 50 
'Summer ----------------------- E ----------------------- TSA5511 --- 
tsayaz: 
En frekans_o = (frekans_step * 2.10) // 100 
Frekans_ta I = (frekans_step * 10/2) / 100 
Imprima a 1,1, "desbloquear", diciembre frekans_ta I, ",", en diciembre frekans_o "," escribí LCDs 
Imprima a 2,1, "RDVV 8watt PLL" LCD verano 
FRECUENCIA = frekans_step 
I2CWRIT SDA, SCL, $ C2, [HI, LO, $ 8 a $ 00] 
DELAYMS 150 

'Compruebe ---------------------- ---------------------- TSA5511 
El PORTB.6 = 1 si el Frekans_set 
I2CREAD SDA, SCL, $ C2, [F_KONTROL] 
Si = 1 La masa de F_KONTROL.6 
Ir tsayaz 
Audiencia: 
I2CWRIT SDA, SCL, $ C2, [HI, LO, $ 8 a $ 24] 
En frekans_o = (frekans_step * 2.10) // 100 
Frekans_ta I = (frekans_step * 10/2) / 100 
Imprima a 1,1, "Lock", diciembre frekans_ta I, ",", en diciembre frekans_o "," Summer LCDs 
Imprima a 2,1, "RDVV 8watt PLL" LCD verano 
K_buto de: 
DELAYMS 20 
El PORTB.5 = 1 si el lcd_led_off 
Si el PORTB.7 = 1 Que lcd_led_o 
El PORTB.6 = 1 si el Frekans_set 
Ir de K_buto 
Lcd_led_o de: 
LED de alta 
Ir de K_buto 
lcd_led_off: 
Baja LED 
Ir de K_buto 
fin
 
Última edición por un moderador:
Tal como lo comentas, solo están publicado los hexagesimales pero no el código fuente. Francamente no se cómo dirigir la búsqueda en google pues me inclino por cosas como "I2C PLL C code" y me desvia a materiales sobre el uso de I2C.


Saludos y gracias.
 
Tal como lo comentas, solo están publicado los hexagesimales pero no el código fuente. Francamente no se cómo dirigir la búsqueda en google pues me inclino por cosas como "I2C PLL C code" y me desvia a materiales sobre el uso de I2C.


Saludos y gracias.
Hola...El programa subido en Proton Basic con comentarios en Turco mas arriba esta incompleto y en cuanto a buscar código para lenguaje C en el manejo de PLL de tecnología I2C tendrás que ver ejemplos de programación específicos ya que cada chip(PLL) tiene su forma de controlarlo/comandarlo...cada fabricante utiliza lo que quiere o le piden en su desarrollo por lo que no encontraras informacion unificada y deberás estudiar detalladamente la hoja de datos de cada chip en particular para ver como se comanda el mismo.
Saludos.

Ric.
 
Hola...El programa subido en Proton Basic con comentarios en Turco mas arriba esta incompleto y en cuanto a buscar código para lenguaje C en el manejo de PLL de tecnología I2C tendrás que ver ejemplos de programación específicos ya que cada chip(PLL) tiene su forma de controlarlo/comandarlo...cada fabricante utiliza lo que quiere o le piden en su desarrollo por lo que no encontraras informacion unificada y deberás estudiar detalladamente la hoja de datos de cada chip en particular para ver como se comanda el mismo.
Saludos.

Ric.
Entiendo claramente tu punto pero con un ejemplo para el TSA5511 o similares creo que puedo guiarme.


Saludos
 
tendrias que comunicarte con Redfield29 , que programo varios en este foro , a ver si te da algun soft abierto ,
Ric , con respecto al programa turco , puede ser que le falte algo porque a algunas personas no le anduvo , pero asi esta en la pagina del autor.



otro que te podria ayudar es gabriel7747



http://www.picbasic.co.uk/forum/showthread.php?t=7070

Y este sintetizador en esta página francesa, que viene con todo lo necesario, incluso el código fuente:

http://f6csx.free.fr/ATV/I2C/PILOTAGE_I2C.htm
 
Última edición:
Entiendo claramente tu punto pero con un ejemplo para el TSA5511 o similares creo que puedo guiarme.

Saludos
Lamentablemente es una tarea pendiente para mí aprender lenguaje C...subo el esquema, el programa traducido en ProtonPICBasic y la simulación en Proteus por si te sirve para aprender como comanda en ese lenguaje que es lo que yo sí se. Tampoco dispongo del TSA5511 para hacer las pruebas a ver si funciona bien.
Ric.
Código:
'************************************************* ***************
'* Author : [Hüseyin GÜNER - ViProje] *
'* Notice : Copyright (c) 2010 *
'* Date : 06.05.2010 *
'* Version : 2.0 *
'* Version : 2.01 traduccion del turco by RicBevi 25/10/14*
'************************************************* ***************
Device = 16F628A 'PIC usado
Config INTRC_OSC_CLKOUT, MCLRE_OFF, LVP_OFF, WDT_OFF, PWRTE_OFF, CP_OFF, BODEN_OFF
Declare Bus_SCL 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
'---------------------------Variables----------------------------
Dim Frecuencia_step As Word 'Variable paso de frecuencia
Dim Frecuencia_Entera As Word ' Variable Frecuencia parte entera
Dim Frecuencia_Decimal As Word ' Variable Frecuencia parte decimal
Dim Frecuencia As Word ' Variable Frecuencia 
Dim F_CONTROL As Word 'Variable CONTROL definida

Dim LO As Frecuencia.LowByte 'parte baja Frecuencia 
Dim HI As Frecuencia.HighByte 'parte alta Frecuencia 

'--------------------------Puertos------------------------------
Symbol SDA = PORTA.1 'I2C pin SDA
Symbol SCL = PORTA.0 'I2C pin SCL
Symbol LED = PORTA.2 'LED en PORTA.2

PORTA=0 : PORTB=0 ' limpia PORTA  PORTB 

'------------------------Lectura EEProm--------------------------


        High LED
        Print At 1,1, " FM TRANSMITTER "
        Print At 2,1, " Rdvv ViProje "
        DelayMS 300
        Frecuencia_step = ERead 02 'Frecuencia de inicio
        If Frecuencia_step > 0 Then ComPLL 



'---------------------- Frecuencia-------------------------
Frecuencia_set:
                Frecuencia_Decimal = (Frecuencia_step*10/2)//100
                Frecuencia_Entera = (Frecuencia_step*10/2)/100
                Print At 1,1, " FRE SET ", Dec Frecuencia_Entera, ",", Dec Frecuencia_Decimal," " 
                Print At 2,1, " RDVV 8Watt PLL " 
                DelayMS 28
                If PORTB.5 = 1 Then Subir_Frecuencia  'Subir
                If PORTB.7 = 1 Then Bajar_Frecuencia  'Bajar Frecuencia
                If PORTB.6 = 1 Then Guarda_Frecuencia 'Guardar frecuencia


'-----------------------manda hacia el Tsa5511--------------------------
               
                Frecuencia = Frecuencia_step
                I2COut SDA,SCL,$C2, [HI,LO,$8E,$10]
                GoTo Frecuencia_set

Subir_Frecuencia:
                    Frecuencia_step = Frecuencia_step + 1 ' Incrementa
                    If Frecuencia_step > 2160 Then Frecuencia_step=1750 'Si llega a 10800 entonces cambia a 8750
                    GoTo Frecuencia_set

Bajar_Frecuencia:
                    Frecuencia_step = Frecuencia_step-1 ' Decrementa
                    If Frecuencia_step < 1750 Then Frecuencia_step=2160 'Si llega a 8750 entonces cambia a 10800
                    GoTo Frecuencia_set


Guarda_Frecuencia: '--------------------------Escribe Datos Eprom---------------------------
                    EWrite 02 ,[Frecuencia_step] 'Guarda el Paso en la EEprom
                    DelayMS 50


ComPLL: '----------------------- Escribe en el Tsa5511 --------------------------
        Frecuencia_Decimal = (Frecuencia_step*10/2)//100
        Frecuencia_Entera = (Frecuencia_step*10/2)/100
        Print At 1,1, " UnLock ", Dec Frecuencia_Entera, ",", Dec Frecuencia_Decimal, " " 
        Print At 2,1, " RDVV 8Watt PLL " 
        Frecuencia = Frecuencia_step
        I2COut SDA,SCL,$C2, [HI,LO,$8E,$00]
        DelayMS 150

'----------------------Verifica estatus Tsa5511i ----------------------
        If PORTB.6 = 1 Then Frecuencia_set 'Si esta pulsado PORTB.6 va al principio
        I2CREAD SDA,SCL,$C2,[F_CONTROL]
        If F_CONTROL.6 = 1 Then Bloqueo ' Si el bit 6 de F_CONTROL esta a 1 entonces el PLL esta enganchado LOCK
        GoTo ComPLL

Bloqueo:
        I2COut SDA,SCL,$C2, [HI,LO,$8E,$24]
        Frecuencia_Decimal = (Frecuencia_step*10/2)//100
        Frecuencia_Entera = (Frecuencia_step*10/2)/100
        Print At 1,1, " Lock ", Dec Frecuencia_Entera, ",", Dec Frecuencia_Decimal, " " 
        Print At 2,1, " RDVV 8Watt PLL " 


K_buton:
        DelayMS 20
        If PORTB.5= 1 Then LCD_Led_Off ' Si se pulsa Subir apaga el led
        If PORTB.7=1 Then LCD_Led_On  ' Si se pulsa Bajar prende el led
        If PORTB.6=1 Then Frecuencia_set ' Si se pulsa Guardar va al comienzo
        GoTo K_buton

LCD_Led_On:
            High LED
            GoTo K_buton

LCD_Led_Off:
            Low LED
            GoTo K_buton

End
 

Adjuntos

Temas similares