Hallo, ich möchte das Display SDA5708 an meinem Atmega8 zum laufen
bringen.
Das Datenblatt habe ich auch schon verstanden.
Und die Infos, damit ihr es nachvollziehen könnt gibt es hier:
Beitrag "Display SDA5708"
Ich weiß nicht ob das Programm funktioniert...
Ich noch sehr unerfahren, was ASM angeht...
Könntet ihr mir Helfen?
1 | .include "m8def.inc"
| 2 |
| 3 | ldi ZL, LOW(daten*2)
| 4 | ldi ZH, HIGH(daten*2)
| 5 | lpm
| 6 |
| 7 | LDI R17, 0b00000111
| 8 | OUT DDRB, R17
| 9 | LDI R17, 0b00000001
| 10 | OUT PORTB, R17
| 11 | LDI R18, 0b00000011
| 12 |
| 13 | A7:
| 14 | SBRS R0, 7
| 15 | LDI R16, 100
| 16 | ADD R19, R16
| 17 | ADD R19, R17
| 18 | OUT PORTB, R19
| 19 | ADD R16, R18
| 20 | OUT PORTB, R16
| 21 | NOP
| 22 | OUT PORTB, R17
| 23 | CLR R16
| 24 | CLR R19
| 25 |
| 26 | A6:
| 27 | SBRS R0, 6
| 28 | LDI R16, 100
| 29 | ADD R19, R16
| 30 | ADD R19, R17
| 31 | OUT PORTB, R19
| 32 | ADD R16, R18
| 33 | OUT PORTB, R16
| 34 | NOP
| 35 | OUT PORTB, R17
| 36 | CLR R16
| 37 | CLR R19
| 38 |
| 39 | A5:
| 40 | SBRS R0, 5
| 41 | LDI R16, 100
| 42 | ADD R19, R16
| 43 | ADD R19, R17
| 44 | OUT PORTB, R19
| 45 | ADD R16, R18
| 46 | OUT PORTB, R16
| 47 | NOP
| 48 | OUT PORTB, R17
| 49 | CLR R16
| 50 | CLR R19
| 51 |
| 52 | A4:
| 53 | SBRS R0, 4
| 54 | LDI R16, 100
| 55 | ADD R19, R16
| 56 | ADD R19, R17
| 57 | OUT PORTB, R19
| 58 | ADD R16, R18
| 59 | OUT PORTB, R16
| 60 | NOP
| 61 | OUT PORTB, R17
| 62 | CLR R16
| 63 | CLR R19
| 64 |
| 65 | A3:
| 66 | SBRS R0, 3
| 67 | LDI R16, 100
| 68 | ADD R19, R16
| 69 | ADD R19, R17
| 70 | OUT PORTB, R19
| 71 | ADD R16, R18
| 72 | OUT PORTB, R16
| 73 | NOP
| 74 | OUT PORTB, R17
| 75 | CLR R16
| 76 | CLR R19
| 77 |
| 78 | A2:
| 79 | SBRS R0, 2
| 80 | LDI R16, 100
| 81 | ADD R19, R16
| 82 | ADD R19, R17
| 83 | OUT PORTB, R19
| 84 | ADD R16, R18
| 85 | OUT PORTB, R16
| 86 | NOP
| 87 | OUT PORTB, R17
| 88 | CLR R16
| 89 | CLR R19
| 90 |
| 91 | A1:
| 92 | SBRS R0, 1
| 93 | LDI R16, 100
| 94 | ADD R19, R16
| 95 | ADD R19, R17
| 96 | OUT PORTB, R19
| 97 | ADD R16, R18
| 98 | OUT PORTB, R16
| 99 | NOP
| 100 | OUT PORTB, R17
| 101 | CLR R16
| 102 | CLR R19
| 103 |
| 104 | A0:
| 105 | SBRS R0, 0
| 106 | LDI R16, 100
| 107 | ADD R19, R16
| 108 | ADD R19, R17
| 109 | OUT PORTB, R19
| 110 | ADD R16, R18
| 111 | OUT PORTB, R16
| 112 | NOP
| 113 | OUT PORTB, R17
| 114 | CLR R16
| 115 | CLR R19
| 116 |
| 117 | daten:
| 118 | .db 0b11111111
|
Mein Problem ist, das ich nicht weiß, wie ich mehrere Bytes aus dem
Speicher laden und dann über einen Pin ausgeben soll.
Zudem programmiere ich erst richtig seit ein paar Tagen ASM.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
|