20121129-151327
This commit is contained in:
parent
33b1e63a68
commit
a7df6142c8
@ -1,5 +1,6 @@
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <avr/interrupt.h>
|
||||
|
||||
volatile uint8_t segs[15] = {
|
||||
0b00111111, //0
|
||||
@ -19,6 +20,7 @@ volatile uint8_t segs[15] = {
|
||||
0b00000000 //Blank
|
||||
};
|
||||
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
|
||||
char var = 0;
|
||||
|
||||
void display(uint8_t z, uint8_t p) {
|
||||
DDRB = (segs[z]<<1);
|
||||
@ -47,40 +49,54 @@ void render() {
|
||||
}
|
||||
}
|
||||
|
||||
//ISR// (TIMER1_//OVF_vect)
|
||||
ISR(TIMER0_COMPA_vect)
|
||||
{
|
||||
// TCNT1L = 250;
|
||||
/* Interrupt Aktion alle
|
||||
(8000000/256)/256 Hz = 122,0703125 Hz
|
||||
1/122,0703125 s = 8,192 ms
|
||||
*/
|
||||
/*DDRB = 0b10111011;
|
||||
PORTB = 0b10110011;*/
|
||||
if (var++ >= 100) //wenn Zustand mindestens 200x10ms = 2sec. andauert
|
||||
{
|
||||
if(frame[2] == 14) {
|
||||
frame[2] = 0;
|
||||
frame[3] = 1;
|
||||
frame[4] = 2;
|
||||
} else {
|
||||
frame[2] = 14;
|
||||
frame[3] = 14;
|
||||
frame[4] = 14;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
DDRB = 0;
|
||||
/*cli();
|
||||
//TCCR1B |= (1<<CS12);
|
||||
//TIMSK |= (1<<TOIE1);
|
||||
//TCNT1L = 200;
|
||||
TCCR0A |= (1<<WGM01) | (0<<WGM00);
|
||||
TCCR0B |= (1<<CS00 ) | (1<<CS02);
|
||||
OCR0A = 250; //geladen mit 10ms
|
||||
TIMSK |= (1<<OCIE0A);
|
||||
sei();//*/
|
||||
while(1){
|
||||
//frame = {14,5, 14,5, 14,5};
|
||||
frame[0] = 11;
|
||||
for(uint8_t l=0;l<10;l++) {
|
||||
frame[2] = 9-l;
|
||||
for(uint8_t k=0;k<10;k++) {
|
||||
frame[3] = 9-k;
|
||||
for(uint8_t j=0;j<10;j++) {
|
||||
frame[4] = 9-j;
|
||||
for(uint8_t i=0;i<10;i++) {
|
||||
frame[5] = 9-i;
|
||||
render();
|
||||
}
|
||||
for(uint8_t j=0;j<=30;j++) {
|
||||
frame[2] = (uint8_t)((30-j)/10);
|
||||
frame[3] = (uint8_t)((30-j)%10);
|
||||
for(uint8_t i=0;i<=59;i++) {
|
||||
frame[4] = (uint8_t)((59-i)/10);
|
||||
frame[5] = (uint8_t)((59-i)%10);
|
||||
for(uint8_t k=0;k<82;k++) {
|
||||
render();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*DDRB = 0b11100110;
|
||||
PORTB = 0b11000110;
|
||||
_delay_ms(5);
|
||||
DDRB = 0b11111101;
|
||||
PORTB = 0b11101101;
|
||||
_delay_ms(5);
|
||||
DDRB = 0b10111011;
|
||||
PORTB = 0b10110011;
|
||||
_delay_ms(5);
|
||||
DDRB = 0b01111111;
|
||||
PORTB = 0b01111011;*/
|
||||
/*display(0,2);
|
||||
_delay_ms(10);
|
||||
display(0,3);
|
||||
_delay_ms(10);
|
||||
display(10,7);
|
||||
_delay_ms(10);*/
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
@ -1,30 +1,43 @@
|
||||
:1000000012C022C021C020C01FC01EC01DC01CC005
|
||||
:100010001BC01AC019C018C017C016C015C014C024
|
||||
:1000200013C012C011C011241FBECFEDCDBF10E010
|
||||
:10003000A0E6B0E0E8EAF1E002C005900D92A63734
|
||||
:10004000B107D9F787D0AEC0DBCFE82FF0E0E05A98
|
||||
:10005000FF4F8081880F87BB8081880F88BB71E04C
|
||||
:1000600041E050E023C027B3872F90E030E0072E17
|
||||
:1000700002C0359527950A94E2F7019720FF0AC040
|
||||
:1000800027B3FA0102C0EE0FFF1F8A95E2F72E2B6D
|
||||
:1000900027BB0BC027B3FA0102C0EE0FFF1F8A95E2
|
||||
:1000A000E2F7CF018095822387BB7F5F6717D8F681
|
||||
:1000B00071E041E050E023C028B3872F90E030E0AA
|
||||
:1000C000072E02C0359527950A94E2F7019720FF85
|
||||
:1000D0000AC028B3FA0102C0EE0FFF1F8A95E2F7AB
|
||||
:1000E0002E2B28BB0BC028B3FA0102C0EE0FFF1F56
|
||||
:1000F0008A95E2F7CF018095822388BB7F5F6717DF
|
||||
:10010000D8F627B381E090E002C0880F991F6A9566
|
||||
:10011000E2F7282B27BB98B38095892388BB0895E5
|
||||
:100120001F93CF93DF9317E0C0E0D0E0FE01E159C9
|
||||
:10013000FF4F8081612F89DF8FE99FE00197F1F701
|
||||
:1001400000C0000021961150113081F7DF91CF914E
|
||||
:100150001F910895FF920F931F93DF93CF9300D0C9
|
||||
:10016000CDB7DEB717BA8BE0F82EF0926F0019E02A
|
||||
:100170001093710009E00093720089E0809373008E
|
||||
:1001800099E09093740089839A83CADF9A81915091
|
||||
:1001900089819F3FB1F7815088F7015060F7115076
|
||||
:0801A00038F7E3CFF894FFCF1C
|
||||
:1001A8003F065B4F666D7D077F6F40704676000E99
|
||||
:0601B8000E0E0E0E0E00FB
|
||||
:1000000012C02AC029C028C027C026C025C024C0CD
|
||||
:1000100023C022C021C020C01FC0A4C01DC01CC05E
|
||||
:100020001BC01AC019C011241FBECFEDCDBF10E0F8
|
||||
:10003000A0E6B0E0E0E8F2E002C005900D92A6373D
|
||||
:10004000B107D9F710E0A6E7B0E001C01D92A737CD
|
||||
:10005000B107E1F7AFD012C1D3CFE82FF0E0E05AFB
|
||||
:10006000FF4F8081880F87BB8081880F88BB71E03C
|
||||
:1000700041E050E023C027B3872F90E030E0072E07
|
||||
:1000800002C0359527950A94E2F7019720FF0AC030
|
||||
:1000900027B3FA0102C0EE0FFF1F8A95E2F72E2B5D
|
||||
:1000A00027BB0BC027B3FA0102C0EE0FFF1F8A95D2
|
||||
:1000B000E2F7CF018095822387BB7F5F6717D8F671
|
||||
:1000C00071E041E050E023C028B3872F90E030E09A
|
||||
:1000D000072E02C0359527950A94E2F7019720FF75
|
||||
:1000E0000AC028B3FA0102C0EE0FFF1F8A95E2F79B
|
||||
:1000F0002E2B28BB0BC028B3FA0102C0EE0FFF1F46
|
||||
:100100008A95E2F7CF018095822388BB7F5F6717CE
|
||||
:10011000D8F627B381E090E002C0880F991F6A9556
|
||||
:10012000E2F7282B27BB98B38095892388BB0895D5
|
||||
:100130001F93CF93DF9317E0C0E0D0E0FE01E159B9
|
||||
:10014000FF4F8081612F89DF8FE99FE00197F1F7F1
|
||||
:1001500000C0000021961150113081F7DF91CF913E
|
||||
:100160001F9108951F920F920FB60F9211248F9333
|
||||
:100170009F9380917600982F9F5F909376008436AE
|
||||
:1001800090F0809171008E3039F41092710081E00E
|
||||
:100190008093720082E005C08EE0809371008093AE
|
||||
:1001A0007200809373009F918F910F900FBE0F90FC
|
||||
:1001B0001F901895AF92BF92DF92EF92FF920F932C
|
||||
:1001C0001F93DF93CF930F92CDB7DEB717BA2BE013
|
||||
:1001D000D22E9AE0E92EF12CD0926F000EE110E0C1
|
||||
:1001E000C801B70124D060937100809372008BE343
|
||||
:1001F000A82EB12CC501B7011AD06093730080936B
|
||||
:10020000740080E0898394DF89818F5F8235D1F724
|
||||
:100210000894A108B1088FEFA8168FEFB80651F720
|
||||
:1002200001501040EFEF0F3F1E07D1F6D5CF97FBDF
|
||||
:10023000092E07260AD077FD04D00CD006D0002066
|
||||
:100240001AF4709561957F4F0895F6F79095819512
|
||||
:100250009F4F0895AA1BBB1B51E107C0AA1FBB1FDC
|
||||
:10026000A617B70710F0A61BB70B881F991F5A9542
|
||||
:10027000A9F780959095BC01CD010895F894FFCF22
|
||||
:100280003F065B4F666D7D077F6F40704676000EC0
|
||||
:060290000E0E0E0E0E0022
|
||||
:00000001FF
|
||||
|
@ -3,55 +3,59 @@ Timer.elf: file format elf32-avr
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn
|
||||
0 .text 000001a8 00000000 00000000 00000074 2**1
|
||||
0 .text 00000280 00000000 00000000 00000094 2**1
|
||||
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||||
1 .data 00000016 00800060 000001a8 0000021c 2**0
|
||||
1 .data 00000016 00800060 00000280 00000314 2**0
|
||||
CONTENTS, ALLOC, LOAD, DATA
|
||||
2 .stab 000006b4 00000000 00000000 00000234 2**2
|
||||
2 .bss 00000001 00800076 00800076 0000032a 2**0
|
||||
ALLOC
|
||||
3 .stab 000006b4 00000000 00000000 0000032c 2**2
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
3 .stabstr 00000085 00000000 00000000 000008e8 2**0
|
||||
4 .stabstr 00000085 00000000 00000000 000009e0 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
4 .debug_aranges 00000020 00000000 00000000 0000096d 2**0
|
||||
5 .debug_aranges 00000020 00000000 00000000 00000a65 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
5 .debug_pubnames 00000045 00000000 00000000 0000098d 2**0
|
||||
6 .debug_pubnames 0000005d 00000000 00000000 00000a85 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
6 .debug_info 000002af 00000000 00000000 000009d2 2**0
|
||||
7 .debug_info 000002cf 00000000 00000000 00000ae2 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
7 .debug_abbrev 00000196 00000000 00000000 00000c81 2**0
|
||||
8 .debug_abbrev 000001d4 00000000 00000000 00000db1 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
8 .debug_line 0000024a 00000000 00000000 00000e17 2**0
|
||||
9 .debug_line 000002b2 00000000 00000000 00000f85 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
9 .debug_frame 00000040 00000000 00000000 00001064 2**2
|
||||
10 .debug_frame 00000050 00000000 00000000 00001238 2**2
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
10 .debug_str 000000f6 00000000 00000000 000010a4 2**0
|
||||
11 .debug_str 00000102 00000000 00000000 00001288 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
11 .debug_loc 000000bf 00000000 00000000 0000119a 2**0
|
||||
12 .debug_loc 000000b6 00000000 00000000 0000138a 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
12 .debug_pubtypes 0000002b 00000000 00000000 00001259 2**0
|
||||
13 .debug_pubtypes 0000002b 00000000 00000000 00001440 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
14 .debug_ranges 00000018 00000000 00000000 0000146b 2**0
|
||||
CONTENTS, READONLY, DEBUGGING
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
00000000 <__vectors>:
|
||||
0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end>
|
||||
2: 22 c0 rjmp .+68 ; 0x48 <__bad_interrupt>
|
||||
4: 21 c0 rjmp .+66 ; 0x48 <__bad_interrupt>
|
||||
6: 20 c0 rjmp .+64 ; 0x48 <__bad_interrupt>
|
||||
8: 1f c0 rjmp .+62 ; 0x48 <__bad_interrupt>
|
||||
a: 1e c0 rjmp .+60 ; 0x48 <__bad_interrupt>
|
||||
c: 1d c0 rjmp .+58 ; 0x48 <__bad_interrupt>
|
||||
e: 1c c0 rjmp .+56 ; 0x48 <__bad_interrupt>
|
||||
10: 1b c0 rjmp .+54 ; 0x48 <__bad_interrupt>
|
||||
12: 1a c0 rjmp .+52 ; 0x48 <__bad_interrupt>
|
||||
14: 19 c0 rjmp .+50 ; 0x48 <__bad_interrupt>
|
||||
16: 18 c0 rjmp .+48 ; 0x48 <__bad_interrupt>
|
||||
18: 17 c0 rjmp .+46 ; 0x48 <__bad_interrupt>
|
||||
1a: 16 c0 rjmp .+44 ; 0x48 <__bad_interrupt>
|
||||
1c: 15 c0 rjmp .+42 ; 0x48 <__bad_interrupt>
|
||||
1e: 14 c0 rjmp .+40 ; 0x48 <__bad_interrupt>
|
||||
20: 13 c0 rjmp .+38 ; 0x48 <__bad_interrupt>
|
||||
22: 12 c0 rjmp .+36 ; 0x48 <__bad_interrupt>
|
||||
24: 11 c0 rjmp .+34 ; 0x48 <__bad_interrupt>
|
||||
2: 2a c0 rjmp .+84 ; 0x58 <__bad_interrupt>
|
||||
4: 29 c0 rjmp .+82 ; 0x58 <__bad_interrupt>
|
||||
6: 28 c0 rjmp .+80 ; 0x58 <__bad_interrupt>
|
||||
8: 27 c0 rjmp .+78 ; 0x58 <__bad_interrupt>
|
||||
a: 26 c0 rjmp .+76 ; 0x58 <__bad_interrupt>
|
||||
c: 25 c0 rjmp .+74 ; 0x58 <__bad_interrupt>
|
||||
e: 24 c0 rjmp .+72 ; 0x58 <__bad_interrupt>
|
||||
10: 23 c0 rjmp .+70 ; 0x58 <__bad_interrupt>
|
||||
12: 22 c0 rjmp .+68 ; 0x58 <__bad_interrupt>
|
||||
14: 21 c0 rjmp .+66 ; 0x58 <__bad_interrupt>
|
||||
16: 20 c0 rjmp .+64 ; 0x58 <__bad_interrupt>
|
||||
18: 1f c0 rjmp .+62 ; 0x58 <__bad_interrupt>
|
||||
1a: a4 c0 rjmp .+328 ; 0x164 <__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>
|
||||
22: 1a c0 rjmp .+52 ; 0x58 <__bad_interrupt>
|
||||
24: 19 c0 rjmp .+50 ; 0x58 <__bad_interrupt>
|
||||
|
||||
00000026 <__ctors_end>:
|
||||
26: 11 24 eor r1, r1
|
||||
@ -63,305 +67,460 @@ 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: e8 ea ldi r30, 0xA8 ; 168
|
||||
36: f1 e0 ldi r31, 0x01 ; 1
|
||||
34: e0 e8 ldi r30, 0x80 ; 128
|
||||
36: f2 e0 ldi r31, 0x02 ; 2
|
||||
38: 02 c0 rjmp .+4 ; 0x3e <__SP_H__>
|
||||
3a: 05 90 lpm r0, Z+
|
||||
3c: 0d 92 st X+, r0
|
||||
3e: a6 37 cpi r26, 0x76 ; 118
|
||||
40: b1 07 cpc r27, r17
|
||||
42: d9 f7 brne .-10 ; 0x3a <__CCP__+0x6>
|
||||
44: 87 d0 rcall .+270 ; 0x154 <main>
|
||||
46: ae c0 rjmp .+348 ; 0x1a4 <_exit>
|
||||
|
||||
00000048 <__bad_interrupt>:
|
||||
48: db cf rjmp .-74 ; 0x0 <__vectors>
|
||||
00000044 <__do_clear_bss>:
|
||||
44: 10 e0 ldi r17, 0x00 ; 0
|
||||
46: a6 e7 ldi r26, 0x76 ; 118
|
||||
48: b0 e0 ldi r27, 0x00 ; 0
|
||||
4a: 01 c0 rjmp .+2 ; 0x4e <.do_clear_bss_start>
|
||||
|
||||
0000004a <display>:
|
||||
0b00000000 //Blank
|
||||
0000004c <.do_clear_bss_loop>:
|
||||
4c: 1d 92 st X+, r1
|
||||
|
||||
0000004e <.do_clear_bss_start>:
|
||||
4e: a7 37 cpi r26, 0x77 ; 119
|
||||
50: b1 07 cpc r27, r17
|
||||
52: e1 f7 brne .-8 ; 0x4c <.do_clear_bss_loop>
|
||||
54: af d0 rcall .+350 ; 0x1b4 <main>
|
||||
56: 12 c1 rjmp .+548 ; 0x27c <_exit>
|
||||
|
||||
00000058 <__bad_interrupt>:
|
||||
58: d3 cf rjmp .-90 ; 0x0 <__vectors>
|
||||
|
||||
0000005a <display>:
|
||||
};
|
||||
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
|
||||
char var = 0;
|
||||
|
||||
void display(uint8_t z, uint8_t p) {
|
||||
DDRB = (segs[z]<<1);
|
||||
4a: e8 2f mov r30, r24
|
||||
4c: f0 e0 ldi r31, 0x00 ; 0
|
||||
4e: e0 5a subi r30, 0xA0 ; 160
|
||||
50: ff 4f sbci r31, 0xFF ; 255
|
||||
52: 80 81 ld r24, Z
|
||||
54: 88 0f add r24, r24
|
||||
56: 87 bb out 0x17, r24 ; 23
|
||||
5a: e8 2f mov r30, r24
|
||||
5c: f0 e0 ldi r31, 0x00 ; 0
|
||||
5e: e0 5a subi r30, 0xA0 ; 160
|
||||
60: ff 4f sbci r31, 0xFF ; 255
|
||||
62: 80 81 ld r24, Z
|
||||
64: 88 0f add r24, r24
|
||||
66: 87 bb out 0x17, r24 ; 23
|
||||
PORTB = (segs[z]<<1);
|
||||
58: 80 81 ld r24, Z
|
||||
5a: 88 0f add r24, r24
|
||||
5c: 88 bb out 0x18, r24 ; 24
|
||||
68: 80 81 ld r24, Z
|
||||
6a: 88 0f add r24, r24
|
||||
6c: 88 bb out 0x18, r24 ; 24
|
||||
for(uint8_t i = 1;i<=p;i++) {
|
||||
5e: 71 e0 ldi r23, 0x01 ; 1
|
||||
6e: 71 e0 ldi r23, 0x01 ; 1
|
||||
if(DDRB & (1<<i)) {
|
||||
DDRB |= (1<<(i-1));
|
||||
} else {
|
||||
DDRB &= ~(1<<(i-1));
|
||||
60: 41 e0 ldi r20, 0x01 ; 1
|
||||
62: 50 e0 ldi r21, 0x00 ; 0
|
||||
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
|
||||
70: 41 e0 ldi r20, 0x01 ; 1
|
||||
72: 50 e0 ldi r21, 0x00 ; 0
|
||||
char var = 0;
|
||||
|
||||
void display(uint8_t z, uint8_t p) {
|
||||
DDRB = (segs[z]<<1);
|
||||
PORTB = (segs[z]<<1);
|
||||
for(uint8_t i = 1;i<=p;i++) {
|
||||
64: 23 c0 rjmp .+70 ; 0xac <display+0x62>
|
||||
74: 23 c0 rjmp .+70 ; 0xbc <display+0x62>
|
||||
if(DDRB & (1<<i)) {
|
||||
66: 27 b3 in r18, 0x17 ; 23
|
||||
68: 87 2f mov r24, r23
|
||||
6a: 90 e0 ldi r25, 0x00 ; 0
|
||||
6c: 30 e0 ldi r19, 0x00 ; 0
|
||||
6e: 07 2e mov r0, r23
|
||||
70: 02 c0 rjmp .+4 ; 0x76 <display+0x2c>
|
||||
72: 35 95 asr r19
|
||||
74: 27 95 ror r18
|
||||
76: 0a 94 dec r0
|
||||
78: e2 f7 brpl .-8 ; 0x72 <display+0x28>
|
||||
7a: 01 97 sbiw r24, 0x01 ; 1
|
||||
7c: 20 ff sbrs r18, 0
|
||||
7e: 0a c0 rjmp .+20 ; 0x94 <display+0x4a>
|
||||
76: 27 b3 in r18, 0x17 ; 23
|
||||
78: 87 2f mov r24, r23
|
||||
7a: 90 e0 ldi r25, 0x00 ; 0
|
||||
7c: 30 e0 ldi r19, 0x00 ; 0
|
||||
7e: 07 2e mov r0, r23
|
||||
80: 02 c0 rjmp .+4 ; 0x86 <display+0x2c>
|
||||
82: 35 95 asr r19
|
||||
84: 27 95 ror r18
|
||||
86: 0a 94 dec r0
|
||||
88: e2 f7 brpl .-8 ; 0x82 <display+0x28>
|
||||
8a: 01 97 sbiw r24, 0x01 ; 1
|
||||
8c: 20 ff sbrs r18, 0
|
||||
8e: 0a c0 rjmp .+20 ; 0xa4 <display+0x4a>
|
||||
DDRB |= (1<<(i-1));
|
||||
80: 27 b3 in r18, 0x17 ; 23
|
||||
82: fa 01 movw r30, r20
|
||||
84: 02 c0 rjmp .+4 ; 0x8a <display+0x40>
|
||||
86: ee 0f add r30, r30
|
||||
88: ff 1f adc r31, r31
|
||||
8a: 8a 95 dec r24
|
||||
8c: e2 f7 brpl .-8 ; 0x86 <display+0x3c>
|
||||
8e: 2e 2b or r18, r30
|
||||
90: 27 bb out 0x17, r18 ; 23
|
||||
92: 0b c0 rjmp .+22 ; 0xaa <display+0x60>
|
||||
90: 27 b3 in r18, 0x17 ; 23
|
||||
92: fa 01 movw r30, r20
|
||||
94: 02 c0 rjmp .+4 ; 0x9a <display+0x40>
|
||||
96: ee 0f add r30, r30
|
||||
98: ff 1f adc r31, r31
|
||||
9a: 8a 95 dec r24
|
||||
9c: e2 f7 brpl .-8 ; 0x96 <display+0x3c>
|
||||
9e: 2e 2b or r18, r30
|
||||
a0: 27 bb out 0x17, r18 ; 23
|
||||
a2: 0b c0 rjmp .+22 ; 0xba <display+0x60>
|
||||
} else {
|
||||
DDRB &= ~(1<<(i-1));
|
||||
94: 27 b3 in r18, 0x17 ; 23
|
||||
96: fa 01 movw r30, r20
|
||||
98: 02 c0 rjmp .+4 ; 0x9e <display+0x54>
|
||||
9a: ee 0f add r30, r30
|
||||
9c: ff 1f adc r31, r31
|
||||
9e: 8a 95 dec r24
|
||||
a0: e2 f7 brpl .-8 ; 0x9a <display+0x50>
|
||||
a2: cf 01 movw r24, r30
|
||||
a4: 80 95 com r24
|
||||
a6: 82 23 and r24, r18
|
||||
a8: 87 bb out 0x17, r24 ; 23
|
||||
volatile uint8_t frame[6] = {14,14, 14,14, 14,14};
|
||||
a4: 27 b3 in r18, 0x17 ; 23
|
||||
a6: fa 01 movw r30, r20
|
||||
a8: 02 c0 rjmp .+4 ; 0xae <display+0x54>
|
||||
aa: ee 0f add r30, r30
|
||||
ac: ff 1f adc r31, r31
|
||||
ae: 8a 95 dec r24
|
||||
b0: e2 f7 brpl .-8 ; 0xaa <display+0x50>
|
||||
b2: cf 01 movw r24, r30
|
||||
b4: 80 95 com r24
|
||||
b6: 82 23 and r24, r18
|
||||
b8: 87 bb out 0x17, r24 ; 23
|
||||
char var = 0;
|
||||
|
||||
void display(uint8_t z, uint8_t p) {
|
||||
DDRB = (segs[z]<<1);
|
||||
PORTB = (segs[z]<<1);
|
||||
for(uint8_t i = 1;i<=p;i++) {
|
||||
aa: 7f 5f subi r23, 0xFF ; 255
|
||||
ac: 67 17 cp r22, r23
|
||||
ae: d8 f6 brcc .-74 ; 0x66 <display+0x1c>
|
||||
b0: 71 e0 ldi r23, 0x01 ; 1
|
||||
ba: 7f 5f subi r23, 0xFF ; 255
|
||||
bc: 67 17 cp r22, r23
|
||||
be: d8 f6 brcc .-74 ; 0x76 <display+0x1c>
|
||||
c0: 71 e0 ldi r23, 0x01 ; 1
|
||||
}
|
||||
for(uint8_t i = 1;i<=p;i++) {
|
||||
if(PORTB & (1<<i)) {
|
||||
PORTB |= (1<<(i-1));
|
||||
} else {
|
||||
PORTB &= ~(1<<(i-1));
|
||||
b2: 41 e0 ldi r20, 0x01 ; 1
|
||||
b4: 50 e0 ldi r21, 0x00 ; 0
|
||||
b6: 23 c0 rjmp .+70 ; 0xfe <__stack+0x1f>
|
||||
c2: 41 e0 ldi r20, 0x01 ; 1
|
||||
c4: 50 e0 ldi r21, 0x00 ; 0
|
||||
c6: 23 c0 rjmp .+70 ; 0x10e <__stack+0x2f>
|
||||
} else {
|
||||
DDRB &= ~(1<<(i-1));
|
||||
}
|
||||
}
|
||||
for(uint8_t i = 1;i<=p;i++) {
|
||||
if(PORTB & (1<<i)) {
|
||||
b8: 28 b3 in r18, 0x18 ; 24
|
||||
ba: 87 2f mov r24, r23
|
||||
bc: 90 e0 ldi r25, 0x00 ; 0
|
||||
be: 30 e0 ldi r19, 0x00 ; 0
|
||||
c0: 07 2e mov r0, r23
|
||||
c2: 02 c0 rjmp .+4 ; 0xc8 <display+0x7e>
|
||||
c4: 35 95 asr r19
|
||||
c6: 27 95 ror r18
|
||||
c8: 0a 94 dec r0
|
||||
ca: e2 f7 brpl .-8 ; 0xc4 <display+0x7a>
|
||||
cc: 01 97 sbiw r24, 0x01 ; 1
|
||||
ce: 20 ff sbrs r18, 0
|
||||
d0: 0a c0 rjmp .+20 ; 0xe6 <__stack+0x7>
|
||||
c8: 28 b3 in r18, 0x18 ; 24
|
||||
ca: 87 2f mov r24, r23
|
||||
cc: 90 e0 ldi r25, 0x00 ; 0
|
||||
ce: 30 e0 ldi r19, 0x00 ; 0
|
||||
d0: 07 2e mov r0, r23
|
||||
d2: 02 c0 rjmp .+4 ; 0xd8 <display+0x7e>
|
||||
d4: 35 95 asr r19
|
||||
d6: 27 95 ror r18
|
||||
d8: 0a 94 dec r0
|
||||
da: e2 f7 brpl .-8 ; 0xd4 <display+0x7a>
|
||||
dc: 01 97 sbiw r24, 0x01 ; 1
|
||||
de: 20 ff sbrs r18, 0
|
||||
e0: 0a c0 rjmp .+20 ; 0xf6 <__stack+0x17>
|
||||
PORTB |= (1<<(i-1));
|
||||
d2: 28 b3 in r18, 0x18 ; 24
|
||||
d4: fa 01 movw r30, r20
|
||||
d6: 02 c0 rjmp .+4 ; 0xdc <display+0x92>
|
||||
d8: ee 0f add r30, r30
|
||||
da: ff 1f adc r31, r31
|
||||
dc: 8a 95 dec r24
|
||||
de: e2 f7 brpl .-8 ; 0xd8 <display+0x8e>
|
||||
e0: 2e 2b or r18, r30
|
||||
e2: 28 bb out 0x18, r18 ; 24
|
||||
e4: 0b c0 rjmp .+22 ; 0xfc <__stack+0x1d>
|
||||
e2: 28 b3 in r18, 0x18 ; 24
|
||||
e4: fa 01 movw r30, r20
|
||||
e6: 02 c0 rjmp .+4 ; 0xec <__stack+0xd>
|
||||
e8: ee 0f add r30, r30
|
||||
ea: ff 1f adc r31, r31
|
||||
ec: 8a 95 dec r24
|
||||
ee: e2 f7 brpl .-8 ; 0xe8 <__stack+0x9>
|
||||
f0: 2e 2b or r18, r30
|
||||
f2: 28 bb out 0x18, r18 ; 24
|
||||
f4: 0b c0 rjmp .+22 ; 0x10c <__stack+0x2d>
|
||||
} else {
|
||||
PORTB &= ~(1<<(i-1));
|
||||
e6: 28 b3 in r18, 0x18 ; 24
|
||||
e8: fa 01 movw r30, r20
|
||||
ea: 02 c0 rjmp .+4 ; 0xf0 <__stack+0x11>
|
||||
ec: ee 0f add r30, r30
|
||||
ee: ff 1f adc r31, r31
|
||||
f0: 8a 95 dec r24
|
||||
f2: e2 f7 brpl .-8 ; 0xec <__stack+0xd>
|
||||
f4: cf 01 movw r24, r30
|
||||
f6: 80 95 com r24
|
||||
f8: 82 23 and r24, r18
|
||||
fa: 88 bb out 0x18, r24 ; 24
|
||||
f6: 28 b3 in r18, 0x18 ; 24
|
||||
f8: fa 01 movw r30, r20
|
||||
fa: 02 c0 rjmp .+4 ; 0x100 <__stack+0x21>
|
||||
fc: ee 0f add r30, r30
|
||||
fe: ff 1f adc r31, r31
|
||||
100: 8a 95 dec r24
|
||||
102: e2 f7 brpl .-8 ; 0xfc <__stack+0x1d>
|
||||
104: cf 01 movw r24, r30
|
||||
106: 80 95 com r24
|
||||
108: 82 23 and r24, r18
|
||||
10a: 88 bb out 0x18, r24 ; 24
|
||||
DDRB |= (1<<(i-1));
|
||||
} else {
|
||||
DDRB &= ~(1<<(i-1));
|
||||
}
|
||||
}
|
||||
for(uint8_t i = 1;i<=p;i++) {
|
||||
fc: 7f 5f subi r23, 0xFF ; 255
|
||||
fe: 67 17 cp r22, r23
|
||||
100: d8 f6 brcc .-74 ; 0xb8 <display+0x6e>
|
||||
10c: 7f 5f subi r23, 0xFF ; 255
|
||||
10e: 67 17 cp r22, r23
|
||||
110: d8 f6 brcc .-74 ; 0xc8 <display+0x6e>
|
||||
PORTB |= (1<<(i-1));
|
||||
} else {
|
||||
PORTB &= ~(1<<(i-1));
|
||||
}
|
||||
}
|
||||
DDRB |= (1<<p);
|
||||
102: 27 b3 in r18, 0x17 ; 23
|
||||
104: 81 e0 ldi r24, 0x01 ; 1
|
||||
106: 90 e0 ldi r25, 0x00 ; 0
|
||||
108: 02 c0 rjmp .+4 ; 0x10e <__stack+0x2f>
|
||||
10a: 88 0f add r24, r24
|
||||
10c: 99 1f adc r25, r25
|
||||
10e: 6a 95 dec r22
|
||||
110: e2 f7 brpl .-8 ; 0x10a <__stack+0x2b>
|
||||
112: 28 2b or r18, r24
|
||||
114: 27 bb out 0x17, r18 ; 23
|
||||
112: 27 b3 in r18, 0x17 ; 23
|
||||
114: 81 e0 ldi r24, 0x01 ; 1
|
||||
116: 90 e0 ldi r25, 0x00 ; 0
|
||||
118: 02 c0 rjmp .+4 ; 0x11e <__stack+0x3f>
|
||||
11a: 88 0f add r24, r24
|
||||
11c: 99 1f adc r25, r25
|
||||
11e: 6a 95 dec r22
|
||||
120: e2 f7 brpl .-8 ; 0x11a <__stack+0x3b>
|
||||
122: 28 2b or r18, r24
|
||||
124: 27 bb out 0x17, r18 ; 23
|
||||
PORTB &= ~(1<<p);
|
||||
116: 98 b3 in r25, 0x18 ; 24
|
||||
118: 80 95 com r24
|
||||
11a: 89 23 and r24, r25
|
||||
11c: 88 bb out 0x18, r24 ; 24
|
||||
126: 98 b3 in r25, 0x18 ; 24
|
||||
128: 80 95 com r24
|
||||
12a: 89 23 and r24, r25
|
||||
12c: 88 bb out 0x18, r24 ; 24
|
||||
}
|
||||
11e: 08 95 ret
|
||||
12e: 08 95 ret
|
||||
|
||||
00000120 <render>:
|
||||
00000130 <render>:
|
||||
void render() {
|
||||
120: 1f 93 push r17
|
||||
122: cf 93 push r28
|
||||
124: df 93 push r29
|
||||
126: 17 e0 ldi r17, 0x07 ; 7
|
||||
128: c0 e0 ldi r28, 0x00 ; 0
|
||||
12a: d0 e0 ldi r29, 0x00 ; 0
|
||||
130: 1f 93 push r17
|
||||
132: cf 93 push r28
|
||||
134: df 93 push r29
|
||||
136: 17 e0 ldi r17, 0x07 ; 7
|
||||
138: c0 e0 ldi r28, 0x00 ; 0
|
||||
13a: d0 e0 ldi r29, 0x00 ; 0
|
||||
for(uint8_t f = 0;f<6;f++) {
|
||||
display(frame[f],(5-f)+2);
|
||||
12c: fe 01 movw r30, r28
|
||||
12e: e1 59 subi r30, 0x91 ; 145
|
||||
130: ff 4f sbci r31, 0xFF ; 255
|
||||
132: 80 81 ld r24, Z
|
||||
134: 61 2f mov r22, r17
|
||||
136: 89 df rcall .-238 ; 0x4a <display>
|
||||
13c: fe 01 movw r30, r28
|
||||
13e: e1 59 subi r30, 0x91 ; 145
|
||||
140: ff 4f sbci r31, 0xFF ; 255
|
||||
142: 80 81 ld r24, Z
|
||||
144: 61 2f mov r22, r17
|
||||
146: 89 df rcall .-238 ; 0x5a <display>
|
||||
#else
|
||||
//round up by default
|
||||
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
|
||||
#endif
|
||||
|
||||
__builtin_avr_delay_cycles(__ticks_dc);
|
||||
138: 8f e9 ldi r24, 0x9F ; 159
|
||||
13a: 9f e0 ldi r25, 0x0F ; 15
|
||||
13c: 01 97 sbiw r24, 0x01 ; 1
|
||||
13e: f1 f7 brne .-4 ; 0x13c <render+0x1c>
|
||||
140: 00 c0 rjmp .+0 ; 0x142 <render+0x22>
|
||||
142: 00 00 nop
|
||||
144: 21 96 adiw r28, 0x01 ; 1
|
||||
146: 11 50 subi r17, 0x01 ; 1
|
||||
148: 8f e9 ldi r24, 0x9F ; 159
|
||||
14a: 9f e0 ldi r25, 0x0F ; 15
|
||||
14c: 01 97 sbiw r24, 0x01 ; 1
|
||||
14e: f1 f7 brne .-4 ; 0x14c <render+0x1c>
|
||||
150: 00 c0 rjmp .+0 ; 0x152 <render+0x22>
|
||||
152: 00 00 nop
|
||||
154: 21 96 adiw r28, 0x01 ; 1
|
||||
156: 11 50 subi r17, 0x01 ; 1
|
||||
}
|
||||
DDRB |= (1<<p);
|
||||
PORTB &= ~(1<<p);
|
||||
}
|
||||
void render() {
|
||||
for(uint8_t f = 0;f<6;f++) {
|
||||
148: 11 30 cpi r17, 0x01 ; 1
|
||||
14a: 81 f7 brne .-32 ; 0x12c <render+0xc>
|
||||
158: 11 30 cpi r17, 0x01 ; 1
|
||||
15a: 81 f7 brne .-32 ; 0x13c <render+0xc>
|
||||
display(frame[f],(5-f)+2);
|
||||
_delay_us(2000);
|
||||
}
|
||||
}
|
||||
14c: df 91 pop r29
|
||||
14e: cf 91 pop r28
|
||||
150: 1f 91 pop r17
|
||||
152: 08 95 ret
|
||||
15c: df 91 pop r29
|
||||
15e: cf 91 pop r28
|
||||
160: 1f 91 pop r17
|
||||
162: 08 95 ret
|
||||
|
||||
00000154 <main>:
|
||||
00000164 <__vector_13>:
|
||||
|
||||
//ISR// (TIMER1_//OVF_vect)
|
||||
ISR(TIMER0_COMPA_vect)
|
||||
{
|
||||
164: 1f 92 push r1
|
||||
166: 0f 92 push r0
|
||||
168: 0f b6 in r0, 0x3f ; 63
|
||||
16a: 0f 92 push r0
|
||||
16c: 11 24 eor r1, r1
|
||||
16e: 8f 93 push r24
|
||||
170: 9f 93 push r25
|
||||
(8000000/256)/256 Hz = 122,0703125 Hz
|
||||
1/122,0703125 s = 8,192 ms
|
||||
*/
|
||||
/*DDRB = 0b10111011;
|
||||
PORTB = 0b10110011;*/
|
||||
if (var++ >= 100) //wenn Zustand mindestens 200x10ms = 2sec. andauert
|
||||
172: 80 91 76 00 lds r24, 0x0076
|
||||
176: 98 2f mov r25, r24
|
||||
178: 9f 5f subi r25, 0xFF ; 255
|
||||
17a: 90 93 76 00 sts 0x0076, r25
|
||||
17e: 84 36 cpi r24, 0x64 ; 100
|
||||
180: 90 f0 brcs .+36 ; 0x1a6 <__vector_13+0x42>
|
||||
{
|
||||
if(frame[2] == 14) {
|
||||
182: 80 91 71 00 lds r24, 0x0071
|
||||
186: 8e 30 cpi r24, 0x0E ; 14
|
||||
188: 39 f4 brne .+14 ; 0x198 <__vector_13+0x34>
|
||||
frame[2] = 0;
|
||||
18a: 10 92 71 00 sts 0x0071, r1
|
||||
frame[3] = 1;
|
||||
18e: 81 e0 ldi r24, 0x01 ; 1
|
||||
190: 80 93 72 00 sts 0x0072, r24
|
||||
frame[4] = 2;
|
||||
194: 82 e0 ldi r24, 0x02 ; 2
|
||||
196: 05 c0 rjmp .+10 ; 0x1a2 <__vector_13+0x3e>
|
||||
} else {
|
||||
frame[2] = 14;
|
||||
198: 8e e0 ldi r24, 0x0E ; 14
|
||||
19a: 80 93 71 00 sts 0x0071, r24
|
||||
frame[3] = 14;
|
||||
19e: 80 93 72 00 sts 0x0072, r24
|
||||
frame[4] = 14;
|
||||
1a2: 80 93 73 00 sts 0x0073, r24
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
1a6: 9f 91 pop r25
|
||||
1a8: 8f 91 pop r24
|
||||
1aa: 0f 90 pop r0
|
||||
1ac: 0f be out 0x3f, r0 ; 63
|
||||
1ae: 0f 90 pop r0
|
||||
1b0: 1f 90 pop r1
|
||||
1b2: 18 95 reti
|
||||
|
||||
000001b4 <main>:
|
||||
|
||||
int main(void) {
|
||||
154: ff 92 push r15
|
||||
156: 0f 93 push r16
|
||||
158: 1f 93 push r17
|
||||
15a: df 93 push r29
|
||||
15c: cf 93 push r28
|
||||
15e: 00 d0 rcall .+0 ; 0x160 <main+0xc>
|
||||
160: cd b7 in r28, 0x3d ; 61
|
||||
162: de b7 in r29, 0x3e ; 62
|
||||
1b4: af 92 push r10
|
||||
1b6: bf 92 push r11
|
||||
1b8: df 92 push r13
|
||||
1ba: ef 92 push r14
|
||||
1bc: ff 92 push r15
|
||||
1be: 0f 93 push r16
|
||||
1c0: 1f 93 push r17
|
||||
1c2: df 93 push r29
|
||||
1c4: cf 93 push r28
|
||||
1c6: 0f 92 push r0
|
||||
1c8: cd b7 in r28, 0x3d ; 61
|
||||
1ca: de b7 in r29, 0x3e ; 62
|
||||
DDRB = 0;
|
||||
164: 17 ba out 0x17, r1 ; 23
|
||||
1cc: 17 ba out 0x17, r1 ; 23
|
||||
TCCR0B |= (1<<CS00 ) | (1<<CS02);
|
||||
OCR0A = 250; //geladen mit 10ms
|
||||
TIMSK |= (1<<OCIE0A);
|
||||
sei();//*/
|
||||
while(1){
|
||||
//frame = {14,5, 14,5, 14,5};
|
||||
frame[0] = 11;
|
||||
166: 8b e0 ldi r24, 0x0B ; 11
|
||||
168: f8 2e mov r15, r24
|
||||
16a: f0 92 6f 00 sts 0x006F, r15
|
||||
16e: 19 e0 ldi r17, 0x09 ; 9
|
||||
for(uint8_t l=0;l<10;l++) {
|
||||
frame[2] = 9-l;
|
||||
170: 10 93 71 00 sts 0x0071, r17
|
||||
174: 09 e0 ldi r16, 0x09 ; 9
|
||||
for(uint8_t k=0;k<10;k++) {
|
||||
frame[3] = 9-k;
|
||||
176: 00 93 72 00 sts 0x0072, r16
|
||||
17a: 89 e0 ldi r24, 0x09 ; 9
|
||||
for(uint8_t j=0;j<10;j++) {
|
||||
frame[4] = 9-j;
|
||||
17c: 80 93 73 00 sts 0x0073, r24
|
||||
180: 99 e0 ldi r25, 0x09 ; 9
|
||||
for(uint8_t i=0;i<10;i++) {
|
||||
frame[5] = 9-i;
|
||||
182: 90 93 74 00 sts 0x0074, r25
|
||||
render();
|
||||
186: 89 83 std Y+1, r24 ; 0x01
|
||||
188: 9a 83 std Y+2, r25 ; 0x02
|
||||
18a: ca df rcall .-108 ; 0x120 <render>
|
||||
18c: 9a 81 ldd r25, Y+2 ; 0x02
|
||||
18e: 91 50 subi r25, 0x01 ; 1
|
||||
frame[2] = 9-l;
|
||||
for(uint8_t k=0;k<10;k++) {
|
||||
frame[3] = 9-k;
|
||||
for(uint8_t j=0;j<10;j++) {
|
||||
frame[4] = 9-j;
|
||||
for(uint8_t i=0;i<10;i++) {
|
||||
190: 89 81 ldd r24, Y+1 ; 0x01
|
||||
192: 9f 3f cpi r25, 0xFF ; 255
|
||||
194: b1 f7 brne .-20 ; 0x182 <main+0x2e>
|
||||
196: 81 50 subi r24, 0x01 ; 1
|
||||
198: 88 f7 brcc .-30 ; 0x17c <main+0x28>
|
||||
frame[0] = 11;
|
||||
for(uint8_t l=0;l<10;l++) {
|
||||
frame[2] = 9-l;
|
||||
for(uint8_t k=0;k<10;k++) {
|
||||
frame[3] = 9-k;
|
||||
for(uint8_t j=0;j<10;j++) {
|
||||
19a: 01 50 subi r16, 0x01 ; 1
|
||||
19c: 60 f7 brcc .-40 ; 0x176 <main+0x22>
|
||||
1ce: 2b e0 ldi r18, 0x0B ; 11
|
||||
1d0: d2 2e mov r13, r18
|
||||
for(uint8_t j=0;j<=30;j++) {
|
||||
frame[2] = (uint8_t)((30-j)/10);
|
||||
1d2: 9a e0 ldi r25, 0x0A ; 10
|
||||
1d4: e9 2e mov r14, r25
|
||||
1d6: f1 2c mov r15, r1
|
||||
TCCR0B |= (1<<CS00 ) | (1<<CS02);
|
||||
OCR0A = 250; //geladen mit 10ms
|
||||
TIMSK |= (1<<OCIE0A);
|
||||
sei();//*/
|
||||
while(1){
|
||||
//frame = {14,5, 14,5, 14,5};
|
||||
frame[0] = 11;
|
||||
for(uint8_t l=0;l<10;l++) {
|
||||
frame[2] = 9-l;
|
||||
for(uint8_t k=0;k<10;k++) {
|
||||
19e: 11 50 subi r17, 0x01 ; 1
|
||||
1a0: 38 f7 brcc .-50 ; 0x170 <main+0x1c>
|
||||
1a2: e3 cf rjmp .-58 ; 0x16a <main+0x16>
|
||||
1d8: d0 92 6f 00 sts 0x006F, r13
|
||||
1dc: 0e e1 ldi r16, 0x1E ; 30
|
||||
1de: 10 e0 ldi r17, 0x00 ; 0
|
||||
for(uint8_t j=0;j<=30;j++) {
|
||||
frame[2] = (uint8_t)((30-j)/10);
|
||||
1e0: c8 01 movw r24, r16
|
||||
1e2: b7 01 movw r22, r14
|
||||
1e4: 24 d0 rcall .+72 ; 0x22e <__divmodhi4>
|
||||
1e6: 60 93 71 00 sts 0x0071, r22
|
||||
frame[3] = (uint8_t)((30-j)%10);
|
||||
1ea: 80 93 72 00 sts 0x0072, r24
|
||||
1ee: 8b e3 ldi r24, 0x3B ; 59
|
||||
1f0: a8 2e mov r10, r24
|
||||
1f2: b1 2c mov r11, r1
|
||||
for(uint8_t i=0;i<=59;i++) {
|
||||
frame[4] = (uint8_t)((59-i)/10);
|
||||
1f4: c5 01 movw r24, r10
|
||||
1f6: b7 01 movw r22, r14
|
||||
1f8: 1a d0 rcall .+52 ; 0x22e <__divmodhi4>
|
||||
1fa: 60 93 73 00 sts 0x0073, r22
|
||||
frame[5] = (uint8_t)((59-i)%10);
|
||||
1fe: 80 93 74 00 sts 0x0074, r24
|
||||
for(uint8_t k=0;k<82;k++) {
|
||||
202: 80 e0 ldi r24, 0x00 ; 0
|
||||
render();
|
||||
204: 89 83 std Y+1, r24 ; 0x01
|
||||
206: 94 df rcall .-216 ; 0x130 <render>
|
||||
frame[2] = (uint8_t)((30-j)/10);
|
||||
frame[3] = (uint8_t)((30-j)%10);
|
||||
for(uint8_t i=0;i<=59;i++) {
|
||||
frame[4] = (uint8_t)((59-i)/10);
|
||||
frame[5] = (uint8_t)((59-i)%10);
|
||||
for(uint8_t k=0;k<82;k++) {
|
||||
208: 89 81 ldd r24, Y+1 ; 0x01
|
||||
20a: 8f 5f subi r24, 0xFF ; 255
|
||||
20c: 82 35 cpi r24, 0x52 ; 82
|
||||
20e: d1 f7 brne .-12 ; 0x204 <main+0x50>
|
||||
210: 08 94 sec
|
||||
212: a1 08 sbc r10, r1
|
||||
214: b1 08 sbc r11, r1
|
||||
while(1){
|
||||
frame[0] = 11;
|
||||
for(uint8_t j=0;j<=30;j++) {
|
||||
frame[2] = (uint8_t)((30-j)/10);
|
||||
frame[3] = (uint8_t)((30-j)%10);
|
||||
for(uint8_t i=0;i<=59;i++) {
|
||||
216: 8f ef ldi r24, 0xFF ; 255
|
||||
218: a8 16 cp r10, r24
|
||||
21a: 8f ef ldi r24, 0xFF ; 255
|
||||
21c: b8 06 cpc r11, r24
|
||||
21e: 51 f7 brne .-44 ; 0x1f4 <main+0x40>
|
||||
220: 01 50 subi r16, 0x01 ; 1
|
||||
222: 10 40 sbci r17, 0x00 ; 0
|
||||
OCR0A = 250; //geladen mit 10ms
|
||||
TIMSK |= (1<<OCIE0A);
|
||||
sei();//*/
|
||||
while(1){
|
||||
frame[0] = 11;
|
||||
for(uint8_t j=0;j<=30;j++) {
|
||||
224: ef ef ldi r30, 0xFF ; 255
|
||||
226: 0f 3f cpi r16, 0xFF ; 255
|
||||
228: 1e 07 cpc r17, r30
|
||||
22a: d1 f6 brne .-76 ; 0x1e0 <main+0x2c>
|
||||
22c: d5 cf rjmp .-86 ; 0x1d8 <main+0x24>
|
||||
|
||||
000001a4 <_exit>:
|
||||
1a4: f8 94 cli
|
||||
0000022e <__divmodhi4>:
|
||||
22e: 97 fb bst r25, 7
|
||||
230: 09 2e mov r0, r25
|
||||
232: 07 26 eor r0, r23
|
||||
234: 0a d0 rcall .+20 ; 0x24a <__divmodhi4_neg1>
|
||||
236: 77 fd sbrc r23, 7
|
||||
238: 04 d0 rcall .+8 ; 0x242 <__divmodhi4_neg2>
|
||||
23a: 0c d0 rcall .+24 ; 0x254 <__udivmodhi4>
|
||||
23c: 06 d0 rcall .+12 ; 0x24a <__divmodhi4_neg1>
|
||||
23e: 00 20 and r0, r0
|
||||
240: 1a f4 brpl .+6 ; 0x248 <__divmodhi4_exit>
|
||||
|
||||
000001a6 <__stop_program>:
|
||||
1a6: ff cf rjmp .-2 ; 0x1a6 <__stop_program>
|
||||
00000242 <__divmodhi4_neg2>:
|
||||
242: 70 95 com r23
|
||||
244: 61 95 neg r22
|
||||
246: 7f 4f sbci r23, 0xFF ; 255
|
||||
|
||||
00000248 <__divmodhi4_exit>:
|
||||
248: 08 95 ret
|
||||
|
||||
0000024a <__divmodhi4_neg1>:
|
||||
24a: f6 f7 brtc .-4 ; 0x248 <__divmodhi4_exit>
|
||||
24c: 90 95 com r25
|
||||
24e: 81 95 neg r24
|
||||
250: 9f 4f sbci r25, 0xFF ; 255
|
||||
252: 08 95 ret
|
||||
|
||||
00000254 <__udivmodhi4>:
|
||||
254: aa 1b sub r26, r26
|
||||
256: bb 1b sub r27, r27
|
||||
258: 51 e1 ldi r21, 0x11 ; 17
|
||||
25a: 07 c0 rjmp .+14 ; 0x26a <__udivmodhi4_ep>
|
||||
|
||||
0000025c <__udivmodhi4_loop>:
|
||||
25c: aa 1f adc r26, r26
|
||||
25e: bb 1f adc r27, r27
|
||||
260: a6 17 cp r26, r22
|
||||
262: b7 07 cpc r27, r23
|
||||
264: 10 f0 brcs .+4 ; 0x26a <__udivmodhi4_ep>
|
||||
266: a6 1b sub r26, r22
|
||||
268: b7 0b sbc r27, r23
|
||||
|
||||
0000026a <__udivmodhi4_ep>:
|
||||
26a: 88 1f adc r24, r24
|
||||
26c: 99 1f adc r25, r25
|
||||
26e: 5a 95 dec r21
|
||||
270: a9 f7 brne .-22 ; 0x25c <__udivmodhi4_loop>
|
||||
272: 80 95 com r24
|
||||
274: 90 95 com r25
|
||||
276: bc 01 movw r22, r24
|
||||
278: cd 01 movw r24, r26
|
||||
27a: 08 95 ret
|
||||
|
||||
0000027c <_exit>:
|
||||
27c: f8 94 cli
|
||||
|
||||
0000027e <__stop_program>:
|
||||
27e: ff cf rjmp .-2 ; 0x27e <__stop_program>
|
||||
|
@ -1,9 +1,15 @@
|
||||
Archive member included because of file (symbol)
|
||||
|
||||
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
|
||||
Timer.o (__divmodhi4)
|
||||
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o (exit)
|
||||
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
|
||||
Timer.o (__do_copy_data)
|
||||
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
|
||||
Timer.o (__do_clear_bss)
|
||||
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
|
||||
e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) (__udivmodhi4)
|
||||
|
||||
Memory Configuration
|
||||
|
||||
@ -114,7 +120,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
|
||||
.rela.plt
|
||||
*(.rela.plt)
|
||||
|
||||
.text 0x00000000 0x1a8
|
||||
.text 0x00000000 0x280
|
||||
*(.vectors)
|
||||
.vectors 0x00000000 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
|
||||
0x00000000 __vector_default
|
||||
@ -154,6 +160,8 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
|
||||
*(.init4)
|
||||
.init4 0x0000002e 0x16 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
|
||||
0x0000002e __do_copy_data
|
||||
.init4 0x00000044 0x10 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
|
||||
0x00000044 __do_clear_bss
|
||||
*(.init4)
|
||||
*(.init5)
|
||||
*(.init5)
|
||||
@ -164,44 +172,53 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
|
||||
*(.init8)
|
||||
*(.init8)
|
||||
*(.init9)
|
||||
.init9 0x00000044 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
|
||||
.init9 0x00000054 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
|
||||
*(.init9)
|
||||
*(.text)
|
||||
.text 0x00000048 0x2 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
|
||||
0x00000048 __vector_1
|
||||
0x00000048 __vector_12
|
||||
0x00000048 __bad_interrupt
|
||||
0x00000048 __vector_6
|
||||
0x00000048 __vector_3
|
||||
0x00000048 __vector_11
|
||||
0x00000048 __vector_13
|
||||
0x00000048 __vector_17
|
||||
0x00000048 __vector_7
|
||||
0x00000048 __vector_5
|
||||
0x00000048 __vector_4
|
||||
0x00000048 __vector_9
|
||||
0x00000048 __vector_2
|
||||
0x00000048 __vector_15
|
||||
0x00000048 __vector_8
|
||||
0x00000048 __vector_14
|
||||
0x00000048 __vector_10
|
||||
0x00000048 __vector_16
|
||||
0x00000048 __vector_18
|
||||
.text 0x0000004a 0x15a Timer.o
|
||||
0x0000004a display
|
||||
0x00000120 render
|
||||
0x00000154 main
|
||||
.text 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
.text 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
|
||||
0x000001a4 . = ALIGN (0x2)
|
||||
.text 0x00000058 0x2 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
|
||||
0x00000058 __vector_1
|
||||
0x00000058 __vector_12
|
||||
0x00000058 __bad_interrupt
|
||||
0x00000058 __vector_6
|
||||
0x00000058 __vector_3
|
||||
0x00000058 __vector_11
|
||||
0x00000058 __vector_17
|
||||
0x00000058 __vector_7
|
||||
0x00000058 __vector_5
|
||||
0x00000058 __vector_4
|
||||
0x00000058 __vector_9
|
||||
0x00000058 __vector_2
|
||||
0x00000058 __vector_15
|
||||
0x00000058 __vector_8
|
||||
0x00000058 __vector_14
|
||||
0x00000058 __vector_10
|
||||
0x00000058 __vector_16
|
||||
0x00000058 __vector_18
|
||||
.text 0x0000005a 0x1d4 Timer.o
|
||||
0x0000005a display
|
||||
0x00000130 render
|
||||
0x00000164 __vector_13
|
||||
0x000001b4 main
|
||||
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
|
||||
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.text 0x0000022e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
|
||||
0x0000022e . = ALIGN (0x2)
|
||||
*(.text.*)
|
||||
.text.libgcc 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
.text.libgcc 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
|
||||
0x000001a4 . = ALIGN (0x2)
|
||||
.text.libgcc 0x0000022e 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
|
||||
0x0000022e _div
|
||||
0x0000022e __divmodhi4
|
||||
.text.libgcc 0x00000254 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
.text.libgcc 0x00000254 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
|
||||
.text.libgcc 0x00000254 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc 0x00000254 0x28 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
|
||||
0x00000254 __udivmodhi4
|
||||
0x0000027c . = ALIGN (0x2)
|
||||
*(.fini9)
|
||||
.fini9 0x000001a4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
0x000001a4 _exit
|
||||
0x000001a4 exit
|
||||
.fini9 0x0000027c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
0x0000027c _exit
|
||||
0x0000027c exit
|
||||
*(.fini9)
|
||||
*(.fini8)
|
||||
*(.fini8)
|
||||
@ -220,19 +237,22 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
|
||||
*(.fini1)
|
||||
*(.fini1)
|
||||
*(.fini0)
|
||||
.fini0 0x000001a4 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
.fini0 0x0000027c 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
*(.fini0)
|
||||
0x000001a8 _etext = .
|
||||
0x00000280 _etext = .
|
||||
|
||||
.data 0x00800060 0x16 load address 0x000001a8
|
||||
.data 0x00800060 0x16 load address 0x00000280
|
||||
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 0x15 Timer.o
|
||||
0x00800060 segs
|
||||
0x0080006f frame
|
||||
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
|
||||
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
|
||||
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.data 0x00800075 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
|
||||
*(.data*)
|
||||
*(.rodata)
|
||||
*(.rodata*)
|
||||
@ -242,25 +262,29 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
|
||||
0x00800076 _edata = .
|
||||
0x00800076 PROVIDE (__data_end, .)
|
||||
|
||||
.bss 0x00800076 0x0
|
||||
.bss 0x00800076 0x1
|
||||
0x00800076 PROVIDE (__bss_start, .)
|
||||
*(.bss)
|
||||
.bss 0x00800076 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o
|
||||
.bss 0x00800076 0x0 Timer.o
|
||||
.bss 0x00800076 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
.bss 0x00800076 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
|
||||
.bss 0x00800076 0x1 Timer.o
|
||||
0x00800076 var
|
||||
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o)
|
||||
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o)
|
||||
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o)
|
||||
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o)
|
||||
.bss 0x00800077 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o)
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
0x00800076 PROVIDE (__bss_end, .)
|
||||
0x000001a8 __data_load_start = LOADADDR (.data)
|
||||
0x000001be __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||
0x00800077 PROVIDE (__bss_end, .)
|
||||
0x00000280 __data_load_start = LOADADDR (.data)
|
||||
0x00000296 __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||
|
||||
.noinit 0x00800076 0x0
|
||||
0x00800076 PROVIDE (__noinit_start, .)
|
||||
.noinit 0x00800077 0x0
|
||||
0x00800077 PROVIDE (__noinit_start, .)
|
||||
*(.noinit*)
|
||||
0x00800076 PROVIDE (__noinit_end, .)
|
||||
0x00800076 _end = .
|
||||
0x00800076 PROVIDE (__heap_start, .)
|
||||
0x00800077 PROVIDE (__noinit_end, .)
|
||||
0x00800077 _end = .
|
||||
0x00800077 PROVIDE (__heap_start, .)
|
||||
|
||||
.eeprom 0x00810000 0x0
|
||||
*(.eeprom*)
|
||||
@ -319,36 +343,36 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a
|
||||
0x00000000 0x20 Timer.o
|
||||
|
||||
.debug_pubnames
|
||||
0x00000000 0x45
|
||||
0x00000000 0x5d
|
||||
*(.debug_pubnames)
|
||||
.debug_pubnames
|
||||
0x00000000 0x45 Timer.o
|
||||
0x00000000 0x5d Timer.o
|
||||
|
||||
.debug_info 0x00000000 0x2af
|
||||
.debug_info 0x00000000 0x2cf
|
||||
*(.debug_info)
|
||||
.debug_info 0x00000000 0x2af Timer.o
|
||||
.debug_info 0x00000000 0x2cf Timer.o
|
||||
*(.gnu.linkonce.wi.*)
|
||||
|
||||
.debug_abbrev 0x00000000 0x196
|
||||
.debug_abbrev 0x00000000 0x1d4
|
||||
*(.debug_abbrev)
|
||||
.debug_abbrev 0x00000000 0x196 Timer.o
|
||||
.debug_abbrev 0x00000000 0x1d4 Timer.o
|
||||
|
||||
.debug_line 0x00000000 0x24a
|
||||
.debug_line 0x00000000 0x2b2
|
||||
*(.debug_line)
|
||||
.debug_line 0x00000000 0x24a Timer.o
|
||||
.debug_line 0x00000000 0x2b2 Timer.o
|
||||
|
||||
.debug_frame 0x00000000 0x40
|
||||
.debug_frame 0x00000000 0x50
|
||||
*(.debug_frame)
|
||||
.debug_frame 0x00000000 0x40 Timer.o
|
||||
.debug_frame 0x00000000 0x50 Timer.o
|
||||
|
||||
.debug_str 0x00000000 0xf6
|
||||
.debug_str 0x00000000 0x102
|
||||
*(.debug_str)
|
||||
.debug_str 0x00000000 0xf6 Timer.o
|
||||
0x12a (size before relaxing)
|
||||
.debug_str 0x00000000 0x102 Timer.o
|
||||
0x13b (size before relaxing)
|
||||
|
||||
.debug_loc 0x00000000 0xbf
|
||||
.debug_loc 0x00000000 0xb6
|
||||
*(.debug_loc)
|
||||
.debug_loc 0x00000000 0xbf Timer.o
|
||||
.debug_loc 0x00000000 0xb6 Timer.o
|
||||
|
||||
.debug_macinfo
|
||||
*(.debug_macinfo)
|
||||
@ -359,3 +383,6 @@ LOAD linker stubs
|
||||
0x00000000 0x2b
|
||||
.debug_pubtypes
|
||||
0x00000000 0x2b Timer.o
|
||||
|
||||
.debug_ranges 0x00000000 0x18
|
||||
.debug_ranges 0x00000000 0x18 Timer.o
|
||||
|
@ -11,7 +11,8 @@ Timer.o: ../Timer.c \
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/fuse.h \
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/lock.h \
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h \
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h \
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/interrupt.h
|
||||
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/io.h:
|
||||
|
||||
@ -38,3 +39,5 @@ e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h:
|
||||
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h:
|
||||
|
||||
e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/interrupt.h:
|
||||
|
Loading…
Reference in New Issue
Block a user