;-------------------------------------------------------------------------------- ;-Vorbereitun für benöti te SRAM Speicherstellen-------------------------------- ;-------------------------------------------------------------------------------- .dse ;das Fol ende kommt ins SRAM testvariable:.BYTE 4 ;Reserviert 4 Bytes .cse ;das Fol ende ist wieder normaler pro rammcode ;-------------------------------------------------------------------------------- ;Generieren von Testwerten bzw.vorbereitende Speicherun der einzufü enden Werte ldi YL,LOW(testvariable);Adressen des Textes in Z laden (low wert) ldi YH,HIGH(testvariable);Adressen des Textes in Z laden (hi h wert) ldi temp,49 ;ASCII 1 laden st y+,temp ;In erste reservierte Speicherstelle eintra en und Y inkrementieren ldi temp,50 ;ASCII 2 laden st y+,temp ;In zweite reservierte Speicherstelle eintra en und Y inkrementieren ldi temp,51 ;ASCII 3 laden st y+,temp ;In dritte reservierte Speicherstelle eintra en und Y inkrementieren ;------------------------------------------------------------------------------- ;Ab hier be innt das Aus eben der Webseite inklusive der einzufü enden Werte ;------------------------------------------------------------------------------- ;Sicherun der verwendeten Re ister in das SRAM push temp push ZH push ZL push YH push YL ;Laden der Startadresse für die einzufü enden Daten ldi YL,LOW(testvariable) ldi YH,HIGH(testvariable) ;laden der Startadresse für die Aus abe der Webseite ldi ZL,LOW(2*webserver) ldi ZH,HIGH(2*webserver) ;wiederkehrender Pro rammteil,der die Webseite inklusive der einzufü enden Daten über UART 0 aus ibt. html_text_senden2: lpm temp,Z+;Laden eines Zeichens der Webseite in Z aus .db und inkrementieren des Re isterpaares Z cpi temp,0 ;Ver leichen des Zeichens mit "0".wenn =0 dann wurde die komplette Webseite esendet breq html_text_ende2 ;Sprun adresse um das senden der Webseite zu beenden. cpi temp,1 ;Prüfen auf Wert 1.Wenn Wert 1 dann muß ein Byte aus dem SRAM ein efü t werden. breq zeichen_sram_senden ;Sprun adresse zu dem Unterpro ramm,welches ein Byte aus dem SRAM einfü t ;und danach wieder zum einlesen des nächsten Zeichens aus der Webseite zurück sprin t. call rs232_0_senden ;Senden von einem HTML Zeichen der Webseite rjmp html_text_senden2 ;Sprun adresse um das nächste Zeichen der Webseite einzulesen und auszuwerten html_text_ende2:;Einsprun smarke zum Beenden des sendens der Webseite ;Wiederherstellen der verwendeten Re ister pop YL pop YH pop ZL pop ZH pop temp ;-------------------------------------------------------------------------- ;Testpro ramm Stop ;-------------------------------------------------------------------------- test1: rjmp test1 ;-------------------------------------------------------------------------- ;Unterpro ramm zum senden eines Zeichens aus dem SRAM ;-------------------------------------------------------------------------- zeichen_sram_senden:;Einsprun smarke ld temp,Y+;Den Wert der Adresse aus Y in Re ister "temp"laden und Y inkrementieren für das nächste mal.... call rs232_0_senden ;Den Wert im Re ister "temp"über die UART raussenden rjmp html_text_senden2 ;Zurück zum Pro ramm,welches die Webseite schreibt ;-------------------------------------------------------------------------- ;Im FLASH ab ele te Webseite.Die "1"sind die Platzhalter für die ASCII Werte die ein efü ht werden müssen. ;-------------------------------------------------------------------------- webserver: ;Sendet testweise A,B,WERT1,A,B,WERT2,A,B,WERT3,B,A .db 65,66,1,65,66,1,65,66,1,66,65,0 ;Das Er ebnis sollte laut den vorab eladenen Testwerten so aussehen:"AB1AB2AB3BA"