ls020lib.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000398 00000000 00000000 00000054 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .debug_aranges 00000020 00000000 00000000 000003ec 2**0 CONTENTS, READONLY, DEBUGGING 2 .debug_pubnames 00000060 00000000 00000000 0000040c 2**0 CONTENTS, READONLY, DEBUGGING 3 .debug_info 00000c29 00000000 00000000 0000046c 2**0 CONTENTS, READONLY, DEBUGGING 4 .debug_abbrev 00000141 00000000 00000000 00001095 2**0 CONTENTS, READONLY, DEBUGGING 5 .debug_line 000006f0 00000000 00000000 000011d6 2**0 CONTENTS, READONLY, DEBUGGING 6 .debug_frame 00000070 00000000 00000000 000018c8 2**2 CONTENTS, READONLY, DEBUGGING 7 .debug_str 0000010e 00000000 00000000 00001938 2**0 CONTENTS, READONLY, DEBUGGING 8 .debug_loc 00000030 00000000 00000000 00001a46 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end> 2: 20 c0 rjmp .+64 ; 0x44 <__bad_interrupt> 4: 1f c0 rjmp .+62 ; 0x44 <__bad_interrupt> 6: 1e c0 rjmp .+60 ; 0x44 <__bad_interrupt> 8: 1d c0 rjmp .+58 ; 0x44 <__bad_interrupt> a: 1c c0 rjmp .+56 ; 0x44 <__bad_interrupt> c: 1b c0 rjmp .+54 ; 0x44 <__bad_interrupt> e: 1a c0 rjmp .+52 ; 0x44 <__bad_interrupt> 10: 19 c0 rjmp .+50 ; 0x44 <__bad_interrupt> 12: 18 c0 rjmp .+48 ; 0x44 <__bad_interrupt> 14: 17 c0 rjmp .+46 ; 0x44 <__bad_interrupt> 16: 16 c0 rjmp .+44 ; 0x44 <__bad_interrupt> 18: 15 c0 rjmp .+42 ; 0x44 <__bad_interrupt> 1a: 14 c0 rjmp .+40 ; 0x44 <__bad_interrupt> 1c: 13 c0 rjmp .+38 ; 0x44 <__bad_interrupt> 1e: 12 c0 rjmp .+36 ; 0x44 <__bad_interrupt> 20: 11 c0 rjmp .+34 ; 0x44 <__bad_interrupt> 22: 10 c0 rjmp .+32 ; 0x44 <__bad_interrupt> 24: 0f c0 rjmp .+30 ; 0x44 <__bad_interrupt> 26: 0e c0 rjmp .+28 ; 0x44 <__bad_interrupt> 28: 0d c0 rjmp .+26 ; 0x44 <__bad_interrupt> 2a: 0c c0 rjmp .+24 ; 0x44 <__bad_interrupt> 2c: 0b c0 rjmp .+22 ; 0x44 <__bad_interrupt> 2e: 0a c0 rjmp .+20 ; 0x44 <__bad_interrupt> 30: 09 c0 rjmp .+18 ; 0x44 <__bad_interrupt> 32: 08 c0 rjmp .+16 ; 0x44 <__bad_interrupt> 00000034 <__ctors_end>: 34: 11 24 eor r1, r1 36: 1f be out 0x3f, r1 ; 63 38: cf ef ldi r28, 0xFF ; 255 3a: d2 e0 ldi r29, 0x02 ; 2 3c: de bf out 0x3e, r29 ; 62 3e: cd bf out 0x3d, r28 ; 61 40: a1 d1 rcall .+834 ; 0x384
42: a8 c1 rjmp .+848 ; 0x394 <_exit> 00000044 <__bad_interrupt>: 44: dd cf rjmp .-70 ; 0x0 <__vectors> 00000046 : return 0; } void spiInit(void){ // Initialisierung des SPI DDRB= (1<: void spiSend(uint8_t data){ // Senden eines Datums SPDR = data; // daten in SPI Datenregister laden 50: 8e bd out 0x2e, r24 ; 46 /* Wait for transmission complete */ while(!(SPSR & (1< ; } 58: 08 95 ret 0000005a : void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 5a: 94 e0 ldi r25, 0x04 ; 4 5c: 93 b9 out 0x03, r25 ; 3 DDRB= (1< DDRB= (1< void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) spiSend(datah); // In high und low teil senden. spiSend(datal); // low } 6e: 08 95 ret 00000070 : void sendData(uint8_t datah,uint8_t datal ){ // daten an Display senden PINB = (0<< RS); // RS auf high setzten ( display erwartet daten) 70: 13 b8 out 0x03, r1 ; 3 DDRB= (1< DDRB= (1< void sendData(uint8_t datah,uint8_t datal ){ // daten an Display senden PINB = (0<< RS); // RS auf high setzten ( display erwartet daten) spiSend(datah); // In high und low teil senden. spiSend(datal); // low } 82: 08 95 ret 00000084 : ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 84: 84 e0 ldi r24, 0x04 ; 4 86: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 9c: 84 e0 ldi r24, 0x04 ; 4 9e: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< milliseconds can be achieved. */ void _delay_loop_2(uint16_t __count) { __asm__ volatile ( b4: 88 e9 ldi r24, 0x98 ; 152 b6: 9a e3 ldi r25, 0x3A ; 58 b8: 01 97 sbiw r24, 0x01 ; 1 ba: f1 f7 brne .-4 ; 0xb8 ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) bc: 84 e0 ldi r24, 0x04 ; 4 be: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) d2: 84 e0 ldi r24, 0x04 ; 4 d4: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) ea: 84 e0 ldi r24, 0x04 ; 4 ec: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 102: 84 e0 ldi r24, 0x04 ; 4 104: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 11a: 84 e0 ldi r24, 0x04 ; 4 11c: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 132: 84 e0 ldi r24, 0x04 ; 4 134: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 14a: 84 e0 ldi r24, 0x04 ; 4 14c: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 162: 84 e0 ldi r24, 0x04 ; 4 164: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 17a: 84 e0 ldi r24, 0x04 ; 4 17c: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 192: 84 e0 ldi r24, 0x04 ; 4 194: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< 1aa: 84 e3 ldi r24, 0x34 ; 52 1ac: 98 e0 ldi r25, 0x08 ; 8 1ae: 01 97 sbiw r24, 0x01 ; 1 1b0: f1 f7 brne .-4 ; 0x1ae ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 1b2: 84 e0 ldi r24, 0x04 ; 4 1b4: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 1ca: 84 e0 ldi r24, 0x04 ; 4 1cc: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 1e2: 84 e0 ldi r24, 0x04 ; 4 1e4: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 1f8: 84 e0 ldi r24, 0x04 ; 4 1fa: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 210: 84 e0 ldi r24, 0x04 ; 4 212: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 226: 84 e0 ldi r24, 0x04 ; 4 228: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 23c: 84 e0 ldi r24, 0x04 ; 4 23e: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 252: 84 e0 ldi r24, 0x04 ; 4 254: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 268: 84 e0 ldi r24, 0x04 ; 4 26a: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 27e: 84 e0 ldi r24, 0x04 ; 4 280: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 296: 84 e0 ldi r24, 0x04 ; 4 298: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 2ae: 84 e0 ldi r24, 0x04 ; 4 2b0: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 2c4: 84 e0 ldi r24, 0x04 ; 4 2c6: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 2dc: 84 e0 ldi r24, 0x04 ; 4 2de: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 2f4: 84 e0 ldi r24, 0x04 ; 4 2f6: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 30a: 84 e0 ldi r24, 0x04 ; 4 30c: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 322: 84 e0 ldi r24, 0x04 ; 4 324: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 33a: 84 e0 ldi r24, 0x04 ; 4 33c: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 352: 84 e0 ldi r24, 0x04 ; 4 354: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< ; } void sendCommand(uint8_t datah,uint8_t datal ){ // Befehl an Display senden PINB = (1<< RS); // RS auf high setzten ( display erwartet befehle) 36a: 84 e0 ldi r24, 0x04 ; 4 36c: 83 b9 out 0x03, r24 ; 3 DDRB= (1< DDRB= (1< sendCommand(0xE1,0x83); } 382: 08 95 ret 00000384
: return 0; } void spiInit(void){ // Initialisierung des SPI DDRB= (1< return 0; } 38e: 80 e0 ldi r24, 0x00 ; 0 390: 90 e0 ldi r25, 0x00 ; 0 392: 08 95 ret 00000394 <_exit>: 394: f8 94 cli 00000396 <__stop_program>: 396: ff cf rjmp .-2 ; 0x396 <__stop_program>