20121013-183150

This commit is contained in:
BlubbFish 2012-10-13 16:28:41 +00:00
parent 483ba22a46
commit a57ce0d1c6
8 changed files with 406 additions and 156 deletions

View File

@ -1 +1 @@
<AVRStudio><MANAGEMENT><ProjectName>15cmZahl</ProjectName><Created>09-Oct-2012 22:20:33</Created><LastEdit>09-Oct-2012 23:22:40</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>09-Oct-2012 22:20:33</Created><Version>4</Version><Build>4, 19, 0, 730</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\15cmZahl.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>D:\Doc's\Basteleien\Uhr\15cmZahl\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>JTAGICE mkII</CURRENT_TARGET><CURRENT_PART>ATtiny2313.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>15cmZahl.c</SOURCEFILE><OTHERFILE>default\15cmZahl.lss</OTHERFILE><OTHERFILE>default\15cmZahl.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>attiny2313</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>15cmZahl.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>E:\Programme\AVR Toolchain\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>E:\Programme\AVR Toolchain\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="0" orderaddress="0" ordergroup="0"/></IOView><Files><File00000><FileId>00000</FileId><FileName>15cmZahl.c</FileName><Status>1</Status></File00000></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
<AVRStudio><MANAGEMENT><ProjectName>15cmZahl</ProjectName><Created>09-Oct-2012 22:20:33</Created><LastEdit>12-Oct-2012 23:37:41</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>09-Oct-2012 22:20:33</Created><Version>4</Version><Build>4, 19, 0, 730</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\15cmZahl.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>D:\Doc's\Basteleien\Uhr\15cmZahl\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>JTAGICE mkII</CURRENT_TARGET><CURRENT_PART>ATtiny2313.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>15cmZahl.c</SOURCEFILE><OTHERFILE>default\15cmZahl.lss</OTHERFILE><OTHERFILE>default\15cmZahl.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>attiny2313</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>15cmZahl.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>E:\Programme\AVR Toolchain\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>E:\Programme\AVR Toolchain\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="1" orderaddress="1" ordergroup="1"/></IOView><Files><File00000><FileId>00000</FileId><FileName>15cmZahl.c</FileName><Status>1</Status></File00000></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>

View File

@ -11,16 +11,59 @@
#define S7 0b00001011
#define S8 0b01111111
#define S9 0b01011111
#define SA 0b00111111
#define SB 0b01110101
#define SC 0b01111000
#define Sa 0b00111111
#define Sb 0b01110101
#define Sc 0b01111000
#define Sd 0b01100111
#define Se 0b01111100
#define Sf 0b00111100
volatile uint8_t segs[16] = {S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,Sa,Sb,Sc,Sd,Se,Sf};
volatile uint8_t ind = 0;
volatile uint8_t dim = 0;
void show() {
uint8_t i = ind;
uint8_t j = dim;
for(uint8_t l=0;l<20;l++) {
for(uint8_t k=0;k<j;k++) {
PORTB = segs[i];
_delay_us(1);
}
for(uint8_t k=0;k<255-j;k++) {
PORTB = 0;
_delay_us(1);
}
}
}
void dimup() {
for(uint8_t j=0;j<250;j++) {
dim = j;
show();
}
}
void dimdown() {
for(uint8_t i=250;i>0;i--) {
dim = i;
show();
}
}
int main(void) {
DDRB = 0b01111111;
//dim = 1;
while(1){
PORTB = SC;
_delay_ms(500);
PORTB = 0;
_delay_ms(500);
for(uint8_t i=0;i<16;i++) {
ind = i;
dimup();
dimdown();
//show();
//_delay_ms(500);
}
}
}

View File

@ -1 +1 @@
<AVRWorkspace><IOSettings><CurrentRegisters><PORTB><register register="DDRB" group="PORTB" display="1" locked="0"/></PORTB><PORTB><register register="PINB" group="PORTB" display="1" locked="0"/></PORTB><PORTB><register register="PORTB" group="PORTB" display="1" locked="0"/></PORTB></CurrentRegisters></IOSettings><part name="ATTINY2313"/><Files><File00000 Name="D:\Doc's\Basteleien\Uhr\15cmZahl\15cmZahl.c" Position="189 67 676 412" LineCol="7 13" State="Maximized"/></Files></AVRWorkspace>
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATTINY2313"/><Files><File00000 Name="D:\Doc's\Basteleien\Uhr\15cmZahl\15cmZahl.c" Position="189 67 676 412" LineCol="27 21" State="Maximized"/></Files></AVRWorkspace>

