Spannung über ADC des C167 messen

OP #2767123
Lesenswert?

Hallo,

ich möchte eine Temperaturmessung über den C167 auswerten. Aus meinem 
Temperatursensor kommt ein Strom (273 µA bei 0°C und dann konstant 
steigend 1µA / °C), den ich über einen Widerstand in eine Spannung 
zwischen 0 und 4 V wandel. Die Spannung schließe ich an den Port 5.4 des 
C167 an. Im Programm soll dann aus der Spannung wieder die Temperatur 
berechnet werden und an einer 7-Segment-Anzeige, die an Port 1 
angeschlossen ist, angezeigt werden.
Die Referenzspannung ist 5 V, der Widerstand 11,3 kOhm. (4 V sollen ca. 
bei 80 °C abfallen)

Im Moment schaut das Programm so aus:
1
void Ports_Init(void)
2
{
3
  DP1L = DP1H = 0xFF; //Port1 as output
4
  P1L = 0x00;
5
  P1H = 0x00;
6
}
7

8
void ADC_Init(void)
9
{
10
  ADCON = 0x0014;   //Fixed Channel (P5.4), Continuous Conversion
11
  ADDAT = 0x0000;   //Start value
12
  P5DIDIS = 0xffff; //Digital Input disable
13
  ADST = 1;
14
}
15

16
 void main(void) 
17
{
18
  float temperatur;
19
  int iwert;
20
  float strom;
21
  float u_ein;
22
  Project_Init();
23

24
  
25
  while (TRUE)
26
  {
27
    while (ADBSY);
28
    iwert = (ADDAT & 0x03FF);
29
    u_ein = iwert*(5.0/1023.0);
30
    strom = u_ein / 11300.0;
31
    temperatur = strom - 273;
32
    P1L = temperatur;

An der 7-Segment-Anzeige wird aber nur 00 angezeigt.. Der ADC müsste 
funktionieren, da ich "iwert" auch für eine PWM benutze, die auch 
funktioniert...

Wär lieb wenn mir hier jemand weiterhelfen könnte. Danke!
OP #2767742
Lesenswert?

Danke für die Antworten !

Ja das mit den Werten einsetzen habe ich dann auch gemacht und den 
Fehler gleich gefunden... jetzt funktionierts!

Die float-Werte nehme ich, da die Spannungen immer 3,8.... betragen, 
also von den hinteren kommastellen abhängen (bzw. der strom in µA ... ). 
bei int-werten würde er ja immer die selbe temperatur anzeigen
Gast #2767759
Lesenswert?

Noch ein kleiner Nachtrag

Programm mit Debugger durchsteppen, dann siehst Du sehr schoen an 
welcher Stelle es hakt, bzw. das Programmverhalten sich von Deinem 
gedachten Verhalten unterscheidet.

Leider kommt "diese Art des Testens" in den meisten Vorlesungen,... zu 
kurz.

Viele Gruesse
Winfried

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren