LED Matriy, Newbee braucht hilfe

OP #1715293
Lesenswert?

Hallo,
das ist der Treiber für eine kleine Martix die ich letztens gebastelt 
habe.
Der erste Treiber geht, ist aber nicht sehr genial und viel zu lang. 
(siehe Anhang)


So jetzt wollte ich ihn zusammenfassen, was aber nicht geht.
Da kommt vom AVR-Studio eine Fehlermeldung im Simulator, das kein 
Stackpointer gesetzt sei.

Der Treiber muss das tun:

1. PD6 auf High, damit der 4017B resettet wird.

2. Byte aus dem Speicher holen

3. An PortB 1-7 anlegen

4. PB0 auf High und wieder auf Low, damit der 4017B einen weiter geht.


Es handelt sich um eine 7*10Led Matrix, welche die Spalten über 
Transistoren und einen 4017B durch schaltet.


Evt. kann sich das ja mal einer angucken.
Ich entschuldige mich im Voraus für dumme fragen, da das abgesehen von 
einem Lauflicht mein erstes richtiges Projekt ist.

MfG



1
.include "tn2313def.inc"
2

3
Ports:
4
    ldi     r16, 0xff
5
    out     ddrb, r16
6
    
7
    ldi     r16, 0x40
8
    out     ddrd, r16
9

10
Reset:
11
    out     portd, r16
12
    rcall   wait
13
    clr     r16
14
    out     portd, r16
15
    rcall   wait
16

17
Load:
18
    ldi     ZL, LOW(bild*2)
19
    ldi     ZH, HIGH(bild*2)
20

21
Outy:
22
    adiw    ZL, 1  
23
    lpm
24
    out     PORTB, R0     
25
    rcall   wait
26
    inc     r0
27
    out     portb, r0
28
    rcall   wait
29
    
30
    ldi     r16, 0x0a
31
    cp      zl, r16
32
    breq    new
33

34
    rjmp    outy
35

36
new:
37
    clr     zl
38
    rjmp    outy
39

40
      
41
wait:
42
    ldi     r16, 0xff
43
loop:
44
    nop
45
    dec     r16 
46
    brne    loop
47
    ret
48

49
bild:
50
.db 0xfe,0xfe,0x00,0xfe,0x00,0xfe,0x00,0xfe
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren