📄 main.lss
字号:
__ticks = (uint16_t)__tmp;
252: 8a ef ldi r24, 0xFA ; 250
254: 90 e0 ldi r25, 0x00 ; 0
256: fc 01 movw r30, r24
258: 31 97 sbiw r30, 0x01 ; 1
25a: f1 f7 brne .-4 ; 0x258
_delay_ms(1);
resth;
25c: 90 9a sbi 0x12, 0 ; 18
*/
static __inline__ void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
25e: fc 01 movw r30, r24
260: 31 97 sbiw r30, 0x01 ; 1
262: f1 f7 brne .-4 ; 0x260
_delay_ms(1);
sclkh;
264: c7 9a sbi 0x18, 7 ; 24
sdatah;
266: c5 9a sbi 0x18, 5 ; 24
csh;
268: 91 9a sbi 0x12, 1 ; 18
*/
static __inline__ void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
26a: 01 97 sbiw r24, 0x01 ; 1
26c: f1 f7 brne .-4 ; 0x26a
_delay_ms(1);
glcdn_WriteCommand(0x82);
26e: 82 e8 ldi r24, 0x82 ; 130
270: 0e 94 55 00 call 0xaa
glcdn_WriteData(1);
274: 81 e0 ldi r24, 0x01 ; 1
276: 0e 94 47 00 call 0x8e
27a: cc e0 ldi r28, 0x0C ; 12
27c: d0 e0 ldi r29, 0x00 ; 0
int w;
for(w=0;w<13;w++) glcdn_WriteData(0);
27e: 80 e0 ldi r24, 0x00 ; 0
280: 0e 94 47 00 call 0x8e
284: 21 97 sbiw r28, 0x01 ; 1
286: d7 ff sbrs r29, 7
288: fa cf rjmp .-12 ; 0x27e
glcdn_WriteCommand(0xD1);
28a: 81 ed ldi r24, 0xD1 ; 209
28c: 0e 94 55 00 call 0xaa
glcdn_WriteCommand(0xCA);
290: 8a ec ldi r24, 0xCA ; 202
292: 0e 94 55 00 call 0xaa
glcdn_WriteData(0x0f);
296: 8f e0 ldi r24, 0x0F ; 15
298: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x20);
29c: 80 e2 ldi r24, 0x20 ; 32
29e: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x0f);
2a2: 8f e0 ldi r24, 0x0F ; 15
2a4: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x01);
2a8: 81 e0 ldi r24, 0x01 ; 1
2aa: 0e 94 47 00 call 0x8e
glcdn_WriteCommand(0x94);
2ae: 84 e9 ldi r24, 0x94 ; 148
2b0: 0e 94 55 00 call 0xaa
glcdn_WriteCommand(0xA9);
2b4: 89 ea ldi r24, 0xA9 ; 169
2b6: 0e 94 55 00 call 0xaa
glcdn_WriteCommand(0x20);
2ba: 80 e2 ldi r24, 0x20 ; 32
2bc: 0e 94 55 00 call 0xaa
glcdn_WriteData(0x0f);
2c0: 8f e0 ldi r24, 0x0F ; 15
2c2: 0e 94 47 00 call 0x8e
glcdn_WriteCommand(0x81);
2c6: 81 e8 ldi r24, 0x81 ; 129
2c8: 0e 94 55 00 call 0xaa
glcdn_WriteData(0x0f);
2cc: 8f e0 ldi r24, 0x0F ; 15
2ce: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x05);
2d2: 85 e0 ldi r24, 0x05 ; 5
2d4: 0e 94 47 00 call 0x8e
glcdn_WriteCommand(0xA7);
2d8: 87 ea ldi r24, 0xA7 ; 167
2da: 0e 94 55 00 call 0xaa
glcdn_WriteCommand(0xBC);
2de: 8c eb ldi r24, 0xBC ; 188
2e0: 0e 94 55 00 call 0xaa
glcdn_WriteData(0x04);
2e4: 84 e0 ldi r24, 0x04 ; 4
2e6: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x00);
2ea: 80 e0 ldi r24, 0x00 ; 0
2ec: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x04);
2f0: 84 e0 ldi r24, 0x04 ; 4
2f2: 0e 94 47 00 call 0x8e
glcdn_WriteCommand(0xBB);
2f6: 8b eb ldi r24, 0xBB ; 187
2f8: 0e 94 55 00 call 0xaa
glcdn_WriteData(0x01);
2fc: 81 e0 ldi r24, 0x01 ; 1
2fe: 0e 94 47 00 call 0x8e
glcdn_WriteCommand(0xAF);
302: 8f ea ldi r24, 0xAF ; 175
304: 0e 94 55 00 call 0xaa
glcdn_WriteCommand(0xCE);
308: 8e ec ldi r24, 0xCE ; 206
30a: 0e 94 55 00 call 0xaa
glcdn_WriteData(0x00);
30e: 80 e0 ldi r24, 0x00 ; 0
310: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x01);
314: 81 e0 ldi r24, 0x01 ; 1
316: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x02);
31a: 82 e0 ldi r24, 0x02 ; 2
31c: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x03);
320: 83 e0 ldi r24, 0x03 ; 3
322: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x04);
326: 84 e0 ldi r24, 0x04 ; 4
328: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x05);
32c: 85 e0 ldi r24, 0x05 ; 5
32e: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x06);
332: 86 e0 ldi r24, 0x06 ; 6
334: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x07);
338: 87 e0 ldi r24, 0x07 ; 7
33a: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x00);
33e: 80 e0 ldi r24, 0x00 ; 0
340: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x01);
344: 81 e0 ldi r24, 0x01 ; 1
346: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x02);
34a: 82 e0 ldi r24, 0x02 ; 2
34c: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x03);
350: 83 e0 ldi r24, 0x03 ; 3
352: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x04);
356: 84 e0 ldi r24, 0x04 ; 4
358: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x05);
35c: 85 e0 ldi r24, 0x05 ; 5
35e: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x06);
362: 86 e0 ldi r24, 0x06 ; 6
364: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x07);
368: 87 e0 ldi r24, 0x07 ; 7
36a: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x00);
36e: 80 e0 ldi r24, 0x00 ; 0
370: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x01);
374: 81 e0 ldi r24, 0x01 ; 1
376: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x02);
37a: 82 e0 ldi r24, 0x02 ; 2
37c: 0e 94 47 00 call 0x8e
glcdn_WriteData(0x03);
380: 83 e0 ldi r24, 0x03 ; 3
382: 0e 94 47 00 call 0x8e
glcdn_ClearLcd();
386: 0e 94 fb 00 call 0x1f6
38a: df 91 pop r29
38c: cf 91 pop r28
38e: 08 95 ret
00000390 <RGB2>:
}
void RGB2(unsigned char red,unsigned char green,unsigned char blue)
{
390: 26 2f mov r18, r22
Color1=(red&0xf0>>4);
392: 8f 70 andi r24, 0x0F ; 15
394: 80 93 e6 01 sts 0x01E6, r24
Color2=(green&0xf0)|((blue&0xf0)>>4);
398: 20 7f andi r18, 0xF0 ; 240
39a: 84 2f mov r24, r20
39c: 99 27 eor r25, r25
39e: 34 e0 ldi r19, 0x04 ; 4
3a0: 96 95 lsr r25
3a2: 87 95 ror r24
3a4: 3a 95 dec r19
3a6: e1 f7 brne .-8 ; 0x3a0
3a8: 28 2b or r18, r24
3aa: 20 93 e5 01 sts 0x01E5, r18
3ae: 08 95 ret
000003b0 <main>:
}
int main(void)
{
3b0: cf e5 ldi r28, 0x5F ; 95
3b2: d4 e0 ldi r29, 0x04 ; 4
3b4: de bf out 0x3e, r29 ; 62
3b6: cd bf out 0x3d, r28 ; 61
MCUCR=0x00;
3b8: 15 be out 0x35, r1 ; 53
GICR=0x40;
3ba: 80 e4 ldi r24, 0x40 ; 64
3bc: 8b bf out 0x3b, r24 ; 59
sei();
3be: 78 94 sei
SPCR = (1<<SPE) | (1<<MSTR) | (1<<CPHA) | (1<<CPOL);
3c0: 8c e5 ldi r24, 0x5C ; 92
3c2: 8d b9 out 0x0d, r24 ; 13
RGB2(255,255,255);
3c4: 4f ef ldi r20, 0xFF ; 255
3c6: 64 2f mov r22, r20
3c8: 84 2f mov r24, r20
3ca: 0e 94 c8 01 call 0x390
glcdSetRect(glcd_Clip, 0, 0, 130, 130);
3ce: 10 92 e8 01 sts 0x01E8, r1
3d2: 10 92 e9 01 sts 0x01E9, r1
3d6: 82 e8 ldi r24, 0x82 ; 130
3d8: 80 93 ea 01 sts 0x01EA, r24
3dc: 80 93 eb 01 sts 0x01EB, r24
init_lcd(); //初始化LCD
3e0: 0e 94 16 01 call 0x22c
RGB2(255,255,255);
3e4: 4f ef ldi r20, 0xFF ; 255
3e6: 64 2f mov r22, r20
3e8: 84 2f mov r24, r20
3ea: 0e 94 c8 01 call 0x390
glcdn_ClearLcd(); //清屏
3ee: 0e 94 fb 00 call 0x1f6
while(1)
{
int h;
int b=0,c=32,d=0,e=0,f=15,g=15;
3f2: 00 e0 ldi r16, 0x00 ; 0
3f4: 10 e0 ldi r17, 0x00 ; 0
3f6: 60 e2 ldi r22, 0x20 ; 32
3f8: 86 2e mov r8, r22
3fa: 91 2c mov r9, r1
3fc: b8 01 movw r22, r16
3fe: f8 01 movw r30, r16
400: 5f e0 ldi r21, 0x0F ; 15
402: e5 2e mov r14, r21
404: f1 2c mov r15, r1
406: 67 01 movw r12, r14
colora=0x00; //黑色
408: 10 92 ec 01 sts 0x01EC, r1
colorb=0xff;
40c: 8f ef ldi r24, 0xFF ; 255
40e: 80 93 e7 01 sts 0x01E7, r24
412: 45 e0 ldi r20, 0x05 ; 5
414: a4 2e mov r10, r20
416: b1 2c mov r11, r1
for(h=0;h<6;h++)
{
glcdRectangle(d,e,f,g);
418: 2e 2d mov r18, r14
41a: 4c 2d mov r20, r12
41c: 8e 2f mov r24, r30
41e: 0e 94 ed 00 call 0x1da
for(b;b<c;b++)
422: 08 15 cp r16, r8
424: 19 05 cpc r17, r9
426: 94 f4 brge .+36 ; 0x44c
428: e8 01 movw r28, r16
42a: c0 0f add r28, r16
42c: d1 1f adc r29, r17
42e: c0 5a subi r28, 0xA0 ; 160
430: df 4f sbci r29, 0xFF ; 255
{
a=discode[b];
432: 89 91 ld r24, Y+
434: 99 91 ld r25, Y+
436: 90 93 ee 01 sts 0x01EE, r25
43a: 80 93 ed 01 sts 0x01ED, r24
write();
43e: 0e 94 86 00 call 0x10c
442: 0f 5f subi r16, 0xFF ; 255
444: 1f 4f sbci r17, 0xFF ; 255
446: 08 15 cp r16, r8
448: 19 05 cpc r17, r9
44a: 9c f3 brlt .-26 ; 0x432
}
c=c+32;
44c: 80 e2 ldi r24, 0x20 ; 32
44e: 90 e0 ldi r25, 0x00 ; 0
450: 88 0e add r8, r24
452: 99 1e adc r9, r25
double __tmp = ((F_CPU) / 4e3) * __ms;
if (__tmp < 1.0)
__ticks = 1;
else if (__tmp > 65535)
__ticks = 0; /* i.e. 65536 */
454: 80 e0 ldi r24, 0x00 ; 0
456: 90 e0 ldi r25, 0x00 ; 0
458: 01 97 sbiw r24, 0x01 ; 1
45a: f1 f7 brne .-4 ; 0x458
_delay_ms(500);
d=f+1;
45c: f6 01 movw r30, r12
45e: 31 96 adiw r30, 0x01 ; 1
e=g+1;
460: b7 01 movw r22, r14
462: 6f 5f subi r22, 0xFF ; 255
464: 7f 4f sbci r23, 0xFF ; 255
f=f+16;
466: 80 e1 ldi r24, 0x10 ; 16
468: 90 e0 ldi r25, 0x00 ; 0
46a: c8 0e add r12, r24
46c: d9 1e adc r13, r25
g=g+16;
46e: e8 0e add r14, r24
470: f9 1e adc r15, r25
472: 08 94 sec
474: a1 08 sbc r10, r1
476: b1 08 sbc r11, r1
478: b7 fe sbrs r11, 7
47a: ce cf rjmp .-100 ; 0x418
47c: b3 cf rjmp .-154 ; 0x3e4
0000047e <__vector_1>:
}
RGB2(255,255,255);
glcdn_ClearLcd(); //清屏
}
}
SIGNAL (SIG_INTERRUPT0)
{
47e: 1f 92 push r1
480: 0f 92 push r0
482: 0f b6 in r0, 0x3f ; 63
484: 0f 92 push r0
486: 11 24 eor r1, r1
488: 8f 93 push r24
48a: 9f 93 push r25
48c: ef 93 push r30
48e: ff 93 push r31
MCUCR=0X00;
490: 15 be out 0x35, r1 ; 53
while(!(PIND&0X04));
492: 82 9b sbis 0x10, 2 ; 16
494: fe cf rjmp .-4 ; 0x492
double __tmp = ((F_CPU) / 4e3) * __ms;
if (__tmp < 1.0)
__ticks = 1;
else if (__tmp > 65535)
__ticks = 0; /* i.e. 65536 */
496: e0 e0 ldi r30, 0x00 ; 0
498: f0 e0 ldi r31, 0x00 ; 0
49a: cf 01 movw r24, r30
49c: 01 97 sbiw r24, 0x01 ; 1
49e: f1 f7 brne .-4 ; 0x49c
_delay_ms(500);
x++;
4a0: 80 91 e0 01 lds r24, 0x01E0
4a4: 90 91 e1 01 lds r25, 0x01E1
4a8: 01 96 adiw r24, 0x01 ; 1
4aa: 90 93 e1 01 sts 0x01E1, r25
4ae: 80 93 e0 01 sts 0x01E0, r24
if(x==1)
4b2: 01 97 sbiw r24, 0x01 ; 1
4b4: 11 f4 brne .+4 ; 0x4ba
{
PORTB|=_BV(PB2);
4b6: c2 9a sbi 0x18, 2 ; 24
4b8: 06 c0 rjmp .+12 ; 0x4c6
}
else
{
DDRB&=~_BV(PB2);
4ba: ba 98 cbi 0x17, 2 ; 23
PORTB&=~_BV(PB2);
4bc: c2 98 cbi 0x18, 2 ; 24
x=0;
4be: f0 93 e1 01 sts 0x01E1, r31
4c2: e0 93 e0 01 sts 0x01E0, r30
4c6: ff 91 pop r31
4c8: ef 91 pop r30
4ca: 9f 91 pop r25
4cc: 8f 91 pop r24
4ce: 0f 90 pop r0
4d0: 0f be out 0x3f, r0 ; 63
4d2: 0f 90 pop r0
4d4: 1f 90 pop r1
4d6: 18 95 reti
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -