www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Single Addierung


Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe folgenes Prob: Ich wollte eine Single Variable per Tastendruck 
erhoehen. Es stellt eigentlich kein Problem da, wenn ich aber ueber 
Tasten mach stuertzt der Mikrocontroller ab. Er erhoeht von z.B. 1.03 
bis 1.43 (mal mehr mal weniger) und dann tut sich garnix mehr.

Automatiersiere ich den Vorgang (ich nehme die Tastenabfrage raus) 
funktioniert es einwandfrei.
Ich benutze ein 8535 und Bascom.

Programm 1 (Automatisiert) FUNKTIONIERT!
$regfile = "8535def.dat"
$crystal = 7372800                                          ' 
Taktfrequenz
$baud = 19200
Config Pinc.0 = Input
Config Pinc.2 = Input
Config Pinc.4 = Input
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
Config Debounce = 20

Portc = &B00010101
Dim Spg1 As Single
Dim Spg2 As Single

Cls
Cursor Off
Spg1 = 1.03
Spg2 = 0.10

Tastenabfrage2:
Wait 1
Spg1 = Spg1 + Spg2
'Debounce Pinc.0 , 0 , Ab2 , Sub
'Debounce Pinc.2 , 0 , Auf2 , Sub
'Debounce Pinc.4 , 0 , Ok , Sub
Goto Lcdpri


Lcdpri:
Locate 1 , 1

Lcd Fusing(spg1 , "#.##") ; "V     Save"
Goto Tastenabfrage2


Ab2:
Spg1 = Spg1 + Spg2
Goto Tastenabfrage2

Auf2:
Spg1 = Spg1 + Spg2
Goto Tastenabfrage2


Programm 2 (mit Tastenabfrage Spg1 um 0.10 erhoehen)
FUNKTIONIERT NICHT!


$regfile = "8535def.dat"
$crystal = 7372800                                          ' 
Taktfrequenz
$baud = 19200
Config Pinc.0 = Input
Config Pinc.2 = Input
Config Pinc.4 = Input
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
Config Debounce = 20

Portc = &B00010101
Dim Spg1 As Single
Dim Spg2 As Single

Cls
Cursor Off
Spg1 = 1.03
Spg2 = 0.10

Tastenabfrage2:
Wait 1
Debounce Pinc.0 , 0 , Ab2 , Sub
Debounce Pinc.2 , 0 , Auf2 , Sub
Goto Lcdpri


Lcdpri:
Locate 1 , 1

Lcd Fusing(spg1 , "#.##") ; "V     Save"
Goto Tastenabfrage2


Ab2:
Spg1 = Spg1 + Spg2
Goto Tastenabfrage2

Auf2:
Spg1 = Spg1 + Spg2
Goto Tastenabfrage2




Mfg Dirk

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.