Forum: Mikrocontroller und Digitale Elektronik LED Matriy, Newbee braucht hilfe


von Sören T. (stimmy)


Angehängte Dateien:

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

von Sören T. (stimmy)


Angehängte Dateien:

Lesenswert?

Hier mal ein Bild.

von Martin G. (zombo)


Lesenswert?

moinsen.
hast du überhaupt einen stack eingestellt? steht im tut!
lg

von Sören T. (stimmy)


Lesenswert?

Muss ich den vor jedem rcall einen Stack machen?
1
      ldi     r16, RAMEND
2
      out     sp, r16
Das steht im Tut. aber da sagt AVR-Stu. error: Undefined symbol: sp

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.