main.lis

来自「程序控制TFT全彩LCD显示屏」· LIS 代码 · 共 1,715 行 · 第 1/5 页

LIS
1,715
字号
 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 + =
减小字号Ctrl + -
显示快捷键?