Binary file not shown.

View File

@ -1,8 +1,17 @@
:1000000012C017C016C015C014C013C012C011C052
:1000100010C00FC00EC00DC00CC00BC00AC009C07C
:1000200008C007C006C011241FBECFEDCDBF02D04F
:1000300019C0E6CF8FE787BB88E788BB2FEF34E393
:100040004CE0215030404040E1F700C0000018BAB9
:100050002FEF34E34CE0215030404040E1F700C046
:080060000000EBCFF894FFCF84
:1000000012C02AC029C028C027C026C025C024C0CD
:1000100023C022C021C020C01FC01EC01DC01CC0E4
:100020001BC01AC019C011241FBECFEDCDBF10E0F8
:10003000A0E6B0E0ECEEF0E002C005900D92A03733
:10004000B107D9F710E0A0E7B0E001C01D92A237D8
:10005000B107E1F73DD048C0D3CFE0917000609187
:10006000710044E1F0E0E05AFF4F8FEF90E0861B13
:10007000910918C0308138BB36E03A95F1F700C0DD
:100080002F5F2617B8F350E006C018BA26E02A956D
:10009000F1F700C05F5F252F30E028173907ACF378
:1000A000415011F020E0EDCF08951F9310E0109320
:1000B0007100D3DF1F5F1A3FD1F71F9108951F937F
:1000C0001AEF10937100C9DF1150D9F71F910895ED
:1000D0001F938FE787BB10E010937000E6DFEFDF20
:0C00E0001F5F1031C0F7F8CFF894FFCF7D
:1000EC007B036E4F175D7D0B7F5F3F7578677C3CA4
:00000001FF

View File

