ADC mit Bascom Basic

Gast #63086
Moin!

Erstmal muß ich ein Lob loswerden: Diese Seiten haben mich auf das
basteln mit dem ATMega8 gebracht und es macht mir viel Spaß!

Nun habe ich irgendwie ein nicht lösbares Problem:

Nachdem ich schon Assembler ausprobiert habe um eine am ADC Eingang
gemessene Spannung auf dem LCD ausgzugeben und dies auch klappt bin ich
ein wenig "faul geworden" und nutze BASCOM Basic um die gleiche
Funktion darzustellen.

Mit folgendem Programm, daß bis auf die LCD Ausgabe dem des Beispieles
in BASCOM Basic entspricht hab ich es versucht:


$regfile = "4433def.dat"
Config Adc = Single , Prescaler = Auto , Reference = Avcc

Start Adc

Dim Messspannung As Word
Dim Kanal As Byte
Kanal = 0

Cls
Lcd "Der Widerstand ="
Wait 1

Do
  Messspannung = Getadc(Kanal)
  Lowerline                            'select the lower line
  Lcd Messspannung
  Lcd "  Kanal "
  Lcd Kanal
  Incr Kanal
  If Kanal = 8 Then Kanal = 0
  Wait 1
Loop
End




FAZIT: Er zeigt immer 1023 als Wert an. Was mache ich falsch?

Danke für Eure Hilfe, Michael
Gast
Das Programm ist ok aber ich vermute mal das du irgendwo in der
Schaltung was vergessen hast.

Sind die Pinne 20 und 22 richtig angeschlossen ?

Wie gibst du dein Messsignal am Port an ?
Gast
Im Programm steht das Du den 4433 benutzt, schreibst aber was von M8.

Ich würde die Zeile löschen und unter Option/Compiler/Chip den M8
eintragen.

Bernd
Gast
JUHU!

Es funzt wenn ich die erste Zeile herausnehme. Bleibt die Frage warum
dies so ist? Beim Assembler Programmieren nutze ich diese
"4433def.dat" doch auch. Und ich habe diese Datei aus dem Tutorial
für den Atmega8...

könnt ihr mir das kurz erklären?

dane für diese schnelle antworten! supi!
Gast
Ganz einfach.

Beim M8 liegen die AD's woanders als beim 4433 deswegen gibt das mit
der falschen Def probleme.

Immer die passende zum Controller gehöhrende Def nehmen.

Schließlich würdest du nen Porsche nicht nach VOLVO-Tabelle einstellen
oder ? ;)
Gast
Die Zeile im BasicProgramm überschreibt die Einstellung die über das
Menu gemacht wird.
Das gilt auch für andere Einstellungen wie Pin-Configuration, Baudrate,
Quarzfrequenz usw.

Bernd
Gast
wie kann ich eigentlich kommazahlen auf dem display ausgeben? beim adc
hat man ja werte von 0 bis 1023. aber wie kann ich daraus jetzt ne
voltzahl (also 0 bis 5 Volt) machen, die auch kommastellen hat???
double gibts ja bei bascom nicht als variablen-typ.
Gast
also ne single-variable kann zahlen mit kommastellen aufnehmen? und dann
soll ich den inhalt der single-variable in nen string schreiben und
dann aufs lcd? welchen konvertierungsbefehl brauch ich denn dafür? geht
das mit

String = Fusing(Single , "#.##") ???
Lcd String
Gast
Mit der Formatierung ist nur nen Vorschlag.

Da man ja meist nur einige Nachkommastellen braucht kann man sich den
Rattenschwanz auch gleich schön zurecht machen.
Schließlich ist auf nem Display nie genug platz und Springende Anzeigen
sind auch nicht schön.

Single ist der Variablentyp

Also zb.

Dim X as Single
Dim y as String*5    (oder je nachdem wieviele Zeichen du brauchst)

Und dann zb.

Y=Fusing(x , "#.##")

LCD Y

In der (immernoch schlecht organisierten) Hilfe zu Bascom findest du
auch alle weiteren Infos wie man den Text Formatiert und welche
Optionen es dazu noch gibt.

Ich kann eh nur empfehlen die ganze Hilfe mal einfach abzugrasen.
Alle behält man zwar nicht aber irgendwie weiß man bei nem Problem
später das es da ne Möglichkeit gab.
Dann fällt die Suche einfacher aus ;)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.