реклама на сайте
подробности

 
 
> Проблемы с АЦП C8051F120(121), 0x0FFF;
Moks
сообщение Sep 13 2006, 19:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 28-11-05
Из: Москва
Пользователь №: 11 510



help.gif Возникла такая проблема: АЦП высылает мне не то, что я хотел бы получить. Где-то косяк, скорее всего, наэлементарный. Но вот никак не разберусь где именно...

Код:

**************


static unsigned int tt;
static unsigned char al,ah;

void PORT_Init (void);
void Timer3_Init (int counts);
void Timer3_ISR (void);
void UART0_Init(void);
void Timer1_Init(void);
void ADC0_Init(void);
//------------------------------------------------------------------------------------
// MAIN Routine
//------------------------------------------------------------------------------------
void main (void) {

// disable watchdog timer
WDTCN = 0xde;
WDTCN = 0xad;

SFRPAGE = CONFIG_PAGE; // Switch to configuration page
PORT_Init ();

SFRPAGE = TMR3_PAGE; // Switch to Timer 3 page
Timer3_Init (SYSCLK / 12 / 10); // Init Timer3 to generate interrupts
// at a 10 Hz rate.
SFRPAGE = UART0_PAGE; // страница УАРТ
UART0_Init(); // инициализация УАРТ


SFRPAGE = TIMER01_PAGE;
Timer1_Init();

SFRPAGE = ADC0_PAGE;
ADC0_Init();

EA = 1; // enable global interrupts

SFRPAGE = LEGACY_PAGE; // Page to sit in for now

while (1) { // spin forever

}
}


void ADC0_Init()
{
ADC0CN = 0x80; // разрешить АЦП0, старт по "1" в BUSY
REF0CN |= 0x01; // внутренний источник опорного напряжения
EIE2 |= 0x02; // разрешение прерываний АЦП0
EIP2 |= 0x02; // высший приоритет у прерывания по завершению преобразования
}


void Timer1_ISR (void) interrupt 3
{
TF1 = 0; tt++; // clear TF1
if (tt == 5000) AD0BUSY = 1; // запускаем преобразование
if (tt==40000) { SBUF0 = ADC0L; tt=0; }
}

void ADC0_ISR (void) interrupt 15
{
AD0INT=0;
al = ADC0L; ah = ADC0H;
}



Может, выкачивать значения АЦП нужно в другом месте,а?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th August 2025 - 15:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01816 секунд с 7
ELECTRONIX ©2004-2016