loetstelle.net
Lötstelle Userforum
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Spannungsanzeige auf LCD

 
Neues Thema eröffnen   Neue Antwort erstellen    loetstelle.net Foren-Übersicht -> BASCOM
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
wolli54



Anmeldungsdatum: 27.07.2010
Beiträge: 9

BeitragVerfasst am: Di 27.Jul 2010 16:17:23    Titel: Spannungsanzeige auf LCD Bauteile finden Antworten mit Zitat

Guten Tag,
ich bin neu im Forum, da ich mich auch erst seit kurzem mit AVR beschäftige.
Ich habe einen Teil des BASCOM AVR-Kurses studiert.
Ich verfüge über ein Experimentierboard von Pollin, mehrere Mega32 und Mega8 sowie LCD-Anzeigen.
Es funktionieren schon einige Programme, bei anderen habe ich noch Probleme.
So habe ich z.B. die Funktion GETADC mit dem Programm aus dem Kurs kennengelernt. Auch die Ausgabe des Wertes auf dem LCD funktioniert mit erweiterten Texten (Spannung Kanal 1....).
Mein Problem sind die vielen Stellen hinter dem Komma. So genau ist die Messung doch nicht. Eine Umwandlung des Messwertes in einen String mit anschliessender Formatierung auf 2 Nachkommastellen funktioniert zwar ohne Fehler im BASCOM, aber nicht in der Schaltung. Können Sie mir dazu einen Tipp geben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BellaD



Anmeldungsdatum: 03.12.2006
Beiträge: 1708
Wohnort: Klinik der misshandelten Kuscheltiere

BeitragVerfasst am: Di 27.Jul 2010 21:02:15    Titel: Bauteile finden Antworten mit Zitat

moin

ohne Sourcecode bleibt nur raten Cool Cool Cool

Tip : Variablen Zuweisung auf Typ überprüfen

_________________
Eine Weiterverbreitung ohne ausdrückliche Genehmigung ist untersagt. Für Schäden, lehnen wir jegliche Haftung ab.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
wolli54



Anmeldungsdatum: 27.07.2010
Beiträge: 9

BeitragVerfasst am: Do 29.Jul 2010 08:47:32    Titel: Bauteile finden Antworten mit Zitat

Guten Tag,

zur besseren Verdeutlichung sende ich den Quellcode für Bascom. Vielleicht kann mir damit jemand helfen. Eigentlich sollte das Problem schon mal aufgetreten sein. Die Begrenzung auf eine gewisse Stellenzahl ist doch bei jeder Meßaufgabe notwendig (Temperatur, Spannung...). Irgendwie habe ich das Prinzip noch nicht verstanden, möchte aber in BASCOM bleiben.

Wolfgang


'--------------------------------------------------------------------------------
'name : getadc test.bas
'micro : Mega32
'geänderte bzw. erweiterte Version des Beispiels aus dem Kleinen Bascom AVR Kurses
'zum Thema A/D-Converter mit dem Befehl GETADC
'--------------------------------------------------------------------------------
$regfile = "m32def.dat" ' we use the Mega 32
$crystal = 2000000
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
Const Adc_multi = 0.00488288125
'configure single mode and auto prescaler setting
'The single mode must be used with the GETADC() function
'The prescaler divides the internal clock by 2,4,8,16,32,64 or 128
'Because the ADC needs a clock from 50-200 KHz
'The AUTO feature, will select the highest clockrate possible
Config Adc = Single , Prescaler = Auto , Reference = Avcc
'Now give power to the chip
Start Adc
Dim Messergebnis As Word , Channel As Byte
Dim W As Single
Dim T As String * 1
Channel = 0
'now read A/D value from channel 0
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
'Zuordnung der Anschlüsse von LCD und AVR
Cls
Cursor Off
Locate 1 , 1
'Löschen der Anzeige, Ausschalten Cursor und Setzen des Anfangs der Darstellung
Do
Messergebnis = Getadc(channel)
W = Messergebnis * Adc_multi
'Start des ADC, Multiplikation mit berechneter Konstante
T = Str(W)
T = Format(T , "0.00")
'Umwandlung des Anzeigewertes in String und Formatierung; funktioniert aber
'noch nicht, Ziel ist eigentlich Darstellung 1,23 Volt - also nur 2
'Nachkommastellen
Lcd "Spannung " ; "Kanal " ; Channel
Locate 2 , 1
Lcd "" ; T ; " Volt"
Incr Channel
If Channel > 7 Then Channel = 0
'Anzeige des Messergebnisses mit Kanaldarstellung
Wait 2
Cls
Loop
End
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BellaD



