Ich habe mal in groben umrissen geschrieben wie ich mir das ungefähr
gedacht habe :
Das str Register ist nur da damit man weiß wann es etwas zu tun gibt.Code:======================================================= .equ string1=0x0060 ;+12 Byte .equ string2=0x006c ;+12 Byte .equ string3=0x0078 ;+12 Byte .equ string4=0x0084 ;+12 Byte .def temp1,r16 .def str,r18 loop: ;(jetzt irgendwas an befehlen) rjmp loop dat1s: ;Byte in den ram legen ldi yh,high(string1) ldi yl,lowe(string1) st y+,temp1 ret dat1l: ;Byte aus den ram holen ldi yh,high(string1) ldi yl,lowe(string1) ld y+,temp1 tst t1mp1 breq out_end rjmp lcd_out out_end: sbrc str,0 ret ===================================================================
Das was ich mir denke ist:
ich schreibe die variable in den ram (string1) und setze bit0 von str
auf 1 wenn alles im ram ist. danach würden die Daten nacheinander an das
LCD übergeben werden, nach jedem byte geht es dann erstmal wieder in das
Hauptprogramm usw. wen dann alles Übertragen wurde setze ich bit0 von
str wider auf 0 . so spare ich mir das warten bis ich das nächste byte
senden kann.
p.s. Wen das nicht so geht (der code komplett falsch ist ) dann wäre ich
sehr froh wen ihr mir helfen würdet!!![/code]







Zitieren

Lesezeichen