@ -3,107 +3,279 @@
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000068 00000000 00000000 00000054 2**1
0 .text 000000ec 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .stab 000006b4 00000000 00000000 000000bc 2**2
1 .data 00000010 00800060 000000ec 00000180 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000002 00800070 00800070 00000190 2**0
ALLOC
3 .stab 000006b4 00000000 00000000 00000190 2**2
CONTENTS, READONLY, DEBUGGING
2 .stabstr 00000085 00000000 00000000 00000770 2**0
4 .stabstr 00000085 00000000 00000000 00000844 2**0
CONTENTS, READONLY, DEBUGGING
3 .debug_aranges 00000020 00000000 00000000 000007f5 2**0
5 .debug_aranges 00000020 00000000 00000000 000008c9 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_pubnames 0000001b 00000000 00000000 00000815 2**0
6 .debug_pubnames 00000053 00000000 00000000 000008e9 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_info 00000196 00000000 00000000 00000830 2**0
7 .debug_info 000002ec 00000000 00000000 0000093c 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 00000106 00000000 00000000 000009c6 2**0
8 .debug_abbrev 0000018e 00000000 00000000 00000c28 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 00000157 00000000 00000000 00000acc 2**0
9 .debug_line 0000023c 00000000 00000000 00000db6 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_frame 00000020 00000000 00000000 00000c24 2**2
10 .debug_frame 00000050 00000000 00000000 00000ff4 2**2
CONTENTS, READONLY, DEBUGGING
9 .debug_str 000000e9 00000000 00000000 00000c44 2**0
11 .debug_str 000000f8 00000000 00000000 00001044 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_pubtypes 00000038 00000000 00000000 00000d2d 2**0
12 .debug_loc 0000015f 00000000 00000000 0000113c 2**0
CONTENTS, READONLY, DEBUGGING
13 .debug_pubtypes 0000002b 00000000 00000000 0000129b 2**0
CONTENTS, READONLY, DEBUGGING
14 .debug_ranges 00000030 00000000 00000000 000012c6 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end>
2: 17 c0 rjmp .+46 ; 0x32 <__bad_interrupt>
4: 16 c0 rjmp .+44 ; 0x32 <__bad_interrupt>
6: 15 c0 rjmp .+42 ; 0x32 <__bad_interrupt>
8: 14 c0 rjmp .+40 ; 0x32 <__bad_interrupt>
a: 13 c0 rjmp .+38 ; 0x32 <__bad_interrupt>
c: 12 c0 rjmp .+36 ; 0x32 <__bad_interrupt>
e: 11 c0 rjmp .+34 ; 0x32 <__bad_interrupt>
10: 10 c0 rjmp .+32 ; 0x32 <__bad_interrupt>
12: 0f c0 rjmp .+30 ; 0x32 <__bad_interrupt>
14: 0e c0 rjmp .+28 ; 0x32 <__bad_interrupt>
16: 0d c0 rjmp .+26 ; 0x32 <__bad_interrupt>
18: 0c c0 rjmp .+24 ; 0x32 <__bad_interrupt>
1a: 0b c0 rjmp .+22 ; 0x32 <__bad_interrupt>
1c: 0a c0 rjmp .+20 ; 0x32 <__bad_interrupt>
1e: 09 c0 rjmp .+18 ; 0x32 <__bad_interrupt>
20: 08 c0 rjmp .+16 ; 0x32 <__bad_interrupt>
22: 07 c0 rjmp .+14 ; 0x32 <__bad_interrupt>
24: 06 c0 rjmp .+12 ; 0x32 <__bad_interrupt>
2: 2a c0 rjmp .+84 ; 0x58 <__bad_interrupt>
4: 29 c0 rjmp .+82 ; 0x58 <__bad_interrupt>
6: 28 c0 rjmp .+80 ; 0x58 <__bad_interrupt>
8: 27 c0 rjmp .+78 ; 0x58 <__bad_interrupt>
a: 26 c0 rjmp .+76 ; 0x58 <__bad_interrupt>
c: 25 c0 rjmp .+74 ; 0x58 <__bad_interrupt>
e: 24 c0 rjmp .+72 ; 0x58 <__bad_interrupt>
10: 23 c0 rjmp .+70 ; 0x58 <__bad_interrupt>
12: 22 c0 rjmp .+68 ; 0x58 <__bad_interrupt>
14: 21 c0 rjmp .+66 ; 0x58 <__bad_interrupt>
16: 20 c0 rjmp .+64 ; 0x58 <__bad_interrupt>
18: 1f c0 rjmp .+62 ; 0x58 <__bad_interrupt>
1a: 1e c0 rjmp .+60 ; 0x58 <__bad_interrupt>
1c: 1d c0 rjmp .+58 ; 0x58 <__bad_interrupt>
1e: 1c c0 rjmp .+56 ; 0x58 <__bad_interrupt>
20: 1b c0 rjmp .+54 ; 0x58 <__bad_interrupt>
22: 1a c0 rjmp .+52 ; 0x58 <__bad_interrupt>
24: 19 c0 rjmp .+50 ; 0x58 <__bad_interrupt>
00000026 <__ctors_end>:
26: 11 24 eor r1, r1
28: 1f be out 0x3f, r1 ; 63
2a: cf ed ldi r28, 0xDF ; 223
2c: cd bf out 0x3d, r28 ; 61
2e: 02 d0 rcall .+4 ; 0x34 <main>
30: 19 c0 rjmp .+50 ; 0x64 <_exit>
00000032 <__bad_interrupt>:
32: e6 cf rjmp .-52 ; 0x0 <__vectors>
0000002e <__do_copy_data>:
2e: 10 e0 ldi r17, 0x00 ; 0
30: a0 e6 ldi r26, 0x60 ; 96
32: b0 e0 ldi r27, 0x00 ; 0
34: ec ee ldi r30, 0xEC ; 236
36: f0 e0 ldi r31, 0x00 ; 0
38: 02 c0 rjmp .+4 ; 0x3e <__SP_H__>
3a: 05 90 lpm r0, Z+
3c: 0d 92 st X+, r0
3e: a0 37 cpi r26, 0x70 ; 112
40: b1 07 cpc r27, r17
42: d9 f7 brne .-10 ; 0x3a <__CCP__+0x6>
00000034 <main>:
#define SA 0b00111111
#define SB 0b01110101
#define SC 0b01111000
00000044 <__do_clear_bss>:
44: 10 e0 ldi r17, 0x00 ; 0
46: a0 e7 ldi r26, 0x70 ; 112
48: b0 e0 ldi r27, 0x00 ; 0
4a: 01 c0 rjmp .+2 ; 0x4e <.do_clear_bss_start>
int main(void) {
DDRB = 0b01111111;
34: 8f e7 ldi r24, 0x7F ; 127
36: 87 bb out 0x17, r24 ; 23
while(1){
PORTB = SC;
38: 88 e7 ldi r24, 0x78 ; 120
3a: 88 bb out 0x18, r24 ; 24
0000004c <.do_clear_bss_loop>:
4c: 1d 92 st X+, r1
0000004e <.do_clear_bss_start>:
4e: a2 37 cpi r26, 0x72 ; 114
50: b1 07 cpc r27, r17
52: e1 f7 brne .-8 ; 0x4c <.do_clear_bss_loop>
54: 3d d0 rcall .+122 ; 0xd0 <main>
56: 48 c0 rjmp .+144 ; 0xe8 <_exit>
00000058 <__bad_interrupt>:
58: d3 cf rjmp .-90 ; 0x0 <__vectors>
0000005a <show>:
volatile uint8_t segs[16] = {S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,Sa,Sb,Sc,Sd,Se,Sf};
volatile uint8_t ind = 0;
volatile uint8_t dim = 0;
void show() {
uint8_t i = ind;
5a: e0 91 70 00 lds r30, 0x0070
uint8_t j = dim;
5e: 60 91 71 00 lds r22, 0x0071
62: 44 e1 ldi r20, 0x14 ; 20
for(uint8_t l=0;l<20;l++) {
for(uint8_t k=0;k<j;k++) {
PORTB = segs[i];
64: f0 e0 ldi r31, 0x00 ; 0
66: e0 5a subi r30, 0xA0 ; 160
68: ff 4f sbci r31, 0xFF ; 255
_delay_us(1);
}
for(uint8_t k=0;k<255-j;k++) {
6a: 8f ef ldi r24, 0xFF ; 255
6c: 90 e0 ldi r25, 0x00 ; 0
6e: 86 1b sub r24, r22
70: 91 09 sbc r25, r1
72: 18 c0 rjmp .+48 ; 0xa4 <show+0x4a>
void show() {
uint8_t i = ind;
uint8_t j = dim;
for(uint8_t l=0;l<20;l++) {
for(uint8_t k=0;k<j;k++) {
PORTB = segs[i];
74: 30 81 ld r19, Z
76: 38 bb out 0x18, r19 ; 24
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
3c: 2f ef ldi r18, 0xFF ; 255
3e: 34 e3 ldi r19, 0x34 ; 52
40: 4c e0 ldi r20, 0x0C ; 12
42: 21 50 subi r18, 0x01 ; 1
44: 30 40 sbci r19, 0x00 ; 0
46: 40 40 sbci r20, 0x00 ; 0
48: e1 f7 brne .-8 ; 0x42 <__SREG__+0x3>
4a: 00 c0 rjmp .+0 ; 0x4c <__SREG__+0xd>
4c: 00 00 nop
_delay_ms(500);
PORTB = 0;
4e: 18 ba out 0x18, r1 ; 24
50: 2f ef ldi r18, 0xFF ; 255
52: 34 e3 ldi r19, 0x34 ; 52
54: 4c e0 ldi r20, 0x0C ; 12
56: 21 50 subi r18, 0x01 ; 1
58: 30 40 sbci r19, 0x00 ; 0
5a: 40 40 sbci r20, 0x00 ; 0
5c: e1 f7 brne .-8 ; 0x56 <__SREG__+0x17>
5e: 00 c0 rjmp .+0 ; 0x60 <__SREG__+0x21>
60: 00 00 nop
62: eb cf rjmp .-42 ; 0x3a <main+0x6>
78: 36 e0 ldi r19, 0x06 ; 6
7a: 3a 95 dec r19
7c: f1 f7 brne .-4 ; 0x7a <show+0x20>
7e: 00 c0 rjmp .+0 ; 0x80 <show+0x26>
00000064 <_exit>:
64: f8 94 cli
void show() {
uint8_t i = ind;
uint8_t j = dim;
for(uint8_t l=0;l<20;l++) {
for(uint8_t k=0;k<j;k++) {
80: 2f 5f subi r18, 0xFF ; 255
82: 26 17 cp r18, r22
84: b8 f3 brcs .-18 ; 0x74 <show+0x1a>
86: 50 e0 ldi r21, 0x00 ; 0
88: 06 c0 rjmp .+12 ; 0x96 <show+0x3c>
PORTB = segs[i];
_delay_us(1);
}
for(uint8_t k=0;k<255-j;k++) {
PORTB = 0;
8a: 18 ba out 0x18, r1 ; 24
8c: 26 e0 ldi r18, 0x06 ; 6
8e: 2a 95 dec r18
90: f1 f7 brne .-4 ; 0x8e <show+0x34>
92: 00 c0 rjmp .+0 ; 0x94 <show+0x3a>
for(uint8_t l=0;l<20;l++) {
for(uint8_t k=0;k<j;k++) {
PORTB = segs[i];
_delay_us(1);
}
for(uint8_t k=0;k<255-j;k++) {
94: 5f 5f subi r21, 0xFF ; 255
96: 25 2f mov r18, r21
98: 30 e0 ldi r19, 0x00 ; 0
9a: 28 17 cp r18, r24
9c: 39 07 cpc r19, r25
9e: ac f3 brlt .-22 ; 0x8a <show+0x30>
a0: 41 50 subi r20, 0x01 ; 1
volatile uint8_t dim = 0;
00000066 <__stop_program>:
66: ff cf rjmp .-2 ; 0x66 <__stop_program>
void show() {
uint8_t i = ind;
uint8_t j = dim;
for(uint8_t l=0;l<20;l++) {
a2: 11 f0 breq .+4 ; 0xa8 <show+0x4e>
volatile uint8_t segs[16] = {S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,Sa,Sb,Sc,Sd,Se,Sf};
volatile uint8_t ind = 0;
volatile uint8_t dim = 0;
void show() {
a4: 20 e0 ldi r18, 0x00 ; 0
a6: ed cf rjmp .-38 ; 0x82 <show+0x28>
a8: 08 95 ret
000000aa <dimup>:
_delay_us(1);
}
}
}
void dimup() {
aa: 1f 93 push r17
for(uint8_t j=0;j<250;j++) {
ac: 10 e0 ldi r17, 0x00 ; 0
dim = j;
ae: 10 93 71 00 sts 0x0071, r17
show();
b2: d3 df rcall .-90 ; 0x5a <show>
}
}
void dimup() {
for(uint8_t j=0;j<250;j++) {
b4: 1f 5f subi r17, 0xFF ; 255
b6: 1a 3f cpi r17, 0xFA ; 250
b8: d1 f7 brne .-12 ; 0xae <dimup+0x4>
dim = j;
show();
}
}
ba: 1f 91 pop r17
bc: 08 95 ret
000000be <dimdown>:
void dimdown() {
be: 1f 93 push r17
for(uint8_t i=250;i>0;i--) {
c0: 1a ef ldi r17, 0xFA ; 250
dim = i;
c2: 10 93 71 00 sts 0x0071, r17
show();
c6: c9 df rcall .-110 ; 0x5a <show>
show();
}
}
void dimdown() {
for(uint8_t i=250;i>0;i--) {
c8: 11 50 subi r17, 0x01 ; 1
ca: d9 f7 brne .-10 ; 0xc2 <dimdown+0x4>
dim = i;
show();
}
}
cc: 1f 91 pop r17
ce: 08 95 ret
000000d0 <main>:
int main(void) {
d0: 1f 93 push r17
DDRB = 0b01111111;
d2: 8f e7 ldi r24, 0x7F ; 127
d4: 87 bb out 0x17, r24 ; 23
//dim = 1;
while(1){
for(uint8_t i=0;i<16;i++) {
d6: 10 e0 ldi r17, 0x00 ; 0
ind = i;
d8: 10 93 70 00 sts 0x0070, r17
dimup();
dc: e6 df rcall .-52 ; 0xaa <dimup>
dimdown();
de: ef df rcall .-34 ; 0xbe <dimdown>
int main(void) {
DDRB = 0b01111111;
//dim = 1;
while(1){
for(uint8_t i=0;i<16;i++) {
e0: 1f 5f subi r17, 0xFF ; 255
e2: 10 31 cpi r17, 0x10 ; 16
e4: c0 f7 brcc .-16 ; 0xd6 <main+0x6>
e6: f8 cf rjmp .-16 ; 0xd8 <main+0x8>
000000e8 <_exit>:
e8: f8 94 cli
000000ea <__stop_program>:
ea: ff cf rjmp .-2 ; 0xea <__stop_program>

View File

@ -2,6 +2,10 @@ Archive member included because of file (symbol)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o (exit)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
15cmZahl.o (__do_copy_data)
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
15cmZahl.o (__do_clear_bss)
Memory Configuration
@ -112,7 +116,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
.rela.plt
*(.rela.plt)
.text 0x00000000 0x68
.text 0x00000000 0xec
*(.vectors)
.vectors 0x00000000 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
0x00000000 __vector_default
@ -150,6 +154,10 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
*(.init3)
*(.init3)
*(.init4)
.init4 0x0000002e 0x16 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
0x0000002e __do_copy_data
.init4 0x00000044 0x10 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
0x00000044 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
@ -160,40 +168,47 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
*(.init8)
*(.init8)
*(.init9)
.init9 0x0000002e 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.init9 0x00000054 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
*(.init9)
*(.text)
.text 0x00000032 0x2 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
0x00000032 __vector_1
0x00000032 __vector_12
0x00000032 __bad_interrupt
0x00000032 __vector_6
0x00000032 __vector_3
0x00000032 __vector_11
0x00000032 __vector_13
0x00000032 __vector_17
0x00000032 __vector_7
0x00000032 __vector_5
0x00000032 __vector_4
0x00000032 __vector_9
0x00000032 __vector_2
0x00000032 __vector_15
0x00000032 __vector_8
0x00000032 __vector_14
0x00000032 __vector_10
0x00000032 __vector_16
0x00000032 __vector_18
.text 0x00000034 0x30 15cmZahl.o
0x00000034 main
.text 0x00000064 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x00000064 . = ALIGN (0x2)
.text 0x00000058 0x2 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
0x00000058 __vector_1
0x00000058 __vector_12
0x00000058 __bad_interrupt
0x00000058 __vector_6
0x00000058 __vector_3
0x00000058 __vector_11
0x00000058 __vector_13
0x00000058 __vector_17
0x00000058 __vector_7
0x00000058 __vector_5
0x00000058 __vector_4
0x00000058 __vector_9
0x00000058 __vector_2
0x00000058 __vector_15
0x00000058 __vector_8
0x00000058 __vector_14
0x00000058 __vector_10
0x00000058 __vector_16
0x00000058 __vector_18
.text 0x0000005a 0x8e 15cmZahl.o
0x0000005a show
0x000000aa dimup
0x000000be dimdown
0x000000d0 main
.text 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
0x000000e8 . = ALIGN (0x2)
*(.text.*)
.text.libgcc 0x00000064 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x00000064 . = ALIGN (0x2)
.text.libgcc 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.text.libgcc 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.text.libgcc 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
0x000000e8 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000064 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x00000064 _exit
0x00000064 exit
.fini9 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
0x000000e8 _exit
0x000000e8 exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -212,42 +227,49 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000064 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.fini0 0x000000e8 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
*(.fini0)
0x00000068 _etext = .
0x000000ec _etext = .
.data 0x00800060 0x0 load address 0x00000068
.data 0x00800060 0x10 load address 0x000000ec
0x00800060 PROVIDE (__data_start, .)
*(.data)
.data 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.data 0x00800060 0x0 15cmZahl.o
.data 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.data 0x00800060 0x10 15cmZahl.o
0x00800060 segs
.data 0x00800070 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.data 0x00800070 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.data 0x00800070 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x00800060 . = ALIGN (0x2)
0x00800060 _edata = .
0x00800060 PROVIDE (__data_end, .)
0x00800070 . = ALIGN (0x2)
0x00800070 _edata = .
0x00800070 PROVIDE (__data_end, .)
.bss 0x00800060 0x0
0x00800060 PROVIDE (__bss_start, .)
.bss 0x00800070 0x2
0x00800070 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.bss 0x00800060 0x0 15cmZahl.o
.bss 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.bss 0x00800070 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
.bss 0x00800070 0x2 15cmZahl.o
0x00800070 ind
0x00800071 dim
.bss 0x00800072 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
.bss 0x00800072 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
.bss 0x00800072 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
*(.bss*)
*(COMMON)
0x00800060 PROVIDE (__bss_end, .)
0x00000068 __data_load_start = LOADADDR (.data)
0x00000068 __data_load_end = (__data_load_start + SIZEOF (.data))
0x00800072 PROVIDE (__bss_end, .)
0x000000ec __data_load_start = LOADADDR (.data)
0x000000fc __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800060 0x0
0x00800060 PROVIDE (__noinit_start, .)
.noinit 0x00800072 0x0
0x00800072 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800060 PROVIDE (__noinit_end, .)
0x00800060 _end = .
0x00800060 PROVIDE (__heap_start, .)
0x00800072 PROVIDE (__noinit_end, .)
0x00800072 _end = .
0x00800072 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
@ -306,35 +328,36 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
0x00000000 0x20 15cmZahl.o
.debug_pubnames
0x00000000 0x1b
0x00000000 0x53
*(.debug_pubnames)
.debug_pubnames
0x00000000 0x1b 15cmZahl.o
0x00000000 0x53 15cmZahl.o
.debug_info 0x00000000 0x196
.debug_info 0x00000000 0x2ec
*(.debug_info)
.debug_info 0x00000000 0x196 15cmZahl.o
.debug_info 0x00000000 0x2ec 15cmZahl.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x106
.debug_abbrev 0x00000000 0x18e
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x106 15cmZahl.o
.debug_abbrev 0x00000000 0x18e 15cmZahl.o
.debug_line 0x00000000 0x157
.debug_line 0x00000000 0x23c
*(.debug_line)
.debug_line 0x00000000 0x157 15cmZahl.o
.debug_line 0x00000000 0x23c 15cmZahl.o
.debug_frame 0x00000000 0x20
.debug_frame 0x00000000 0x50
*(.debug_frame)
.debug_frame 0x00000000 0x20 15cmZahl.o
.debug_frame 0x00000000 0x50 15cmZahl.o
.debug_str 0x00000000 0xe9
.debug_str 0x00000000 0xf8
*(.debug_str)
.debug_str 0x00000000 0xe9 15cmZahl.o
0x11d (size before relaxing)
.debug_str 0x00000000 0xf8 15cmZahl.o
0x12c (size before relaxing)
.debug_loc
.debug_loc 0x00000000 0x15f
*(.debug_loc)
.debug_loc 0x00000000 0x15f 15cmZahl.o
.debug_macinfo
*(.debug_macinfo)
@ -342,6 +365,9 @@ OUTPUT(15cmZahl.elf elf32-avr)
LOAD linker stubs
.debug_pubtypes
0x00000000 0x38
0x00000000 0x2b
.debug_pubtypes
0x00000000 0x38 15cmZahl.o
0x00000000 0x2b 15cmZahl.o
.debug_ranges 0x00000000 0x30
.debug_ranges 0x00000000 0x30 15cmZahl.o

View File

@ -15,7 +15,7 @@ COMMON = -mmcu=$(MCU)
## Compile options common for all C compilation units.
CFLAGS = $(COMMON)
CFLAGS += -Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
CFLAGS += -Wall -gdwarf-2 -std=gnu99 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d
## Assembly specific flags