Anzeige:

weiter zählen als wie bis 9 mit PIC

Hier finden sie die archivierten Beiträge des alten PHPBB Forums von www.loetstelle.net

weiter zählen als wie bis 9 mit PIC

Von mario2104 am 29.01.2011 15:14

Hallo,
so ich hätte ein kleines Problem

alsoo ich habe mir einen zähler programmiert welcher mitzählt wie oft
ich eine Taste Drücke der funktioniert auch wunderbar.

Aber ich kann nur bis 9 Zählen dann werden Zeichen angezeigt, was aber
logisch ist den 30+9 = ASCII 9.

Nun würde ich gerne wissen wie ich mehr als bis 9 Zählen kann??


Verwende den PIC16f628A
und programmiere in Assembler

Bitte um Hilfe

Re: weiter zählen als wie bis 9 mit PIC

Von Alv am 29.01.2011 16:52

Das ist nur eine Frage der Decodierung.
Wie und worauf stellst du die Zahlen dar?
Ist dort bereits ein Binär-ASCII-Wandler zwischengeschaltet?

Von mario2104 am 29.01.2011 17:01

ich will die Zahlen auf einem 16x2 Display Darstellen
also auf diesem Display http://www.conrad.at/ce/de/product/183342/LCD-MODUL-16X2-ZEICHEN/SHOP_AREA_17651

Von Alv am 29.01.2011 18:43

Also ein Display mit integriertem Charaktergenerator.

Der Einfachheit halber Hexdarstellung:
Nehmen wir an, du willst die Zahl %01101101 darstellen.

Oberes Nibble (die linken 4 Bit) nehmen,
Ist es größer 9, dann Ascii-Wert von "A"-9 draufaddieren und ans Display senden,
ansonsten den Ascii-Wert von "0" draufaddieren und ans Display senden,
Cursor eine Stelle nach rechts,
Unteres Nibble (die rechten 4 Bit) nehmen,
Ist es größer 9, dann Ascii-Wert von "A"-9 draufaddieren und ans Display senden,
ansonsten den Ascii-Wert von "0" draufaddieren und ans Display senden

Auf dem Display sollte jetzt "6D" stehen.

Dezimaldarstellung ist um einiges komplizierter.
Dazu mußt du die Binärzahl in 3 einzelne Dezimalstellen umrechnen (Algorythmen dafür sollten sich im Web finden lassen) und nach dem obigen Beispiel ans Display senden (die Abfrage >9 kannst du dabei weglassen).

Von mario2104 am 31.01.2011 16:55

Alv hat folgendes geschrieben:
Also ein Display mit integriertem Charaktergenerator.

Der Einfachheit halber Hexdarstellung:
Nehmen wir an, du willst die Zahl %01101101 darstellen.

Oberes Nibble (die linken 4 Bit) nehmen,
Ist es größer 9, dann Ascii-Wert von "A"-9 draufaddieren und ans Display senden,
ansonsten den Ascii-Wert von "0" draufaddieren und ans Display senden,
Cursor eine Stelle nach rechts,
Unteres Nibble (die rechten 4 Bit) nehmen,
Ist es größer 9, dann Ascii-Wert von "A"-9 draufaddieren und ans Display senden,
ansonsten den Ascii-Wert von "0" draufaddieren und ans Display senden

Auf dem Display sollte jetzt "6D" stehen.

Dezimaldarstellung ist um einiges komplizierter.
Dazu mußt du die Binärzahl in 3 einzelne Dezimalstellen umrechnen (Algorythmen dafür sollten sich im Web finden lassen) und nach dem obigen Beispiel ans Display senden (die Abfrage >9 kannst du dabei weglassen).



ja das hört sich gut an

aber ich steuere das display nur mit 4 Bits an...

dann geht das was du mir geschrieben hast nicht oder?

Von Alv am 31.01.2011 18:05

[quote="mario2104]aber ich steuere das display nur mit 4 Bits an...

dann geht das was du mir geschrieben hast nicht oder?[/quote]

Auch im 4-Bit-Modus wird das Display doch mit kompletten Bytes angesteuert? Diese schickst du dann aber als 2*4Bit ans Display, oder?

Von mario2104 am 31.01.2011 18:06

aja genauu sorry denkfehler von mir Very Happy

Anzeige: