Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

16 битово число от аналогово цифрово преобразуване
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=5026
Страница 1 от 1

Автор:  million [ Пет Ное 02, 2007 2:18 pm ]
Заглавие:  16 битово число от аналогово цифрово преобразуване

Еее, все на мен се случва! Нещо не мога да изкарам 16 битово число от аналогово цифрово преобразуване. Процесора е 18Ф1220. ето го и кода!
Код:
#include <18F1220.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT
#use delay(clock=20000000)
#define adc=10
int16 value;

void blink(){
value = (int16) read_adc();

if (value>100){
output_bit(PIN_A1,1);         }
if (value<100){
output_bit(PIN_A1,0);
}
}

#int_RTCC
void RTCC_isr(){
blink();
}


void main()
{

setup_adc_ports(sAN0|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_2);
set_adc_channel(0);
   setup_wdt(WDT_OFF);
    set_tris_A(0b00000001);
     set_tris_B(0b00000000);
    setup_timer_0(RTCC_DIV_4);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
   setup_oscillator(False);
   enable_interrupts(INT_RTCC);

    enable_interrupts(GLOBAL);

while (TRUE){
      }
}

Резултата го гледам в МПЛАБ с ICD2 в debugr mode в watch. каквито и видове променливи да слагам резутата все е от 0 при 0V до 255 при 5 волта :( Е нали е 10битово АДЦ то ?! Моля, който знае и може да ми помогне :)

Автор:  Taner [ Пет Ное 02, 2007 8:43 pm ]
Заглавие: 

Здравей,
за CCS PCWH компилатор ли става въпрос,
ако е така, според мене вместо:
#define adc=10
не трябва ли да е:
#device adc=10

:)

Автор:  million [ Пет Ное 02, 2007 10:39 pm ]
Заглавие: 

Ей, че съм недоскив! Проработи :oops:
Благодаря!

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/