⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avr320240.lis

📁 AVR单片机驱动C320240单色液晶模块的C语言程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 037A 2A85              ldd R18,y+10
 037C 3B85              ldd R19,y+11
 037E 8501              movw R16,R10
 0380 ACDF              xcall _ShowHZ
 0382                   .dbline -2
 0382           L49:
 0382                   .dbline 0 ; func end
 0382 2296              adiw R28,2
 0384 0C940000          xjmp pop_xgset30FC
 0388                   .dbsym r ImgData 12 pkc
 0388                   .dbsym r CodeID 12 i
 0388                   .dbsym r i 20 c
 0388                   .dbsym l Y 10 i
 0388                   .dbsym r X 10 i
 0388                   .dbsym r UniCode 14 i
 0388                   .dbend
 0388                   .dbfunc e Display_ASCII _Display_ASCII fV
 0388           ;        ImgData -> R12,R13
 0388           ;              Y -> y+10
 0388           ;              X -> R10
 0388           ;            Chr -> R12
                        .even
 0388           _Display_ASCII::
 0388 0E940000          xcall push_xgset003C
 038C A22E              mov R10,R18
 038E C02E              mov R12,R16
 0390 2697              sbiw R28,6
 0392                   .dbline -1
 0392                   .dbline 470
 0392           ;   
 0392           ; }
 0392           ; //-------------------------------------------------------------------------------
 0392           ; void Display_ASCII(Uchar Chr,Uchar X,Uint Y)
 0392           ; {  
 0392                   .dbline 472
 0392           ;      Uchar const * ImgData;
 0392           ;     {  
 0392                   .dbline 474
 0392           ;      //ImgData=ASC_MSK+12*((Uchar)*Chr-1);
 0392           ;        ImgData=ASC_MSK+(12*(Chr-1)); 
 0392 8CE0              ldi R24,12
 0394 8C9D              mul R24,R12
 0396 6001              movw R12,R0
 0398 80E0              ldi R24,<_ASC_MSK-12
 039A 90E0              ldi R25,>_ASC_MSK-12
 039C C80E              add R12,R24
 039E D91E              adc R13,R25
 03A0                   .dbline 476
 03A0           ;         
 03A0           ;      ShowPicture(X,Y,8,12,ImgData);  
 03A0 DD82              std y+5,R13
 03A2 CC82              std y+4,R12
 03A4 8CE0              ldi R24,12
 03A6 90E0              ldi R25,0
 03A8 9B83              std y+3,R25
 03AA 8A83              std y+2,R24
 03AC 88E0              ldi R24,8
 03AE 9983              std y+1,R25
 03B0 8883              std y+0,R24
 03B2 2A85              ldd R18,y+10
 03B4 3B85              ldd R19,y+11
 03B6 0A2D              mov R16,R10
 03B8 1127              clr R17
 03BA 3CDF              xcall _ShowPicture
 03BC                   .dbline 478
 03BC           ;              
 03BC           ;     }
 03BC                   .dbline -2
 03BC           L56:
 03BC                   .dbline 0 ; func end
 03BC 2696              adiw R28,6
 03BE 0C940000          xjmp pop_xgset003C
 03C2                   .dbsym r ImgData 12 pkc
 03C2                   .dbsym l Y 10 i
 03C2                   .dbsym r X 10 c
 03C2                   .dbsym r Chr 12 c
 03C2                   .dbend
 03C2                   .dbfunc e DisTest _DisTest fV
                        .even
 03C2           _DisTest::
 03C2 2297              sbiw R28,2
 03C4                   .dbline -1
 03C4                   .dbline 482
 03C4           ; }
 03C4           ; 
 03C4           ; void DisTest(void)
 03C4           ; {
 03C4                   .dbline 483
 03C4           ; Display_ASCII(0x30,0,0);  //0
 03C4 2224              clr R2
 03C6 3324              clr R3
 03C8 3982              std y+1,R3
 03CA 2882              std y+0,R2
 03CC 2227              clr R18
 03CE 00E3              ldi R16,48
 03D0 DBDF              xcall _Display_ASCII
 03D2                   .dbline 484
 03D2           ; Display_ASCII(0x31,8,12); //1 
 03D2 8CE0              ldi R24,12
 03D4 90E0              ldi R25,0
 03D6 9983              std y+1,R25
 03D8 8883              std y+0,R24
 03DA 28E0              ldi R18,8
 03DC 01E3              ldi R16,49
 03DE D4DF              xcall _Display_ASCII
 03E0                   .dbline 485
 03E0           ; Display_ASCII(0x32,16,24);//2
 03E0 88E1              ldi R24,24
 03E2 90E0              ldi R25,0
 03E4 9983              std y+1,R25
 03E6 8883              std y+0,R24
 03E8 20E1              ldi R18,16
 03EA 02E3              ldi R16,50
 03EC CDDF              xcall _Display_ASCII
 03EE                   .dbline 486
 03EE           ; Display_ASCII(0x33,24,36);//3
 03EE 84E2              ldi R24,36
 03F0 90E0              ldi R25,0
 03F2 9983              std y+1,R25
 03F4 8883              std y+0,R24
 03F6 28E1              ldi R18,24
 03F8 03E3              ldi R16,51
 03FA C6DF              xcall _Display_ASCII
 03FC                   .dbline 487
 03FC           ; Display_ASCII(0x34,32,48);//4
 03FC 80E3              ldi R24,48
 03FE 90E0              ldi R25,0
 0400 9983              std y+1,R25
 0402 8883              std y+0,R24
 0404 20E2              ldi R18,32
 0406 04E3              ldi R16,52
 0408 BFDF              xcall _Display_ASCII
 040A                   .dbline 488
 040A           ; Display_ASCII(0x35,40,60);//5
 040A 8CE3              ldi R24,60
 040C 90E0              ldi R25,0
 040E 9983              std y+1,R25
 0410 8883              std y+0,R24
 0412 28E2              ldi R18,40
 0414 05E3              ldi R16,53
 0416 B8DF              xcall _Display_ASCII
 0418                   .dbline -2
 0418           L58:
 0418                   .dbline 0 ; func end
 0418 2296              adiw R28,2
 041A 0895              ret
 041C                   .dbend
 041C                   .dbfunc e Display_String _Display_String fV
 041C           ;              i -> R10
 041C           ;          lenth -> y+12
 041C           ;              Y -> R22,R23
 041C           ;              X -> R20,R21
 041C           ;              p -> R12,R13
                        .even
 041C           _Display_String::
 041C 0E940000          xcall push_xgsetF03C
 0420 A901              movw R20,R18
 0422 6801              movw R12,R16
 0424 2297              sbiw R28,2
 0426 6A85              ldd R22,y+10
 0428 7B85              ldd R23,y+11
 042A                   .dbline -1
 042A                   .dbline 506
 042A           ; 
 042A           ; }
 042A           ; //-------------------------------------------------------------------------------
 042A           ; /******************************************************************************
 042A           ; **  函数名: void Display_String(Uchar code *p,Uint X,
 042A           ;                                               Uint Y,Uint lenth)
 042A           ; 
 042A           ; **  描述:          显示一个字符串
 042A           ; 
 042A           ; **  修改的全局变量: 
 042A           ; 
 042A           ; **  输入参数:   Uint X,Uint Y  :显示起始地址
 042A           ;                   
 042A           ;                                 lenth  :字符串长度
 042A           ; **  返回值: 
 042A           ; *******************************************************************************/
 042A           ; void Display_String(Uchar const *p,Uint X,Uint Y,Uint lenth)
 042A           ; { Uchar i;
 042A                   .dbline 509
 042A           ; //  Uchar const * chr;
 042A           ; //  chr=p;
 042A           ;   for(i=0;i<lenth;i++)
 042A AA24              clr R10
 042C 3CC0              xjmp L63
 042E           L60:
 042E                   .dbline 510
 042E           ;    {
 042E                   .dbline 511
 042E           ;       if(X>319){Y=Y+16;X=0;}
 042E 8FE3              ldi R24,319
 0430 91E0              ldi R25,1
 0432 8417              cp R24,R20
 0434 9507              cpc R25,R21
 0436 20F4              brsh L64
 0438           X14:
 0438                   .dbline 511
 0438                   .dbline 511
 0438 605F              subi R22,240  ; offset = 16
 043A 7F4F              sbci R23,255
 043C                   .dbline 511
 043C 4427              clr R20
 043E 5527              clr R21
 0440                   .dbline 511
 0440           L64:
 0440                   .dbline 513
 0440           ; 
 0440           ;     if(p[i]<0x80) {Display_ASCII(p[i],X,Y);X=X+8;/*chr++;*/}    //ASCII
 0440 EA2D              mov R30,R10
 0442 FF27              clr R31
 0444 EC0D              add R30,R12
 0446 FD1D              adc R31,R13
 0448 8491              lpm R24,Z
 044A 8038              cpi R24,128
 044C 60F4              brsh L66
 044E           X15:
 044E                   .dbline 513
 044E                   .dbline 513
 044E 7983              std y+1,R23
 0450 6883              std y+0,R22
 0452 242F              mov R18,R20
 0454 EA2D              mov R30,R10
 0456 FF27              clr R31
 0458 EC0D              add R30,R12
 045A FD1D              adc R31,R13
 045C 0491              lpm R16,Z
 045E 94DF              xcall _Display_ASCII
 0460                   .dbline 513
 0460 485F              subi R20,248  ; offset = 8
 0462 5F4F              sbci R21,255
 0464                   .dbline 513
 0464 1FC0              xjmp L67
 0466           L66:
 0466                   .dbline 515
 0466           ;     else 
 0466           ;        {
 0466                   .dbline 516
 0466           ;          Display_Chinese((p[i])*256+p[i+1],X,Y);//中文
 0466 7983              std y+1,R23
 0468 6883              std y+0,R22
 046A 2A2C              mov R2,R10
 046C 3324              clr R3
 046E 2C0C              add R2,R12
 0470 3D1C              adc R3,R13
 0472 2101              movw R4,R2
 0474 F101              movw R30,R2
 0476 2490              lpm R2,Z
 0478 3324              clr R3
 047A 00E0              ldi R16,256
 047C 11E0              ldi R17,1
 047E 4F93              push R20
 0480 5F93              push R21
 0482 9101              movw R18,R2
 0484 0E940000          xcall empy16s
 0488 1801              movw R2,R16
 048A 3F91              pop R19
 048C 2F91              pop R18
 048E F201              movw R30,R4
 0490 3196              adiw R30,1
 0492 4490              lpm R4,Z
 0494 5524              clr R5
 0496 240C              add R2,R4
 0498 351C              adc R3,R5
 049A 8101              movw R16,R2
 049C 33DF              xcall _Display_Chinese
 049E                   .dbline 518
 049E           ; //             chr=chr+2;
 049E           ;          i++;
 049E A394              inc R10
 04A0                   .dbline 519
 04A0           ;          X=X+16;
 04A0 405F              subi R20,240  ; offset = 16
 04A2 5F4F              sbci R21,255
 04A4                   .dbline 520
 04A4           ;        }     
 04A4           L67:
 04A4                   .dbline 522
 04A4           ;      
 04A4           ;    }
 04A4           L61:
 04A4                   .dbline 509
 04A4 A394              inc R10
 04A6           L63:
 04A6                   .dbline 509
 04A6 2A2C              mov R2,R10
 04A8 3324              clr R3
 04AA 0C84              ldd R0,y+12
 04AC 1D84              ldd R1,y+13
 04AE 2014              cp R2,R0
 04B0 3104              cpc R3,R1
 04B2 08F4              brsh X17
 04B4 BCCF              xjmp L60
 04B6           X17:
 04B6           X16:
 04B6                   .dbline -2
 04B6           L59:
 04B6                   .dbline 0 ; func end
 04B6 2296              adiw R28,2
 04B8 0C940000          xjmp pop_xgsetF03C
 04BC                   .dbsym r i 10 c
 04BC                   .dbsym l lenth 12 i
 04BC                   .dbsym r Y 22 i
 04BC                   .dbsym r X 20 i
 04BC                   .dbsym r p 12 pkc
 04BC                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\iccv7avr\AVR_C320240\avr320240.c
 0000           _hzIndex::
 0000                   .blkb 2
 0002                   .dbsym e hzIndex _hzIndex A[2:1]ki
 0002           _ASC_MSK::
 0002                   .blkb 1
 0003                   .dbsym e ASC_MSK _ASC_MSK A[1:1]kc
 0003           _hzdot::
 0003                   .blkb 1
 0004                   .dbsym e hzdot _hzdot A[1:1]kc
 0004           ;   
 0004           ; }
 0004           ; 
 0004           ; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -