From dceb3768d6ce121b06f627007399618f1e04ffa3 Mon Sep 17 00:00:00 2001 From: Bluepr1nt Date: Wed, 17 Feb 2016 15:27:18 +0100 Subject: [PATCH] nog wat commends added --- MIC-Week1/.vs/MIC-Week1/v14/.atsuo | Bin 34304 -> 29184 bytes MIC-Week1/Debug/MIC-Week1.lss | 264 +++++++++++------------------ MIC-Week1/Debug/MIC-Week1.map | 78 ++++----- MIC-Week1/Debug/MIC-Week1.srec | 61 +++---- MIC-Week1/main.c | 4 +- MIC-Week2/main.c | 14 +- 6 files changed, 171 insertions(+), 250 deletions(-) diff --git a/MIC-Week1/.vs/MIC-Week1/v14/.atsuo b/MIC-Week1/.vs/MIC-Week1/v14/.atsuo index d16ecf68454ae055df800c946cd68ede4c48b841..6ae988de876e07b3a0ddc55b8219bf48b62c5d8d 100644 GIT binary patch delta 1662 zcmb_cUrbY181HFsvEXfcZ}}sw9aK<4=pXv$LMzGq!z}_zQ<@kJ8JT~O2>2k`icw*P zsacx91Kcm0i!laykOvcuT#YY2kdU}cAJD`YUG`!y`mk(sS$!A@bl=zZZji8;MZcS0 z&N;vH-E+?G`@VBV$MvJH*o5Du*X2#n={W2%#7ZWUA=ZGnow&sy!(yxuw&*J@bJxFh zJnDPG>^L4-iTxo0)Njy!nzfb8^#sRRa=gnh@f?8-kSFbV{6Lu zJhqdGa$zI34#Z|eRgUB8vaK`X#@2$M^?lgZBm9T}B8UhfBt!$E5kdQ*EY#p)ioPQ+ zLHK&+za_ZPeXRsTCtrzV0fP3;>Pl~L2}IcPBngDKg(VS95qXl4QZs^1vf7G~`JQB`T4tObT#ah?QH zVQaLSF5{VE$*Z+2n3)r2Y0sR;rdl{{O(`{PCerZFU&)#{Gcy`e#cH%Mdv)Ni(tYb} zuMU-sF*p}JsvfOMFyZ)vZ^Y$H)y@mQzDZ)alXPnf#)U4DMa0Eun&!smB}er=ukEL7jh94{>X8o1UwxH@-~^$*J( zpUWMtgGO;!6TS8007*v$*erpZfc1mwPAR@W1zW6dW^D4*=ISdCQ_sF1t_4H=r~gCh zw1<07?%bVg4h(7cerU6MU^K+RX-@}FcUOCma#zEHH9!}t0-+_gfF1>tPF>pm#t6$H zr{QICWx9#COw0Eki#Hv*sUNMGd4^A<6Y8Wz7J!NBQmAhD5_^{#`e)k)1$Z4Dgr8bc zaG>QP3`9?15nN?Ob9i^?`fxhIu(TF4np1H`S*evpMwEoX*55^}=%UCA zcisy_!oZt|pr1|1Ao???i@>Cyf^MRSus?$ZWu(3D=E;?iUi86p&Uc>ke&72(-}{^s ze#63Te7k!Nrw${>rQw_*Mn*?RiDuvw)2}ssU`!9M8XR)G`udeU11t+)dFH@Tz5=}R zVzw5(@->nU$r%V-ItsPcTnK6c(o7_#r;>4vtArxbk)$jV-YJMUdZw{v?3ost5qd-h zVjfi!X%d`Nb2h?`a3GurtUj?xF5XKZqEBarWVp+@0;!dVQbZYI6=F5QgP@$2WZ*l6 zuR@(p-fnPL6pjncP6+MGS_a?vDoKNj{*u|Ih#70d6rPGsD8Y*=kP^vb2}$5QgnBX* zt4kIk{%>)nF>z77$k<4v_JN`oo z1A5TS#mR^nh7Ep+x=HOG-*QHc%y?wf9#dtBusQ)*9E#L8#o8f0Ga%8<WDoNH|i-xcRAQOCjcx3uqaQBitfx z54UxH{rk$6`HnkXKiK63KMOeO4Lq}3jN5ubAJ<)ISW>u-Wxg=D^H8B1!o??HsMrWi z)}_jF0os=Lz%Ov~PAn(U#)a&iXE<R#e$hNOy;aeSyE^%eGMFZm;F=l1ATFm`$0#xsS{w>S}~a` z^G_*7zL?L|tLZM)DK_lzzg?VPHSwsHVYZGb3LvXZF5nMCcdwAf&p*4CnQZso?mm6v zNttiJ?SFTyb5ONTe$>}$jJ1}xvnj@R`vf>2SQXuIR%7yDVd|*Di4?oIYm?SAta5l4 z=#LOH?ftAp8}34Ei?*I*jEC7dUU+h#0IqJAO%$&y-5+Xcp a8: 07 90 elpm r0, Z+ aa: 0d 92 st X+, r0 - ac: a0 35 cpi r26, 0x50 ; 80 + ac: a2 30 cpi r26, 0x02 ; 2 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: a0 e5 ldi r26, 0x50 ; 80 + b4: a2 e0 ldi r26, 0x02 ; 2 b6: b1 e0 ldi r27, 0x01 ; 1 b8: 01 c0 rjmp .+2 ; 0xbc <.do_clear_bss_start> @@ -137,40 +137,40 @@ Disassembly of section .text: ba: 1d 92 st X+, r1 000000bc <.do_clear_bss_start>: - bc: a8 35 cpi r26, 0x58 ; 88 + bc: a8 30 cpi r26, 0x08 ; 8 be: b2 07 cpc r27, r18 c0: e1 f7 brne .-8 ; 0xba <.do_clear_bss_loop> - c2: d8 d0 rcall .+432 ; 0x274
- c4: e6 c0 rjmp .+460 ; 0x292 <_exit> + c2: a2 d0 rcall .+324 ; 0x208
+ c4: b0 c0 rjmp .+352 ; 0x226 <_exit> 000000c6 <__bad_interrupt>: c6: 9c cf rjmp .-200 ; 0x0 <__vectors> 000000c8 : - } + count++; //patroon verder - if(direction) - PORTD = (PORTD>>1); //Naar een hogere waarde shiften - else - PORTD = (PORTD<<1); //Naar een lagere waarde shiften + //als alle patronen geweest zijn, opnieuw beginnen + if(count >= NELEMS(pattern)) + { + count = 0; c8: 18 16 cp r1, r24 ca: 19 06 cpc r1, r25 cc: 0c f5 brge .+66 ; 0x110 - ce: 20 91 56 01 lds r18, 0x0156 - d2: 30 91 57 01 lds r19, 0x0157 + ce: 20 91 06 01 lds r18, 0x0106 + d2: 30 91 07 01 lds r19, 0x0107 d6: 21 30 cpi r18, 0x01 ; 1 d8: 31 05 cpc r19, r1 da: 51 f0 breq .+20 ; 0xf0 dc: 20 e0 ldi r18, 0x00 ; 0 de: 30 e0 ldi r19, 0x00 ; 0 e0: 0c c0 rjmp .+24 ; 0xfa - e2: 40 91 56 01 lds r20, 0x0156 - e6: 50 91 57 01 lds r21, 0x0157 + e2: 40 91 06 01 lds r20, 0x0106 + e6: 50 91 07 01 lds r21, 0x0107 ea: 41 30 cpi r20, 0x01 ; 1 ec: 51 05 cpc r21, r1 ee: 29 f4 brne .+10 ; 0xfa - f0: 10 92 57 01 sts 0x0157, r1 - f4: 10 92 56 01 sts 0x0156, r1 + f0: 10 92 07 01 sts 0x0107, r1 + f4: 10 92 06 01 sts 0x0106, r1 f8: 08 95 ret fa: ef ec ldi r30, 0xCF ; 207 fc: f7 e0 ldi r31, 0x07 ; 7 @@ -196,67 +196,67 @@ Disassembly of section .text: 120: 9f 93 push r25 122: 98 9b sbis 0x13, 0 ; 19 124: 1a c0 rjmp .+52 ; 0x15a <__vector_16+0x48> - 126: 80 91 52 01 lds r24, 0x0152 - 12a: 90 91 53 01 lds r25, 0x0153 + 126: 80 91 04 01 lds r24, 0x0104 + 12a: 90 91 05 01 lds r25, 0x0105 12e: 89 2b or r24, r25 130: a1 f4 brne .+40 ; 0x15a <__vector_16+0x48> - 132: 80 91 4b 01 lds r24, 0x014B - 136: 90 91 4c 01 lds r25, 0x014C + 132: 80 91 00 01 lds r24, 0x0100 + 136: 90 91 01 01 lds r25, 0x0101 13a: 88 0f add r24, r24 13c: 99 1f adc r25, r25 - 13e: 90 93 4c 01 sts 0x014C, r25 - 142: 80 93 4b 01 sts 0x014B, r24 + 13e: 90 93 01 01 sts 0x0101, r25 + 142: 80 93 00 01 sts 0x0100, r24 146: 81 e0 ldi r24, 0x01 ; 1 148: 90 e0 ldi r25, 0x00 ; 0 - 14a: 90 93 57 01 sts 0x0157, r25 - 14e: 80 93 56 01 sts 0x0156, r24 - 152: 90 93 53 01 sts 0x0153, r25 - 156: 80 93 52 01 sts 0x0152, r24 + 14a: 90 93 07 01 sts 0x0107, r25 + 14e: 80 93 06 01 sts 0x0106, r24 + 152: 90 93 05 01 sts 0x0105, r25 + 156: 80 93 04 01 sts 0x0104, r24 15a: 99 9b sbis 0x13, 1 ; 19 15c: 1d c0 rjmp .+58 ; 0x198 <__vector_16+0x86> - 15e: 80 91 50 01 lds r24, 0x0150 - 162: 90 91 51 01 lds r25, 0x0151 + 15e: 80 91 02 01 lds r24, 0x0102 + 162: 90 91 03 01 lds r25, 0x0103 166: 89 2b or r24, r25 168: b9 f4 brne .+46 ; 0x198 <__vector_16+0x86> - 16a: 80 91 4b 01 lds r24, 0x014B - 16e: 90 91 4c 01 lds r25, 0x014C + 16a: 80 91 00 01 lds r24, 0x0100 + 16e: 90 91 01 01 lds r25, 0x0101 172: 99 23 and r25, r25 174: 0c f4 brge .+2 ; 0x178 <__vector_16+0x66> 176: 01 96 adiw r24, 0x01 ; 1 178: 95 95 asr r25 17a: 87 95 ror r24 - 17c: 90 93 4c 01 sts 0x014C, r25 - 180: 80 93 4b 01 sts 0x014B, r24 + 17c: 90 93 01 01 sts 0x0101, r25 + 180: 80 93 00 01 sts 0x0100, r24 184: 81 e0 ldi r24, 0x01 ; 1 186: 90 e0 ldi r25, 0x00 ; 0 - 188: 90 93 57 01 sts 0x0157, r25 - 18c: 80 93 56 01 sts 0x0156, r24 - 190: 90 93 51 01 sts 0x0151, r25 - 194: 80 93 50 01 sts 0x0150, r24 + 188: 90 93 07 01 sts 0x0107, r25 + 18c: 80 93 06 01 sts 0x0106, r24 + 190: 90 93 03 01 sts 0x0103, r25 + 194: 80 93 02 01 sts 0x0102, r24 198: 83 b3 in r24, 0x13 ; 19 19a: 81 11 cpse r24, r1 19c: 08 c0 rjmp .+16 ; 0x1ae <__vector_16+0x9c> - 19e: 10 92 53 01 sts 0x0153, r1 - 1a2: 10 92 52 01 sts 0x0152, r1 - 1a6: 10 92 51 01 sts 0x0151, r1 - 1aa: 10 92 50 01 sts 0x0150, r1 - 1ae: 80 91 4b 01 lds r24, 0x014B - 1b2: 90 91 4c 01 lds r25, 0x014C + 19e: 10 92 05 01 sts 0x0105, r1 + 1a2: 10 92 04 01 sts 0x0104, r1 + 1a6: 10 92 03 01 sts 0x0103, r1 + 1aa: 10 92 02 01 sts 0x0102, r1 + 1ae: 80 91 00 01 lds r24, 0x0100 + 1b2: 90 91 01 01 lds r25, 0x0101 1b6: 84 31 cpi r24, 0x14 ; 20 1b8: 91 05 cpc r25, r1 1ba: 3c f4 brge .+14 ; 0x1ca <__vector_16+0xb8> 1bc: 84 e1 ldi r24, 0x14 ; 20 1be: 90 e0 ldi r25, 0x00 ; 0 - 1c0: 90 93 4c 01 sts 0x014C, r25 - 1c4: 80 93 4b 01 sts 0x014B, r24 + 1c0: 90 93 01 01 sts 0x0101, r25 + 1c4: 80 93 00 01 sts 0x0100, r24 1c8: 09 c0 rjmp .+18 ; 0x1dc <__vector_16+0xca> 1ca: 81 3a cpi r24, 0xA1 ; 161 1cc: 9f 40 sbci r25, 0x0F ; 15 1ce: 34 f0 brlt .+12 ; 0x1dc <__vector_16+0xca> 1d0: 80 ea ldi r24, 0xA0 ; 160 1d2: 9f e0 ldi r25, 0x0F ; 15 - 1d4: 90 93 4c 01 sts 0x014C, r25 - 1d8: 80 93 4b 01 sts 0x014B, r24 + 1d4: 90 93 01 01 sts 0x0101, r25 + 1d8: 80 93 00 01 sts 0x0100, r24 1dc: 9f 91 pop r25 1de: 8f 91 pop r24 1e0: 2f 91 pop r18 @@ -266,143 +266,77 @@ Disassembly of section .text: 1e8: 1f 90 pop r1 1ea: 18 95 reti -000001ec : +000001ec : + } } -void opgave5(void) +void opgave6(void) { - //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 ) - 1ec: 83 b3 in r24, 0x13 ; 19 - 1ee: 88 23 and r24, r24 - 1f0: 31 f0 breq .+12 ; 0x1fe - { - speed = PINC; - 1f2: 83 b3 in r24, 0x13 ; 19 - 1f4: 90 e0 ldi r25, 0x00 ; 0 - 1f6: 90 93 4e 01 sts 0x014E, r25 - 1fa: 80 93 4d 01 sts 0x014D, r24 - } + PORTD = 0b10000000; + 1ec: 80 e8 ldi r24, 0x80 ; 128 + 1ee: 82 bb out 0x12, r24 ; 18 + wait( blink ); + 1f0: 80 91 00 01 lds r24, 0x0100 + 1f4: 90 91 01 01 lds r25, 0x0101 + 1f8: 67 df rcall .-306 ; 0xc8 + PORTD = 0b00000000; + 1fa: 12 ba out 0x12, r1 ; 18 + wait( blink ); + 1fc: 80 91 00 01 lds r24, 0x0100 + 200: 90 91 01 01 lds r25, 0x0101 + 204: 61 cf rjmp .-318 ; 0xc8 + 206: 08 95 ret - //Schrijf de data van het huidige patroon naar PORTD - PORTD = pattern[count].data; - 1fe: 80 91 54 01 lds r24, 0x0154 - 202: 90 91 55 01 lds r25, 0x0155 - 206: fc 01 movw r30, r24 - 208: ee 0f add r30, r30 - 20a: ff 1f adc r31, r31 - 20c: 8e 0f add r24, r30 - 20e: 9f 1f adc r25, r31 - 210: fc 01 movw r30, r24 - 212: e0 50 subi r30, 0x00 ; 0 - 214: ff 4f sbci r31, 0xFF ; 255 - 216: 80 81 ld r24, Z - 218: 82 bb out 0x12, r24 ; 18 - //Wacht het aantal milliseconde dat in het huidige patroon staat - wait(pattern[count].delay * speed); - 21a: 80 91 54 01 lds r24, 0x0154 - 21e: 90 91 55 01 lds r25, 0x0155 - 222: fc 01 movw r30, r24 - 224: ee 0f add r30, r30 - 226: ff 1f adc r31, r31 - 228: 8e 0f add r24, r30 - 22a: 9f 1f adc r25, r31 - 22c: fc 01 movw r30, r24 - 22e: e0 50 subi r30, 0x00 ; 0 - 230: ff 4f sbci r31, 0xFF ; 255 - 232: 20 91 4d 01 lds r18, 0x014D - 236: 30 91 4e 01 lds r19, 0x014E - 23a: 81 81 ldd r24, Z+1 ; 0x01 - 23c: 92 81 ldd r25, Z+2 ; 0x02 - 23e: ac 01 movw r20, r24 - 240: 24 9f mul r18, r20 - 242: c0 01 movw r24, r0 - 244: 25 9f mul r18, r21 - 246: 90 0d add r25, r0 - 248: 34 9f mul r19, r20 - 24a: 90 0d add r25, r0 - 24c: 11 24 eor r1, r1 - 24e: 3c df rcall .-392 ; 0xc8 - - count++; //patroon verder - 250: 80 91 54 01 lds r24, 0x0154 - 254: 90 91 55 01 lds r25, 0x0155 - 258: 01 96 adiw r24, 0x01 ; 1 - - //als alle patronen geweest zijn, opnieuw beginnen - if(count >= NELEMS(pattern)) - 25a: 89 31 cpi r24, 0x19 ; 25 - 25c: 91 05 cpc r25, r1 - 25e: 28 f4 brcc .+10 ; 0x26a - //Schrijf de data van het huidige patroon naar PORTD - PORTD = pattern[count].data; - //Wacht het aantal milliseconde dat in het huidige patroon staat - wait(pattern[count].delay * speed); - - count++; //patroon verder - 260: 90 93 55 01 sts 0x0155, r25 - 264: 80 93 54 01 sts 0x0154, r24 - 268: 08 95 ret - - //als alle patronen geweest zijn, opnieuw beginnen - if(count >= NELEMS(pattern)) - { - count = 0; - 26a: 10 92 55 01 sts 0x0155, r1 - 26e: 10 92 54 01 sts 0x0154, r1 - 272: 08 95 ret - -00000274
: +00000208
: } } int main(void) { DDRC = 0b00000000; //input - 274: 14 ba out 0x14, r1 ; 20 + 208: 14 ba out 0x14, r1 ; 20 DDRD = 0b11111111; //output - 276: 8f ef ldi r24, 0xFF ; 255 - 278: 81 bb out 0x11, r24 ; 17 + 20a: 8f ef ldi r24, 0xFF ; 255 + 20c: 81 bb out 0x11, r24 ; 17 // Prescaler TCCR0 |= (1 << CS01) | (1 << CS00); - 27a: 83 b7 in r24, 0x33 ; 51 - 27c: 83 60 ori r24, 0x03 ; 3 - 27e: 83 bf out 0x33, r24 ; 51 + 20e: 83 b7 in r24, 0x33 ; 51 + 210: 83 60 ori r24, 0x03 ; 3 + 212: 83 bf out 0x33, r24 ; 51 //Het overflow event aanzetten TIMSK|=(1< - //opgave6(); + //opgave5(); + opgave6(); + 222: e4 df rcall .-56 ; 0x1ec //charlieplexing(); //extraopgave(); } - 290: fe cf rjmp .-4 ; 0x28e + 224: fe cf rjmp .-4 ; 0x222 -00000292 <_exit>: - 292: f8 94 cli +00000226 <_exit>: + 226: f8 94 cli -00000294 <__stop_program>: - 294: ff cf rjmp .-2 ; 0x294 <__stop_program> +00000228 <__stop_program>: + 228: ff cf rjmp .-2 ; 0x228 <__stop_program> diff --git a/MIC-Week1/Debug/MIC-Week1.map b/MIC-Week1/Debug/MIC-Week1.map index de24e20..4e0bc14 100644 --- a/MIC-Week1/Debug/MIC-Week1.map +++ b/MIC-Week1/Debug/MIC-Week1.map @@ -20,11 +20,14 @@ Discarded input sections .text.opgave2 0x00000000 0x1a main.o .text.opgave3 0x00000000 0x1c main.o .text.opgave4 0x00000000 0x46 main.o - .text.opgave6 0x00000000 0x20 main.o + .text.opgave5 0x00000000 0x8a main.o .text.charlieplexing 0x00000000 0x54 main.o + .data.pattern 0x00000000 0x4b main.o .bss.direction 0x00000000 0x2 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) @@ -191,7 +194,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0x296 +.text 0x00000000 0x22a *(.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 0x00000000 __vector_default @@ -289,15 +292,15 @@ END GROUP .text.__vector_16 0x00000112 0xda main.o 0x00000112 __vector_16 - .text.opgave5 0x000001ec 0x88 main.o - 0x000001ec opgave5 - .text.main 0x00000274 0x1e main.o - 0x00000274 main - 0x00000292 . = ALIGN (0x2) + .text.opgave6 0x000001ec 0x1c main.o + 0x000001ec opgave6 + .text.main 0x00000208 0x1e main.o + 0x00000208 main + 0x00000226 . = ALIGN (0x2) *(.fini9) - .fini9 0x00000292 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) - 0x00000292 _exit - 0x00000292 exit + .fini9 0x00000226 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) + 0x00000226 _exit + 0x00000226 exit *(.fini9) *(.fini8) *(.fini8) @@ -316,51 +319,44 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00000292 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 0x00000226 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) - 0x00000296 _etext = . + 0x0000022a _etext = . -.data 0x00800100 0x50 load address 0x00000296 +.data 0x00800100 0x2 load address 0x0000022a 0x00800100 PROVIDE (__data_start, .) *(.data) *(.data*) - .data.pattern 0x00800100 0x4b main.o - 0x00800100 pattern - .data.blink 0x0080014b 0x2 main.o - 0x0080014b blink - .data.speed 0x0080014d 0x2 main.o - 0x0080014d speed + .data.blink 0x00800100 0x2 main.o + 0x00800100 blink *(.rodata) *(.rodata*) *(.gnu.linkonce.d*) - 0x00800150 . = ALIGN (0x2) - *fill* 0x0080014f 0x1 - 0x00800150 _edata = . - 0x00800150 PROVIDE (__data_end, .) + 0x00800102 . = ALIGN (0x2) + 0x00800102 _edata = . + 0x00800102 PROVIDE (__data_end, .) -.bss 0x00800150 0x8 - 0x00800150 PROVIDE (__bss_start, .) +.bss 0x00800102 0x6 + 0x00800102 PROVIDE (__bss_start, .) *(.bss) *(.bss*) - .bss.b2 0x00800150 0x2 main.o - 0x00800150 b2 - .bss.b1 0x00800152 0x2 main.o - 0x00800152 b1 - .bss.count 0x00800154 0x2 main.o - 0x00800154 count - .bss.reset 0x00800156 0x2 main.o - 0x00800156 reset + .bss.b2 0x00800102 0x2 main.o + 0x00800102 b2 + .bss.b1 0x00800104 0x2 main.o + 0x00800104 b1 + .bss.reset 0x00800106 0x2 main.o + 0x00800106 reset *(COMMON) - 0x00800158 PROVIDE (__bss_end, .) - 0x00000296 __data_load_start = LOADADDR (.data) - 0x000002e6 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00800108 PROVIDE (__bss_end, .) + 0x0000022a __data_load_start = LOADADDR (.data) + 0x0000022c __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800158 0x0 - 0x00800158 PROVIDE (__noinit_start, .) +.noinit 0x00800108 0x0 + 0x00800108 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800158 PROVIDE (__noinit_end, .) - 0x00800158 _end = . - 0x00800158 PROVIDE (__heap_start, .) + 0x00800108 PROVIDE (__noinit_end, .) + 0x00800108 _end = . + 0x00800108 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) diff --git a/MIC-Week1/Debug/MIC-Week1.srec b/MIC-Week1/Debug/MIC-Week1.srec index bceed71..c0d35ad 100644 --- a/MIC-Week1/Debug/MIC-Week1.srec +++ b/MIC-Week1/Debug/MIC-Week1.srec @@ -8,42 +8,31 @@ S11300503AC0000038C0000036C0000034C00000C0 S113006032C0000030C000002EC000002CC00000D0 S11300702AC0000028C0000026C0000024C00000E0 S113008022C0000020C000001EC0000011241FBEBA -S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E6E9F3 -S11300A0F2E000E00BBF02C007900D92A035B1074B -S11300B0D9F721E0A0E5B1E001C01D92A835B2074F -S11300C0E1F7D8D0E6C09CCF181619060CF520919C -S11300D05601309157012130310551F020E030E0D4 -S11300E00CC040915601509157014130510529F4FB -S11300F010925701109256010895EFECF7E03197F2 +S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0EAE2F6 +S11300A0F2E000E00BBF02C007900D92A230B1074E +S11300B0D9F721E0A2E0B1E001C01D92A830B20757 +S11300C0E1F7A2D0B0C09CCF181619060CF5209108 +S11300D00601309107012130310551F020E030E074 +S11300E00CC040910601509107014130510529F49B +S11300F010920701109206010895EFECF7E0319792 S1130100F1F700C000002F5F3F4F2817390749F768 S113011008951F920F920FB60F9211242F938F936D -S11301209F93989B1AC08091520190915301892BFF -S1130130A1F480914B0190914C01880F991F9093E9 -S11301404C0180934B0181E090E0909357018093A0 -S113015056019093530180935201999B1DC0809145 -S1130160500190915101892BB9F480914B019091E8 -S11301704C0199230CF401969595879590934C0125 -S113018080934B0181E090E0909357018093560156 -S1130190909351018093500183B3811108C0109250 -S11301A0530110925201109251011092500180910A -S11301B04B0190914C01843191053CF484E190E031 -S11301C090934C0180934B0109C0813A9F4034F0D5 -S11301D080EA9FE090934C0180934B019F918F9113 -S11301E02F910F900FBE0F901F90189583B3882303 -S11301F031F083B390E090934E0180934D01809150 -S1130200540190915501FC01EE0FFF1F8E0F9F1FAB -S1130210FC01E050FF4F808182BB8091540190919A -S11302205501FC01EE0FFF1F8E0F9F1FFC01E050D4 -S1130230FF4F20914D0130914E0181819281AC019B -S1130240249FC001259F900D349F900D11243CDF05 -S1130250809154019091550101968931910528F4BA -S11302609093550180935401089510925501109272 -S11302705401089514BA8FEF81BB83B7836083BFA1 -S113028087B7816087BF12BE789481E082BBAEDFFE -S1090290FECFF894FFCF3D -S11302960064000164000264000464001064002029 -S11302A66400406400806400006400AA3200553291 -S11302B600AA3200553200AA32005532000064000A -S11302C68164004264002464001864000FC800F0CE -S11302D6C8000FC800F0C800000000E803010000D1 +S11301209F93989B1AC08091040190910501892B9B +S1130130A1F48091000190910101880F991F90937F +S113014001018093000181E090E090930701809386 +S113015006019093050180930401999B1DC0809131 +S1130160020190910301892BB9F4809100019091CF +S1130170010199230CF401969595879590930101BB +S11301808093000181E090E0909307018093060141 +S1130190909303018093020183B3811108C01092EC +S11301A00501109204011092030110920201809142 +S11301B0000190910101843191053CF484E190E0C7 +S11301C0909301018093000109C0813A9F4034F06B +S11301D080EA9FE090930101809300019F918F91A9 +S11301E02F910F900FBE0F901F90189580E882BB3F +S11301F0809100019091010167DF12BA80910001A2 +S11302009091010161CF089514BA8FEF81BB83B738 +S1130210836083BF87B7816087BF12BE789481E013 +S10D022082BBE4DFFECFF894FFCFA9 +S105022AE803E3 S9030000FC diff --git a/MIC-Week1/main.c b/MIC-Week1/main.c index 07b94c7..6654577 100644 --- a/MIC-Week1/main.c +++ b/MIC-Week1/main.c @@ -112,8 +112,8 @@ int main(void) //opgave2(); //opgave3(); //opgave4(); - opgave5(); - //opgave6(); + //opgave5(); + opgave6(); //charlieplexing(); diff --git a/MIC-Week2/main.c b/MIC-Week2/main.c index cbc1a90..10758a3 100644 --- a/MIC-Week2/main.c +++ b/MIC-Week2/main.c @@ -179,7 +179,7 @@ void powerpointOpg(void) // Enable global interrupt system //SREG = 0x80; // Of direct via SREG of via wrapper - opdr=0; + opdr=0; // Use of the right interrupt sei(); @@ -197,7 +197,7 @@ void opgave2(void) PORTC= 0x1; EICRA |= 0x28; //INT1 en INT2 falling edge - EIMSK |= 0x06; + EIMSK |= 0x06; //Enable INT1 & INT2 opdr=1; sei(); @@ -229,17 +229,17 @@ void shift(int i) void opgave3() { - DDRC = 0x00; - DDRD = 0xFF; + DDRC = 0x00; //Alles op input in rij c + DDRD = 0xFF; //Allesj op output in rij d. - int count = 0; + int count = 0; //teller voor het juiste cijfer op display while(1) { wait(150); //Button C0 & C1 - if( (0x03 & PINC) == 0x03) + if( (0x03 & PINC) == 0x03) { count = 0; } @@ -254,11 +254,13 @@ void opgave3() count--; } + // Als getal groter dan 15 dan E. op display if(count > 15) { display(14, 1); count = 16; } + // Als getal labger dan 15 dan E. op display else if(count < 0) { display(14, 1);