Added more comments

This commit is contained in:
2016-02-17 15:50:11 +01:00
parent 07034d4826
commit 6374952c98
15 changed files with 445 additions and 454 deletions
+234 -228
View File
@@ -3,31 +3,31 @@ MIC-Week2.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 0000006c 00800100 00000294 00000328 2**0
0 .data 00000000 00800100 00800100 000002b0 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00000294 00000000 00000000 00000094 2**1
1 .text 0000023c 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000004 0080016c 0080016c 00000394 2**0
2 .bss 00000002 00800100 00800100 000002b0 2**0
ALLOC
3 .comment 00000030 00000000 00000000 00000394 2**0
3 .comment 00000030 00000000 00000000 000002b0 2**0
CONTENTS, READONLY
4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 000003c4 2**2
4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 000002e0 2**2
CONTENTS, READONLY
5 .debug_aranges 00000078 00000000 00000000 00000400 2**0
5 .debug_aranges 00000078 00000000 00000000 0000031c 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_info 000004e3 00000000 00000000 00000478 2**0
6 .debug_info 000004e3 00000000 00000000 00000394 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_abbrev 00000277 00000000 00000000 0000095b 2**0
7 .debug_abbrev 00000277 00000000 00000000 00000877 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 00000392 00000000 00000000 00000bd2 2**0
8 .debug_line 00000392 00000000 00000000 00000aee 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_frame 00000184 00000000 00000000 00000f64 2**2
9 .debug_frame 00000184 00000000 00000000 00000e80 2**2
CONTENTS, READONLY, DEBUGGING
10 .debug_str 00000223 00000000 00000000 000010e8 2**0
10 .debug_str 00000218 00000000 00000000 00001004 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_loc 000003ae 00000000 00000000 0000130b 2**0
11 .debug_loc 000003ae 00000000 00000000 0000121c 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_ranges 000000b0 00000000 00000000 000016b9 2**0
12 .debug_ranges 000000b0 00000000 00000000 000015ca 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
@@ -37,9 +37,9 @@ Disassembly of section .text:
2: 00 00 nop
4: 72 c0 rjmp .+228 ; 0xea <__vector_1>
6: 00 00 nop
8: a1 c0 rjmp .+322 ; 0x14c <__vector_2>
8: bb c0 rjmp .+374 ; 0x180 <__vector_2>
a: 00 00 nop
c: d2 c0 rjmp .+420 ; 0x1b2 <__vector_3>
c: ec c0 rjmp .+472 ; 0x1e6 <__vector_3>
e: 00 00 nop
10: 5a c0 rjmp .+180 ; 0xc6 <__bad_interrupt>
12: 00 00 nop
@@ -116,20 +116,20 @@ Disassembly of section .text:
98: 11 e0 ldi r17, 0x01 ; 1
9a: a0 e0 ldi r26, 0x00 ; 0
9c: b1 e0 ldi r27, 0x01 ; 1
9e: e4 e9 ldi r30, 0x94 ; 148
9e: ec e3 ldi r30, 0x3C ; 60
a0: f2 e0 ldi r31, 0x02 ; 2
a2: 00 e0 ldi r16, 0x00 ; 0
a4: 0b bf out 0x3b, r16 ; 59
a6: 02 c0 rjmp .+4 ; 0xac <__do_copy_data+0x14>
a8: 07 90 elpm r0, Z+
aa: 0d 92 st X+, r0
ac: ac 36 cpi r26, 0x6C ; 108
ac: a0 30 cpi r26, 0x00 ; 0
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8 <__do_copy_data+0x10>
000000b2 <__do_clear_bss>:
b2: 21 e0 ldi r18, 0x01 ; 1
b4: ac e6 ldi r26, 0x6C ; 108
b4: a0 e0 ldi r26, 0x00 ; 0
b6: b1 e0 ldi r27, 0x01 ; 1
b8: 01 c0 rjmp .+2 ; 0xbc <.do_clear_bss_start>
@@ -137,22 +137,22 @@ Disassembly of section .text:
ba: 1d 92 st X+, r1
000000bc <.do_clear_bss_start>:
bc: a0 37 cpi r26, 0x70 ; 112
bc: a2 30 cpi r26, 0x02 ; 2
be: b2 07 cpc r27, r18
c0: e1 f7 brne .-8 ; 0xba <.do_clear_bss_loop>
c2: e5 d0 rcall .+458 ; 0x28e <main>
c4: e5 c0 rjmp .+458 ; 0x290 <_exit>
c2: 49 d0 rcall .+146 ; 0x156 <main>
c4: b9 c0 rjmp .+370 ; 0x238 <_exit>
000000c6 <__bad_interrupt>:
c6: 9c cf rjmp .-200 ; 0x0 <__vectors>
000000c8 <wait>:
void display(int d, int dot)
{
if(dot)
PORTD = data[d] | 0b10000000;
else
PORTD = data[d];
while (1)
{
PORTD ^= (1<<7); // Toggle PORTD.7
wait( 500 );
}
c8: 18 16 cp r1, r24
ca: 19 06 cpc r1, r25
cc: 6c f4 brge .+26 ; 0xe8 <wait+0x20>
@@ -204,216 +204,222 @@ void display(int d, int dot)
120: 1f 90 pop r1
122: 18 95 reti
00000124 <shift>:
124: 89 2b or r24, r25
126: 21 f0 breq .+8 ; 0x130 <shift+0xc>
128: 85 b3 in r24, 0x15 ; 21
12a: 86 95 lsr r24
12c: 85 bb out 0x15, r24 ; 21
12e: 03 c0 rjmp .+6 ; 0x136 <shift+0x12>
130: 85 b3 in r24, 0x15 ; 21
132: 88 0f add r24, r24
134: 85 bb out 0x15, r24 ; 21
136: af 9b sbis 0x15, 7 ; 21
138: 03 c0 rjmp .+6 ; 0x140 <shift+0x1c>
13a: 81 e0 ldi r24, 0x01 ; 1
13c: 85 bb out 0x15, r24 ; 21
13e: 08 95 ret
140: 85 b3 in r24, 0x15 ; 21
142: 81 11 cpse r24, r1
144: 02 c0 rjmp .+4 ; 0x14a <shift+0x26>
146: 80 e8 ldi r24, 0x80 ; 128
148: 85 bb out 0x15, r24 ; 21
14a: 08 95 ret
0000014c <__vector_2>:
14c: 1f 92 push r1
14e: 0f 92 push r0
150: 0f b6 in r0, 0x3f ; 63
152: 0f 92 push r0
154: 11 24 eor r1, r1
156: 0b b6 in r0, 0x3b ; 59
158: 0f 92 push r0
15a: 2f 93 push r18
15c: 3f 93 push r19
15e: 4f 93 push r20
160: 5f 93 push r21
162: 6f 93 push r22
164: 7f 93 push r23
166: 8f 93 push r24
168: 9f 93 push r25
16a: af 93 push r26
16c: bf 93 push r27
16e: ef 93 push r30
170: ff 93 push r31
172: 80 91 6e 01 lds r24, 0x016E
176: 90 91 6f 01 lds r25, 0x016F
17a: 00 97 sbiw r24, 0x00 ; 0
17c: 11 f4 brne .+4 ; 0x182 <__vector_2+0x36>
17e: 95 98 cbi 0x12, 5 ; 18
180: 05 c0 rjmp .+10 ; 0x18c <__vector_2+0x40>
182: 01 97 sbiw r24, 0x01 ; 1
184: 19 f4 brne .+6 ; 0x18c <__vector_2+0x40>
186: 81 e0 ldi r24, 0x01 ; 1
188: 90 e0 ldi r25, 0x00 ; 0
18a: cc df rcall .-104 ; 0x124 <shift>
18c: ff 91 pop r31
18e: ef 91 pop r30
190: bf 91 pop r27
192: af 91 pop r26
194: 9f 91 pop r25
196: 8f 91 pop r24
198: 7f 91 pop r23
19a: 6f 91 pop r22
19c: 5f 91 pop r21
19e: 4f 91 pop r20
1a0: 3f 91 pop r19
1a2: 2f 91 pop r18
1a4: 0f 90 pop r0
1a6: 0b be out 0x3b, r0 ; 59
1a8: 0f 90 pop r0
1aa: 0f be out 0x3f, r0 ; 63
1ac: 0f 90 pop r0
1ae: 1f 90 pop r1
1b0: 18 95 reti
000001b2 <__vector_3>:
1b2: 1f 92 push r1
1b4: 0f 92 push r0
1b6: 0f b6 in r0, 0x3f ; 63
1b8: 0f 92 push r0
1ba: 11 24 eor r1, r1
1bc: 0b b6 in r0, 0x3b ; 59
1be: 0f 92 push r0
1c0: 2f 93 push r18
1c2: 3f 93 push r19
1c4: 4f 93 push r20
1c6: 5f 93 push r21
1c8: 6f 93 push r22
1ca: 7f 93 push r23
1cc: 8f 93 push r24
1ce: 9f 93 push r25
1d0: af 93 push r26
1d2: bf 93 push r27
1d4: ef 93 push r30
1d6: ff 93 push r31
1d8: 80 e0 ldi r24, 0x00 ; 0
1da: 90 e0 ldi r25, 0x00 ; 0
1dc: a3 df rcall .-186 ; 0x124 <shift>
1de: ff 91 pop r31
1e0: ef 91 pop r30
1e2: bf 91 pop r27
1e4: af 91 pop r26
1e6: 9f 91 pop r25
1e8: 8f 91 pop r24
1ea: 7f 91 pop r23
1ec: 6f 91 pop r22
1ee: 5f 91 pop r21
1f0: 4f 91 pop r20
1f2: 3f 91 pop r19
1f4: 2f 91 pop r18
1f6: 0f 90 pop r0
1f8: 0b be out 0x3b, r0 ; 59
1fa: 0f 90 pop r0
1fc: 0f be out 0x3f, r0 ; 63
1fe: 0f 90 pop r0
200: 1f 90 pop r1
202: 18 95 reti
00000204 <opgave4>:
00000124 <opgave2>:
}
void opgave4(void)
void opgave2(void)
{
DDRD = 0xFF;
204: 8f ef ldi r24, 0xFF ; 255
206: 81 bb out 0x11, r24 ; 17
DDRC = 0x00;
208: 14 ba out 0x14, r1 ; 20
DDRD = 0xF0; //PORTD(7:4) output, PORTD(3:0) input
124: 80 ef ldi r24, 0xF0 ; 240
126: 81 bb out 0x11, r24 ; 17
DDRC = 0xFF; //PORTC(7:0) output;
128: 8f ef ldi r24, 0xFF ; 255
12a: 84 bb out 0x14, r24 ; 20
PORTC= 0x1;
12c: 81 e0 ldi r24, 0x01 ; 1
12e: 85 bb out 0x15, r24 ; 21
EICRA |= 0x28; //INT1 en INT2 falling edge
130: ea e6 ldi r30, 0x6A ; 106
132: f0 e0 ldi r31, 0x00 ; 0
134: 80 81 ld r24, Z
136: 88 62 ori r24, 0x28 ; 40
138: 80 83 st Z, r24
EIMSK |= 0x06;
13a: 89 b7 in r24, 0x39 ; 57
13c: 86 60 ori r24, 0x06 ; 6
13e: 89 bf out 0x39, r24 ; 57
opdr=1;
140: 81 e0 ldi r24, 0x01 ; 1
142: 90 e0 ldi r25, 0x00 ; 0
144: 90 93 01 01 sts 0x0101, r25
148: 80 93 00 01 sts 0x0100, r24
sei();
14c: 78 94 sei
while(1)
{
//Als een knop ingedrukt wordt, wordt de waarde daarvan de snelheid. Werkt niet met system interrupts, dus je moet de knop soms ingedrukt houden
if(PINC != 0 )
20a: 83 b3 in r24, 0x13 ; 19
20c: 88 23 and r24, r24
20e: 31 f0 breq .+12 ; 0x21c <opgave4+0x18>
{
speed = PINC;
210: 83 b3 in r24, 0x13 ; 19
212: 90 e0 ldi r25, 0x00 ; 0
214: 90 93 6a 01 sts 0x016A, r25
218: 80 93 69 01 sts 0x0169, r24
}
wait(500);
14e: 84 ef ldi r24, 0xF4 ; 244
150: 91 e0 ldi r25, 0x01 ; 1
152: ba df rcall .-140 ; 0xc8 <wait>
}
154: fc cf rjmp .-8 ; 0x14e <opgave2+0x2a>
//Schrijf de data van het huidige patroon naar PORTD
PORTD = pattern[count].data;
21c: 80 91 6c 01 lds r24, 0x016C
220: 90 91 6d 01 lds r25, 0x016D
224: fc 01 movw r30, r24
226: ee 0f add r30, r30
228: ff 1f adc r31, r31
22a: 8e 0f add r24, r30
22c: 9f 1f adc r25, r31
22e: fc 01 movw r30, r24
230: e0 50 subi r30, 0x00 ; 0
232: ff 4f sbci r31, 0xFF ; 255
234: 80 81 ld r24, Z
236: 82 bb out 0x12, r24 ; 18
//Wacht het aantal milliseconde dat in het huidige patroon staat
wait(pattern[count].delay * speed);
238: 80 91 6c 01 lds r24, 0x016C
23c: 90 91 6d 01 lds r25, 0x016D
240: fc 01 movw r30, r24
242: ee 0f add r30, r30
244: ff 1f adc r31, r31
246: 8e 0f add r24, r30
248: 9f 1f adc r25, r31
24a: fc 01 movw r30, r24
24c: e0 50 subi r30, 0x00 ; 0
24e: ff 4f sbci r31, 0xFF ; 255
250: 20 91 69 01 lds r18, 0x0169
254: 30 91 6a 01 lds r19, 0x016A
258: 81 81 ldd r24, Z+1 ; 0x01
25a: 92 81 ldd r25, Z+2 ; 0x02
25c: ac 01 movw r20, r24
25e: 24 9f mul r18, r20
260: c0 01 movw r24, r0
262: 25 9f mul r18, r21
264: 90 0d add r25, r0
266: 34 9f mul r19, r20
268: 90 0d add r25, r0
26a: 11 24 eor r1, r1
26c: 2d df rcall .-422 ; 0xc8 <wait>
count++; //patroon verder
26e: 80 91 6c 01 lds r24, 0x016C
272: 90 91 6d 01 lds r25, 0x016D
276: 01 96 adiw r24, 0x01 ; 1
278: 90 93 6d 01 sts 0x016D, r25
27c: 80 93 6c 01 sts 0x016C, r24
//als alle patronen geweest zijn, opnieuw beginnen
if(count >= NELEMS(pattern))
280: 83 97 sbiw r24, 0x23 ; 35
282: 18 f2 brcs .-122 ; 0x20a <opgave4+0x6>
{
count = 0;
284: 10 92 6d 01 sts 0x016D, r1
288: 10 92 6c 01 sts 0x016C, r1
28c: be cf rjmp .-132 ; 0x20a <opgave4+0x6>
0000028e <main>:
00000156 <main>:
notes: Slow background task after init ISR
Version : DMK, Initial code
*******************************************************************/
{
//powerpointOpg();
//opgave2();
//opgave3();
opgave4();
28e: ba df rcall .-140 ; 0x204 <opgave4>
opgave2();
156: e6 df rcall .-52 ; 0x124 <opgave2>
00000290 <_exit>:
290: f8 94 cli
00000158 <shift>:
}
00000292 <__stop_program>:
292: ff cf rjmp .-2 ; 0x292 <__stop_program>
void shift(int i)
{
if(i)
158: 89 2b or r24, r25
15a: 21 f0 breq .+8 ; 0x164 <shift+0xc>
PORTC = (PORTC>>1);
15c: 85 b3 in r24, 0x15 ; 21
15e: 86 95 lsr r24
160: 85 bb out 0x15, r24 ; 21
162: 03 c0 rjmp .+6 ; 0x16a <shift+0x12>
else
PORTC = (PORTC<<1);
164: 85 b3 in r24, 0x15 ; 21
166: 88 0f add r24, r24
168: 85 bb out 0x15, r24 ; 21
//Als het looplicht aan het einde is
if (PORTC >= 0x80)
16a: af 9b sbis 0x15, 7 ; 21
16c: 03 c0 rjmp .+6 ; 0x174 <shift+0x1c>
{
PORTC= 0x01;
16e: 81 e0 ldi r24, 0x01 ; 1
170: 85 bb out 0x15, r24 ; 21
172: 08 95 ret
}
//Als het looplicht aan het begin is
else if (PORTC < 0x1)
174: 85 b3 in r24, 0x15 ; 21
176: 81 11 cpse r24, r1
178: 02 c0 rjmp .+4 ; 0x17e <shift+0x26>
{
PORTC= 0x80;
17a: 80 e8 ldi r24, 0x80 ; 128
17c: 85 bb out 0x15, r24 ; 21
17e: 08 95 ret
00000180 <__vector_2>:
PORTD |= (1<<5);
}
/******************************************************************/
ISR( INT1_vect )
{
180: 1f 92 push r1
182: 0f 92 push r0
184: 0f b6 in r0, 0x3f ; 63
186: 0f 92 push r0
188: 11 24 eor r1, r1
18a: 0b b6 in r0, 0x3b ; 59
18c: 0f 92 push r0
18e: 2f 93 push r18
190: 3f 93 push r19
192: 4f 93 push r20
194: 5f 93 push r21
196: 6f 93 push r22
198: 7f 93 push r23
19a: 8f 93 push r24
19c: 9f 93 push r25
19e: af 93 push r26
1a0: bf 93 push r27
1a2: ef 93 push r30
1a4: ff 93 push r31
inputs:
outputs:
notes: Clear PORTD.5
Version : DMK, Initial code
*******************************************************************/
if(opdr==0)
1a6: 80 91 00 01 lds r24, 0x0100
1aa: 90 91 01 01 lds r25, 0x0101
1ae: 00 97 sbiw r24, 0x00 ; 0
1b0: 11 f4 brne .+4 ; 0x1b6 <__vector_2+0x36>
{
PORTD &= ~(1<<5);
1b2: 95 98 cbi 0x12, 5 ; 18
1b4: 05 c0 rjmp .+10 ; 0x1c0 <__vector_2+0x40>
}
else if(opdr==1)
1b6: 01 97 sbiw r24, 0x01 ; 1
1b8: 19 f4 brne .+6 ; 0x1c0 <__vector_2+0x40>
{
shift(1);
1ba: 81 e0 ldi r24, 0x01 ; 1
1bc: 90 e0 ldi r25, 0x00 ; 0
1be: cc df rcall .-104 ; 0x158 <shift>
}
}
1c0: ff 91 pop r31
1c2: ef 91 pop r30
1c4: bf 91 pop r27
1c6: af 91 pop r26
1c8: 9f 91 pop r25
1ca: 8f 91 pop r24
1cc: 7f 91 pop r23
1ce: 6f 91 pop r22
1d0: 5f 91 pop r21
1d2: 4f 91 pop r20
1d4: 3f 91 pop r19
1d6: 2f 91 pop r18
1d8: 0f 90 pop r0
1da: 0b be out 0x3b, r0 ; 59
1dc: 0f 90 pop r0
1de: 0f be out 0x3f, r0 ; 63
1e0: 0f 90 pop r0
1e2: 1f 90 pop r1
1e4: 18 95 reti
000001e6 <__vector_3>:
inputs:
outputs:
notes: Clear PORTD.3
Version : DMK, Initial code
*******************************************************************/
{
1e6: 1f 92 push r1
1e8: 0f 92 push r0
1ea: 0f b6 in r0, 0x3f ; 63
1ec: 0f 92 push r0
1ee: 11 24 eor r1, r1
1f0: 0b b6 in r0, 0x3b ; 59
1f2: 0f 92 push r0
1f4: 2f 93 push r18
1f6: 3f 93 push r19
1f8: 4f 93 push r20
1fa: 5f 93 push r21
1fc: 6f 93 push r22
1fe: 7f 93 push r23
200: 8f 93 push r24
202: 9f 93 push r25
204: af 93 push r26
206: bf 93 push r27
208: ef 93 push r30
20a: ff 93 push r31
shift(0);
20c: 80 e0 ldi r24, 0x00 ; 0
20e: 90 e0 ldi r25, 0x00 ; 0
210: a3 df rcall .-186 ; 0x158 <shift>
}
212: ff 91 pop r31
214: ef 91 pop r30
216: bf 91 pop r27
218: af 91 pop r26
21a: 9f 91 pop r25
21c: 8f 91 pop r24
21e: 7f 91 pop r23
220: 6f 91 pop r22
222: 5f 91 pop r21
224: 4f 91 pop r20
226: 3f 91 pop r19
228: 2f 91 pop r18
22a: 0f 90 pop r0
22c: 0b be out 0x3b, r0 ; 59
22e: 0f 90 pop r0
230: 0f be out 0x3f, r0 ; 63
232: 0f 90 pop r0
234: 1f 90 pop r1
236: 18 95 reti
00000238 <_exit>:
238: f8 94 cli
0000023a <__stop_program>:
23a: ff cf rjmp .-2 ; 0x23a <__stop_program>
+51 -55
View File
@@ -1,7 +1,7 @@
Archive member included to satisfy reference by file (symbol)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o)
C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o (exit)
C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o (exit)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_copy_data.o)
main.o (__do_copy_data)
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_clear_bss.o)
@@ -14,17 +14,20 @@ opdr 0x2 main.o
Discarded input sections
.data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o
.bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o
.data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o
.bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o
.text 0x00000000 0x0 main.o
.data 0x00000000 0x0 main.o
.bss 0x00000000 0x0 main.o
.text.powerpointOpg
0x00000000 0x38 main.o
.text.opgave2 0x00000000 0x34 main.o
.text.opgave3 0x00000000 0x74 main.o
.text.display 0x00000000 0x1e main.o
.text.opgave4 0x00000000 0x8c main.o
.data.pattern 0x00000000 0x69 main.o
.data.data 0x00000000 0x10 main.o
.data.speed 0x00000000 0x2 main.o
.bss.count 0x00000000 0x2 main.o
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o)
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o)
@@ -89,7 +92,7 @@ user_signatures 0x00850000 0x00000400 rw !x
Linker script and memory map
Address of section .data set to 0x800100
LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o
LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o
LOAD main.o
START GROUP
LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avr51\libm.a
@@ -98,7 +101,7 @@ START GROUP
LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a
LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avr51\libm.a
LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avr51\libc.a
LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51\libatmega128.a
LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51\libatmega128.a
END GROUP
.hash
@@ -191,9 +194,9 @@ END GROUP
.rela.plt
*(.rela.plt)
.text 0x00000000 0x294
.text 0x00000000 0x23c
*(.vectors)
.vectors 0x00000000 0x8c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o
.vectors 0x00000000 0x8c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o
0x00000000 __vector_default
0x00000000 __vectors
*(.vectors)
@@ -219,13 +222,13 @@ END GROUP
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x0000008c 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o
.init0 0x0000008c 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o
0x0000008c __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x0000008c 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o
.init2 0x0000008c 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o
*(.init2)
*(.init3)
*(.init3)
@@ -244,10 +247,10 @@ END GROUP
*(.init8)
*(.init8)
*(.init9)
.init9 0x000000c2 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o
.init9 0x000000c2 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o
*(.init9)
*(.text)
.text 0x000000c6 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o
.text 0x000000c6 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o
0x000000c6 __vector_22
0x000000c6 __vector_28
0x000000c6 __vector_32
@@ -289,23 +292,23 @@ END GROUP
.text.__vector_5
0x00000100 0x24 main.o
0x00000100 __vector_5
.text.shift 0x00000124 0x28 main.o
0x00000124 shift
.text.opgave2 0x00000124 0x32 main.o
0x00000124 opgave2
.text.main 0x00000156 0x2 main.o
0x00000156 main
.text.shift 0x00000158 0x28 main.o
0x00000158 shift
.text.__vector_2
0x0000014c 0x66 main.o
0x0000014c __vector_2
0x00000180 0x66 main.o
0x00000180 __vector_2
.text.__vector_3
0x000001b2 0x52 main.o
0x000001b2 __vector_3
.text.opgave4 0x00000204 0x8a main.o
0x00000204 opgave4
.text.main 0x0000028e 0x2 main.o
0x0000028e main
0x00000290 . = ALIGN (0x2)
0x000001e6 0x52 main.o
0x000001e6 __vector_3
0x00000238 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000290 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o)
0x00000290 _exit
0x00000290 exit
.fini9 0x00000238 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o)
0x00000238 _exit
0x00000238 exit
*(.fini9)
*(.fini8)
*(.fini8)
@@ -324,45 +327,38 @@ END GROUP
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000290 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o)
.fini0 0x00000238 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o)
*(.fini0)
0x00000294 _etext = .
0x0000023c _etext = .
.data 0x00800100 0x6c load address 0x00000294
.data 0x00800100 0x0 load address 0x0000023c
0x00800100 PROVIDE (__data_start, .)
*(.data)
*(.data*)
.data.pattern 0x00800100 0x69 main.o
0x00800100 pattern
.data.speed 0x00800169 0x2 main.o
0x00800169 speed
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x0080016c . = ALIGN (0x2)
*fill* 0x0080016b 0x1
0x0080016c _edata = .
0x0080016c PROVIDE (__data_end, .)
0x00800100 . = ALIGN (0x2)
0x00800100 _edata = .
0x00800100 PROVIDE (__data_end, .)
.bss 0x0080016c 0x4
0x0080016c PROVIDE (__bss_start, .)
.bss 0x00800100 0x2
0x00800100 PROVIDE (__bss_start, .)
*(.bss)
*(.bss*)
.bss.count 0x0080016c 0x2 main.o
0x0080016c count
*(COMMON)
COMMON 0x0080016e 0x2 main.o
0x0080016e opdr
0x00800170 PROVIDE (__bss_end, .)
0x00000294 __data_load_start = LOADADDR (.data)
0x00000300 __data_load_end = (__data_load_start + SIZEOF (.data))
COMMON 0x00800100 0x2 main.o
0x00800100 opdr
0x00800102 PROVIDE (__bss_end, .)
0x0000023c __data_load_start = LOADADDR (.data)
0x0000023c __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800170 0x0
0x00800170 PROVIDE (__noinit_start, .)
.noinit 0x00800102 0x0
0x00800102 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800170 PROVIDE (__noinit_end, .)
0x00800170 _end = .
0x00800170 PROVIDE (__heap_start, .)
0x00800102 PROVIDE (__noinit_end, .)
0x00800102 _end = .
0x00800102 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
@@ -409,7 +405,7 @@ END GROUP
.note.gnu.avr.deviceinfo
0x00000000 0x3c
.note.gnu.avr.deviceinfo
0x00000000 0x3c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/gcc/dev/atmega128/avr51/crtatmega128.o
0x00000000 0x3c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o
.note.gnu.build-id
*(.note.gnu.build-id)
@@ -450,10 +446,10 @@ END GROUP
*(.debug_frame)
.debug_frame 0x00000000 0x184 main.o
.debug_str 0x00000000 0x223
.debug_str 0x00000000 0x218
*(.debug_str)
.debug_str 0x00000000 0x223 main.o
0x25c (size before relaxing)
.debug_str 0x00000000 0x218 main.o
0x251 (size before relaxing)
.debug_loc 0x00000000 0x3ae
*(.debug_loc)
+23 -36
View File
@@ -1,5 +1,5 @@
S01100004D49432D5765656B322E737265634F
S113000045C0000072C00000A1C00000D2C00000C2
S113000045C0000072C00000BBC00000ECC000008E
S11300105AC0000075C0000056C0000054C0000063
S113002052C0000050C000004EC000004CC0000090
S11300304AC0000048C0000046C0000044C00000A0
@@ -8,44 +8,31 @@ S11300503AC0000038C0000036C0000034C00000C0
S113006032C0000030C000002EC000002CC00000D0
S11300702AC0000028C0000026C0000024C00000E0
S113008022C0000020C000001EC0000011241FBEBA
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E4E9F5
S11300A0F2E000E00BBF02C007900D92AC36B1073E
S11300B0D9F721E0ACE6B1E001C01D92A037B20748
S11300C0E1F7E5D0E5C09CCF181619066CF420E0E2
S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0ECE3F3
S11300A0F2E000E00BBF02C007900D92A030B10750
S11300B0D9F721E0A0E0B1E001C01D92A230B2075F
S11300C0E1F749D0B9C09CCF181619066CF420E0AA
S11300D030E0EFECF7E03197F1F700C000002F5F5C
S11300E03F4F28173907A9F708951F920F920FB6AB
S11300F00F921124959A0F900FBE0F901F90189590
S11301001F920F920FB60F9211248F939F9393B166
S113011081E0892783B99F918F910F900FBE0F9033
S11301201F901895892B21F085B3869585BB03C054
S113013085B3880F85BBAF9B03C081E085BB089561
S113014085B3811102C080E885BB08951F920F9288
S11301500FB60F9211240BB60F922F933F934F9328
S11301605F936F937F938F939F93AF93BF93EF931B
S1130170FF9380916E0190916F01009711F495980F
S113018005C0019719F481E090E0CCDFFF91EF9175
S1130190BF91AF919F918F917F916F915F914F919B
S11301A03F912F910F900BBE0F900FBE0F901F9099
S11301B018951F920F920FB60F9211240BB60F923F
S11301C02F933F934F935F936F937F938F939F935B
S11301D0AF93BF93EF93FF9380E090E0A3DFFF9191
S11301E0EF91BF91AF919F918F917F916F915F91AB
S11301F04F913F912F910F900BBE0F900FBE0F9018
S11302001F9018958FEF81BB14BA83B3882331F004
S113021083B390E090936A018093690180916C01AB
S113022090916D01FC01EE0FFF1F8E0F9F1FFC01CB
S1130230E050FF4F808182BB80916C0190916D01F1
S1130240FC01EE0FFF1F8E0F9F1FFC01E050FF4FBC
S11302502091690130916A0181819281AC01249FCE
S1130260C001259F900D349F900D11242DDF8091A6
S11302706C0190916D01019690936D0180936C01D6
S1130280839718F210926D0110926C01BECFBADF01
S1070290F894FFCF0C
S11302940164000264000464000864001064002023
S11302A464000164002064001064000864000464B1
S11302B400026400016400016400406400086400F6
S11302C408640040640001640001640040640008A0
S11302D4640008640048640009640009640012644A
S11302E400246400096400126400246400096400A6
S10F02F409640041640001640001000082
S11301201F90189580EF81BB8FEF84BB81E085BB66
S1130130EAE6F0E080818862808389B7866089BFBF
S113014081E090E09093010180930001789484EF22
S113015091E0BADFFCCFE6DF892B21F085B38695E9
S113016085BB03C085B3880F85BBAF9B03C081E00B
S113017085BB089585B3811102C080E885BB0895CD
S11301801F920F920FB60F9211240BB60F922F935A
S11301903F934F935F936F937F938F939F93AF930B
S11301A0BF93EF93FF938091000190910101009719
S11301B011F4959805C0019719F481E090E0CCDF23
S11301C0FF91EF91BF91AF919F918F917F916F912B
S11301D05F914F913F912F910F900BBE0F900FBEE7
S11301E00F901F9018951F920F920FB60F92112423
S11301F00BB60F922F933F934F935F936F937F931D
S11302008F939F93AF93BF93EF93FF9380E090E01E
S1130210A3DFFF91EF91BF91AF919F918F917F9158
S11302206F915F914F913F912F910F900BBE0F9063
S10F02300FBE0F901F901895F894FFCF9C
S9030000FC
+2 -2
View File
@@ -78,7 +78,7 @@ LINKER_SCRIPT_DEP+=
./%.o: .././%.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 4.9.2
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -mrelax -g2 -Wall -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega128" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -mrelax -g2 -Wall -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<
@@ -107,7 +107,7 @@ all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
@echo Building target: $@
@echo Invoking: AVR/GNU Linker : 4.9.2
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="MIC-Week2.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mrelax -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega128"
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="MIC-Week2.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mrelax -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128"
@echo Finished building target: $@
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "MIC-Week2.elf" "MIC-Week2.hex"
"C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "MIC-Week2.elf" "MIC-Week2.eep" || exit 0
+2 -2
View File
@@ -4,7 +4,7 @@ main.d main.o: .././main.c \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stdint.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\include/avr/iom128.h \
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include/avr/iom128.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \
@@ -25,7 +25,7 @@ c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h:
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\include/avr/iom128.h:
C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include/avr/iom128.h:
c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h:
+8 -8
View File
@@ -15,7 +15,7 @@
<Description></Description>
<Files xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\include</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include</AbsolutePath>
<Attribute></Attribute>
<Category>include</Category>
<Condition>C</Condition>
@@ -26,7 +26,7 @@
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\include\avr\iom128.h</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include\avr\iom128.h</AbsolutePath>
<Attribute></Attribute>
<Category>header</Category>
<Condition>C</Condition>
@@ -37,18 +37,18 @@
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\templates\main.c</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\templates\main.c</AbsolutePath>
<Attribute>template</Attribute>
<Category>source</Category>
<Condition>C Exe</Condition>
<FileContentHash>kmG3LJK3C92Gf3pXxH9BGA==</FileContentHash>
<FileContentHash>GD1k8YYhulqRs6FD1B2Hog==</FileContentHash>
<FileVersion></FileVersion>
<Name>templates/main.c</Name>
<SelectString>Main file (.c)</SelectString>
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\templates\main.cpp</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\templates\main.cpp</AbsolutePath>
<Attribute>template</Attribute>
<Category>source</Category>
<Condition>C Exe</Condition>
@@ -59,7 +59,7 @@
<SourcePath></SourcePath>
</d4p1:anyType>
<d4p1:anyType i:type="FileInfo">
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega128</AbsolutePath>
<AbsolutePath>C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128</AbsolutePath>
<Attribute></Attribute>
<Category>libraryPrefix</Category>
<Condition>GCC</Condition>
@@ -71,8 +71,8 @@
</d4p1:anyType>
</Files>
<PackName>ATmega_DFP</PackName>
<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.0.90/Atmel.ATmega_DFP.pdsc</PackPath>
<PackVersion>1.0.90</PackVersion>
<PackPath>C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/Atmel.ATmega_DFP.pdsc</PackPath>
<PackVersion>1.0.91</PackVersion>
<PresentInProject>true</PresentInProject>
<ReferenceConditionId>ATmega128</ReferenceConditionId>
<RteComponents xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
+13 -13
View File
@@ -28,21 +28,21 @@
<eraseonlaunchrule>1</eraseonlaunchrule>
<AsfFrameworkConfig>
<framework-data xmlns="">
<options />
<configurations />
<files />
<documentation help="" />
<offline-documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.28.1" />
</dependencies>
</framework-data>
<options />
<configurations />
<files />
<documentation help="" />
<offline-documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.28.1" />
</dependencies>
</framework-data>
</AsfFrameworkConfig>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega128"</avrgcc.common.Device>
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
@@ -58,7 +58,7 @@
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include</Value>
<Value>%24(PackRepoDir)\Atmel\ATmega_DFP\1.0.91\include</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
@@ -76,7 +76,7 @@
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGcc>
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\gcc\dev\atmega128"</avrgcc.common.Device>
<avrgcc.common.Device>-mmcu=atmega128 -B "%24(PackRepoDir)\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128"</avrgcc.common.Device>
<avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
@@ -92,7 +92,7 @@
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.directories.IncludePaths>
<ListValues>
<Value>%24(PackRepoDir)\atmel\ATmega_DFP\1.0.90\include</Value>
<Value>%24(PackRepoDir)\Atmel\ATmega_DFP\1.0.91\include</Value>
</ListValues>
</avrgcc.compiler.directories.IncludePaths>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
+24 -22
View File
@@ -43,7 +43,7 @@ Version : DMK, Initial code
}
}
char data[16] = { //segment display
char data[16] = { // 7 segment display
0b00111111, // 0
0b00000110, // 1
0b01011011, // 2
@@ -59,7 +59,7 @@ char data[16] = { //segment display
0b00111001, // C
0b01011110, // D
0b01111001, // E
0b01110001 // F
0b01110001 // F
};
//Struct voor een pattroon. Eerste onderdeel is welke ledjes aan moeten staan, tweede hoelang deze dan aan moeten staan
@@ -107,7 +107,7 @@ Version : DMK, Initial code
ISR( INT1_vect )
{
/*
short: ISR INT1
short: ISR INT1 / Shift omhoog
inputs:
outputs:
notes: Clear PORTD.5
@@ -123,9 +123,9 @@ Version : DMK, Initial code
}
}
ISR( INT2_vect ) //powerpointopg
ISR( INT2_vect )
/*
short: ISR INT4
short: Shift omlaag
inputs:
outputs:
notes: Clear PORTD.3
@@ -140,7 +140,7 @@ ISR( INT4_vect ) //powerpointopg
short: ISR INT4
inputs:
outputs:
notes: Clear PORTD.3
notes: Toggle PORTE.0
Version : DMK, Initial code
*******************************************************************/
{
@@ -158,9 +158,9 @@ Version : DMK, Initial code
*******************************************************************/
{
//powerpointOpg();
//opgave2();
opgave2();
//opgave3();
opgave4();
//opgave4();
return 1;
}
@@ -246,30 +246,32 @@ void opgave3()
//Button C0
else if( (0x01 & PINC) != 0)
{
count++;
count = ((count+1 > 15) ? 16 : count+1);
}
//Button C1
else if( (0x02 & PINC) != 0)
{
count--;
count = ((count-1 < 0) ? -1 : count-1);
}
if(count > 15)
{
display(14, 1);
count = 16;
}
else if(count < 0)
{
display(14, 1);
count = -1;
}
else
display(count, 0);
display(count, 0);
}
}
void display(int d, int dot)
{
//Digit > 15 || Digit < 0 : display E met .
if(d > 15)
{
d = 14;
dot = 1;
}
else if(d < 0)
{
d = 14;
dot = 1;
}
//Met of zonder dot het getal tekenen
if(dot)
PORTD = data[d] | 0b10000000;
else