String auslesen und an LCD senden (16F877)

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 29 11 2024  06:45:07      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
String auslesen und an LCD senden (16F877)
Suche nach: lcd (4684)

    







BID = 808564

jhl

Schreibmaschine



Beiträge: 1506
Wohnort: Twistringen
Zur Homepage von jhl
 

  


Hallo an alle,

ab und an programmiere ich auch an PIC herum. Das für mich etwas "Blöde" ist die Zeichenausgabe auf ein LCD-Display. Initialisierung als auch Ausgabe funktionieren einwandfrei! Ist es aber nicht irgendwie möglich, z.B. den String "Kommando: " einfacher auszugeben, als bisher so:

movlw 'K'
call LcdOut
movlw 'o'
call LcdOut
movlw 'm'
call LcdOut
movlw 'm'
call LcdOut
movlw 'm'
call LcdOut
movlw 'a'
call LcdOut
movlw 'n'
call LcdOut
movlw 'd'
call LcdOut
movlw 'o'
call LcdOut
movlw ':'
call LcdOut
movlw ' '
call LcdOut

Im Prinzip bracht man doch nur die ASCII-Codes in (String-)Variable zu schreiben und diese auszulesen in einer Schleife? Leider hat nun mal ein PIC keine String-Variablen. Hat da jemand eine kleine Routine für mich zum Testen?

Vielen Dank!

Gruß Jens

BID = 808571

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

 

  

Hallo Jens,
mit deinem Assembler kenne ich mich nicht aus, aber man könnte es so machen:

Man legt die Zeichenkette hinter einem Label ab, z.B. so:

mein_string:
.string "Hallo Welt\0"

Dann programmiert man eine Funktion, der man diese Adresse übermittelt (in Form des Labels mein_string) bzw. diese Adresse in ein bekanntes Register(-paar) lädt und dann die Funktion aufruft.
Diese Funktion liest dann solange ein Zeichen und inkrementiert die Adresse, bis NUL, also 0x00, gelesen wird.

Keine Ahnung, ob dein Assembler diese Notation kennt, der avr-as kann das.

_________________


[ Diese Nachricht wurde geändert von: DonComi am  7 Jan 2012 19:26 ]

BID = 808672

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Keine Ahnung, ob dein Assembler diese Notation kennt
Das kann der Assembler des PIC auch:
z.B.:
Zitat :
See the examples below for the object code generated by different statements involving strings.

7465 7374 696E dw "testing output string one\n"
6720 6F75 7470
7574 2073 7472
696E 6720 6F6E
650A
#define str "testing output string two"
B061 movlw "a"
7465 7374 696E data "testing first output string"
6720 6669 7273
7420 6F75 7470
7574 2073 7472
696E 6700
Nachzulesen in der Help-Funktion der MPLAB-IDE.


BID = 808839

Racingsascha

Schreibmaschine



Beiträge: 2247
Wohnort: Gundelsheim
ICQ Status  

Ja, das ist möglich. Du musst lediglich den per W übergebenen Buchstaben in der LcdOut in einer RAM-Zelle zwischenspeichern und dann erst das Display ansprechen. Dann die RAM-Zelle entsprechend mit 4bit oder 8bit zum LCD übertragen. Bei mir sieht das so aus:


Code :

LCD_Char

movwf LcdDaten
call RB_out
call LcdBusy
movfw LcdDaten
andlw H'F0'
movwf PORTX ; Hi-teil Daten schreiben
bsf RS ; Daten
bsf En ; Enable LcdBus
nop
bcf En ; Disable LcdBus
swapf LcdDaten, w
andlw H'F0'
movwf PORTX ; Lo-teil Daten schreiben
bsf RS ; Daten
bsf En
nop
bcf En ; Disable LcdBus
bcf RS
call RB_in
return



_________________
Fnord ist die Quelle aller Nullbits in deinem Computer.
Fnord ist die Angst, die Erleichterung, und ist die Angst.
Fnord schläft nie.


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 3 Beiträge verfasst
© x sparkkelsputz        Besucher : 182421592   Heute : 631    Gestern : 5459    Online : 301        29.11.2024    6:45
1 Besucher in den letzten 60 Sekunden        alle 60.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0870041847229