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

📄 lcd.lis

📁 atmega169 lcd 程序用于驱动lcd
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0308 B501              movw R22,R10
 030A 6F70              andi R22,15
 030C 7070              andi R23,0
 030E                   .dbline 161
 030E           ;                       LCDDR1|=m<<2;
 030E 1B01              movw R2,R22
 0310 220C              lsl R2
 0312 331C              rol R3
 0314 220C              lsl R2
 0316 331C              rol R3
 0318 4090ED00          lds R4,237
 031C 5524              clr R5
 031E 4228              or R4,R2
 0320 5328              or R5,R3
 0322 4092ED00          sts 237,R4
 0326                   .dbline 162
 0326           ;                       m=(j>>4)&0x000f;
 0326 B501              movw R22,R10
 0328 7695              lsr R23
 032A 6795              ror R22
 032C 7695              lsr R23
 032E 6795              ror R22
 0330 7695              lsr R23
 0332 6795              ror R22
 0334 7695              lsr R23
 0336 6795              ror R22
 0338 6F70              andi R22,15
 033A 7070              andi R23,0
 033C                   .dbline 163
 033C           ;                       LCDDR6|=m<<2; 
 033C 1B01              movw R2,R22
 033E 220C              lsl R2
 0340 331C              rol R3
 0342 220C              lsl R2
 0344 331C              rol R3
 0346 4090F200          lds R4,242
 034A 5524              clr R5
 034C 4228              or R4,R2
 034E 5328              or R5,R3
 0350 4092F200          sts 242,R4
 0354                   .dbline 164
 0354           ;                       m=(j>>8)&0x000f;
 0354 B501              movw R22,R10
 0356 672F              mov R22,R23
 0358 7727              clr R23
 035A 6F70              andi R22,15
 035C 7070              andi R23,0
 035E                   .dbline 165
 035E           ;                       LCDDR11|=m<<2;
 035E 1B01              movw R2,R22
 0360 220C              lsl R2
 0362 331C              rol R3
 0364 220C              lsl R2
 0366 331C              rol R3
 0368 4090F700          lds R4,247
 036C 5524              clr R5
 036E 4228              or R4,R2
 0370 5328              or R5,R3
 0372 4092F700          sts 247,R4
 0376                   .dbline 166
 0376           ;                       m=(j>>12)&0x000f;
 0376 2CE0              ldi R18,12
 0378 30E0              ldi R19,0
 037A 8501              movw R16,R10
 037C 0E940000          xcall lsr16
 0380 B801              movw R22,R16
 0382 6F70              andi R22,15
 0384 7070              andi R23,0
 0386                   .dbline 167
 0386           ;                       LCDDR16|=m<<2;                  
 0386 1B01              movw R2,R22
 0388 220C              lsl R2
 038A 331C              rol R3
 038C 220C              lsl R2
 038E 331C              rol R3
 0390 4090FC00          lds R4,252
 0394 5524              clr R5
 0396 4228              or R4,R2
 0398 5328              or R5,R3
 039A 4092FC00          sts 252,R4
 039E                   .dbline 169
 039E           ;                                               
 039E           ;                       j=LCD_character_table[i];                       //左7位 
 039E 02E0              ldi R16,2
 03A0 10E0              ldi R17,0
 03A2 9A01              movw R18,R20
 03A4 0E940000          xcall empy16s
 03A8 F801              movw R30,R16
 03AA 80E0              ldi R24,<_LCD_character_table
 03AC 90E0              ldi R25,>_LCD_character_table
 03AE E80F              add R30,R24
 03B0 F91F              adc R31,R25
 03B2 A590              lpm R10,Z+
 03B4 B490              lpm R11,Z
 03B6                   .dbline 170
 03B6           ;                       m=j&0x000f;
 03B6 B501              movw R22,R10
 03B8 6F70              andi R22,15
 03BA 7070              andi R23,0
 03BC                   .dbline 171
 03BC           ;                       LCDDR1|=m<<4;
 03BC 1B01              movw R2,R22
 03BE 220C              lsl R2
 03C0 331C              rol R3
 03C2 220C              lsl R2
 03C4 331C              rol R3
 03C6 220C              lsl R2
 03C8 331C              rol R3
 03CA 220C              lsl R2
 03CC 331C              rol R3
 03CE 4090ED00          lds R4,237
 03D2 5524              clr R5
 03D4 4228              or R4,R2
 03D6 5328              or R5,R3
 03D8 4092ED00          sts 237,R4
 03DC                   .dbline 172
 03DC           ;                       m=(j>>4)&0x000f;                        
 03DC B501              movw R22,R10
 03DE 7695              lsr R23
 03E0 6795              ror R22
 03E2 7695              lsr R23
 03E4 6795              ror R22
 03E6 7695              lsr R23
 03E8 6795              ror R22
 03EA 7695              lsr R23
 03EC 6795              ror R22
 03EE 6F70              andi R22,15
 03F0 7070              andi R23,0
 03F2                   .dbline 173
 03F2           ;                       LCDDR6|=m<<4; 
 03F2 1B01              movw R2,R22
 03F4 220C              lsl R2
 03F6 331C              rol R3
 03F8 220C              lsl R2
 03FA 331C              rol R3
 03FC 220C              lsl R2
 03FE 331C              rol R3
 0400 220C              lsl R2
 0402 331C              rol R3
 0404 4090F200          lds R4,242
 0408 5524              clr R5
 040A 4228              or R4,R2
 040C 5328              or R5,R3
 040E 4092F200          sts 242,R4
 0412                   .dbline 174
 0412           ;                       m=(j>>8)&0x000f;                        
 0412 B501              movw R22,R10
 0414 672F              mov R22,R23
 0416 7727              clr R23
 0418 6F70              andi R22,15
 041A 7070              andi R23,0
 041C                   .dbline 175
 041C           ;                       LCDDR11|=m<<4;
 041C 1B01              movw R2,R22
 041E 220C              lsl R2
 0420 331C              rol R3
 0422 220C              lsl R2
 0424 331C              rol R3
 0426 220C              lsl R2
 0428 331C              rol R3
 042A 220C              lsl R2
 042C 331C              rol R3
 042E 4090F700          lds R4,247
 0432 5524              clr R5
 0434 4228              or R4,R2
 0436 5328              or R5,R3
 0438 4092F700          sts 247,R4
 043C                   .dbline 176
 043C           ;                       m=(j>>12)&0x000f;                       
 043C 2CE0              ldi R18,12
 043E 30E0              ldi R19,0
 0440 8501              movw R16,R10
 0442 0E940000          xcall lsr16
 0446 B801              movw R22,R16
 0448 6F70              andi R22,15
 044A 7070              andi R23,0
 044C                   .dbline 177
 044C           ;                       LCDDR16|=m<<4;          
 044C 1B01              movw R2,R22
 044E 220C              lsl R2
 0450 331C              rol R3
 0452 220C              lsl R2
 0454 331C              rol R3
 0456 220C              lsl R2
 0458 331C              rol R3
 045A 220C              lsl R2
 045C 331C              rol R3
 045E 4090FC00          lds R4,252
 0462 5524              clr R5
 0464 4228              or R4,R2
 0466 5328              or R5,R3
 0468 4092FC00          sts 252,R4
 046C                   .dbline 180
 046C           ;                       
 046C           ;                       
 046C           ;                       j=LCD_character_table[i];                       //左8位                 
 046C 02E0              ldi R16,2
 046E 10E0              ldi R17,0
 0470 9A01              movw R18,R20
 0472 0E940000          xcall empy16s
 0476 F801              movw R30,R16
 0478 80E0              ldi R24,<_LCD_character_table
 047A 90E0              ldi R25,>_LCD_character_table
 047C E80F              add R30,R24
 047E F91F              adc R31,R25
 0480 A590              lpm R10,Z+
 0482 B490              lpm R11,Z
 0484                   .dbline 181
 0484           ;                       m=j&0x000f;                     
 0484 B501              movw R22,R10
 0486 6F70              andi R22,15
 0488 7070              andi R23,0
 048A                   .dbline 182
 048A           ;                       LCDDR1|=m<<6;
 048A 26E0              ldi R18,6
 048C 30E0              ldi R19,0
 048E 8B01              movw R16,R22
 0490 0E940000          xcall lsl16
 0494 2090ED00          lds R2,237
 0498 3324              clr R3
 049A 202A              or R2,R16
 049C 312A              or R3,R17
 049E 2092ED00          sts 237,R2
 04A2                   .dbline 183
 04A2           ;                       m=(j>>4)&0x000f;                        
 04A2 B501              movw R22,R10
 04A4 7695              lsr R23
 04A6 6795              ror R22
 04A8 7695              lsr R23
 04AA 6795              ror R22
 04AC 7695              lsr R23
 04AE 6795              ror R22
 04B0 7695              lsr R23
 04B2 6795              ror R22
 04B4 6F70              andi R22,15
 04B6 7070              andi R23,0
 04B8                   .dbline 184
 04B8           ;                       LCDDR6|=m<<6; 
 04B8 26E0              ldi R18,6
 04BA 30E0              ldi R19,0
 04BC 8B01              movw R16,R22
 04BE 0E940000          xcall lsl16
 04C2 2090F200          lds R2,242
 04C6 3324              clr R3
 04C8 202A              or R2,R16
 04CA 312A              or R3,R17
 04CC 2092F200          sts 242,R2
 04D0                   .dbline 185
 04D0           ;                       m=(j>>8)&0x000f;                        
 04D0 B501              movw R22,R10
 04D2 672F              mov R22,R23
 04D4 7727              clr R23
 04D6 6F70              andi R22,15
 04D8 7070              andi R23,0
 04DA                   .dbline 186
 04DA           ;                       LCDDR11|=m<<6;
 04DA 26E0              ldi R18,6
 04DC 30E0              ldi R19,0
 04DE 8B01              movw R16,R22
 04E0 0E940000          xcall lsl16
 04E4 2090F700          lds R2,247
 04E8 3324              clr R3
 04EA 202A              or R2,R16
 04EC 312A              or R3,R17
 04EE 2092F700          sts 247,R2
 04F2                   .dbline 187
 04F2           ;                       m=(j>>12)&0x000f;                       
 04F2 2CE0              ldi R18,12
 04F4 30E0              ldi R19,0
 04F6 8501              movw R16,R10
 04F8 0E940000          xcall lsr16
 04FC B801              movw R22,R16
 04FE 6F70              andi R22,15
 0500 7070              andi R23,0
 0502                   .dbline 188
 0502           ;                       LCDDR16|=m<<6;
 0502 26E0              ldi R18,6
 0504 30E0              ldi R19,0
 0506 8B01              movw R16,R22
 0508 0E940000          xcall lsl16
 050C 2090FC00          lds R2,252
 0510 3324              clr R3
 0512 202A              or R2,R16
 0514 312A              or R3,R17
 0516 2092FC00          sts 252,R2
 051A                   .dbline 190
 051A           ;                                               
 051A           ;                       delay_ms(1000);  
 051A 08EE              ldi R16,1000
 051C 13E0              ldi R17,3
 051E 82DD              xcall _delay_ms
 0520                   .dbline 191
 0520           ;                  }                
 0520           L20:
 0520                   .dbline 104
 0520 4F5F              subi R20,255  ; offset = 1
 0522 5F4F              sbci R21,255
 0524           L22:
 0524                   .dbline 104
 0524 4A30              cpi R20,10
 0526 E0E0              ldi R30,0
 0528 5E07              cpc R21,R30
 052A 08F4              brsh X5
 052C CCCD              xjmp L19
 052E           X5:
 052E           X3:
 052E                   .dbline 192
 052E           ;                }
 052E           L14:
 052E                   .dbline 100
 052E C1CD              xjmp L17
 0530           X4:
 0530                   .dbline -2
 0530           L12:
 0530                   .dbline 0 ; func end
 0530 0895              ret
 0532                   .dbsym r n 10 i
 0532                   .dbsym r i 20 i
 0532                   .dbsym r j 10 i
 0532                   .dbsym r m 22 i
 0532                   .dbend
 0532           ;  } 
 0532           ;  
 0532           ;  
 0532           ;  
 0532           ;  
 0532           ;  
 0532           ;  

⌨️ 快捷键说明

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