Herunterladen Diese Seite drucken

Atmel STK500 Bedienungsanleitung Seite 21

Avr-tutorial
Vorschau ausblenden Andere Handbücher für STK500:

Werbung

AVR-Tutorial - 4. LCD - www.mikrocontroller.net
WGLOOP0:
WGLOOP1:
lcd_init:
powerupwait:
lcd_clear:
Weitere Funktionen (wie z.B. Cursorposition verändern) sollten mit Hilfe der
schwer zu realisieren sein. Einfach den Code in temp laden, lcd_command aufrufen und ggf. eine
Pause einfügen.
Natürlich kann man die LCD-Ansteuerung auch an einen anderen Port des Mikrocontrollers
"verschieben": wenn das LCD z.B. an Port B angeschlossen ist, dann reicht es im Programm alle
"PORTD" durch "PORTB" und "DDRD" durch "DDRB" zu ersetzen.
Wer eine höhere Taktfrequenz als 4MHz verwendet, der sollte daran denken die Dauer der
Verzögerungsschleifen anzupassen.
Anwendung
Ein Programm, das diese Routinen zur Anzeige von Text verwendet, kann z.B. so aussehen (die Datei
lcd-routines.asm muss sich im gleichen Verzeichnis befinden). Nach der Initialisierung wird zuerst der
file:///E|/Elektronik/AVR/assemblertutorial/lcd.htm (5 of 6)30.01.2007 15:23:43
ldi
temp1, $21
ldi
temp2, $C9
dec
temp2
brne WGLOOP1
dec
temp1
brne WGLOOP0
ret
;Initialisierung: muss ganz am Anfang des Programms aufgerufen werden
ldi
temp3,50
rcall
delay5ms
dec
temp3
brne powerupwait
ldi temp1, 0b00000011
out PORTD, temp1
rcall lcd_enable
rcall delay5ms
rcall lcd_enable
rcall delay5ms
rcall lcd_enable
rcall delay5ms
ldi temp1, 0b00000010
out PORTD, temp1
rcall lcd_enable
rcall delay5ms
ldi temp1, 0b00101000
rcall lcd_command
ldi temp1, 0b00001100
rcall lcd_command
ldi temp1, 0b00000100
rcall lcd_command
ret
;Sendet den Befehl zur Löschung des Displays
ldi temp1, 0b00000001
rcall lcd_command
rcall delay5ms
ret
;wieder zurück
;muss 3mal hintereinander gesendet
;werden zur Initialisierung
;1
;2
;und 3!
;4bit-Modus einstellen
;noch was einstellen...
;...nochwas...
;endlich fertig
;Display löschen
Befehlscodeliste
nicht

Werbung

loading