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

📄 no2.lis

📁 12864LCD液晶仿真
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 012A                   .dbline 190
 012A           ;    uchar i,j,temp ;
 012A           ;    temp=y;
 012A E882              std y+0,R14
 012C                   .dbline 191
 012C           ;    if( bit_flag )
 012C AA20              tst R10
 012E 11F1              breq L36
 0130           X6:
 0130                   .dbline 192
 0130           ;    {
 0130                   .dbline 193
 0130           ;       for( i=0; i<2; i++ )
 0130 AA24              clr R10
 0132 1CC0              xjmp L41
 0134           L38:
 0134                   .dbline 194
 0134           ;       {
 0134                   .dbline 195
 0134           ;          x+=i;
 0134 0F80              ldd R0,y+7
 0136 0A0C              add R0,R10
 0138 0F82              std y+7,R0
 013A                   .dbline 196
 013A           ;            y=temp;
 013A E880              ldd R14,y+0
 013C                   .dbline 197
 013C           ;          for( j=0;j<16;j++ )
 013C CC24              clr R12
 013E 12C0              xjmp L45
 0140           L42:
 0140                   .dbline 198
 0140           ;          {
 0140                   .dbline 199
 0140           ;             Lcd_Set_X_Y( x, y ); y++;
 0140 2E2D              mov R18,R14
 0142 0F81              ldd R16,y+7
 0144 D4DF              xcall _Lcd_Set_X_Y
 0146                   .dbline 199
 0146 E394              inc R14
 0148                   .dbline 200
 0148           ;             Lcd_Write_Byte( point[ i*16 + j] );  
 0148 80E1              ldi R24,16
 014A 8A9D              mul R24,R10
 014C F001              movw R30,R0
 014E 2C2C              mov R2,R12
 0150 3324              clr R3
 0152 E20D              add R30,R2
 0154 F31D              adc R31,R3
 0156 0B84              ldd R0,y+11
 0158 1C84              ldd R1,y+12
 015A E00D              add R30,R0
 015C F11D              adc R31,R1
 015E 0081              ldd R16,z+0
 0160 91DF              xcall _Lcd_Write_Byte
 0162                   .dbline 201
 0162           ;          } 
 0162           L43:
 0162                   .dbline 197
 0162 C394              inc R12
 0164           L45:
 0164                   .dbline 197
 0164 8C2D              mov R24,R12
 0166 8031              cpi R24,16
 0168 58F3              brlo L42
 016A           X7:
 016A                   .dbline 202
 016A           ;       }
 016A           L39:
 016A                   .dbline 193
 016A A394              inc R10
 016C           L41:
 016C                   .dbline 193
 016C 8A2D              mov R24,R10
 016E 8230              cpi R24,2
 0170 08F3              brlo L38
 0172           X8:
 0172                   .dbline 203
 0172           ;    }
 0172 22C0              xjmp L37
 0174           L36:
 0174                   .dbline 205
 0174           ;    else
 0174           ;    {
 0174                   .dbline 206
 0174           ;       for( i =0; i<2; i++ )
 0174 AA24              clr R10
 0176 1DC0              xjmp L49
 0178           L46:
 0178                   .dbline 207
 0178           ;       {
 0178                   .dbline 208
 0178           ;          x+=i;
 0178 0F80              ldd R0,y+7
 017A 0A0C              add R0,R10
 017C 0F82              std y+7,R0
 017E                   .dbline 209
 017E           ;          y=temp;
 017E E880              ldd R14,y+0
 0180                   .dbline 210
 0180           ;          for( j = 0; j < 16; j++ )
 0180 CC24              clr R12
 0182 13C0              xjmp L53
 0184           L50:
 0184                   .dbline 211
 0184           ;          {
 0184                   .dbline 212
 0184           ;             Lcd_Set_X_Y( x, y );
 0184 2E2D              mov R18,R14
 0186 0F81              ldd R16,y+7
 0188 B2DF              xcall _Lcd_Set_X_Y
 018A                   .dbline 213
 018A           ;                       y++;
 018A E394              inc R14
 018C                   .dbline 214
 018C           ;             Lcd_Write_Byte( ~ point[ i * 16 + j ] );
 018C 80E1              ldi R24,16
 018E 8A9D              mul R24,R10
 0190 F001              movw R30,R0
 0192 2C2C              mov R2,R12
 0194 3324              clr R3
 0196 E20D              add R30,R2
 0198 F31D              adc R31,R3
 019A 0B84              ldd R0,y+11
 019C 1C84              ldd R1,y+12
 019E E00D              add R30,R0
 01A0 F11D              adc R31,R1
 01A2 0081              ldd R16,z+0
 01A4 0095              com R16
 01A6 6EDF              xcall _Lcd_Write_Byte
 01A8                   .dbline 216
 01A8           ;                       
 01A8           ;          }
 01A8           L51:
 01A8                   .dbline 210
 01A8 C394              inc R12
 01AA           L53:
 01AA                   .dbline 210
 01AA 8C2D              mov R24,R12
 01AC 8031              cpi R24,16
 01AE 50F3              brlo L50
 01B0           X9:
 01B0                   .dbline 218
 01B0           ;               
 01B0           ;       }
 01B0           L47:
 01B0                   .dbline 206
 01B0 A394              inc R10
 01B2           L49:
 01B2                   .dbline 206
 01B2 8A2D              mov R24,R10
 01B4 8230              cpi R24,2
 01B6 00F3              brlo L46
 01B8           X10:
 01B8                   .dbline 219
 01B8           ;    }
 01B8           L37:
 01B8                   .dbline -2
 01B8           L35:
 01B8                   .dbline 0 ; func end
 01B8 2196              adiw R28,1
 01BA 0E940000          xcall pop_xgset00FC
 01BE 2296              adiw R28,2
 01C0 0895              ret
 01C2                   .dbsym l temp 0 c
 01C2                   .dbsym r i 10 c
 01C2                   .dbsym r j 12 c
 01C2                   .dbsym l point 11 pc
 01C2                   .dbsym r y 14 c
 01C2                   .dbsym l x 7 c
 01C2                   .dbsym r bit_flag 10 c
 01C2                   .dbend
 01C2                   .dbfunc e key_press _key_press fc
 01C2           ;              j -> R16
                        .even
 01C2           _key_press::
 01C2                   .dbline -1
 01C2                   .dbline 222
 01C2           ; }
 01C2           ; uchar key_press()
 01C2           ; {
 01C2                   .dbline 224
 01C2           ;     uchar j;
 01C2           ;     DDRD|=0X0F;
 01C2 81B3              in R24,0x11
 01C4 8F60              ori R24,15
 01C6 81BB              out 0x11,R24
 01C8                   .dbline 225
 01C8           ;       PORTD|=0X0F;
 01C8 82B3              in R24,0x12
 01CA 8F60              ori R24,15
 01CC 82BB              out 0x12,R24
 01CE                   .dbline 227
 01CE           ;       
 01CE           ;       DDRD&=0XF0;
 01CE 81B3              in R24,0x11
 01D0 807F              andi R24,240
 01D2 81BB              out 0x11,R24
 01D4                   .dbline 229
 01D4           ;       
 01D4           ;       j=PIND;
 01D4 00B3              in R16,0x10
 01D6                   .dbline 230
 01D6           ;       j=j&0X0F;//00001111
 01D6 0F70              andi R16,15
 01D8                   .dbline 231
 01D8           ;       if(j==0X0F)
 01D8 0F30              cpi R16,15
 01DA 11F4              brne L55
 01DC           X11:
 01DC                   .dbline 232
 01DC           ;       {
 01DC                   .dbline 233
 01DC           ;         return 0;
 01DC 0027              clr R16
 01DE 01C0              xjmp L54
 01E0           L55:
 01E0                   .dbline 236
 01E0           ;       }
 01E0           ;       else
 01E0           ;       {
 01E0                   .dbline 237
 01E0           ;        return 1;
 01E0 01E0              ldi R16,1
 01E2                   .dbline -2
 01E2           L54:
 01E2                   .dbline 0 ; func end
 01E2 0895              ret
 01E4                   .dbsym r j 16 c
 01E4                   .dbend
 01E4                   .dbfunc e key_scan _key_scan fc
 01E4           ;            key -> R10
                        .even
 01E4           _key_scan::
 01E4 0E940000          xcall push_xgset003C
 01E8                   .dbline -1
 01E8                   .dbline 243
 01E8           ;       }
 01E8           ;       
 01E8           ; }
 01E8           ; 
 01E8           ; uchar key_scan()
 01E8           ; {
 01E8                   .dbline 245
 01E8           ;     uchar key;
 01E8           ;     delay(10);
 01E8 0AE0              ldi R16,10
 01EA 10E0              ldi R17,0
 01EC 33DF              xcall _delay
 01EE                   .dbline 246
 01EE           ;       if(key_press())
 01EE E9DF              xcall _key_press
 01F0 0023              tst R16
 01F2 51F1              breq L58
 01F4           X12:
 01F4                   .dbline 247
 01F4           ;       {
 01F4                   .dbline 248
 01F4           ;       key=PIND;
 01F4 A0B2              in R10,0x10
 01F6                   .dbline 249
 01F6           ;       key&=0X0F;
 01F6 8A2D              mov R24,R10
 01F8 8F70              andi R24,15
 01FA A82E              mov R10,R24
 01FC                   .dbline 250
 01FC           ;       switch(key)
 01FC C82E              mov R12,R24
 01FE DD24              clr R13
 0200 C601              movw R24,R12
 0202 8730              cpi R24,7
 0204 E0E0              ldi R30,0
 0206 9E07              cpc R25,R30
 0208 B1F0              breq L66
 020A           X13:
 020A 8B30              cpi R24,11
 020C E0E0              ldi R30,0
 020E 9E07              cpc R25,R30
 0210 79F0              breq L65
 0212           X14:
 0212 8D30              cpi R24,13
 0214 E0E0              ldi R30,0
 0216 9E07              cpc R25,R30
 0218 41F0              breq L64
 021A           X15:
 021A 8E30              cpi R24,14
 021C E0E0              ldi R30,0
 021E 9E07              cpc R25,R30
 0220 09F0              breq L63
 0222           X16:
 0222 0CC0              xjmp L60
 0224           L63:
 0224                   .dbline 253
 0224           ;       {
 0224           ;          case 0X0E: 
 0224           ;              key=1;
 0224 AA24              clr R10
 0226 A394              inc R10
 0228                   .dbline 254
 0228           ;                  break;
 0228 0BC0              xjmp L68
 022A           L64:
 022A                   .dbline 256
 022A           ;          case 0X0D:
 022A           ;              key=2;
 022A 82E0   

⌨️ 快捷键说明

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