день добрый! Пришла
LMX2322, пытаюсь её запустить на макете в режиме делителя.
Схема стандартная. Контроллер
PIC18F4550.
Конфигурация:
/*настройка микросхемы lmx_2322
Порядок настройки:
1. Запись в регистр "N". ADDR=0. Коэфф. деления N=B*32+A. В=3,A=0 --› N=96
2. CNT_RESET=0, PWRDN=0;*/
3. Регистр R не трогаю вообще.
ПЕРМЕННЫЕ:
lmx_cfgH - первые 8 бит (начиная со СЗР).
lmx_cfgM - следующие 8 бит.
lmx_cfgL - последние 2 бита (выводятся только 8 и 7-й разряды)
На вход подаю 13кГц. На выходе (CPo) имею либо эти же 13кГц, либо 78кГц... не могу понть в чём дело, вроде конфигурация правильная. СРо пока повесил на Ч3-63/1.
Код:
|
void lmx_2322_nastrojka(void)
{
unsigned char i;
lmx_cfgL=0b00000000;
lmx_cfgM=0b11000000;
lmx_cfgH=0b00000000;
//LMX_LE=1;
Delay10TCYx(1);//задержка 240нс
LMX_LE=0;
LMX_CLK=0;
Delay10TCYx(1);
Delay1TCY();
for(i=7;i!=0;i=i-1)
{
LMX_DATA=lmx_cfgH››i;
Delay1TCY();
LMX_CLK=1;
Delay10TCYx(1);//задержка 240нс
LMX_CLK=0;
Delay10TCYx(1);//задержка 240нс
}
if (i==0)
{
LMX_DATA=lmx_cfgH;
Delay1TCY();
LMX_CLK=1;
Delay10TCYx(1);//задержка 240нс
LMX_CLK=0;
Delay10TCYx(1);//задержка 240нс
}
for(i=7;i!=0;i=i-1)
{
LMX_DATA=lmx_cfgM››i;
Delay1TCY();
LMX_CLK=1;
Delay10TCYx(1);//задержка 240нс
LMX_CLK=0;
Delay10TCYx(1);//задержка 240нс
}
if (i==0)
{
LMX_DATA=lmx_cfgM;
Delay1TCY();
LMX_CLK=1;
Delay10TCYx(1);//задержка 240нс
LMX_CLK=0;
Delay10TCYx(1);//задержка 240нс
}
for(i=1;i!=0;i=i-1)
{
LMX_DATA=lmx_cfgL››i;
Delay1TCY();
LMX_CLK=1;
Delay10TCYx(1);//задержка 240нс
LMX_CLK=0;
Delay10TCYx(1);//задержка 240нс
}
if (i==0)
{
LMX_DATA=lmx_cfgL;
Delay1TCY();
LMX_CLK=1;
Delay10TCYx(1);//задержка 240нс
LMX_CLK=0;
Delay10TCYx(1);//задержка 240нс
}
Delay10TCYx(1);//задержка 240нс
Delay10TCYx(1);//задержка 240нс
LMX_LE=1;
Delay10TCYx(1);//задержка 240нс
LMX_LE=0;
} |