Herunterladen Diese Seite drucken

Atmel STK500 Bedienungsanleitung Seite 30

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

Werbung

AVR-Tutorial - 6. UART - www.mikrocontroller.net
file:///E|/Elektronik/AVR/assemblertutorial/uart.htm (4 of 10)30.01.2007 15:23:45
ldi temp, 13
rcall serout
rjmp loop
serout:
sbis UCSRA,UDRE
rjmp serout
out UDR, temp
ret
Der Befehl rcall serout ruft ein kleines Unterprogramm auf, das zuerst wartet bis das Datenregister UDR von
der vorhergehenden Übertragung frei ist, und anschließend das in temp (=r16) gespeicherte Byte an UDR
ausgibt.
Bevor serout aufgerufen wird, wird temp jedesmal mit dem ASCII-Code des zu übertragenden Zeichens
geladen (so wie in Teil 4 bei der LCD-Ansteuerung). Der Assembler wandelt Zeichen in einfachen
Anführungsstrichen automatisch in den entsprechenden ASCII-Wert um. Nach dem Wort "Test!" werden noch
die Codes 10 (New Line) und 13 (Carriage Return) gesendet, um dem Terminalprogramm mitzuteilen dass
eine neue Zeile beginnt.
Eine Übersicht aller ASCII-Codes gibt es auf www.asciitable.com.
Eine bequemere Methode längere Zeichenketten zu übertragen, wird in Teil 7 des Tutorials behandelt werden.
Die Berechnung der Baudrate wird übrigens nicht im Controller durchgeführt, sondern schon beim
Assemblieren, wie man beim Betrachten der Listingdatei feststellen kann.
Zum Empfang muss auf dem PC ein Terminal-Programm wie z.B. HyperTerminal gestartet werden. Der
folgende Screenshot zeigt, welche Einstellungen im Programm vorgenommen werden müssen:
; Warten bis UDR für das nächste
; Byte bereit ist
; zurück zum Hauptprogramm

Werbung

loading