Probleme mit C-Code für ADC des C167 CR-LM

OP #2034341
Lesenswert?

Hallo

In Sachen C-Code Programmierung bei Mikrokontroller bin ich ein Neuling 
und bräuchte Eure Hilfe.

Ich benutze:

- C167 CR-LM Mikrocontroller mit Entwicklungsboard
- MM167 Phytek
- Keil uVision 2
- Flashtool 16W & 3


Ich will ein analoges Spannungssignal 0 - 5 V am Eingang des AD -Wandler 
(10 bit) des C167 CR-LM kontroller einlesen und am Port 2 (16 bit) mir 
über LEDs ausgeben lassen.

Sowohl Referenzspannung, Abgänge an den Ports P2.0 - P2.9 als auch die 
Messspannung am ADC sind richtig angeschlossen.

Hier der C-Code:



#include <reg167.h>
#include <stdio.h>

int i;
unsigned int ADC(void)

{


  ADCON = 0xB011;
  ADST = 1;

  while (ADBSY ==1);
  return (ADDAT & 0x03FF);

}

void main (void)

{

  P2  |= 0x03FF;
  DP2 |= 0x03FF;
  DP2 &= 0xF7FF;

  S0TIC = 0x80;
    S0RIC = 0x00;
    S0BG  = 0x40;
    S0CON = 0x8011;

  while(1)
  {

  P2 = ADC();

         }
}


Das Programm lässt sich ohne Probleme auf den C167 überspielen aber die 
LEDs an den Ports flackern permanent auf unabhänbgig vom Messignal. Wo 
liegt der Fehler?


ich hoffe Ihr könnt mir helfen.

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