Anmeldungsdatum: 03.12.2006
Beiträge: 1708
Wohnort: Klinik der misshandelten Kuscheltiere

BeitragVerfasst am: Do 29.Jul 2010 12:54:03    Titel: Bauteile finden Antworten mit Zitat

Zitat:

Dim W As Single
Dim T As String * 1




A string is used to store text. A string must be dimensioned with the length specified.


DIM S as STRING * 5


Will create a string that can store a text with a maximum length of 5 bytes.

The space used is 6 bytes because a string is terminated with a null byte.



Wink

_________________
Eine Weiterverbreitung ohne ausdrückliche Genehmigung ist untersagt. Für Schäden, lehnen wir jegliche Haftung ab.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
wolli54



Anmeldungsdatum: 27.07.2010
Beiträge: 9

BeitragVerfasst am: Do 29.Jul 2010 15:02:08    Titel: Bauteile finden Antworten mit Zitat

Hallo BellaD,

Vielen Dank für Die Antwort.
Ich komme trotzdem damit nicht klar. Meine Einstellung würde ja bedeuten, der Text hat eine Länge von 1 byte. Warum ist die Anzeige dann trotzdem 10 Stellen lang?
Das Format ist 1.123456789, ändere ich den Bereich Format von "000" auf "+", wird ein + vor die Zahlenkolonne geschrieben; schreibe ich stattdessen "0.00" lautet die Anzeige 1.1234567.89. Es werden also Formatierungen angenommen, ausser denen, welche die Länge definierern sollen.
Wenn ich allerdings einen Kanal nach Masse kurzschliesse, lautet die Anzeige "0.0 Volt".

Wolfgang
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BellaD



Anmeldungsdatum: 03.12.2006
Beiträge: 1708
Wohnort: Klinik der misshandelten Kuscheltiere

BeitragVerfasst am: Do 29.Jul 2010 17:23:31    Titel: Bauteile finden Antworten mit Zitat

moin

Da dein Messwert in 'single' vorliegt ,dürfte Format nicht so das richtige sein ( Bascom Hilfe !)
nimm lieber ' Fusing '

http://avrhelp.mcselec.com/index.html?fusing.htm

Code:

Do
Messergebnis = Getadc(channel)
W = Messergebnis * Adc_multi
'Start des ADC, Multiplikation mit berechneter Konstante
'###T = Str(W)
'###T = Format(T , "0.00")

T = Fusing(W , "#.##") 'Formatting data for appropriate display
.....


und nicht vergessen den String 'T' mit mindestens 6 Zeichen zu dimensionieren (vielleicht willst du ja mal ein Vorzeichen mit anzeigen.

mfg

Ps. Ich hasse Bascom Evil or Very Mad

_________________
Eine Weiterverbreitung ohne ausdrückliche Genehmigung ist untersagt. Für Schäden, lehnen wir jegliche Haftung ab.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
wolli54



Anmeldungsdatum: 27.07.2010
Beiträge: 9

BeitragVerfasst am: Fr 30.Jul 2010 08:36:01    Titel: Bauteile finden Antworten mit Zitat

Hallo BellaD

das scheint der entscheidende Hinweis zu sein. Vielen Dank. Leider kann ich erst am Dienstag eine (Erfolgs-)Meldung verkünden.

Wolfgang
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
wolli54



Anmeldungsdatum: 27.07.2010
Beiträge: 9

BeitragVerfasst am: Di 03.Aug 2010 12:09:16    Titel: Bauteile finden Antworten mit Zitat

Hallo!
Diese Antwort war wie angedeutet genau die richtige Lösung.
Jetzt funktioniert es so wie ich wollte.
Nochmals vielen Dank!

Wolfgang
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Anzeige






Verfasst am: Heute 22:17:49    Titel: Bauteile finden

Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    loetstelle.net Foren-Übersicht -> BASCOM Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen


Powered by phpBB 2.x © 2001, 2002 phpBB Group

Sie sind Besucher Nr. 1211925
©opyright by Markus Vohburger 2005 All Rights reserved