From 9447f562392d70afcb609d5d2517bf32610b8e78 Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Wed, 23 Jan 2013 17:31:40 +0000 Subject: [PATCH] 20130123-183156 --- Timer-Zeit.xlsx | Bin 10037 -> 10154 bytes Timer/Timer.c | 411 ++++++----- Timer/default/Timer.eep | 2 +- Timer/default/Timer.elf | Bin 13681 -> 10480 bytes Timer/default/Timer.hex | 152 ++-- Timer/default/Timer.lss | 1511 +++++++++++++-------------------------- Timer/default/Timer.map | 140 ++-- 7 files changed, 847 insertions(+), 1369 deletions(-) diff --git a/Timer-Zeit.xlsx b/Timer-Zeit.xlsx index f04101117e9cd3a3fbfa2d866b3a8f5dbb987f49..d3d29f4a8733edd54538e4462e3a44b056261056 100644 GIT binary patch delta 2603 zcmV+`3e@$rPO49^?-UOGRg7W)1pok04gdfc0Fyx_6@M`UT;`X*?ajDNN6Rozf&3>kl4e@T;%^uVBC| zE!5wYwYf;xADOlZb2??ofAO|BfJrEfE!~B$N%1GUENQ$y6tGJG5{}Gp`yS9df|P(O z27e;lPQ(&W3V*dUhS~x*((q0Ef4S;Jy0)QtF^{<_U5j4xf~Cr!a8>FM4hLZoPDUBK zXizA?ou5KpcJ}bwPJngJdF%;6h>g;!Wf9A1b>KtYsNG*EhvA%pho|BCwB**(+Jn2O)MWf z4t$h08a0DIQ!{s1r1%c?o|Pfbcm08F8&H%U!Jh545WD9h5KDJdNJ4j1NE>2QU>FtH zoMKgfFe+S!*wu16wK$V%JEKBq6%Bm|GrHB~;W)>`xeExy;-Cv~Zw7;_9DgLfMR2uB z{Nzlzy4jyA31k4$6}#JUZ7oH9Fc~D%cPB$5fpAjZKGdf~X2XT_oolC6!1u3Be+8W= z&_!I1Rjm&O0C%Ds0JtAO-3k<8U?8=8*BcN>SgSvl4Ovp}|Bs|wj<2NS%OA)!qkX8G zgzi_~@}_~uBh_jOuBEjH(tlg4tP?m!41eJImRy6@aqw7*JSvd^KY9$Ws;<&VBeA?L zZ@-GTBC*$QEEUSrTGBpfK}qPgAm49RgR83HmKMC)YYi`GG|*aaLD_b2ql4R%fd@W8 zUbUJrETl`8LHctjAW>W}tZ_}CF$)?<@{8)tNKQS0prCH-9nl6ei#ZacV{5 zd7a*0a39JJar*(3i3kFY$f~oD=Mo=;TgWXN!d|^aJ```czLKslTY`>J_O!6;mxxR7 zOG6Q_@C@NVWv7>?)hWoIZN-nzI9eYRU%n&Cz=oAR` zCy+n~lDH6KfiV>59a#cWJ7!c43pCh|T?5A}n2H`I#Jv-JG_+g9tA9xX2?u6Lp-lx- zIF+_{Wr<+51NMd=PyXw41OJ6~4qBEa6{kn7r~s3^WDJG{shAK4KdImASJ>xz(lVHN zU%l_1H=&Th?D6`A$DgA0*b`VU*1yA|b3Nj}${yzEJz8TvqD>>ZudOVY$-|u+W+Si$ zo)a-%Nii0M{1m155PxpFso>@e)KJlK;kX)!UW5SD>U@zl@||`5`UTO)b3oRL)wC7v zaokMt#s0!7-pY84df?C61&9=1?0Y`}iz|NyJG*-e7X!YiH9WIX3>q^OJCu01_(09eqNg8b zA85lky%a(0_?BjWlh6hg1+EpF#z?bh9VP*PQBT7l6oubS{0|N9Ev0qSkhV+I?8zld zoYDA3;BF&QN&xNl@1^am)%oBfoO3_UxuIAbY88Eeb+XYVB1wuO(7X{+?@IKvS;jXg za-M0yRHLCpM{sCSU0xL2P~KQr+s1(P5?mBW+EH#wwD;anj2+)Y&0G>3I*8lG*35^0 zqupV{_#4{+&eC*_Yw%1k&u|Bf%}7Kiq~Igcyj#@+1jnGD2JIat3Bli954LuH4)n^z zSxbL3q0=eulr8umj_!k#qp@w$S)&dIY)7CN( z0RR9Z1CzcY7=OV|gfI{W;Jb;o?JIr0oR)dn6~xMboM0R?KQi40On?88`Te13;5Cw_Q~Z%T&uo* zZdGTQPq0ovJI~`I=dNzGQEoGg+WIf=!(`O#U#AmyvCi~$^s#5bD()Sg#sZgESJ3C z7FEdDw+g~?gz^vY<#s3Ev(6*q0Sf(9jA8%<002-9le;BW0v8&S6DB4ns8H6WAECL$c^)7CN(0RR9Z0{{RJ00000000000000001G3N N4JRT7N+bXP003}~z)AoB delta 2480 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 diff --git a/Timer/Timer.c b/Timer/Timer.c index 79369ef..1a63fd7 100644 --- a/Timer/Timer.c +++ b/Timer/Timer.c @@ -47,6 +47,8 @@ volatile uint8_t segs[] = { // 14,14,18,18,19,19,20,20}; volatile uint8_t frame[7] = {14,14, 14,14, 14,14,0}; uint8_t timer_delay = 0; +uint8_t type = 0; +uint8_t running = 0; void display(uint8_t z, uint8_t p) { uint8_t ddr = (segs[z]<<1); @@ -77,7 +79,9 @@ void beeb() { PORTD &= ~(1<< PD0); DDRA |= (1 << PA0); //PA0+ PORTA |= (1 << PA0); + //display(0,6); _delay_us(100); + //display(14,6); PORTA &= ~(1 << PA0); } @@ -86,40 +90,12 @@ void render() { display(frame[f],(5-f)+2); _delay_us(50); } + PORTB = 0; if(frame[6] == 1) { beeb(); } } -void timerdown(uint8_t min) { - frame[2] = min/10; - frame[3] = min%10; - frame[4] = 0; - frame[5] = 0; - cli(); - TCCR0A |= (1<254 Zählen - TIMSK |= (1<254 Zählen + TIMSK |= (1<254 Zählen + TIMSK |= (1<254 Zählen + TIMSK |= (1< 0) { + frame[5] = frame[5]--; } else { - frame[0] = 14; - frame[2] = 14; - frame[3] = 14; - frame[4] = 14; - frame[5] = 14; + frame[5] = 9; + if(frame[4] > 0) { + frame[4] = frame[4]--; + } else { + frame[4] = 5; + if(frame[3] > 0) { + frame[3] = frame[3]--; + } else { + frame[3] = 9; + if(frame[2] > 0) { + frame[2] = frame[2]--; + } else { + frame[2] = 9; + } + } + } } + frame[0] = (frame[0]==14)?11:14; + } else { + timer_delay++; } - render(); + break; } - frame[2] = 14; - frame[3] = 14; - frame[4] = 14; - frame[5] = 14; - for(uint8_t k=0;k<5+j;k++) { - render(); + case 2: { + if (timer_delay == 14) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert + OCR0A = 82; //Restliche Sekunde abwarten + } + if(timer_delay == 15) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler! + timer_delay = 0; + OCR0A = 254; + running++; + } else { + timer_delay++; + } + if(timer_delay%3 == 2) + if(timer_delay%4 == 2) + frame[6] = (frame[6]==1)?0:1; + if(timer_delay%3 == 0) + if(timer_delay%4 == 0) + frame[6] = (frame[6]==1)?0:1; + break; + } + case 3: { + if (timer_delay == 29) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert + OCR0A = 163; //Restliche Sekunde abwarten + } + if(timer_delay == 30) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler! + timer_delay = 0; + OCR0A = 254; + if(frame[5] < 9) { + frame[5] = frame[5]++; + } else { + frame[5] = 0; + if(frame[4] < 5) { + frame[4] = frame[4]++; + } else { + frame[4] = 0; + if(frame[3] < 9) { + frame[3] = frame[3]++; + } else { + frame[3] = 0; + if(frame[2] < 5) { + frame[2] = frame[2]++; + } else { + frame[2] = 0; + if(frame[1] < 9) { + frame[1] = frame[1]++; + } else { + frame[1] = 0; + } + } + } + } + } + frame[0] = (frame[0]==14)?11:14; + } else { + timer_delay++; + } + break; } } } -void weihnachten() { + + +int main(void) { + DDRB = 0; + + while(1){ + //Warten bis Startknopf + start(); + //Timer 20 nach unten + timerdown(30); + while(1) { + render(); + if(frame[2] == 0 && frame[3] == 0 && frame[4] == 0 && frame[5] == 0) { + TIMSK = 0; + break; + } + } + //Piepsen + endeblink(); + while(1) { + render(); + if(running >= 20) { + TIMSK = 0; + frame[6] = 0; + break; + } + } + //Timer UP 0,1 Min Start + timerup(0,10); + while(1) { + render(); + } + } +} + + +/*void weihnachten() { uint8_t text1[] = {18,19,20,21,15,14, //Frohe 22,23,15,24,21,16,25,26,21,27,15,16,14}; //Weihnachten frame[0] = 14; @@ -245,9 +305,9 @@ void weihnachten() { render(); } } -} +}*/ -void blink2013() { +/*void blink2013() { frame[0] = 14; frame[1] = 14; for(uint8_t i=0;i<30;i++) { @@ -266,86 +326,61 @@ void blink2013() { render(); } } -} +}*/ -ISR(TIMER0_COMPA_vect) -{ - if (timer_delay == 30) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert - OCR0A = 193; //Restliche Sekunde abwarten - } - if(timer_delay == 31) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler! - timer_delay = 0; - OCR0A = 254; - if(frame[5] > 0) { - frame[5] = frame[5]--; - } else { - frame[5] = 9; - if(frame[4] > 0) { - frame[4] = frame[4]--; - } else { - frame[4] = 5; - if(frame[3] > 0) { - frame[3] = frame[3]--; - } else { - frame[3] = 9; - if(frame[2] > 0) { - frame[2] = frame[2]--; - } else { - frame[2] = 9; - } - } - } - } - frame[0] = (frame[0]==14)?11:14; - /*frame[2] = (uint8_t)((MIN-j)/10); - frame[3] = (uint8_t)((MIN-j)%10); - frame[4] = (uint8_t)((59-i)/10); - frame[5] = (uint8_t)((59-i)%10); - frame[0] = (i%2==0)?11:14;*/ - } else { - timer_delay++; - } - if(timer_delay%3 == 0) - frame[6] = (frame[6]==0)?1:0; -} - - - -int main(void) { - DDRB = 0; - - while(1){ - //Warten bis Startknopf - start(); - //Timer 20 nach unten - timerdown(1); - while(1) { - render(); - if(frame[2] == 0 && frame[3] == 0 && frame[4] == 0 && frame[5] == 0) { - TIMSK = 0; - break; - } - } - /*for(int i=0;i<5;i++) { - weihnachten(); - } - blink2013();*/ - //Lauflicht 10s; - //endelauflicht(); - //Lauflicht Rand 10s - //enderand(); - //Blinklicht - endeblink(); - frame[0] = 10; +/*void endelauflicht() { + frame[0] = 10; + for(uint8_t j=0;j<41;j++) { frame[2] = 15; - frame[3] = 16; - frame[4] = 17; - frame[5] = 15; - while(1) { - render(); + frame[3] = 14; + frame[4] = 14; + frame[5] = 14; + for(uint8_t k=0;k<5;k++) { + render(); + } + frame[2] = 14; + frame[3] = 16; + for(uint8_t k=0;k<5;k++) { + render(); + } + frame[3] = 14; + frame[4] = 17; + for(uint8_t k=0;k<5;k++) { + render(); + } + frame[4] = 14; + frame[5] = 15; + for(uint8_t k=0;k<5;k++) { + render(); } - //Timer UP 1Min Start - timerup(2);//*/ } -} +}*/ + +/*void enderand() { + frame[0] = 10; + for(uint8_t j=0;j<41;j++) { + frame[2] = 14; + frame[3] = 14; + frame[4] = 14; + frame[5] = 15; + for(uint8_t k=0;k<5;k++) { + render(); + } + frame[5] = 14; + frame[3] = 16; + for(uint8_t k=0;k<5;k++) { + render(); + } + frame[3] = 14; + frame[4] = 17; + for(uint8_t k=0;k<5;k++) { + render(); + } + frame[2] = 15; + frame[4] = 14; + for(uint8_t k=0;k<5;k++) { + render(); + } + } +}*/ diff --git a/Timer/default/Timer.eep b/Timer/default/Timer.eep index 295202a..44142d1 100644 --- a/Timer/default/Timer.eep +++ b/Timer/default/Timer.eep @@ -1,2 +1,2 @@ -:04000003000001FEFA +:040000030000016E8A :00000001FF diff --git a/Timer/default/Timer.elf b/Timer/default/Timer.elf index 9e3b810197476842efb8c3c0e052e34da32f3b02..cf9e5b6f6c433d4c374254d378e25d76a5826b2d 100644 GIT binary patch literal 10480 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 literal 13681 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 A{{R30 diff --git a/Timer/default/Timer.hex b/Timer/default/Timer.hex index a1748b7..d3c9462 100644 --- a/Timer/default/Timer.hex +++ b/Timer/default/Timer.hex @@ -1,9 +1,9 @@ :1000000012C02AC029C028C027C026C025C024C0CD -:1000100023C022C021C020C01FC086C21DC01CC07A +:1000100023C022C021C020C01FC011C11DC01CC0F0 :100020001BC01AC019C011241FBECFEDCDBF10E0F8 -:10003000A0E6B0E0E6E7F6E002C005900D92A83930 -:10004000B107D9F710E0A8E9B0E001C01D92A939C5 -:10005000B107E1F7DBD20DC3D3CFE82FF0E0E05AD0 +:10003000A0E6B0E0E8E8F4E002C005900D92A63832 +:10004000B107D9F710E0A6E8B0E001C01D92A938C9 +:10005000B107E1F7E7D116C2D3CFE82FF0E0E05ABD :10006000FF4FA081AA0F7081770FE1E041E050E0DF :100070001FC08E2F90E02A2F30E00E2E02C0359543 :1000800027950A94E2F7019720FF08C09A0102C061 @@ -19,92 +19,60 @@ :10012000D89A87EC90E00197F1F700C00000D898CA :1001300008951F93CF93DF9317E0C0E0D0E0FE0156 :10014000E258FF4F8081612F88DF85E88A95F1F7BB -:10015000000021961150113091F780918400813078 -:1001600009F4DBDFDF91CF911F9108956AE075D22A -:1001700080938000909381001092820010928300FF -:10018000F89480B7826080BF83B7856083BF8EEFAD -:1001900086BF89B7816089BF78940895EF92FF92F6 -:1001A0000F931F939AE090937E00082F9AE0F92E08 -:1001B0001FC0802F6F2D51D28093800090938100BB -:1001C00010E0812F6F2D49D280938200909383009D -:1001D00010FF02C08EE001C08AE080937E0082E5BD -:1001E000E82EA7DFEA94E9F71F5F1C3351F70F5F92 -:1001F0000436F8F21F910F91FF90EF9008958C9ABA -:100200009498959A8FEF94E3ACE081509040A04091 -:10021000E1F700C000008599FECF0895DF92EF92CC -:10022000FF920F931F938AE080937E0009E24FE0D4 -:10023000F42E1EE030E1D32E21E1E22EF092800078 -:1002400010938100109382001093830072DF71DF9E -:1002500070DF6FDF6EDF10938000D092810069DF66 -:1002600068DF67DF66DF65DF10938100E092820060 -:1002700060DF5FDF5EDF5DDF5CDF10938200F092A6 -:10028000830057DF56DF55DF54DF53DF0150B1F6EF -:100290001F910F91FF90EF90DF900895DF92EF9202 -:1002A000FF920F931F938AE080937E0009E21EE085 -:1002B0007FE0F72E60E1D62E51E1E52E109380000D -:1002C0001093810010938200F092830032DF31DFBF -:1002D00030DF2FDF2EDF10938300D092810029DFE3 -:1002E00028DF27DF26DF25DF10938100E0928200E0 -:1002F00020DF1FDF1EDF1DDF1CDFF0928000109368 -:10030000820017DF16DF15DF14DF13DF0150B1F6AF -:100310001F910F91FF90EF90DF9008957F928F9241 -:100320009F92AF92BF92CF92DF92EF92FF920F9384 -:100330001F93CF93DF938AE080937E0006E010E066 -:10034000C0E0D0E02FE0C22E90E1A92E81E1B82ECE -:10035000B3E08B2EAEE0DA2EFAE09F2EC092800042 -:10036000A0928100B0928200C0928300EE2420C04F -:100370008E2D682D72D19923C9F4809180008E3022 -:1003800059F490927E00C0928000A0928100B092B9 -:100390008200C09283000AC0D0927E00D09280007A -:1003A000D0928100D0928200D0928300C2DEE3948A -:1003B0008E2D90E080179107DCF2D0928000D092D1 -:1003C0008100D0928200D09283007724E4E0EE2E68 -:1003D000F12CEC0EFD1E02C0ACDE7394872D90E074 -:1003E000E816F906CCF721960E5F1F4FCC32D105E7 -:1003F00009F0B4CFDF91CF911F910F91FF90EF9053 -:10040000DF90CF90BF90AF909F908F907F90089596 -:10041000EF92FF920F931F93DF93CF93CDB7DEB789 -:10042000C451CDBFDE011196E5E8F0E083E1019013 -:100430000D928150E1F78EE080937E0080937F00E3 -:10044000809380008093810080938200809383005A -:100450004CEF5EE0E52E8E010F5F1F4F22C09C0126 -:100460002F5F3F4F533148F4F801E50FF11D6081D4 -:1004700022583F4FF901608304C022583F4FF901D1 -:10048000E08201965F5F8530910549F73EE1F32EEA -:100490004C8B4FDEFA944C89FF20D1F74F5F4431EB -:1004A00021F0542F80E090E0DACFCC5ECDBFCF9129 -:1004B000DF911F910F91FF90EF900895CF92DF92FF -:1004C000EF92FF920F931F938EE080937E008093B4 -:1004D0007F000EE1F2E0CF2EDD24D394E3E0EE2E98 -:1004E0001EE0C092800010928100D0928200E092C3 -:1004F000830074E1F72E1DDEFA94E9F71093800073 -:1005000010938100109382001093830064E1F62E13 -:1005100010DEFA94E9F7015021F71F910F91FF9037 -:10052000EF90DF90CF9008951F920F920FB60F9229 -:1005300011246F937F938F939F93809198008E31B6 -:1005400011F481EC86BF809198008F3109F045C08D -:10055000109298008EEF86BF80918300882341F02F -:1005600080918300809383008150809383002BC00F -:1005700089E08093830090918200992341F08091DB -:100580008200809382008150809382001CC095E09D -:100590009093820090918100992341F08091810095 -:1005A000809381008150809381000DC080938100F1 -:1005B00090918000992329F08091800080938000A1 -:1005C00081508093800080917E008E3011F48BE00A -:1005D00001C08EE080937E0003C08F5F80939800FF -:1005E0008091980063E039D0992339F49091840088 -:1005F00081E0911180E0809384009F918F917F91A1 -:100600006F910F900FBE0F901F90189517BAF7DDDE -:1006100081E0ACDD8EDD809180008823D9F7809168 -:1006200081008823B9F780918200882399F780910F -:100630008300882379F719BE71DE8AE080937E00FB -:100640008FE08093800090E19093810091E19093FE -:100650008200809383006DDDFECF991B79E004C09A -:10066000991F961708F0961B881F7A95C9F78095F1 -:060670000895F894FFCF8D -:100676003F065B4F666D7D077F6F4070467600795B -:10068600375E71315C763C1E067739073E0F0E0EDB -:100696000E0E0E0E00121314150F0E16170F181548 -:0806A60010191A151B0F100EAC -:04000003000001FEFA +:10015000000021961150113091F718BA8091840057 +:10016000813009F4DADFDF91CF911F9108958C9AE5 +:100170009498959A8FEF94E3ACE081509040A04022 +:10018000E1F700C000008599FECF08956AE06ED1C6 +:1001900080938000909381001092820010928300DF +:1001A00081E080938700F89480B7826080BF83B736 +:1001B000856083BF8EEF86BF89B7816089BF7894E1 +:1001C0000895362F2AE0622F51D1809380009093BA +:1001D0008100832F4BD1809382009093830083E032 +:1001E00080938700F89480B7826080BF83B7856072 +:1001F00083BF8EEF86BF89B7816089BF78940895E9 +:100200008FE08093800090E19093810091E1909342 +:1002100082008093830081E08093840082E0809359 +:100220008700F89480B7826080BF83B7856083BF02 +:100230008EEF86BF89B7816089BF789408951F9239 +:100240000F920FB60F9211242F936F937F938F937A +:100250009F9380918700823009F446C0833009F46F +:1002600075C0813009F0D4C0809186008D3111F4C1 +:1002700083EA86BF809186008E3109F0C6C0109255 +:1002800086008EEF86BF80918300882331F08091B5 +:10029000830080938300815071C089E08093830044 +:1002A00090918200992331F08091820080938200A6 +:1002B000815072C095E090938200909181009923C3 +:1002C00031F08091810080938100815073C08093D0 +:1002D000810090918000992309F47AC08091800078 +:1002E00080938000815074C0809186008E3011F41C +:1002F00082E586BF809186008F3051F4109286008F +:100300008EEF86BF809188008F5F8093880003C046 +:100310008F5F8093860020918600822F63E0A6D0B5 +:10032000923029F42370223009F072C006C099235C +:1003300009F06EC0237009F06BC09091840081E0D9 +:10034000913009F480E08093840062C0809186003F +:100350008D3111F483EA86BF809186008E3109F0D9 +:1003600054C0109286008EEF86BF80918300893042 +:1003700040F480918300809383008F5F809383009B +:100380003AC01092830080918200853040F48091C1 +:100390008200809382008F5F809382002CC0109235 +:1003A000820080918100893040F4809181008093A7 +:1003B00081008F5F809381001EC010928100809128 +:1003C0008000853040F480918000809380008F5FB2 +:1003D0008093800010C01092800080917F0089304F +:1003E00040F480917F0080937F008F5F80937F0037 +:1003F00002C010927F0080917E008E3011F48BE05D +:1004000001C08EE080937E0003C08F5F80938600E2 +:100410009F918F917F916F912F910F900FBE0F90B1 +:100420001F90189517BAA3DE8EE1B0DE82DE8091B0 +:1004300080008823D9F7809181008823B9F78091C3 +:100440008200882399F780918300882379F719BE69 +:10045000D7DE6FDE809188008431D8F319BE109208 +:10046000840080E06AE0ADDE64DEFECF991B79E0B7 +:1004700004C0991F961708F0961B881F7A95C9F734 +:0804800080950895F894FFCF68 +:100488003F065B4F666D7D077F6F4070467600794B +:10049800375E71315C763C1E067739073E0F0E0ECB +:0604A8000E0E0E0E000016 +:040000030000016E8A :00000001FF diff --git a/Timer/default/Timer.lss b/Timer/default/Timer.lss index f6ed1ab..a4dd669 100644 --- a/Timer/default/Timer.lss +++ b/Timer/default/Timer.lss @@ -3,35 +3,33 @@ Timer.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .text 00000676 00000000 00000000 00000094 2**1 + 0 .text 00000488 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 00000038 00800060 00000676 0000070a 2**0 + 1 .data 00000026 00800060 00000488 0000051c 2**0 CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00000001 00800098 00800098 00000742 2**0 + 2 .bss 00000003 00800086 00800086 00000542 2**0 ALLOC - 3 .stab 000006b4 00000000 00000000 00000744 2**2 + 3 .stab 000006b4 00000000 00000000 00000544 2**2 CONTENTS, READONLY, DEBUGGING - 4 .stabstr 00000085 00000000 00000000 00000df8 2**0 + 4 .stabstr 00000085 00000000 00000000 00000bf8 2**0 CONTENTS, READONLY, DEBUGGING - 5 .debug_aranges 00000020 00000000 00000000 00000e7d 2**0 + 5 .debug_aranges 00000020 00000000 00000000 00000c7d 2**0 CONTENTS, READONLY, DEBUGGING - 6 .debug_pubnames 000000dd 00000000 00000000 00000e9d 2**0 + 6 .debug_pubnames 000000b5 00000000 00000000 00000c9d 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_info 000006eb 00000000 00000000 00000f7a 2**0 + 7 .debug_info 00000480 00000000 00000000 00000d52 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_abbrev 000001f5 00000000 00000000 00001665 2**0 + 8 .debug_abbrev 000001d4 00000000 00000000 000011d2 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_line 000008d7 00000000 00000000 0000185a 2**0 + 9 .debug_line 0000060f 00000000 00000000 000013a6 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_frame 000000e0 00000000 00000000 00002134 2**2 + 10 .debug_frame 000000a0 00000000 00000000 000019b8 2**2 CONTENTS, READONLY, DEBUGGING - 11 .debug_str 00000185 00000000 00000000 00002214 2**0 + 11 .debug_str 0000015f 00000000 00000000 00001a58 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_loc 00000503 00000000 00000000 00002399 2**0 + 12 .debug_loc 0000011b 00000000 00000000 00001bb7 2**0 CONTENTS, READONLY, DEBUGGING - 13 .debug_pubtypes 00000038 00000000 00000000 0000289c 2**0 - CONTENTS, READONLY, DEBUGGING - 14 .debug_ranges 00000018 00000000 00000000 000028d4 2**0 + 13 .debug_pubtypes 00000038 00000000 00000000 00001cd2 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -50,7 +48,7 @@ Disassembly of section .text: 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: 86 c2 rjmp .+1292 ; 0x528 <__vector_13> + 1a: 11 c1 rjmp .+546 ; 0x23e <__vector_13> 1c: 1d c0 rjmp .+58 ; 0x58 <__bad_interrupt> 1e: 1c c0 rjmp .+56 ; 0x58 <__bad_interrupt> 20: 1b c0 rjmp .+54 ; 0x58 <__bad_interrupt> @@ -67,18 +65,18 @@ Disassembly of section .text: 2e: 10 e0 ldi r17, 0x00 ; 0 30: a0 e6 ldi r26, 0x60 ; 96 32: b0 e0 ldi r27, 0x00 ; 0 - 34: e6 e7 ldi r30, 0x76 ; 118 - 36: f6 e0 ldi r31, 0x06 ; 6 + 34: e8 e8 ldi r30, 0x88 ; 136 + 36: f4 e0 ldi r31, 0x04 ; 4 38: 02 c0 rjmp .+4 ; 0x3e <__SP_H__> 3a: 05 90 lpm r0, Z+ 3c: 0d 92 st X+, r0 - 3e: a8 39 cpi r26, 0x98 ; 152 + 3e: a6 38 cpi r26, 0x86 ; 134 40: b1 07 cpc r27, r17 42: d9 f7 brne .-10 ; 0x3a <__CCP__+0x6> 00000044 <__do_clear_bss>: 44: 10 e0 ldi r17, 0x00 ; 0 - 46: a8 e9 ldi r26, 0x98 ; 152 + 46: a6 e8 ldi r26, 0x86 ; 134 48: b0 e0 ldi r27, 0x00 ; 0 4a: 01 c0 rjmp .+2 ; 0x4e <.do_clear_bss_start> @@ -86,19 +84,19 @@ Disassembly of section .text: 4c: 1d 92 st X+, r1 0000004e <.do_clear_bss_start>: - 4e: a9 39 cpi r26, 0x99 ; 153 + 4e: a9 38 cpi r26, 0x89 ; 137 50: b1 07 cpc r27, r17 52: e1 f7 brne .-8 ; 0x4c <.do_clear_bss_loop> - 54: db d2 rcall .+1462 ; 0x60c
- 56: 0d c3 rjmp .+1562 ; 0x672 <_exit> + 54: e7 d1 rcall .+974 ; 0x424
+ 56: 16 c2 rjmp .+1068 ; 0x484 <_exit> 00000058 <__bad_interrupt>: 58: d3 cf rjmp .-90 ; 0x0 <__vectors> 0000005a : - // 14,14,18,18,19,19,20,20}; -volatile uint8_t frame[7] = {14,14, 14,14, 14,14,0}; uint8_t timer_delay = 0; +uint8_t type = 0; +uint8_t running = 0; void display(uint8_t z, uint8_t p) { uint8_t ddr = (segs[z]<<1); @@ -119,7 +117,7 @@ void display(uint8_t z, uint8_t p) { ddr &= ~(1<<(i-1)); 6c: 41 e0 ldi r20, 0x01 ; 1 6e: 50 e0 ldi r21, 0x00 ; 0 -uint8_t timer_delay = 0; +uint8_t running = 0; void display(uint8_t z, uint8_t p) { uint8_t ddr = (segs[z]<<1); @@ -160,7 +158,7 @@ void display(uint8_t z, uint8_t p) { a8: c9 01 movw r24, r18 aa: 80 95 com r24 ac: a8 23 and r26, r24 -uint8_t timer_delay = 0; +uint8_t running = 0; void display(uint8_t z, uint8_t p) { uint8_t ddr = (segs[z]<<1); @@ -276,7 +274,9 @@ void beeb() { 128: f1 f7 brne .-4 ; 0x126 12a: 00 c0 rjmp .+0 ; 0x12c 12c: 00 00 nop + //display(0,6); _delay_us(100); + //display(14,6); PORTA &= ~(1 << PA0); 12e: d8 98 cbi 0x1b, 0 ; 27 } @@ -305,7 +305,7 @@ void render() { 150: 00 00 nop 152: 21 96 adiw r28, 0x01 ; 1 154: 11 50 subi r17, 0x01 ; 1 - _delay_us(100); + //display(14,6); PORTA &= ~(1 << PA0); } @@ -316,1057 +316,536 @@ void render() { display(frame[f],(5-f)+2); _delay_us(50); } + PORTB = 0; + 15a: 18 ba out 0x18, r1 ; 24 if(frame[6] == 1) { - 15a: 80 91 84 00 lds r24, 0x0084 - 15e: 81 30 cpi r24, 0x01 ; 1 - 160: 09 f4 brne .+2 ; 0x164 + 15c: 80 91 84 00 lds r24, 0x0084 + 160: 81 30 cpi r24, 0x01 ; 1 + 162: 09 f4 brne .+2 ; 0x166 beeb(); - 162: db df rcall .-74 ; 0x11a + 164: da df rcall .-76 ; 0x11a } } - 164: df 91 pop r29 - 166: cf 91 pop r28 - 168: 1f 91 pop r17 - 16a: 08 95 ret + 166: df 91 pop r29 + 168: cf 91 pop r28 + 16a: 1f 91 pop r17 + 16c: 08 95 ret -0000016c : - -void timerdown(uint8_t min) { - frame[2] = min/10; - 16c: 6a e0 ldi r22, 0x0A ; 10 - 16e: 75 d2 rcall .+1258 ; 0x65a <__udivmodqi4> - 170: 80 93 80 00 sts 0x0080, r24 - frame[3] = min%10; - 174: 90 93 81 00 sts 0x0081, r25 - frame[4] = 0; - 178: 10 92 82 00 sts 0x0082, r1 - frame[5] = 0; - 17c: 10 92 83 00 sts 0x0083, r1 - cli(); - 180: f8 94 cli - TCCR0A |= (1<254 Zählen - 18e: 8e ef ldi r24, 0xFE ; 254 - 190: 86 bf out 0x36, r24 ; 54 - TIMSK |= (1<: - -void timerup(uint8_t min) { - 19c: ef 92 push r14 - 19e: ff 92 push r15 - 1a0: 0f 93 push r16 - 1a2: 1f 93 push r17 - frame[0] = 10; - 1a4: 9a e0 ldi r25, 0x0A ; 10 - 1a6: 90 93 7e 00 sts 0x007E, r25 - for(uint8_t j=min;j<=99;j++) { - 1aa: 08 2f mov r16, r24 - frame[2] = (uint8_t)(j/10); - 1ac: 9a e0 ldi r25, 0x0A ; 10 - 1ae: f9 2e mov r15, r25 - sei(); -} - -void timerup(uint8_t min) { - frame[0] = 10; - for(uint8_t j=min;j<=99;j++) { - 1b0: 1f c0 rjmp .+62 ; 0x1f0 - frame[2] = (uint8_t)(j/10); - 1b2: 80 2f mov r24, r16 - 1b4: 6f 2d mov r22, r15 - 1b6: 51 d2 rcall .+1186 ; 0x65a <__udivmodqi4> - 1b8: 80 93 80 00 sts 0x0080, r24 - frame[3] = (uint8_t)(j%10); - 1bc: 90 93 81 00 sts 0x0081, r25 - for(uint8_t i=0;i<=59;i++) { - 1c0: 10 e0 ldi r17, 0x00 ; 0 - frame[4] = (uint8_t)(i/10); - 1c2: 81 2f mov r24, r17 - 1c4: 6f 2d mov r22, r15 - 1c6: 49 d2 rcall .+1170 ; 0x65a <__udivmodqi4> - 1c8: 80 93 82 00 sts 0x0082, r24 - frame[5] = (uint8_t)(i%10); - 1cc: 90 93 83 00 sts 0x0083, r25 - frame[0] = (i%2==0)?10:14; - 1d0: 10 ff sbrs r17, 0 - 1d2: 02 c0 rjmp .+4 ; 0x1d8 - 1d4: 8e e0 ldi r24, 0x0E ; 14 - 1d6: 01 c0 rjmp .+2 ; 0x1da - 1d8: 8a e0 ldi r24, 0x0A ; 10 - 1da: 80 93 7e 00 sts 0x007E, r24 - 1de: 82 e5 ldi r24, 0x52 ; 82 - 1e0: e8 2e mov r14, r24 - for(uint8_t k=0;k<82;k++) { - render(); - 1e2: a7 df rcall .-178 ; 0x132 - 1e4: ea 94 dec r14 - frame[3] = (uint8_t)(j%10); - for(uint8_t i=0;i<=59;i++) { - frame[4] = (uint8_t)(i/10); - frame[5] = (uint8_t)(i%10); - frame[0] = (i%2==0)?10:14; - for(uint8_t k=0;k<82;k++) { - 1e6: e9 f7 brne .-6 ; 0x1e2 -void timerup(uint8_t min) { - frame[0] = 10; - for(uint8_t j=min;j<=99;j++) { - frame[2] = (uint8_t)(j/10); - frame[3] = (uint8_t)(j%10); - for(uint8_t i=0;i<=59;i++) { - 1e8: 1f 5f subi r17, 0xFF ; 255 - 1ea: 1c 33 cpi r17, 0x3C ; 60 - 1ec: 51 f7 brne .-44 ; 0x1c2 - sei(); -} - -void timerup(uint8_t min) { - frame[0] = 10; - for(uint8_t j=min;j<=99;j++) { - 1ee: 0f 5f subi r16, 0xFF ; 255 - 1f0: 04 36 cpi r16, 0x64 ; 100 - 1f2: f8 f2 brcs .-66 ; 0x1b2 - for(uint8_t k=0;k<82;k++) { - render(); - } - } - } -} - 1f4: 1f 91 pop r17 - 1f6: 0f 91 pop r16 - 1f8: ff 90 pop r15 - 1fa: ef 90 pop r14 - 1fc: 08 95 ret - -000001fe : +0000016e : void start() { DDRD |= (1< - 212: 00 c0 rjmp .+0 ; 0x214 - 214: 00 00 nop + 174: 8f ef ldi r24, 0xFF ; 255 + 176: 94 e3 ldi r25, 0x34 ; 52 + 178: ac e0 ldi r26, 0x0C ; 12 + 17a: 81 50 subi r24, 0x01 ; 1 + 17c: 90 40 sbci r25, 0x00 ; 0 + 17e: a0 40 sbci r26, 0x00 ; 0 + 180: e1 f7 brne .-8 ; 0x17a + 182: 00 c0 rjmp .+0 ; 0x184 + 184: 00 00 nop _delay_ms(500); while(1) { if (!(PIND & (1< + 186: 85 99 sbic 0x10, 5 ; 16 + 188: fe cf rjmp .-4 ; 0x186 break; } } } - 21a: 08 95 ret + 18a: 08 95 ret -0000021c : +0000018c : -void endelauflicht() { - 21c: df 92 push r13 - 21e: ef 92 push r14 - 220: ff 92 push r15 - 222: 0f 93 push r16 - 224: 1f 93 push r17 - frame[0] = 10; - 226: 8a e0 ldi r24, 0x0A ; 10 - 228: 80 93 7e 00 sts 0x007E, r24 - 22c: 09 e2 ldi r16, 0x29 ; 41 - for(uint8_t j=0;j<41;j++) { - frame[2] = 15; - 22e: 4f e0 ldi r20, 0x0F ; 15 - 230: f4 2e mov r15, r20 - frame[3] = 14; - 232: 1e e0 ldi r17, 0x0E ; 14 - frame[5] = 14; - for(uint8_t k=0;k<5;k++) { - render(); - } - frame[2] = 14; - frame[3] = 16; - 234: 30 e1 ldi r19, 0x10 ; 16 - 236: d3 2e mov r13, r19 - for(uint8_t k=0;k<5;k++) { - render(); - } - frame[3] = 14; - frame[4] = 17; - 238: 21 e1 ldi r18, 0x11 ; 17 - 23a: e2 2e mov r14, r18 +void timerdown(uint8_t min) { + frame[2] = min/10; + 18c: 6a e0 ldi r22, 0x0A ; 10 + 18e: 6e d1 rcall .+732 ; 0x46c <__udivmodqi4> + 190: 80 93 80 00 sts 0x0080, r24 + frame[3] = min%10; + 194: 90 93 81 00 sts 0x0081, r25 + frame[4] = 0; + 198: 10 92 82 00 sts 0x0082, r1 + frame[5] = 0; + 19c: 10 92 83 00 sts 0x0083, r1 + type = 1; + 1a0: 81 e0 ldi r24, 0x01 ; 1 + 1a2: 80 93 87 00 sts 0x0087, r24 + cli(); + 1a6: f8 94 cli + TCCR0A |= (1<254 Zählen + 1b4: 8e ef ldi r24, 0xFE ; 254 + 1b6: 86 bf out 0x36, r24 ; 54 + TIMSK |= (1< - 24e: 71 df rcall .-286 ; 0x132 - 250: 70 df rcall .-288 ; 0x132 - 252: 6f df rcall .-290 ; 0x132 - 254: 6e df rcall .-292 ; 0x132 - } - frame[2] = 14; - 256: 10 93 80 00 sts 0x0080, r17 - frame[3] = 16; - 25a: d0 92 81 00 sts 0x0081, r13 - for(uint8_t k=0;k<5;k++) { - render(); - 25e: 69 df rcall .-302 ; 0x132 - 260: 68 df rcall .-304 ; 0x132 - 262: 67 df rcall .-306 ; 0x132 - 264: 66 df rcall .-308 ; 0x132 - 266: 65 df rcall .-310 ; 0x132 - } - frame[3] = 14; - 268: 10 93 81 00 sts 0x0081, r17 - frame[4] = 17; - 26c: e0 92 82 00 sts 0x0082, r14 - for(uint8_t k=0;k<5;k++) { - render(); - 270: 60 df rcall .-320 ; 0x132 - 272: 5f df rcall .-322 ; 0x132 - 274: 5e df rcall .-324 ; 0x132 - 276: 5d df rcall .-326 ; 0x132 - 278: 5c df rcall .-328 ; 0x132 - } - frame[4] = 14; - 27a: 10 93 82 00 sts 0x0082, r17 - frame[5] = 15; - 27e: f0 92 83 00 sts 0x0083, r15 - for(uint8_t k=0;k<5;k++) { - render(); - 282: 57 df rcall .-338 ; 0x132 - 284: 56 df rcall .-340 ; 0x132 - 286: 55 df rcall .-342 ; 0x132 - 288: 54 df rcall .-344 ; 0x132 - 28a: 53 df rcall .-346 ; 0x132 - 28c: 01 50 subi r16, 0x01 ; 1 - } +000001c2 : + +void timerup(uint8_t min, uint8_t sec) { + 1c2: 36 2f mov r19, r22 + frame[2] = min/10; + 1c4: 2a e0 ldi r18, 0x0A ; 10 + 1c6: 62 2f mov r22, r18 + 1c8: 51 d1 rcall .+674 ; 0x46c <__udivmodqi4> + 1ca: 80 93 80 00 sts 0x0080, r24 + frame[3] = min%10; + 1ce: 90 93 81 00 sts 0x0081, r25 + frame[4] = sec/10; + 1d2: 83 2f mov r24, r19 + 1d4: 4b d1 rcall .+662 ; 0x46c <__udivmodqi4> + 1d6: 80 93 82 00 sts 0x0082, r24 + frame[5] = sec%10; + 1da: 90 93 83 00 sts 0x0083, r25 + type = 3; + 1de: 83 e0 ldi r24, 0x03 ; 3 + 1e0: 80 93 87 00 sts 0x0087, r24 + cli(); + 1e4: f8 94 cli + TCCR0A |= (1<254 Zählen + 1f2: 8e ef ldi r24, 0xFE ; 254 + 1f4: 86 bf out 0x36, r24 ; 54 + TIMSK |= (1< - frame[5] = 15; - for(uint8_t k=0;k<5;k++) { - render(); - } - } -} - 290: 1f 91 pop r17 - 292: 0f 91 pop r16 - 294: ff 90 pop r15 - 296: ef 90 pop r14 - 298: df 90 pop r13 - 29a: 08 95 ret - -0000029c : - -void enderand() { - 29c: df 92 push r13 - 29e: ef 92 push r14 - 2a0: ff 92 push r15 - 2a2: 0f 93 push r16 - 2a4: 1f 93 push r17 - frame[0] = 10; - 2a6: 8a e0 ldi r24, 0x0A ; 10 - 2a8: 80 93 7e 00 sts 0x007E, r24 - 2ac: 09 e2 ldi r16, 0x29 ; 41 - for(uint8_t j=0;j<41;j++) { - frame[2] = 14; - 2ae: 1e e0 ldi r17, 0x0E ; 14 - frame[3] = 14; - frame[4] = 14; - frame[5] = 15; - 2b0: 7f e0 ldi r23, 0x0F ; 15 - 2b2: f7 2e mov r15, r23 - for(uint8_t k=0;k<5;k++) { - render(); - } - frame[5] = 14; - frame[3] = 16; - 2b4: 60 e1 ldi r22, 0x10 ; 16 - 2b6: d6 2e mov r13, r22 - for(uint8_t k=0;k<5;k++) { - render(); - } - frame[3] = 14; - frame[4] = 17; - 2b8: 51 e1 ldi r21, 0x11 ; 17 - 2ba: e5 2e mov r14, r21 -} - -void enderand() { - frame[0] = 10; - for(uint8_t j=0;j<41;j++) { - frame[2] = 14; - 2bc: 10 93 80 00 sts 0x0080, r17 - frame[3] = 14; - 2c0: 10 93 81 00 sts 0x0081, r17 - frame[4] = 14; - 2c4: 10 93 82 00 sts 0x0082, r17 - frame[5] = 15; - 2c8: f0 92 83 00 sts 0x0083, r15 - for(uint8_t k=0;k<5;k++) { - render(); - 2cc: 32 df rcall .-412 ; 0x132 - 2ce: 31 df rcall .-414 ; 0x132 - 2d0: 30 df rcall .-416 ; 0x132 - 2d2: 2f df rcall .-418 ; 0x132 - 2d4: 2e df rcall .-420 ; 0x132 - } - frame[5] = 14; - 2d6: 10 93 83 00 sts 0x0083, r17 - frame[3] = 16; - 2da: d0 92 81 00 sts 0x0081, r13 - for(uint8_t k=0;k<5;k++) { - render(); - 2de: 29 df rcall .-430 ; 0x132 - 2e0: 28 df rcall .-432 ; 0x132 - 2e2: 27 df rcall .-434 ; 0x132 - 2e4: 26 df rcall .-436 ; 0x132 - 2e6: 25 df rcall .-438 ; 0x132 - } - frame[3] = 14; - 2e8: 10 93 81 00 sts 0x0081, r17 - frame[4] = 17; - 2ec: e0 92 82 00 sts 0x0082, r14 - for(uint8_t k=0;k<5;k++) { - render(); - 2f0: 20 df rcall .-448 ; 0x132 - 2f2: 1f df rcall .-450 ; 0x132 - 2f4: 1e df rcall .-452 ; 0x132 - 2f6: 1d df rcall .-454 ; 0x132 - 2f8: 1c df rcall .-456 ; 0x132 - } - frame[2] = 15; - 2fa: f0 92 80 00 sts 0x0080, r15 - frame[4] = 14; - 2fe: 10 93 82 00 sts 0x0082, r17 - for(uint8_t k=0;k<5;k++) { - render(); - 302: 17 df rcall .-466 ; 0x132 - 304: 16 df rcall .-468 ; 0x132 - 306: 15 df rcall .-470 ; 0x132 - 308: 14 df rcall .-472 ; 0x132 - 30a: 13 df rcall .-474 ; 0x132 - 30c: 01 50 subi r16, 0x01 ; 1 - } -} - -void enderand() { - frame[0] = 10; - for(uint8_t j=0;j<41;j++) { - 30e: b1 f6 brne .-84 ; 0x2bc - frame[4] = 14; - for(uint8_t k=0;k<5;k++) { - render(); - } - } -} - 310: 1f 91 pop r17 - 312: 0f 91 pop r16 - 314: ff 90 pop r15 - 316: ef 90 pop r14 - 318: df 90 pop r13 - 31a: 08 95 ret - -0000031c : +00000200 : void endeblink() { - 31c: 7f 92 push r7 - 31e: 8f 92 push r8 - 320: 9f 92 push r9 - 322: af 92 push r10 - 324: bf 92 push r11 - 326: cf 92 push r12 - 328: df 92 push r13 - 32a: ef 92 push r14 - 32c: ff 92 push r15 - 32e: 0f 93 push r16 - 330: 1f 93 push r17 - 332: cf 93 push r28 - 334: df 93 push r29 - frame[0] = 10; - 336: 8a e0 ldi r24, 0x0A ; 10 - 338: 80 93 7e 00 sts 0x007E, r24 - 33c: 06 e0 ldi r16, 0x06 ; 6 - 33e: 10 e0 ldi r17, 0x00 ; 0 - 340: c0 e0 ldi r28, 0x00 ; 0 - 342: d0 e0 ldi r29, 0x00 ; 0 - for(uint8_t j=0;j<44;j++) { - frame[2] = 15; - 344: 2f e0 ldi r18, 0x0F ; 15 - 346: c2 2e mov r12, r18 - frame[3] = 16; - 348: 90 e1 ldi r25, 0x10 ; 16 - 34a: a9 2e mov r10, r25 - frame[4] = 17; - 34c: 81 e1 ldi r24, 0x11 ; 17 - 34e: b8 2e mov r11, r24 - frame[5] = 15; - for(uint8_t k=0;k<6+(j*2);k++) { - if(k%3==0) { - 350: b3 e0 ldi r27, 0x03 ; 3 - 352: 8b 2e mov r8, r27 - frame[2] = 15; - frame[3] = 16; - frame[4] = 17; - frame[5] = 15; - } else { - frame[0] = 14; - 354: ae e0 ldi r26, 0x0E ; 14 - 356: da 2e mov r13, r26 - frame[4] = 17; - frame[5] = 15; - for(uint8_t k=0;k<6+(j*2);k++) { - if(k%3==0) { - if(frame[2] == 14) { - frame[0] = 10; - 358: fa e0 ldi r31, 0x0A ; 10 - 35a: 9f 2e mov r9, r31 + frame[2] = 15; + 200: 8f e0 ldi r24, 0x0F ; 15 + 202: 80 93 80 00 sts 0x0080, r24 + frame[3] = 16; + 206: 90 e1 ldi r25, 0x10 ; 16 + 208: 90 93 81 00 sts 0x0081, r25 + frame[4] = 17; + 20c: 91 e1 ldi r25, 0x11 ; 17 + 20e: 90 93 82 00 sts 0x0082, r25 + frame[5] = 15; + 212: 80 93 83 00 sts 0x0083, r24 + frame[6] = 1; + 216: 81 e0 ldi r24, 0x01 ; 1 + 218: 80 93 84 00 sts 0x0084, r24 + type = 2; + 21c: 82 e0 ldi r24, 0x02 ; 2 + 21e: 80 93 87 00 sts 0x0087, r24 + cli(); + 222: f8 94 cli + TCCR0A |= (1<254 Zählen + 230: 8e ef ldi r24, 0xFE ; 254 + 232: 86 bf out 0x36, r24 ; 54 + TIMSK |= (1< - if(k%3==0) { - 370: 8e 2d mov r24, r14 - 372: 68 2d mov r22, r8 - 374: 72 d1 rcall .+740 ; 0x65a <__udivmodqi4> - 376: 99 23 and r25, r25 - 378: c9 f4 brne .+50 ; 0x3ac - if(frame[2] == 14) { - 37a: 80 91 80 00 lds r24, 0x0080 - 37e: 8e 30 cpi r24, 0x0E ; 14 - 380: 59 f4 brne .+22 ; 0x398 - frame[0] = 10; - 382: 90 92 7e 00 sts 0x007E, r9 - frame[2] = 15; - 386: c0 92 80 00 sts 0x0080, r12 - frame[3] = 16; - 38a: a0 92 81 00 sts 0x0081, r10 - frame[4] = 17; - 38e: b0 92 82 00 sts 0x0082, r11 - frame[5] = 15; - 392: c0 92 83 00 sts 0x0083, r12 - 396: 0a c0 rjmp .+20 ; 0x3ac - } else { - frame[0] = 14; - 398: d0 92 7e 00 sts 0x007E, r13 - frame[2] = 14; - 39c: d0 92 80 00 sts 0x0080, r13 - frame[3] = 14; - 3a0: d0 92 81 00 sts 0x0081, r13 - frame[4] = 14; - 3a4: d0 92 82 00 sts 0x0082, r13 - frame[5] = 14; - 3a8: d0 92 83 00 sts 0x0083, r13 - } - } - render(); - 3ac: c2 de rcall .-636 ; 0x132 - for(uint8_t j=0;j<44;j++) { - frame[2] = 15; - frame[3] = 16; - frame[4] = 17; - frame[5] = 15; - for(uint8_t k=0;k<6+(j*2);k++) { - 3ae: e3 94 inc r14 - 3b0: 8e 2d mov r24, r14 - 3b2: 90 e0 ldi r25, 0x00 ; 0 - 3b4: 80 17 cp r24, r16 - 3b6: 91 07 cpc r25, r17 - 3b8: dc f2 brlt .-74 ; 0x370 - frame[5] = 14; - } - } - render(); - } - frame[2] = 14; - 3ba: d0 92 80 00 sts 0x0080, r13 - frame[3] = 14; - 3be: d0 92 81 00 sts 0x0081, r13 - frame[4] = 14; - 3c2: d0 92 82 00 sts 0x0082, r13 - frame[5] = 14; - 3c6: d0 92 83 00 sts 0x0083, r13 - for(uint8_t k=0;k<5+j;k++) { - 3ca: 77 24 eor r7, r7 - render(); - } - } -} - -void endeblink() { - 3cc: e4 e0 ldi r30, 0x04 ; 4 - 3ce: ee 2e mov r14, r30 - 3d0: f1 2c mov r15, r1 - 3d2: ec 0e add r14, r28 - 3d4: fd 1e adc r15, r29 - } - frame[2] = 14; - frame[3] = 14; - frame[4] = 14; - frame[5] = 14; - for(uint8_t k=0;k<5+j;k++) { - 3d6: 02 c0 rjmp .+4 ; 0x3dc - render(); - 3d8: ac de rcall .-680 ; 0x132 - } - frame[2] = 14; - frame[3] = 14; - frame[4] = 14; - frame[5] = 14; - for(uint8_t k=0;k<5+j;k++) { - 3da: 73 94 inc r7 - 3dc: 87 2d mov r24, r7 - 3de: 90 e0 ldi r25, 0x00 ; 0 - 3e0: e8 16 cp r14, r24 - 3e2: f9 06 cpc r15, r25 - 3e4: cc f7 brge .-14 ; 0x3d8 - 3e6: 21 96 adiw r28, 0x01 ; 1 - 3e8: 0e 5f subi r16, 0xFE ; 254 - 3ea: 1f 4f sbci r17, 0xFF ; 255 - } -} - -void endeblink() { - frame[0] = 10; - for(uint8_t j=0;j<44;j++) { - 3ec: cc 32 cpi r28, 0x2C ; 44 - 3ee: d1 05 cpc r29, r1 - 3f0: 09 f0 breq .+2 ; 0x3f4 - 3f2: b4 cf rjmp .-152 ; 0x35c - frame[5] = 14; - for(uint8_t k=0;k<5+j;k++) { - render(); - } - } -} - 3f4: df 91 pop r29 - 3f6: cf 91 pop r28 - 3f8: 1f 91 pop r17 - 3fa: 0f 91 pop r16 - 3fc: ff 90 pop r15 - 3fe: ef 90 pop r14 - 400: df 90 pop r13 - 402: cf 90 pop r12 - 404: bf 90 pop r11 - 406: af 90 pop r10 - 408: 9f 90 pop r9 - 40a: 8f 90 pop r8 - 40c: 7f 90 pop r7 - 40e: 08 95 ret - -00000410 : - -void weihnachten() { - 410: ef 92 push r14 - 412: ff 92 push r15 - 414: 0f 93 push r16 - 416: 1f 93 push r17 - 418: df 93 push r29 - 41a: cf 93 push r28 - 41c: cd b7 in r28, 0x3d ; 61 - 41e: de b7 in r29, 0x3e ; 62 - 420: c4 51 subi r28, 0x14 ; 20 - 422: cd bf out 0x3d, r28 ; 61 - uint8_t text1[] = {18,19,20,21,15,14, //Frohe - 424: de 01 movw r26, r28 - 426: 11 96 adiw r26, 0x01 ; 1 - 428: e5 e8 ldi r30, 0x85 ; 133 - 42a: f0 e0 ldi r31, 0x00 ; 0 - 42c: 83 e1 ldi r24, 0x13 ; 19 - 42e: 01 90 ld r0, Z+ - 430: 0d 92 st X+, r0 - 432: 81 50 subi r24, 0x01 ; 1 - 434: e1 f7 brne .-8 ; 0x42e - 22,23,15,24,21,16,25,26,21,27,15,16,14}; //Weihnachten - frame[0] = 14; - 436: 8e e0 ldi r24, 0x0E ; 14 - 438: 80 93 7e 00 sts 0x007E, r24 - frame[1] = 14; - 43c: 80 93 7f 00 sts 0x007F, r24 - frame[2] = 14; - 440: 80 93 80 00 sts 0x0080, r24 - frame[3] = 14; - 444: 80 93 81 00 sts 0x0081, r24 - frame[4] = 14; - 448: 80 93 82 00 sts 0x0082, r24 - frame[5] = 14; - 44c: 80 93 83 00 sts 0x0083, r24 - 450: 4c ef ldi r20, 0xFC ; 252 - for(uint8_t j=0;j<5;j++) { - uint8_t z = i+j-4; - if(z>=0 && z < sizeof(text1)) { - frame[j+1] = text1[z]; - } else { - frame[j+1] = 14; - 452: 5e e0 ldi r21, 0x0E ; 14 - 454: e5 2e mov r14, r21 - frame[5] = 14; - for(uint8_t i=0;i=0 && z < sizeof(text1)) { - frame[j+1] = text1[z]; - 456: 8e 01 movw r16, r28 - 458: 0f 5f subi r16, 0xFF ; 255 - 45a: 1f 4f sbci r17, 0xFF ; 255 - 45c: 22 c0 rjmp .+68 ; 0x4a2 - 45e: 9c 01 movw r18, r24 - 460: 2f 5f subi r18, 0xFF ; 255 - 462: 3f 4f sbci r19, 0xFF ; 255 - frame[4] = 14; - frame[5] = 14; - for(uint8_t i=0;i=0 && z < sizeof(text1)) { - 464: 53 31 cpi r21, 0x13 ; 19 - 466: 48 f4 brcc .+18 ; 0x47a - frame[j+1] = text1[z]; - 468: f8 01 movw r30, r16 - 46a: e5 0f add r30, r21 - 46c: f1 1d adc r31, r1 - 46e: 60 81 ld r22, Z - 470: 22 58 subi r18, 0x82 ; 130 - 472: 3f 4f sbci r19, 0xFF ; 255 - 474: f9 01 movw r30, r18 - 476: 60 83 st Z, r22 - 478: 04 c0 rjmp .+8 ; 0x482 - } else { - frame[j+1] = 14; - 47a: 22 58 subi r18, 0x82 ; 130 - 47c: 3f 4f sbci r19, 0xFF ; 255 - 47e: f9 01 movw r30, r18 - 480: e0 82 st Z, r14 - 482: 01 96 adiw r24, 0x01 ; 1 - 484: 5f 5f subi r21, 0xFF ; 255 - frame[2] = 14; - frame[3] = 14; - frame[4] = 14; - frame[5] = 14; - for(uint8_t i=0;i - 48c: 3e e1 ldi r19, 0x1E ; 30 - 48e: f3 2e mov r15, r19 - } else { - frame[j+1] = 14; - } - } - for(uint8_t k=0;k<30;k++) { - render(); - 490: 4c 8b std Y+20, r20 ; 0x14 - 492: 4f de rcall .-866 ; 0x132 - 494: fa 94 dec r15 - frame[j+1] = text1[z]; - } else { - frame[j+1] = 14; - } - } - for(uint8_t k=0;k<30;k++) { - 496: 4c 89 ldd r20, Y+20 ; 0x14 - 498: ff 20 and r15, r15 - 49a: d1 f7 brne .-12 ; 0x490 - 49c: 4f 5f subi r20, 0xFF ; 255 - frame[1] = 14; - frame[2] = 14; - frame[3] = 14; - frame[4] = 14; - frame[5] = 14; - for(uint8_t i=0;i - render(); - } - } -} - -void weihnachten() { - 4a2: 54 2f mov r21, r20 - 4a4: 80 e0 ldi r24, 0x00 ; 0 - 4a6: 90 e0 ldi r25, 0x00 ; 0 - 4a8: da cf rjmp .-76 ; 0x45e - } - for(uint8_t k=0;k<30;k++) { - render(); - } - } -} - 4aa: cc 5e subi r28, 0xEC ; 236 - 4ac: cd bf out 0x3d, r28 ; 61 - 4ae: cf 91 pop r28 - 4b0: df 91 pop r29 - 4b2: 1f 91 pop r17 - 4b4: 0f 91 pop r16 - 4b6: ff 90 pop r15 - 4b8: ef 90 pop r14 - 4ba: 08 95 ret - -000004bc : - -void blink2013() { - 4bc: cf 92 push r12 - 4be: df 92 push r13 - 4c0: ef 92 push r14 - 4c2: ff 92 push r15 - 4c4: 0f 93 push r16 - 4c6: 1f 93 push r17 - frame[0] = 14; - 4c8: 8e e0 ldi r24, 0x0E ; 14 - 4ca: 80 93 7e 00 sts 0x007E, r24 - frame[1] = 14; - 4ce: 80 93 7f 00 sts 0x007F, r24 - 4d2: 0e e1 ldi r16, 0x1E ; 30 - for(uint8_t i=0;i<30;i++) { - frame[2] = 2; - 4d4: f2 e0 ldi r31, 0x02 ; 2 - 4d6: cf 2e mov r12, r31 - frame[3] = 0; - frame[4] = 1; - 4d8: dd 24 eor r13, r13 - 4da: d3 94 inc r13 - frame[5] = 3; - 4dc: e3 e0 ldi r30, 0x03 ; 3 - 4de: ee 2e mov r14, r30 - for(uint8_t k=0;k<20;k++) { - render(); - } - frame[2] = 14; - 4e0: 1e e0 ldi r17, 0x0E ; 14 - -void blink2013() { - frame[0] = 14; - frame[1] = 14; - for(uint8_t i=0;i<30;i++) { - frame[2] = 2; - 4e2: c0 92 80 00 sts 0x0080, r12 - frame[3] = 0; - 4e6: 10 92 81 00 sts 0x0081, r1 - frame[4] = 1; - 4ea: d0 92 82 00 sts 0x0082, r13 - frame[5] = 3; - 4ee: e0 92 83 00 sts 0x0083, r14 - 4f2: 74 e1 ldi r23, 0x14 ; 20 - 4f4: f7 2e mov r15, r23 - for(uint8_t k=0;k<20;k++) { - render(); - 4f6: 1d de rcall .-966 ; 0x132 - 4f8: fa 94 dec r15 - for(uint8_t i=0;i<30;i++) { - frame[2] = 2; - frame[3] = 0; - frame[4] = 1; - frame[5] = 3; - for(uint8_t k=0;k<20;k++) { - 4fa: e9 f7 brne .-6 ; 0x4f6 - render(); - } - frame[2] = 14; - 4fc: 10 93 80 00 sts 0x0080, r17 - frame[3] = 14; - 500: 10 93 81 00 sts 0x0081, r17 - frame[4] = 14; - 504: 10 93 82 00 sts 0x0082, r17 - frame[5] = 14; - 508: 10 93 83 00 sts 0x0083, r17 - 50c: 64 e1 ldi r22, 0x14 ; 20 - 50e: f6 2e mov r15, r22 - for(uint8_t k=0;k<20;k++) { - render(); - 510: 10 de rcall .-992 ; 0x132 - 512: fa 94 dec r15 - } - frame[2] = 14; - frame[3] = 14; - frame[4] = 14; - frame[5] = 14; - for(uint8_t k=0;k<20;k++) { - 514: e9 f7 brne .-6 ; 0x510 - 516: 01 50 subi r16, 0x01 ; 1 -} - -void blink2013() { - frame[0] = 14; - frame[1] = 14; - for(uint8_t i=0;i<30;i++) { - 518: 21 f7 brne .-56 ; 0x4e2 - frame[5] = 14; - for(uint8_t k=0;k<20;k++) { - render(); - } - } -} - 51a: 1f 91 pop r17 - 51c: 0f 91 pop r16 - 51e: ff 90 pop r15 - 520: ef 90 pop r14 - 522: df 90 pop r13 - 524: cf 90 pop r12 - 526: 08 95 ret - -00000528 <__vector_13>: - +0000023e <__vector_13>: ISR(TIMER0_COMPA_vect) { - 528: 1f 92 push r1 - 52a: 0f 92 push r0 - 52c: 0f b6 in r0, 0x3f ; 63 - 52e: 0f 92 push r0 - 530: 11 24 eor r1, r1 - 532: 6f 93 push r22 - 534: 7f 93 push r23 - 536: 8f 93 push r24 - 538: 9f 93 push r25 - if (timer_delay == 30) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert - 53a: 80 91 98 00 lds r24, 0x0098 - 53e: 8e 31 cpi r24, 0x1E ; 30 - 540: 11 f4 brne .+4 ; 0x546 <__vector_13+0x1e> - OCR0A = 193; //Restliche Sekunde abwarten - 542: 81 ec ldi r24, 0xC1 ; 193 - 544: 86 bf out 0x36, r24 ; 54 - } - if(timer_delay == 31) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler! - 546: 80 91 98 00 lds r24, 0x0098 - 54a: 8f 31 cpi r24, 0x1F ; 31 - 54c: 09 f0 breq .+2 ; 0x550 <__vector_13+0x28> - 54e: 45 c0 rjmp .+138 ; 0x5da <__vector_13+0xb2> - timer_delay = 0; - 550: 10 92 98 00 sts 0x0098, r1 - OCR0A = 254; - 554: 8e ef ldi r24, 0xFE ; 254 - 556: 86 bf out 0x36, r24 ; 54 - if(frame[5] > 0) { - 558: 80 91 83 00 lds r24, 0x0083 - 55c: 88 23 and r24, r24 - 55e: 41 f0 breq .+16 ; 0x570 <__vector_13+0x48> - frame[5] = frame[5]--; - 560: 80 91 83 00 lds r24, 0x0083 - 564: 80 93 83 00 sts 0x0083, r24 - 568: 81 50 subi r24, 0x01 ; 1 - 56a: 80 93 83 00 sts 0x0083, r24 - 56e: 2b c0 rjmp .+86 ; 0x5c6 <__vector_13+0x9e> - } else { - frame[5] = 9; - 570: 89 e0 ldi r24, 0x09 ; 9 - 572: 80 93 83 00 sts 0x0083, r24 - if(frame[4] > 0) { - 576: 90 91 82 00 lds r25, 0x0082 - 57a: 99 23 and r25, r25 - 57c: 41 f0 breq .+16 ; 0x58e <__vector_13+0x66> - frame[4] = frame[4]--; - 57e: 80 91 82 00 lds r24, 0x0082 - 582: 80 93 82 00 sts 0x0082, r24 - 586: 81 50 subi r24, 0x01 ; 1 - 588: 80 93 82 00 sts 0x0082, r24 - 58c: 1c c0 rjmp .+56 ; 0x5c6 <__vector_13+0x9e> - } else { - frame[4] = 5; - 58e: 95 e0 ldi r25, 0x05 ; 5 - 590: 90 93 82 00 sts 0x0082, r25 - if(frame[3] > 0) { - 594: 90 91 81 00 lds r25, 0x0081 - 598: 99 23 and r25, r25 - 59a: 41 f0 breq .+16 ; 0x5ac <__vector_13+0x84> - frame[3] = frame[3]--; - 59c: 80 91 81 00 lds r24, 0x0081 - 5a0: 80 93 81 00 sts 0x0081, r24 - 5a4: 81 50 subi r24, 0x01 ; 1 - 5a6: 80 93 81 00 sts 0x0081, r24 - 5aa: 0d c0 rjmp .+26 ; 0x5c6 <__vector_13+0x9e> + 23e: 1f 92 push r1 + 240: 0f 92 push r0 + 242: 0f b6 in r0, 0x3f ; 63 + 244: 0f 92 push r0 + 246: 11 24 eor r1, r1 + 248: 2f 93 push r18 + 24a: 6f 93 push r22 + 24c: 7f 93 push r23 + 24e: 8f 93 push r24 + 250: 9f 93 push r25 + switch(type) { + 252: 80 91 87 00 lds r24, 0x0087 + 256: 82 30 cpi r24, 0x02 ; 2 + 258: 09 f4 brne .+2 ; 0x25c <__vector_13+0x1e> + 25a: 46 c0 rjmp .+140 ; 0x2e8 <__vector_13+0xaa> + 25c: 83 30 cpi r24, 0x03 ; 3 + 25e: 09 f4 brne .+2 ; 0x262 <__vector_13+0x24> + 260: 75 c0 rjmp .+234 ; 0x34c <__vector_13+0x10e> + 262: 81 30 cpi r24, 0x01 ; 1 + 264: 09 f0 breq .+2 ; 0x268 <__vector_13+0x2a> + 266: d4 c0 rjmp .+424 ; 0x410 <__vector_13+0x1d2> + case 1: { + if (timer_delay == 29) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert + 268: 80 91 86 00 lds r24, 0x0086 + 26c: 8d 31 cpi r24, 0x1D ; 29 + 26e: 11 f4 brne .+4 ; 0x274 <__vector_13+0x36> + OCR0A = 163; //Restliche Sekunde abwarten + 270: 83 ea ldi r24, 0xA3 ; 163 + 272: 86 bf out 0x36, r24 ; 54 + } + if(timer_delay == 30) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler! + 274: 80 91 86 00 lds r24, 0x0086 + 278: 8e 31 cpi r24, 0x1E ; 30 + 27a: 09 f0 breq .+2 ; 0x27e <__vector_13+0x40> + 27c: c6 c0 rjmp .+396 ; 0x40a <__vector_13+0x1cc> + timer_delay = 0; + 27e: 10 92 86 00 sts 0x0086, r1 + OCR0A = 254; + 282: 8e ef ldi r24, 0xFE ; 254 + 284: 86 bf out 0x36, r24 ; 54 + if(frame[5] > 0) { + 286: 80 91 83 00 lds r24, 0x0083 + 28a: 88 23 and r24, r24 + 28c: 31 f0 breq .+12 ; 0x29a <__vector_13+0x5c> + frame[5] = frame[5]--; + 28e: 80 91 83 00 lds r24, 0x0083 + 292: 80 93 83 00 sts 0x0083, r24 + 296: 81 50 subi r24, 0x01 ; 1 + 298: 71 c0 rjmp .+226 ; 0x37c <__vector_13+0x13e> } else { - frame[3] = 9; - 5ac: 80 93 81 00 sts 0x0081, r24 - if(frame[2] > 0) { - 5b0: 90 91 80 00 lds r25, 0x0080 - 5b4: 99 23 and r25, r25 - 5b6: 29 f0 breq .+10 ; 0x5c2 <__vector_13+0x9a> - frame[2] = frame[2]--; - 5b8: 80 91 80 00 lds r24, 0x0080 - 5bc: 80 93 80 00 sts 0x0080, r24 - 5c0: 81 50 subi r24, 0x01 ; 1 + frame[5] = 9; + 29a: 89 e0 ldi r24, 0x09 ; 9 + 29c: 80 93 83 00 sts 0x0083, r24 + if(frame[4] > 0) { + 2a0: 90 91 82 00 lds r25, 0x0082 + 2a4: 99 23 and r25, r25 + 2a6: 31 f0 breq .+12 ; 0x2b4 <__vector_13+0x76> + frame[4] = frame[4]--; + 2a8: 80 91 82 00 lds r24, 0x0082 + 2ac: 80 93 82 00 sts 0x0082, r24 + 2b0: 81 50 subi r24, 0x01 ; 1 + 2b2: 72 c0 rjmp .+228 ; 0x398 <__vector_13+0x15a> } else { - frame[2] = 9; - 5c2: 80 93 80 00 sts 0x0080, r24 + frame[4] = 5; + 2b4: 95 e0 ldi r25, 0x05 ; 5 + 2b6: 90 93 82 00 sts 0x0082, r25 + if(frame[3] > 0) { + 2ba: 90 91 81 00 lds r25, 0x0081 + 2be: 99 23 and r25, r25 + 2c0: 31 f0 breq .+12 ; 0x2ce <__vector_13+0x90> + frame[3] = frame[3]--; + 2c2: 80 91 81 00 lds r24, 0x0081 + 2c6: 80 93 81 00 sts 0x0081, r24 + 2ca: 81 50 subi r24, 0x01 ; 1 + 2cc: 73 c0 rjmp .+230 ; 0x3b4 <__vector_13+0x176> + } else { + frame[3] = 9; + 2ce: 80 93 81 00 sts 0x0081, r24 + if(frame[2] > 0) { + 2d2: 90 91 80 00 lds r25, 0x0080 + 2d6: 99 23 and r25, r25 + 2d8: 09 f4 brne .+2 ; 0x2dc <__vector_13+0x9e> + 2da: 7a c0 rjmp .+244 ; 0x3d0 <__vector_13+0x192> + frame[2] = frame[2]--; + 2dc: 80 91 80 00 lds r24, 0x0080 + 2e0: 80 93 80 00 sts 0x0080, r24 + 2e4: 81 50 subi r24, 0x01 ; 1 + 2e6: 74 c0 rjmp .+232 ; 0x3d0 <__vector_13+0x192> + timer_delay++; + } + break; + } + case 2: { + if (timer_delay == 14) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert + 2e8: 80 91 86 00 lds r24, 0x0086 + 2ec: 8e 30 cpi r24, 0x0E ; 14 + 2ee: 11 f4 brne .+4 ; 0x2f4 <__vector_13+0xb6> + OCR0A = 82; //Restliche Sekunde abwarten + 2f0: 82 e5 ldi r24, 0x52 ; 82 + 2f2: 86 bf out 0x36, r24 ; 54 + } + if(timer_delay == 15) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler! + 2f4: 80 91 86 00 lds r24, 0x0086 + 2f8: 8f 30 cpi r24, 0x0F ; 15 + 2fa: 51 f4 brne .+20 ; 0x310 <__vector_13+0xd2> + timer_delay = 0; + 2fc: 10 92 86 00 sts 0x0086, r1 + OCR0A = 254; + 300: 8e ef ldi r24, 0xFE ; 254 + 302: 86 bf out 0x36, r24 ; 54 + running++; + 304: 80 91 88 00 lds r24, 0x0088 + 308: 8f 5f subi r24, 0xFF ; 255 + 30a: 80 93 88 00 sts 0x0088, r24 + 30e: 03 c0 rjmp .+6 ; 0x316 <__vector_13+0xd8> + } else { + timer_delay++; + 310: 8f 5f subi r24, 0xFF ; 255 + 312: 80 93 86 00 sts 0x0086, r24 + } + if(timer_delay%3 == 2) + 316: 20 91 86 00 lds r18, 0x0086 + 31a: 82 2f mov r24, r18 + 31c: 63 e0 ldi r22, 0x03 ; 3 + 31e: a6 d0 rcall .+332 ; 0x46c <__udivmodqi4> + 320: 92 30 cpi r25, 0x02 ; 2 + 322: 29 f4 brne .+10 ; 0x32e <__vector_13+0xf0> + if(timer_delay%4 == 2) + 324: 23 70 andi r18, 0x03 ; 3 + 326: 22 30 cpi r18, 0x02 ; 2 + 328: 09 f0 breq .+2 ; 0x32c <__vector_13+0xee> + 32a: 72 c0 rjmp .+228 ; 0x410 <__vector_13+0x1d2> + 32c: 06 c0 rjmp .+12 ; 0x33a <__vector_13+0xfc> + frame[6] = (frame[6]==1)?0:1; + if(timer_delay%3 == 0) + 32e: 99 23 and r25, r25 + 330: 09 f0 breq .+2 ; 0x334 <__vector_13+0xf6> + 332: 6e c0 rjmp .+220 ; 0x410 <__vector_13+0x1d2> + if(timer_delay%4 == 0) + 334: 23 70 andi r18, 0x03 ; 3 + 336: 09 f0 breq .+2 ; 0x33a <__vector_13+0xfc> + 338: 6b c0 rjmp .+214 ; 0x410 <__vector_13+0x1d2> + frame[6] = (frame[6]==1)?0:1; + 33a: 90 91 84 00 lds r25, 0x0084 + 33e: 81 e0 ldi r24, 0x01 ; 1 + 340: 91 30 cpi r25, 0x01 ; 1 + 342: 09 f4 brne .+2 ; 0x346 <__vector_13+0x108> + 344: 80 e0 ldi r24, 0x00 ; 0 + 346: 80 93 84 00 sts 0x0084, r24 + 34a: 62 c0 rjmp .+196 ; 0x410 <__vector_13+0x1d2> + break; + } + case 3: { + if (timer_delay == 29) { //wenn Zustand mindestens 30x32,512ms = 0,97536sec. andauert + 34c: 80 91 86 00 lds r24, 0x0086 + 350: 8d 31 cpi r24, 0x1D ; 29 + 352: 11 f4 brne .+4 ; 0x358 <__vector_13+0x11a> + OCR0A = 163; //Restliche Sekunde abwarten + 354: 83 ea ldi r24, 0xA3 ; 163 + 356: 86 bf out 0x36, r24 ; 54 + } + if(timer_delay == 30) { //wenn Zustand 1,00006400s gedauert hat ... 64µs Fehler! + 358: 80 91 86 00 lds r24, 0x0086 + 35c: 8e 31 cpi r24, 0x1E ; 30 + 35e: 09 f0 breq .+2 ; 0x362 <__vector_13+0x124> + 360: 54 c0 rjmp .+168 ; 0x40a <__vector_13+0x1cc> + timer_delay = 0; + 362: 10 92 86 00 sts 0x0086, r1 + OCR0A = 254; + 366: 8e ef ldi r24, 0xFE ; 254 + 368: 86 bf out 0x36, r24 ; 54 + if(frame[5] < 9) { + 36a: 80 91 83 00 lds r24, 0x0083 + 36e: 89 30 cpi r24, 0x09 ; 9 + 370: 40 f4 brcc .+16 ; 0x382 <__vector_13+0x144> + frame[5] = frame[5]++; + 372: 80 91 83 00 lds r24, 0x0083 + 376: 80 93 83 00 sts 0x0083, r24 + 37a: 8f 5f subi r24, 0xFF ; 255 + 37c: 80 93 83 00 sts 0x0083, r24 + 380: 3a c0 rjmp .+116 ; 0x3f6 <__vector_13+0x1b8> + } else { + frame[5] = 0; + 382: 10 92 83 00 sts 0x0083, r1 + if(frame[4] < 5) { + 386: 80 91 82 00 lds r24, 0x0082 + 38a: 85 30 cpi r24, 0x05 ; 5 + 38c: 40 f4 brcc .+16 ; 0x39e <__vector_13+0x160> + frame[4] = frame[4]++; + 38e: 80 91 82 00 lds r24, 0x0082 + 392: 80 93 82 00 sts 0x0082, r24 + 396: 8f 5f subi r24, 0xFF ; 255 + 398: 80 93 82 00 sts 0x0082, r24 + 39c: 2c c0 rjmp .+88 ; 0x3f6 <__vector_13+0x1b8> + } else { + frame[4] = 0; + 39e: 10 92 82 00 sts 0x0082, r1 + if(frame[3] < 9) { + 3a2: 80 91 81 00 lds r24, 0x0081 + 3a6: 89 30 cpi r24, 0x09 ; 9 + 3a8: 40 f4 brcc .+16 ; 0x3ba <__vector_13+0x17c> + frame[3] = frame[3]++; + 3aa: 80 91 81 00 lds r24, 0x0081 + 3ae: 80 93 81 00 sts 0x0081, r24 + 3b2: 8f 5f subi r24, 0xFF ; 255 + 3b4: 80 93 81 00 sts 0x0081, r24 + 3b8: 1e c0 rjmp .+60 ; 0x3f6 <__vector_13+0x1b8> + } else { + frame[3] = 0; + 3ba: 10 92 81 00 sts 0x0081, r1 + if(frame[2] < 5) { + 3be: 80 91 80 00 lds r24, 0x0080 + 3c2: 85 30 cpi r24, 0x05 ; 5 + 3c4: 40 f4 brcc .+16 ; 0x3d6 <__vector_13+0x198> + frame[2] = frame[2]++; + 3c6: 80 91 80 00 lds r24, 0x0080 + 3ca: 80 93 80 00 sts 0x0080, r24 + 3ce: 8f 5f subi r24, 0xFF ; 255 + 3d0: 80 93 80 00 sts 0x0080, r24 + 3d4: 10 c0 rjmp .+32 ; 0x3f6 <__vector_13+0x1b8> + } else { + frame[2] = 0; + 3d6: 10 92 80 00 sts 0x0080, r1 + if(frame[1] < 9) { + 3da: 80 91 7f 00 lds r24, 0x007F + 3de: 89 30 cpi r24, 0x09 ; 9 + 3e0: 40 f4 brcc .+16 ; 0x3f2 <__vector_13+0x1b4> + frame[1] = frame[1]++; + 3e2: 80 91 7f 00 lds r24, 0x007F + 3e6: 80 93 7f 00 sts 0x007F, r24 + 3ea: 8f 5f subi r24, 0xFF ; 255 + 3ec: 80 93 7f 00 sts 0x007F, r24 + 3f0: 02 c0 rjmp .+4 ; 0x3f6 <__vector_13+0x1b8> + } else { + frame[1] = 0; + 3f2: 10 92 7f 00 sts 0x007F, r1 + } + } + } } } + frame[0] = (frame[0]==14)?11:14; + 3f6: 80 91 7e 00 lds r24, 0x007E + 3fa: 8e 30 cpi r24, 0x0E ; 14 + 3fc: 11 f4 brne .+4 ; 0x402 <__vector_13+0x1c4> + 3fe: 8b e0 ldi r24, 0x0B ; 11 + 400: 01 c0 rjmp .+2 ; 0x404 <__vector_13+0x1c6> + 402: 8e e0 ldi r24, 0x0E ; 14 + 404: 80 93 7e 00 sts 0x007E, r24 + 408: 03 c0 rjmp .+6 ; 0x410 <__vector_13+0x1d2> + } else { + timer_delay++; + 40a: 8f 5f subi r24, 0xFF ; 255 + 40c: 80 93 86 00 sts 0x0086, r24 } + break; } - frame[0] = (frame[0]==14)?11:14; - 5c6: 80 91 7e 00 lds r24, 0x007E - 5ca: 8e 30 cpi r24, 0x0E ; 14 - 5cc: 11 f4 brne .+4 ; 0x5d2 <__vector_13+0xaa> - 5ce: 8b e0 ldi r24, 0x0B ; 11 - 5d0: 01 c0 rjmp .+2 ; 0x5d4 <__vector_13+0xac> - 5d2: 8e e0 ldi r24, 0x0E ; 14 - 5d4: 80 93 7e 00 sts 0x007E, r24 - 5d8: 03 c0 rjmp .+6 ; 0x5e0 <__vector_13+0xb8> - frame[3] = (uint8_t)((MIN-j)%10); - frame[4] = (uint8_t)((59-i)/10); - frame[5] = (uint8_t)((59-i)%10); - frame[0] = (i%2==0)?11:14;*/ - } else { - timer_delay++; - 5da: 8f 5f subi r24, 0xFF ; 255 - 5dc: 80 93 98 00 sts 0x0098, r24 } - if(timer_delay%3 == 0) - 5e0: 80 91 98 00 lds r24, 0x0098 - 5e4: 63 e0 ldi r22, 0x03 ; 3 - 5e6: 39 d0 rcall .+114 ; 0x65a <__udivmodqi4> - 5e8: 99 23 and r25, r25 - 5ea: 39 f4 brne .+14 ; 0x5fa <__vector_13+0xd2> - frame[6] = (frame[6]==0)?1:0; - 5ec: 90 91 84 00 lds r25, 0x0084 - 5f0: 81 e0 ldi r24, 0x01 ; 1 - 5f2: 91 11 cpse r25, r1 - 5f4: 80 e0 ldi r24, 0x00 ; 0 - 5f6: 80 93 84 00 sts 0x0084, r24 } - 5fa: 9f 91 pop r25 - 5fc: 8f 91 pop r24 - 5fe: 7f 91 pop r23 - 600: 6f 91 pop r22 - 602: 0f 90 pop r0 - 604: 0f be out 0x3f, r0 ; 63 - 606: 0f 90 pop r0 - 608: 1f 90 pop r1 - 60a: 18 95 reti + 410: 9f 91 pop r25 + 412: 8f 91 pop r24 + 414: 7f 91 pop r23 + 416: 6f 91 pop r22 + 418: 2f 91 pop r18 + 41a: 0f 90 pop r0 + 41c: 0f be out 0x3f, r0 ; 63 + 41e: 0f 90 pop r0 + 420: 1f 90 pop r1 + 422: 18 95 reti -0000060c
: +00000424
: int main(void) { DDRB = 0; - 60c: 17 ba out 0x17, r1 ; 23 + 424: 17 ba out 0x17, r1 ; 23 while(1){ //Warten bis Startknopf start(); - 60e: f7 dd rcall .-1042 ; 0x1fe + 426: a3 de rcall .-698 ; 0x16e //Timer 20 nach unten - timerdown(1); - 610: 81 e0 ldi r24, 0x01 ; 1 - 612: ac dd rcall .-1192 ; 0x16c + timerdown(30); + 428: 8e e1 ldi r24, 0x1E ; 30 + 42a: b0 de rcall .-672 ; 0x18c while(1) { render(); - 614: 8e dd rcall .-1252 ; 0x132 + 42c: 82 de rcall .-764 ; 0x132 if(frame[2] == 0 && frame[3] == 0 && frame[4] == 0 && frame[5] == 0) { - 616: 80 91 80 00 lds r24, 0x0080 - 61a: 88 23 and r24, r24 - 61c: d9 f7 brne .-10 ; 0x614 - 61e: 80 91 81 00 lds r24, 0x0081 - 622: 88 23 and r24, r24 - 624: b9 f7 brne .-18 ; 0x614 - 626: 80 91 82 00 lds r24, 0x0082 - 62a: 88 23 and r24, r24 - 62c: 99 f7 brne .-26 ; 0x614 - 62e: 80 91 83 00 lds r24, 0x0083 - 632: 88 23 and r24, r24 - 634: 79 f7 brne .-34 ; 0x614 + 42e: 80 91 80 00 lds r24, 0x0080 + 432: 88 23 and r24, r24 + 434: d9 f7 brne .-10 ; 0x42c + 436: 80 91 81 00 lds r24, 0x0081 + 43a: 88 23 and r24, r24 + 43c: b9 f7 brne .-18 ; 0x42c + 43e: 80 91 82 00 lds r24, 0x0082 + 442: 88 23 and r24, r24 + 444: 99 f7 brne .-26 ; 0x42c + 446: 80 91 83 00 lds r24, 0x0083 + 44a: 88 23 and r24, r24 + 44c: 79 f7 brne .-34 ; 0x42c TIMSK = 0; - 636: 19 be out 0x39, r1 ; 57 - //Lauflicht 10s; - //endelauflicht(); - //Lauflicht Rand 10s - //enderand(); - //Blinklicht + 44e: 19 be out 0x39, r1 ; 57 + break; + } + } + //Piepsen endeblink(); - 638: 71 de rcall .-798 ; 0x31c - frame[0] = 10; - 63a: 8a e0 ldi r24, 0x0A ; 10 - 63c: 80 93 7e 00 sts 0x007E, r24 - frame[2] = 15; - 640: 8f e0 ldi r24, 0x0F ; 15 - 642: 80 93 80 00 sts 0x0080, r24 - frame[3] = 16; - 646: 90 e1 ldi r25, 0x10 ; 16 - 648: 90 93 81 00 sts 0x0081, r25 - frame[4] = 17; - 64c: 91 e1 ldi r25, 0x11 ; 17 - 64e: 90 93 82 00 sts 0x0082, r25 - frame[5] = 15; - 652: 80 93 83 00 sts 0x0083, r24 + 450: d7 de rcall .-594 ; 0x200 + while(1) { + render(); + 452: 6f de rcall .-802 ; 0x132 + if(running >= 20) { + 454: 80 91 88 00 lds r24, 0x0088 + 458: 84 31 cpi r24, 0x14 ; 20 + 45a: d8 f3 brcs .-10 ; 0x452 + TIMSK = 0; + 45c: 19 be out 0x39, r1 ; 57 + frame[6] = 0; + 45e: 10 92 84 00 sts 0x0084, r1 + break; + } + } + //Timer UP 0,1 Min Start + timerup(0,10); + 462: 80 e0 ldi r24, 0x00 ; 0 + 464: 6a e0 ldi r22, 0x0A ; 10 + 466: ad de rcall .-678 ; 0x1c2 while(1) { render(); - 656: 6d dd rcall .-1318 ; 0x132 - 658: fe cf rjmp .-4 ; 0x656 + 468: 64 de rcall .-824 ; 0x132 + 46a: fe cf rjmp .-4 ; 0x468 -0000065a <__udivmodqi4>: - 65a: 99 1b sub r25, r25 - 65c: 79 e0 ldi r23, 0x09 ; 9 - 65e: 04 c0 rjmp .+8 ; 0x668 <__udivmodqi4_ep> +0000046c <__udivmodqi4>: + 46c: 99 1b sub r25, r25 + 46e: 79 e0 ldi r23, 0x09 ; 9 + 470: 04 c0 rjmp .+8 ; 0x47a <__udivmodqi4_ep> -00000660 <__udivmodqi4_loop>: - 660: 99 1f adc r25, r25 - 662: 96 17 cp r25, r22 - 664: 08 f0 brcs .+2 ; 0x668 <__udivmodqi4_ep> - 666: 96 1b sub r25, r22 +00000472 <__udivmodqi4_loop>: + 472: 99 1f adc r25, r25 + 474: 96 17 cp r25, r22 + 476: 08 f0 brcs .+2 ; 0x47a <__udivmodqi4_ep> + 478: 96 1b sub r25, r22 -00000668 <__udivmodqi4_ep>: - 668: 88 1f adc r24, r24 - 66a: 7a 95 dec r23 - 66c: c9 f7 brne .-14 ; 0x660 <__udivmodqi4_loop> - 66e: 80 95 com r24 - 670: 08 95 ret +0000047a <__udivmodqi4_ep>: + 47a: 88 1f adc r24, r24 + 47c: 7a 95 dec r23 + 47e: c9 f7 brne .-14 ; 0x472 <__udivmodqi4_loop> + 480: 80 95 com r24 + 482: 08 95 ret -00000672 <_exit>: - 672: f8 94 cli +00000484 <_exit>: + 484: f8 94 cli -00000674 <__stop_program>: - 674: ff cf rjmp .-2 ; 0x674 <__stop_program> +00000486 <__stop_program>: + 486: ff cf rjmp .-2 ; 0x486 <__stop_program> diff --git a/Timer/default/Timer.map b/Timer/default/Timer.map index aafb1a1..a743d10 100644 --- a/Timer/default/Timer.map +++ b/Timer/default/Timer.map @@ -118,7 +118,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a .rela.plt *(.rela.plt) -.text 0x00000000 0x676 +.text 0x00000000 0x488 *(.vectors) .vectors 0x00000000 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o 0x00000000 __vector_default @@ -192,36 +192,32 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a 0x00000058 __vector_10 0x00000058 __vector_16 0x00000058 __vector_18 - .text 0x0000005a 0x600 Timer.o + .text 0x0000005a 0x412 Timer.o 0x0000005a display 0x0000011a beeb 0x00000132 render - 0x0000016c timerdown - 0x0000019c timerup - 0x000001fe start - 0x0000021c endelauflicht - 0x0000029c enderand - 0x0000031c endeblink - 0x00000410 weihnachten - 0x000004bc blink2013 - 0x00000528 __vector_13 - 0x0000060c main - .text 0x0000065a 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) - .text 0x0000065a 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - .text 0x0000065a 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) - .text 0x0000065a 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) - 0x0000065a . = ALIGN (0x2) + 0x0000016e start + 0x0000018c timerdown + 0x000001c2 timerup + 0x00000200 endeblink + 0x0000023e __vector_13 + 0x00000424 main + .text 0x0000046c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) + .text 0x0000046c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .text 0x0000046c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .text 0x0000046c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + 0x0000046c . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x0000065a 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) - 0x0000065a __udivmodqi4 - .text.libgcc 0x00000672 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - .text.libgcc 0x00000672 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) - .text.libgcc 0x00000672 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) - 0x00000672 . = ALIGN (0x2) + .text.libgcc 0x0000046c 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) + 0x0000046c __udivmodqi4 + .text.libgcc 0x00000484 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .text.libgcc 0x00000484 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .text.libgcc 0x00000484 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + 0x00000484 . = ALIGN (0x2) *(.fini9) - .fini9 0x00000672 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - 0x00000672 _exit - 0x00000672 exit + .fini9 0x00000484 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + 0x00000484 _exit + 0x00000484 exit *(.fini9) *(.fini8) *(.fini8) @@ -240,51 +236,54 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00000672 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .fini0 0x00000484 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) *(.fini0) - 0x00000676 _etext = . + 0x00000488 _etext = . -.data 0x00800060 0x38 load address 0x00000676 +.data 0x00800060 0x26 load address 0x00000488 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 0x38 Timer.o + .data 0x00800060 0x25 Timer.o 0x00800060 segs 0x0080007e frame - .data 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) - .data 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - .data 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) - .data 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + .data 0x00800085 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) + .data 0x00800085 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .data 0x00800085 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .data 0x00800085 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) *(.data*) *(.rodata) *(.rodata*) *(.gnu.linkonce.d*) - 0x00800098 . = ALIGN (0x2) - 0x00800098 _edata = . - 0x00800098 PROVIDE (__data_end, .) + 0x00800086 . = ALIGN (0x2) + *fill* 0x00800085 0x1 00 + 0x00800086 _edata = . + 0x00800086 PROVIDE (__data_end, .) -.bss 0x00800098 0x1 - 0x00800098 PROVIDE (__bss_start, .) +.bss 0x00800086 0x3 + 0x00800086 PROVIDE (__bss_start, .) *(.bss) - .bss 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o - .bss 0x00800098 0x1 Timer.o - 0x00800098 timer_delay - .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) - .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) - .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + .bss 0x00800086 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o + .bss 0x00800086 0x3 Timer.o + 0x00800086 timer_delay + 0x00800087 type + 0x00800088 running + .bss 0x00800089 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) + .bss 0x00800089 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .bss 0x00800089 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .bss 0x00800089 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) - 0x00800099 PROVIDE (__bss_end, .) - 0x00000676 __data_load_start = LOADADDR (.data) - 0x000006ae __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00800089 PROVIDE (__bss_end, .) + 0x00000488 __data_load_start = LOADADDR (.data) + 0x000004ae __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800099 0x0 - 0x00800099 PROVIDE (__noinit_start, .) +.noinit 0x00800089 0x0 + 0x00800089 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800099 PROVIDE (__noinit_end, .) - 0x00800099 _end = . - 0x00800099 PROVIDE (__heap_start, .) + 0x00800089 PROVIDE (__noinit_end, .) + 0x00800089 _end = . + 0x00800089 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -343,36 +342,36 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a 0x00000000 0x20 Timer.o .debug_pubnames - 0x00000000 0xdd + 0x00000000 0xb5 *(.debug_pubnames) .debug_pubnames - 0x00000000 0xdd Timer.o + 0x00000000 0xb5 Timer.o -.debug_info 0x00000000 0x6eb +.debug_info 0x00000000 0x480 *(.debug_info) - .debug_info 0x00000000 0x6eb Timer.o + .debug_info 0x00000000 0x480 Timer.o *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x1f5 +.debug_abbrev 0x00000000 0x1d4 *(.debug_abbrev) - .debug_abbrev 0x00000000 0x1f5 Timer.o + .debug_abbrev 0x00000000 0x1d4 Timer.o -.debug_line 0x00000000 0x8d7 +.debug_line 0x00000000 0x60f *(.debug_line) - .debug_line 0x00000000 0x8d7 Timer.o + .debug_line 0x00000000 0x60f Timer.o -.debug_frame 0x00000000 0xe0 +.debug_frame 0x00000000 0xa0 *(.debug_frame) - .debug_frame 0x00000000 0xe0 Timer.o + .debug_frame 0x00000000 0xa0 Timer.o -.debug_str 0x00000000 0x185 +.debug_str 0x00000000 0x15f *(.debug_str) - .debug_str 0x00000000 0x185 Timer.o - 0x1b9 (size before relaxing) + .debug_str 0x00000000 0x15f Timer.o + 0x193 (size before relaxing) -.debug_loc 0x00000000 0x503 +.debug_loc 0x00000000 0x11b *(.debug_loc) - .debug_loc 0x00000000 0x503 Timer.o + .debug_loc 0x00000000 0x11b Timer.o .debug_macinfo *(.debug_macinfo) @@ -383,6 +382,3 @@ LOAD linker stubs 0x00000000 0x38 .debug_pubtypes 0x00000000 0x38 Timer.o - -.debug_ranges 0x00000000 0x18 - .debug_ranges 0x00000000 0x18 Timer.o