AD Wandlung pic 16F876
Dienstag, 22. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  CCS Compiler  |  AD-Wandler (CCS)  |  AD Wandlung pic 16F876 « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: AD Wandlung pic 16F876  (Gelesen 1287 mal)
 
Sascha
Newbie
*
Offline Offline

Beiträge: 46


Profil anzeigen
« am: März 23, 2010, 10:07:01 »

Hallo alle zusammen,
wie schon öfters mal hab ich mal wieder ein Problem. Es geht um einem Pic16f876 und eine 10bit Wandlung.
Wenn ich die 5V durch 1024 teile, bekomme ich 4,882mV pro digit. Lege ich nun eine Spannung von in diesem Fall von 1.0786V an den A0 Eingang, bekomme ich 291 ausgegeben. 1.0786V / 4,882mV ergibt doch aber 220,95? Wo sind denn die anderen 70 hin?  Traurig

Viele Grüße Sascha

 

Code:
#include <16F876.h>
#device ADC=10
#use delay(clock=4000000)
#fuses xt,NOWDT,NOPROTECT,NOBROWNOUT
#use rs232(baud=1200,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

unsigned int16 druck;


void main() {

   setup_adc_ports( ALL_ANALOG );
   setup_adc(adc_clock_internal);
   setup_spi(FALSE);
   setup_counters(RTCC_INTERNAL,WDT_18MS);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);

   disable_interrupts(INT_EXT);
   ext_int_edge(L_TO_H);
   Setup_CCP1 (CCP_COMPARE_RESET_TIMER);
   setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_1 ); // Interner Takt, 1:1
  // Intgerupt on Match
   CCP_1=50000; // alle  Zyklen
   enable_interrupts(INT_CCP1);
   disable_interrupts(INT_TIMER1);
   enable_interrupts(global);
   set_timer1 ( 0 );
 //set_tris_a (0b11111111);
 output_high(Pin_B0);// Max 232 An

while (1){
    set_adc_channel(0);
    delay_ms(500);
    druck=read_adc();
    printf ("Digit %4.3lu",druck,"");
    druck = druck * 0.170660 ;
    printf("Druck %4.3lu",druck,"");
}


Gespeichert
Sascha
Newbie
*
Offline Offline

Beiträge: 46


Profil anzeigen
« Antworten #1 am: März 23, 2010, 10:18:40 »

Hi,
ich noch mal ich glaube, es liegt an der Versorgungsspannung.
Gruß Sascha 
Gespeichert
Sascha
Newbie
*
Offline Offline

Beiträge: 46


Profil anzeigen
« Antworten #2 am: März 23, 2010, 13:59:58 »

So war es die Versorgungsspannung lag bei 3,7V dann passt alles wieder.  Verlegen

Gruß Sascha
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.042 Sekunden mit 19 Zugriffen.
 
Top! Top!