www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik analogue signal digitalisieren


Autor: Betro Xy (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ich habe  gerade  eine  aufgabe:   einen analogue  signale ( 5....bis 0
v) mit  dem  mikrocontroller   SAB80537  von infinion   zu
digitaliseren  .. und ich  soll am ausgang   digitale  werte  als binaer
zahlen   über serielle  schnittstelle S 0  bekommen ..
ich  werde  mich  freuen  auf eure  hilfe
besten  danke

Autor: Düsentrieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jauu, schön für dich.
hast offenbar gar keine frage dazu.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...( 5....bis 0V)...

kann das Signal auch (0..5) V sein??

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fein, nette Aufgabe und in wenigen Minuten erledigt. Da hast du noch 
genug Zeit dich in die Sonne zu legen!

Autor: hafid (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
doch  hier  siehst  du  mein  c -programm  aber  e s funktionniert 
nichts
ich  sehe  gar  keine  digitalewerte ...
als  anhang  siehst  du meine  programm aber  ich  finde  nichts   den 
fehlern

Autor: hafid (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
danke  trotzdem nett  von  dir  ..
hier  siehst  du mein  programm   aber  ich  sehe  als  ausgabe  gar 
keine  digitale  werte  ..
findest  du  mein  programm als   anhang..
ich  finde  nicht  den fehler
danke

Autor: hafid (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
/*---------------------------------------------------------------------- 
----------------------------------
digitalierung on einem sinus signal mit dem mikrocontroller  80c51537
name :

datum  :  31.05.2007



------------------------------------------------------------------------ 
-----------------------------------
Header,deklarationen,Konstanten,Prototypen..............
------------------------------------------------------------------------ 
---------------------------------*/




#include<reg517.h>
#include<stdio.h>

sfr S0RELL=0xAA;
sfr S0RELH=0xBA;
sfr ausgang=0xE8;
bit flag =0;


#define  QUARZ  12e6
#define  BAUD  9600
#define  ABTAST  5000      // Abtastung alle 5000 µs


#define  RELOAD  (256.5-(QUARZ/32.0/BAUD))

void init_io(void);

void main (void)
{
  init_io();
  printf("Hallo\n");
        ADM=  0x00;
  ADEX = 0;
  ADCON0 &= 0x80;
  ADCON1 = 0x00;               // kanal AN0  das heisst  bei mir  p7.0

  CRCL=((65535-ABTAST) & 0xFF);  //reloadwert ist  65035 (= 0xFE0B) für 
5 millisekunden zählzeit
  CRCH=((65535-ABTAST) >> 8);

  TF2=0;                      // Überlauf-flag vorsichthalber  löschen
  T2CON=0x11;                 //  reloadbetrieb  durch überlauf ,timer 2 
EIN

  EAL=1;                       //Interrupt hauptschalter  EIN
  ET2=1;                       //timer 2 interrupt

  while (1) {
    if (flag==1)
    {
      printf("%bu\n", P4);
      flag=0;
    }
  }

}

void init_io(void)                 // initialiserung der serille 
schnitstelle S1

{
  S0RELL=0xee ;               // baudrate 19200
  S0RELH=3;
  S0CON= 0x52;               // Mode 1
  PCON |= 0x80;             //SMOD =1
  BD=1;                   // Internbaudrate generator

}

void timer2(void) interrupt 5 {  // Interruptserviceroutine
  DAPR = 0;          // A-D-Wandler starten
  while(BSY)
    ;            // warten auf Wandlung komplett
  P4 = ADDAT;          // Wert an Port P4 ausgeben
  TF2=0;               // TF2-Bit löschen
  flag=1;
}

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In deinem Quellcode steht

c printf("%bu\n", P4); /c

Ich kann mit dem "bu" nach dem Prozentzeichen nichts anfangen, aber ich 
befasse mich noch nicht so lange mit dem Programieren. Und zu was steht 
nach dem Komma eigentlich Port 4?


Autor: hafid (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke  nett  von dir  ..
also  ich habe  auch   keine  grosse  erfahrung mit  c  aber  ich 
bemühe mich ..
also bu  :  das  heisst  ausgabe  als  binaer  zahlen ..
und p4  ist  für  ausgabe  in port   4.0  oder  p4.1 oder  p4.2..etc....

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach so, ich dachte die daten sollten über S0 ausgegeben werden

Autor: hafid (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja  richtig  die  Daten  sollen über  S0  ausgegeben werden.
ich  weisse  es  nicht  ob ich  fehlern mache  bei  dieser  while 
schleife    oder  beim abtsatung  von timer  2  ..
ich  finde  den fehlern nicht  in dem  programm..
ich  will  dei  daten  über  S0  sehen .....

vieln  danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.