'TX-RX I2C
'platine à base de 16F84 pour générer l'I2C qui détermone la fréquence des modules Comtech
' ou autres...
'permet 256 fréquences au pas de 1MHz, à partir de la fréquence de démarrage
'décocher toutes les cases fuse à la programmation et choisir oscillateur RC

'DEFINE OSC 4
DEFINE I2C_SCLOUT 1

@ DEVICE RC_OSC

SYMBOL DT=PORTA.1
SYMBOL CK=PORTA.0
SYMBOL DIP1=PORTB.0
SYMBOL DIP2=PORTB.3
SYMBOL DIP3=PORTB.2
SYMBOL DIP4=PORTB.1
SYMBOL DIP5=PORTB.4
SYMBOL DIP6=PORTB.5
SYMBOL DIP7=PORTB.6
SYMBOL DIP8=PORTB.7

ADDR1 VAR BYTE
TMP   VAR BYTE
PLLBASE VAR WORD
PLL   VAR WORD
LO    VAR PLL.LOWBYTE
HI    VAR PLL.HIGHBYTE

INPUT DIP1
INPUT DIP2
INPUT DIP3
INPUT DIP4
INPUT DIP5
INPUT DIP6
INPUT DIP7
INPUT DIP8

OUTPUT CK
OUTPUT DT

ADDR1=$C2   'pour le PLL TSA-5055
'ADDR1=$C0   'pour le PLL TSA-5511

'Valeur à donner à PLLBASE pour la bande 2G3
'Fvco=125 * N : pour un pas de 125KHz
'pour un émetteur:
'pour démarrer à 2300MHz : 18400 
'pour démarrer à 2500MHz : 20000
'pour un récepteur, tenir compte de la FI infradyne de 479,5 MHz (soustraire 3836) 
'pour démarrer à 2300MHz : 14564 
'pour démarrer à 2500MHz : 16164

'Valeur à donner à PLLBASE pour la bande 1G2
'Fvco=100 * N : pour un pas de 100KHz
'pour un émetteur:
'pour démarrer à 1255MHz : 12550
'pour démarrer à 1200MHz : 12000
'pour un récepteur, tenir compte de la FI supradyne de 479,5 MHz (ajouter 4795)
'pour démarrer à 1255MHz : 17345
'pour démarrer à 1200MHz : 16795

PLLBASE=18400

main:

TMP=255-(DIP8*128)-(DIP7*64)-(DIP6*32)-(DIP5*16)-(DIP4*8)-(DIP3*4)-(DIP2*2)-(DIP1)
PLL=PLLBASE+TMP*8   'pas de 125KHz*8 soit 1MHz de résolution
'PLL=PLLBASE+TMP*10  'pas de 100KHz
I2CWRITE DT,CK,ADDR1,[HI,LO,$8E]
PAUSE 500
GOTO main

END

