Gast
#628003
Hallo Ich habe hier ein LCD-Display, was im 4-Bit Modus an PB0-PB3 eines Atmega16 betrieben werden soll. Der Controller (HD44780) verlangt, daß das Byte des anzuzeigenden Zeichens in 2 "Etappen" je 4 Bit übertragen werden muß. So lese ich jedenfalls das Datenblatt. Angenommen, ich hätte das Register R16 mit dezimal 65 geladen, was dem Buchstaben "A" entspricht. Jetzt möchte ich in R18 die oberen 4 Bit davon und in R17 die unteren haben. Dann muß ich den Inhalt beider Register nacheinander auf PB0-PB3 ausgeben. Ich habe in Assembler keine Idée, wie ich das Byte "zersägen" soll. Kann mir mal jemand auf die Sprünge helfen? Im 8-Bit Modus möchte ich nicht dran, weil das zwar einfacher wäre, aber ich brauche den "Rest" des Ports B noch für andere Sachen. Ratlos Paul