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

📄 main.lis

📁 LCD128*64 atmega16驱动 带仿真文件
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 00F2                   .dbline 99
 00F2           ;        R_command=LCD_Y;
 00F2 80E4              ldi R24,64
 00F4 80930420          sts 8196,R24
 00F8                   .dbline 100
 00F8           ;         }
 00F8 0BC0              xjmp L21
 00FA           L20:
 00FA                   .dbline 102
 00FA                   .dbline 103
 00FA 0027              clr R16
 00FC 88DF              xcall _check_busy
 00FE                   .dbline 104
 00FE 842F              mov R24,R20
 0100 8854              subi R24,72    ; addi 184
 0102 80930820          sts 8200,R24
 0106                   .dbline 105
 0106 0027              clr R16
 0108 82DF              xcall _check_busy
 010A                   .dbline 106
 010A 80E4              ldi R24,64
 010C 80930820          sts 8200,R24
 0110                   .dbline 107
 0110           L21:
 0110                   .dbline -2
 0110                   .dbline 108
 0110           ;   else
 0110           ;       {
 0110           ;          check_busy(0);
 0110           ;        L_command=LCD_PAGE+n;                   //设置LCD右半屏页地址
 0110           ;        check_busy(0);                  
 0110           ;        L_command=LCD_Y;
 0110           ;         } 
 0110           ; }               
 0110           L19:
 0110 0E940000          xcall pop_gset2
 0114                   .dbline 0 ; func end
 0114 0895              ret
 0116                   .dbsym r n 20 c
 0116                   .dbsym r cs 22 c
 0116                   .dbend
 0116                   .dbfunc e write_photo _write_photo fV
 0116           ;              j -> R20
 0116           ;              i -> R10
 0116           ;             cs -> R22
                        .even
 0116           _write_photo::
 0116 0E940000          xcall push_gset3
 011A 602F              mov R22,R16
 011C                   .dbline -1
 011C                   .dbline 110
 011C           ; void write_photo(unsigned char cs)  
 011C           ; {
 011C                   .dbline 112
 011C           ;   uchar i,j;
 011C           ;   for(j=0;j<3;j++)
 011C 4427              clr R20
 011E 73C0              xjmp L26
 0120           L23:
 0120                   .dbline 113
 0120           ;   { 
 0120                   .dbline 114
 0120           ;    if(cs)  ch_pos(1,2*j);                   //右屏页码处理
 0120 6623              tst R22
 0122 31F0              breq L27
 0124                   .dbline 114
 0124 82E0              ldi R24,2
 0126 849F              mul R24,R20
 0128 202D              mov R18,R0
 012A 01E0              ldi R16,1
 012C D4DF              xcall _ch_pos
 012E 05C0              xjmp L28
 0130           L27:
 0130                   .dbline 115
 0130           ;    else    ch_pos(0,2*j);                     //左屏页码处理
 0130 82E0              ldi R24,2
 0132 849F              mul R24,R20
 0134 202D              mov R18,R0
 0136 0027              clr R16
 0138 CEDF              xcall _ch_pos
 013A           L28:
 013A                   .dbline 116
 013A           ;    for(i=0;i<64;i++)
 013A AA24              clr R10
 013C 26C0              xjmp L32
 013E           L29:
 013E                   .dbline 117
 013E           ;     {
 013E                   .dbline 119
 013E           ;        
 013E           ;        if(cs)
 013E 6623              tst R22
 0140 91F0              breq L33
 0142                   .dbline 120
 0142           ;           {
 0142                   .dbline 121
 0142           ;                R_data=p3[2*j][i];                 //右半屏显示
 0142 82E0              ldi R24,2
 0144 849F              mul R24,R20
 0146 102D              mov R17,R0
 0148 00E4              ldi R16,64
 014A 0102              muls R16,R17
 014C 80E0              ldi R24,<_p3
 014E 90E0              ldi R25,>_p3
 0150 1001              movw R2,R0
 0152 280E              add R2,R24
 0154 391E              adc R3,R25
 0156 EA2D              mov R30,R10
 0158 FF27              clr R31
 015A E20D              add R30,R2
 015C F31D              adc R31,R3
 015E E491              lpm R30,Z
 0160 E0930620          sts 8198,R30
 0164                   .dbline 122
 0164           ;               } 
 0164 11C0              xjmp L34
 0166           L33:
 0166                   .dbline 124
 0166           ;      else 
 0166           ;           {
 0166                   .dbline 125
 0166           ;                L_data=p3[2*j][i];                 //左半屏显示
 0166 82E0              ldi R24,2
 0168 849F              mul R24,R20
 016A 102D              mov R17,R0
 016C 00E4              ldi R16,64
 016E 0102              muls R16,R17
 0170 80E0              ldi R24,<_p3
 0172 90E0              ldi R25,>_p3
 0174 1001              movw R2,R0
 0176 280E              add R2,R24
 0178 391E              adc R3,R25
 017A EA2D              mov R30,R10
 017C FF27              clr R31
 017E E20D              add R30,R2
 0180 F31D              adc R31,R3
 0182 E491              lpm R30,Z
 0184 E0930A20          sts 8202,R30
 0188                   .dbline 126
 0188           ;               }  
 0188           L34:
 0188                   .dbline 127
 0188           L30:
 0188                   .dbline 116
 0188 A394              inc R10
 018A           L32:
 018A                   .dbline 116
 018A 8A2D              mov R24,R10
 018C 8034              cpi R24,64
 018E B8F2              brlo L29
 0190                   .dbline 128
 0190           ;       } 
 0190           ;    if(cs)  ch_pos(1,2*j+1);                //右屏页码处理
 0190 6623              tst R22
 0192 39F0              breq L35
 0194                   .dbline 128
 0194 82E0              ldi R24,2
 0196 849F              mul R24,R20
 0198 202D              mov R18,R0
 019A 2F5F              subi R18,255    ; addi 1
 019C 01E0              ldi R16,1
 019E 9BDF              xcall _ch_pos
 01A0 06C0              xjmp L36
 01A2           L35:
 01A2                   .dbline 129
 01A2           ;    else    ch_pos(0,2*j+1);                //左屏页码处理
 01A2 82E0              ldi R24,2
 01A4 849F              mul R24,R20
 01A6 202D              mov R18,R0
 01A8 2F5F              subi R18,255    ; addi 1
 01AA 0027              clr R16
 01AC 94DF              xcall _ch_pos
 01AE           L36:
 01AE                   .dbline 130
 01AE           ;    for(i=0;i<64;i++)
 01AE AA24              clr R10
 01B0 26C0              xjmp L40
 01B2           L37:
 01B2                   .dbline 131
 01B2           ;     { 
 01B2                   .dbline 132
 01B2           ;        if(cs) 
 01B2 6623              tst R22
 01B4 91F0              breq L41
 01B6                   .dbline 133
 01B6           ;           {
 01B6                   .dbline 134
 01B6           ;            R_data=p3[2*j+1][i];               //右半屏显示
 01B6 82E0              ldi R24,2
 01B8 849F              mul R24,R20
 01BA 102D              mov R17,R0
 01BC 00E4              ldi R16,64
 01BE 0102              muls R16,R17
 01C0 80E0              ldi R24,<_p3+64
 01C2 90E0              ldi R25,>_p3+64
 01C4 1001              movw R2,R0
 01C6 280E              add R2,R24
 01C8 391E              adc R3,R25
 01CA EA2D              mov R30,R10
 01CC FF27              clr R31
 01CE E20D              add R30,R2
 01D0 F31D              adc R31,R3
 01D2 E491              lpm R30,Z
 01D4 E0930620          sts 8198,R30
 01D8                   .dbline 135
 01D8           ;               }
 01D8 11C0              xjmp L42
 01DA           L41:
 01DA                   .dbline 137
 01DA           ;      else   
 01DA           ;           {
 01DA                   .dbline 139
 01DA           ;                
 01DA           ;            L_data=p3[2*j+1][i];               //左半屏显示
 01DA 82E0              ldi R24,2
 01DC 849F              mul R24,R20
 01DE 102D              mov R17,R0
 01E0 00E4              ldi R16,64
 01E2 0102              muls R16,R17
 01E4 80E0              ldi R24,<_p3+64
 01E6 90E0              ldi R25,>_p3+64
 01E8 1001              movw R2,R0
 01EA 280E              add R2,R24
 01EC 391E              adc R3,R25
 01EE EA2D              mov R30,R10
 01F0 FF27              clr R31
 01F2 E20D              add R30,R2
 01F4 F31D              adc R31,R3
 01F6 E491              lpm R30,Z
 01F8 E0930A20          sts 8202,R30
 01FC                   .dbline 140
 01FC           ;               }  
 01FC           L42:
 01FC                   .dbline 141
 01FC           L38:
 01FC                   .dbline 130
 01FC A394              inc R10
 01FE           L40:
 01FE                   .dbline 130
 01FE 8A2D              mov R24,R10
 0200 8034              cpi R24,64
 0202 B8F2              brlo L37
 0204                   .dbline 142
 0204           L24:
 0204                   .dbline 112
 0204 4395              inc R20
 0206           L26:
 0206                   .dbline 112
 0206 4330              cpi R20,3
 0208 08F4              brsh X0
 020A 8ACF              xjmp L23
 020C           X0:
 020C                   .dbline -2
 020C                   .dbline 143
 020C           ;     }
 020C           ;   }  
 020C           ; }
 020C           L22:
 020C 0E940000          xcall pop_gset3
 0210                   .dbline 0 ; func end
 0210 0895              ret
 0212                   .dbsym r j 20 c
 0212                   .dbsym r i 10 c
 0212                   .dbsym r cs 22 c
 0212                   .dbend
 0212                   .dbfunc e main _main fV
                        .even
 0212           _main::
 0212                   .dbline -1
 0212                   .dbline 146
 0212           ;  
 0212           ; void main(void)
 0212           ; {
 0212                   .dbline 147
 0212           ;   init_devices();
 0212 57DF              xcall _init_devices
 0214                   .dbline 148
 0214           ;   LCD_Clean();
 0214 0DDF              xcall _LCD_Clean
 0216                   .dbline 149
 0216           ;   LCD_Init();
 0216 36DF              xcall _LCD_Init
 0218                   .dbline 150
 0218           ;  write_photo(0);
 0218 0027              clr R16
 021A 7DDF              xcall _write_photo
 021C                   .dbline 151
 021C           ;   write_photo(1);
 021C 01E0              ldi R16,1
 021E                   .dbline -2
 021E                   .dbline 152
 021E           ; }
 021E           L45:
 021E                   .dbline 0 ; func end
 021E 7BCF              xjmp _write_photo
 0220                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\DOCUME~1\zhuji\桌面\photo\main.c
 0000           _flag::
 0000                   .blkb 1
 0001                   .dbsym e flag _flag c

⌨️ 快捷键说明

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