- Labornetzteil AliExpress         
Ergebnis 1 bis 4 von 4

Thema: LED-Laufzeile für Text/Grafiken

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    15.07.2004
    Alter
    38
    Beiträge
    807

    LED-Laufzeile für Text/Grafiken

    Anzeige

    Powerstation Test
    So, jetzt mal mein erstes Projekt, dass ich in Assembler geschrieben hab, so um mal ein bischen zu üben. Die 8xLED Zeile ist an PortB eines alten 2313 angeschlossen und gibt mit 1/100 Sekunde Verzögerung einzelne Reihen des Textes/ der Grafik aus. Der µC läuft dabei auf 8Mhz, das ist aber glaube niet so wichtig.

    Bewegt man die Zeile schnell Seitwärts, erscheint die Illusion eines Grafik-Displays.

    Hier ist das Logo der TU-München zu sehen.
    Bild hier  

    Bild hier  


    Der Quellcode ist derbst dümmlich geschrieben, und ist ja eigentlich nicht wirklich so schwer. Ich hab halt noch nie in Assembler gecoded.
    Später wird das ganze ne Engine enthalten, die Text / Grafik automatisch umwandelt und mit einer schnittstelle (IR) zum neu texten.

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.08.2004
    Ort
    Verden (bei Bremen)
    Alter
    37
    Beiträge
    247
    Hey

    sieht klasse aus! aber könntest du vl. das ganze auch mal in "ruhe" Position fotografieren? wär vl. net schlecht

    und wie schaut denn dein "dümmlich geschriebener" Quelltext aus? würde mich mal so interessieren da ich grade son bisschen an Assembler verzweifel

    ich würde mich freun.

    MFG Felix

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    15.07.2004
    Alter
    38
    Beiträge
    807
    Hier in Ruhe. Die Leds sind so schnell, dass man nicht sieht wie sie leuchten.

    Bild hier  

    Code:
    ;**********************************************************
    .include "2313def.inc"		; Definitionen für AT90S2323
    .org 0x000                    ; kommt ganz an den Anfang des Speichers
    	rjmp RESET 		; Reset Handle
    ;**********************************************************
    
    RESET:
    .def temp = r16			; temp als Universalregister definieren
    
    	ldi temp,low(RAMEND)	; Stackpointer initialisieren
    	out SPL,temp
    	ser temp		; temp = FF
    	out DDRB,temp		; Datenrichtungsregister für Port B auf Ausgang schalten
     
            
    
    
    
    Text: 
        
            ldi temp, $C0
    	out PORTB,temp
    	rcall wait
    	ldi temp, $FF
    	out PORTB,temp
    	rcall wait
    	ldi temp, $C0
    	out PORTB,temp
    	rcall wait
    	ldi temp, $FF
    	out PORTB,temp
    	rcall wait
    	ldi temp, $03
    	out PORTB,temp
    	rcall wait
    	ldi temp, $FF
    	out PORTB,temp
    	rcall wait
    	ldi temp, $C0
    	out PORTB,temp
    	rcall wait
    	ldi temp, $FF
    	out PORTB,temp
    	rcall wait
    	ldi temp, $C0
    	out PORTB,temp
    	rcall wait
    	ldi temp, $FF
    	out PORTB,temp
    	rcall wait
    	ldi temp, $00
    	out PORTB,temp
    	rcall wait
    	rcall wait
        rjmp Text
    
    
    
    
    wait:
    
    ; ============================= 
    ;   Warteschleifen-Generator 
    ;     80000 Zyklen:
    ; ----------------------------- 
    ; warte 79998 Zyklen:
              ldi  R17, $86
    WGLOOP0:  ldi  R18, $C6
    WGLOOP1:  dec  R18
              brne WGLOOP1
              dec  R17
              brne WGLOOP0
    ; ----------------------------- 
    ; warte 2 Zyklen:
              nop
              nop
    ; ============================= 
              ret

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2005
    Ort
    Kaiserslautern
    Beiträge
    794
    Schick Das ganze jetzt noch auf einen Rotor bauen und fertig is die Propellerclock

    Gruß, CowZ

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen