📄 main.lis
字号:
0478 .dbline 374
0478 C601 movw R24,R12
047A 8038 cpi R24,128
047C E0E0 ldi R30,0
047E 9E07 cpc R25,R30
0480 A0F3 brlo L46
0482 .dbline 378
0482 L43:
0482 .dbline 373
0482 4F5F subi R20,255 ; offset = 1
0484 5F4F sbci R21,255
0486 L45:
0486 .dbline 373
0486 403A cpi R20,160
0488 E0E0 ldi R30,0
048A 5E07 cpc R21,R30
048C 58F3 brlo L42
048E .dbline -2
048E L41:
048E 0E940000 xcall pop_gset4
0492 .dbline 0 ; func end
0492 0895 ret
0494 .dbsym r c 20 i
0494 .dbsym r s 12 i
0494 .dbsym r d2 22 c
0494 .dbsym r d1 10 c
0494 .dbend
0494 .dbfunc e display_dot7 _display_dot7 fV
0494 ; c -> R20,R21
0494 ; s -> R12,R13
0494 ; d2 -> R22
0494 ; d1 -> R10
.even
0494 _display_dot7::
0494 0E940000 xcall push_gset4
0498 622F mov R22,R18
049A A02E mov R10,R16
049C 2397 sbiw R28,3
049E .dbline -1
049E .dbline 383
049E ; {
049E ; writed(d1);writed(d2);
049E ; }
049E ; }
049E ; //delay(60000);//廷时大约2S
049E ; //delay(60000);
049E ; }
049E ; void display_dot7(unsigned char d1,unsigned char d2)
049E ; {
049E .dbline 385
049E ; unsigned int c,s;
049E ; addr4(0,0,127,127);
049E 8FE7 ldi R24,127
04A0 8A83 std y+2,R24
04A2 8883 std y+0,R24
04A4 2227 clr R18
04A6 0027 clr R16
04A8 AEDF xcall _addr4
04AA .dbline 386
04AA ; for(c=0;c<128;c++)
04AA 4427 clr R20
04AC 5527 clr R21
04AE 11C0 xjmp L54
04B0 L51:
04B0 .dbline 387
04B0 ; {for(s=0;s<128;s++)
04B0 .dbline 387
04B0 CC24 clr R12
04B2 DD24 clr R13
04B4 07C0 xjmp L58
04B6 L55:
04B6 .dbline 388
04B6 .dbline 389
04B6 0A2D mov R16,R10
04B8 58DE xcall _writed
04BA .dbline 389
04BA 062F mov R16,R22
04BC 56DE xcall _writed
04BE .dbline 390
04BE L56:
04BE .dbline 387
04BE C601 movw R24,R12
04C0 0196 adiw R24,1
04C2 6C01 movw R12,R24
04C4 L58:
04C4 .dbline 387
04C4 C601 movw R24,R12
04C6 8038 cpi R24,128
04C8 E0E0 ldi R30,0
04CA 9E07 cpc R25,R30
04CC A0F3 brlo L55
04CE .dbline 391
04CE L52:
04CE .dbline 386
04CE 4F5F subi R20,255 ; offset = 1
04D0 5F4F sbci R21,255
04D2 L54:
04D2 .dbline 386
04D2 4038 cpi R20,128
04D4 E0E0 ldi R30,0
04D6 5E07 cpc R21,R30
04D8 58F3 brlo L51
04DA .dbline -2
04DA L50:
04DA 2396 adiw R28,3
04DC 0E940000 xcall pop_gset4
04E0 .dbline 0 ; func end
04E0 0895 ret
04E2 .dbsym r c 20 i
04E2 .dbsym r s 12 i
04E2 .dbsym r d2 22 c
04E2 .dbsym r d1 10 c
04E2 .dbend
04E2 .dbfunc e delay_1 _delay_1 fV
04E2 ; j -> R20
04E2 ; i -> R22,R23
04E2 ; count -> R16
.even
04E2 _delay_1::
04E2 0E940000 xcall push_gset2
04E6 .dbline -1
04E6 .dbline 397
04E6 ; {
04E6 ; writed(d1);writed(d2);
04E6 ; }
04E6 ; }
04E6 ; //delay(60000);//廷时大约2S
04E6 ; //delay(60000);
04E6 ; }
04E6 ; /////////////////////////////////////////////////////////////////////////////////////
04E6 ; void delay_1(unsigned char count)
04E6 ; {
04E6 .dbline 400
04E6 ; unsigned int i;
04E6 ; unsigned char j;
04E6 ; for(j=0;j<count;j++)
04E6 4427 clr R20
04E8 0AC0 xjmp L63
04EA L60:
04EA .dbline 401
04EA ; {
04EA .dbline 402
04EA 6627 clr R22
04EC 7727 clr R23
04EE 02C0 xjmp L67
04F0 L64:
04F0 .dbline 402
04F0 L65:
04F0 .dbline 402
04F0 6F5F subi R22,255 ; offset = 1
04F2 7F4F sbci R23,255
04F4 L67:
04F4 .dbline 402
04F4 683E cpi R22,232
04F6 EDEF ldi R30,253
04F8 7E07 cpc R23,R30
04FA D0F3 brlo L64
04FC .dbline 403
04FC L61:
04FC .dbline 400
04FC 4395 inc R20
04FE L63:
04FE .dbline 400
04FE 4017 cp R20,R16
0500 A0F3 brlo L60
0502 .dbline -2
0502 L59:
0502 0E940000 xcall pop_gset2
0506 .dbline 0 ; func end
0506 0895 ret
0508 .dbsym r j 20 c
0508 .dbsym r i 22 i
0508 .dbsym r count 16 c
0508 .dbend
0508 .dbfunc e delay _delay fV
0508 ; tt -> R16,R17
.even
0508 _delay::
0508 .dbline -1
0508 .dbline 406
0508 ; for(i=0;i<65000;i++);
0508 ; }
0508 ; }
0508 ; void delay(unsigned int tt)
0508 ; {
0508 02C0 xjmp L70
050A L69:
050A .dbline 408
050A .dbline 409
050A 0150 subi R16,1
050C 1040 sbci R17,0
050E .dbline 410
050E L70:
050E .dbline 407
050E ; while(tt>0)
050E 0030 cpi R16,0
0510 0107 cpc R16,R17
0512 D9F7 brne L69
0514 X3:
0514 .dbline -2
0514 L68:
0514 .dbline 0 ; func end
0514 0895 ret
0516 .dbsym r tt 16 i
0516 .dbend
0516 .dbfunc e main _main fV
0516 ; now_time -> <dead>
0516 ; i -> <dead>
0516 ; status4 -> <dead>
0516 ; status3 -> <dead>
0516 ; status2 -> <dead>
.even
0516 _main::
0516 .dbline -1
0516 .dbline 413
0516 ; {
0516 ; tt--;
0516 ; }
0516 ; }
0516 ; void main(void)
0516 ; {
0516 .dbline 416
0516 ; unsigned char status2,status3,status4;
0516 ; unsigned int i,now_time;
0516 ; CLI();
0516 F894 cli
0518 .dbline 417
0518 ; MCUCR = 0x30; //进入掉电休眠模式 SE=1,SM0,SM1,SM2 :0,1,0
0518 80E3 ldi R24,48
051A 85BF out 0x35,R24
051C .dbline 418
051C ; EICRA = 0x03; //外部中断0的中断模式,上升沿触发中断
051C 83E0 ldi R24,3
051E 80936A00 sts 106,R24
0522 .dbline 419
0522 ; EICRB = 0x80; //外部中断7的中断模式,下降沿触发中断
0522 80E8 ldi R24,128
0524 8ABF out 0x3a,R24
0526 .dbline 420
0526 ; EIMSK = 0x81; //外部中断0和外部中断7的中断任务.
0526 81E8 ldi R24,129
0528 89BF out 0x39,R24
052A .dbline 421
052A ; TIMSK = 0x04; //timer interrupt sources
052A 84E0 ldi R24,4
052C 87BF out 0x37,R24
052E .dbline 422
052E ; ETIMSK = 0x00; //extended timer interrupt sources
052E 2224 clr R2
0530 20927D00 sts 125,R2
0534 .dbline 426
0534 ;
0534 ; // PORTE=0x00;
0534 ; // DDRE=0xFF;
0534 ; SEI();
0534 7894 sei
0536 .dbline 428
0536 ;
0536 ; timer0_init();
0536 AFDD xcall _timer0_init
0538 .dbline 429
0538 ; timer1_init();
0538 A4DD xcall _timer1_init
053A .dbline 431
053A ;
053A ; SET_RES(); //res=1;
053A 1398 cbi 0x2,3
053C .dbline 432
053C ; delay(400);
053C 00E9 ldi R16,400
053E 11E0 ldi R17,1
0540 E3DF xcall _delay
0542 .dbline 433
0542 ; CLEAR_RES(); //res=0;
0542 139A sbi 0x2,3
0544 .dbline 434
0544 ; delay(400);
0544 00E9 ldi R16,400
0546 11E0 ldi R17,1
0548 DFDF xcall _delay
054A .dbline 435
054A ; SET_RES(); //res=1;
054A 1398 cbi 0x2,3
054C .dbline 436
054C ; delay(400);
054C 00E9 ldi R16,400
054E 11E0 ldi R17,1
0550 DBDF xcall _delay
0552 .dbline 437
0552 ; inits6d0144();
0552 22DE xcall _inits6d0144
0554 .dbline 438
0554 ; display_dot7(0x00,0x00);
0554 2227 clr R18
0556 0027 clr R16
0558 9DDF xcall _display_dot7
055A .dbline 439
055A ; display_001();
055A 0E940000 xcall _display_001
055E .dbline 440
055E ; delay_1(80);
055E 00E5 ldi R16,80
0560 C0DF xcall _delay_1
0562 .dbline 441
0562 ; display_dot7(0xb7,0xbf);
0562 2FEB ldi R18,191
0564 07EB ldi R16,183
0566 96DF xcall _display_dot7
0568 02C0 xjmp L74
056A L73:
056A .dbline 443
056A .dbline 444
056A 0E940000 xcall _dis_saizi
056E .dbline 446
056E L74:
056E .dbline 442
056E FDCF xjmp L73
0570 X4:
0570 .dbline -2
0570 L72:
0570 .dbline 0 ; func end
0570 0895 ret
0572 .dbsym l now_time 1 i
0572 .dbsym l i 1 i
0572 .dbsym l status4 1 c
0572 .dbsym l status3 1 c
0572 .dbsym l status2 1 c
0572 .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\yinhui\avr_tft\soft\main.c
0000 _timer::
0000 .blkb 2
0002 .dbsym e timer _timer i
0002 _RX_BUF0::
0002 .blkb 600
025A .dbsym e RX_BUF0 _RX_BUF0 A[600:600]c
025A _TX_BUF0::
025A .blkb 75
02A5 .dbsym e TX_BUF0 _TX_BUF0 A[75:75]c
02A5 _head::
02A5 .blkb 1
02A6 .dbsym e head _head c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -