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

📄 ac16-1.lis

📁 AVR单片机ATmega16(L)应用实例-驱动128×64点阵图形液晶模块
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0416 2197              sbiw R28,1
 0418                   .dbline -1
 0418                   .dbline 190
 0418           ; }                                     
 0418           ; /*---------------屏幕开启、关闭子函数--------------*/
 0418           ; void dison_off(uchar o)               
 0418           ; {                                     
 0418                   .dbline 191
 0418           ; o=o+0x3e;                     
 0418 425C              subi R20,194    ; addi 62
 041A                   .dbline 192
 041A           ; wcode(o,1,1);                
 041A 81E0              ldi R24,1
 041C 8883              std y+0,R24
 041E 21E0              ldi R18,1
 0420 042F              mov R16,R20
 0422 7ADF              xcall _wcode
 0424                   .dbline -2
 0424           L52:
 0424 2196              adiw R28,1
 0426 0E940000          xcall pop_gset1
 042A                   .dbline 0 ; func end
 042A 0895              ret
 042C                   .dbsym r o 20 c
 042C                   .dbend
 042C                   .dbfunc e reset _reset fV
                        .even
 042C           _reset::
 042C                   .dbline -1
 042C                   .dbline 196
 042C           ; }                              
 042C           ; /*---------------复位子函数---------------*/
 042C           ; void reset(void)                
 042C           ; {                                     
 042C                   .dbline 197
 042C           ; RST_0;                        
 042C C598              cbi 0x18,5
 042E                   .dbline 198
 042E           ; Delay_nms(10);                                
 042E 0AE0              ldi R16,10
 0430 10E0              ldi R17,0
 0432 F0DD              xcall _Delay_nms
 0434                   .dbline 199
 0434           ; RST_1;                                                        
 0434 C59A              sbi 0x18,5
 0436                   .dbline 200
 0436           ; Delay_nms(10);                                
 0436 0AE0              ldi R16,10
 0438 10E0              ldi R17,0
 043A ECDD              xcall _Delay_nms
 043C                   .dbline -2
 043C           L53:
 043C                   .dbline 0 ; func end
 043C 0895              ret
 043E                   .dbend
 043E                   .dbfunc e lcd_init _lcd_init fV
 043E           ;              y -> R20
 043E           ;              x -> R22
                        .even
 043E           _lcd_init::
 043E 0E940000          xcall push_gset2
 0442 2197              sbiw R28,1
 0444                   .dbline -1
 0444                   .dbline 204
 0444           ; }                                                             
 0444           ; /*--------------LCM初始化子函数-------------*/
 0444           ; void lcd_init(void)                   
 0444           ; {uchar x,y;                           
 0444                   .dbline 205
 0444           ; reset();                                              
 0444 F3DF              xcall _reset
 0446                   .dbline 206
 0446           ; set_startline(0);                             
 0446 0027              clr R16
 0448 C0DF              xcall _set_startline
 044A                   .dbline 207
 044A           ; dison_off(0);                                 
 044A 0027              clr R16
 044C E1DF              xcall _dison_off
 044E                   .dbline 208
 044E           ; for(y=0;y<8;y++)                              
 044E 4427              clr R20
 0450 0BC0              xjmp L58
 0452           L55:
 0452                   .dbline 209
 0452           ;       {                                                       
 0452                   .dbline 210
 0452 6627              clr R22
 0454 06C0              xjmp L62
 0456           L59:
 0456                   .dbline 210
 0456 2224              clr R2
 0458 2882              std y+0,R2
 045A 242F              mov R18,R20
 045C 062F              mov R16,R22
 045E 98DF              xcall _lw
 0460           L60:
 0460                   .dbline 210
 0460 6395              inc R22
 0462           L62:
 0462                   .dbline 210
 0462 6038              cpi R22,128
 0464 C0F3              brlo L59
 0466                   .dbline 211
 0466           L56:
 0466                   .dbline 208
 0466 4395              inc R20
 0468           L58:
 0468                   .dbline 208
 0468 4830              cpi R20,8
 046A 98F3              brlo L55
 046C                   .dbline 212
 046C           ;       for(x=0;x<128;x++)lw(x,y,0);
 046C           ;       }                                                       
 046C           ; dison_off(1);                         
 046C 01E0              ldi R16,1
 046E D0DF              xcall _dison_off
 0470                   .dbline -2
 0470           L54:
 0470 2196              adiw R28,1
 0472 0E940000          xcall pop_gset2
 0476                   .dbline 0 ; func end
 0476 0895              ret
 0478                   .dbsym r y 20 c
 0478                   .dbsym r x 22 c
 0478                   .dbend
 0478                   .dbfunc e display_hz _display_hz fV
 0478           ;             dx -> R20
 0478           ;              i -> R22
 0478           ;             fb -> R10
 0478           ;              n -> R12
 0478           ;             yy -> R14
 0478           ;             xx -> y+11
                        .even
 0478           _display_hz::
 0478 0E940000          xcall push_arg4
 047C 0E940000          xcall push_gset5
 0480 E22E              mov R14,R18
 0482 2197              sbiw R28,1
 0484 CF84              ldd R12,y+15
 0486 A988              ldd R10,y+17
 0488                   .dbline -1
 0488                   .dbline 216
 0488           ; }                                             
 0488           ; /*---------------显示汉字子函数--------------*/
 0488           ; void display_hz(uchar xx, uchar yy, uchar n, uchar fb) 
 0488           ; {                                     
 0488                   .dbline 218
 0488           ; uchar i,dx;                     
 0488           ; for(i=0;i<16;i++)                             
 0488 6627              clr R22
 048A 3BC0              xjmp L67
 048C           L64:
 048C                   .dbline 219
 048C           ; {dx=hz[2*i+n*32];                             
 048C                   .dbline 219
 048C 80E2              ldi R24,32
 048E 8C9D              mul R24,R12
 0490 1001              movw R2,R0
 0492 82E0              ldi R24,2
 0494 869F              mul R24,R22
 0496 F001              movw R30,R0
 0498 E20D              add R30,R2
 049A F31D              adc R31,R3
 049C 80E0              ldi R24,<_hz
 049E 90E0              ldi R25,>_hz
 04A0 E80F              add R30,R24
 04A2 F91F              adc R31,R25
 04A4 4491              lpm R20,Z
 04A6                   .dbline 220
 04A6           ; if(fb)dx=255-dx;                              
 04A6 AA20              tst R10
 04A8 29F0              breq L68
 04AA                   .dbline 220
 04AA 242E              mov R2,R20
 04AC 3324              clr R3
 04AE 4FEF              ldi R20,255
 04B0 4219              sub R20,R2
 04B2 5309              sbc R21,R3
 04B4           L68:
 04B4                   .dbline 221
 04B4           ; lw(xx*8+i,yy,dx);                             
 04B4 4883              std y+0,R20
 04B6 2E2D              mov R18,R14
 04B8 88E0              ldi R24,8
 04BA 0B84              ldd R0,y+11
 04BC 809D              mul R24,R0
 04BE 002D              mov R16,R0
 04C0 060F              add R16,R22
 04C2 66DF              xcall _lw
 04C4                   .dbline 222
 04C4           ; dx=hz[(2*i+1)+n*32];                  
 04C4 80E2              ldi R24,32
 04C6 8C9D              mul R24,R12
 04C8 1001              movw R2,R0
 04CA 82E0              ldi R24,2
 04CC 869F              mul R24,R22
 04CE F001              movw R30,R0
 04D0 3196              adiw R30,1
 04D2 E20D              add R30,R2
 04D4 F31D              adc R31,R3
 04D6 80E0              ldi R24,<_hz
 04D8 90E0              ldi R25,>_hz
 04DA E80F              add R30,R24
 04DC F91F              adc R31,R25
 04DE 4491              lpm R20,Z
 04E0                   .dbline 223
 04E0           ; if(fb)dx=255-dx;                      
 04E0 AA20              tst R10
 04E2 29F0              breq L70
 04E4                   .dbline 223
 04E4 242E              mov R2,R20
 04E6 3324              clr R3
 04E8 4FEF              ldi R20,255
 04EA 4219              sub R20,R2
 04EC 5309              sbc R21,R3
 04EE           L70:
 04EE                   .dbline 224
 04EE 4883              std y+0,R20
 04F0 2E2D              mov R18,R14
 04F2 2F5F              subi R18,255    ; addi 1
 04F4 88E0              ldi R24,8
 04F6 0B84              ldd R0,y+11
 04F8 809D              mul R24,R0
 04FA 002D              mov R16,R0
 04FC 060F              add R16,R22
 04FE 48DF              xcall _lw
 0500                   .dbline 225
 0500           L65:
 0500                   .dbline 218
 0500 6395              inc R22
 0502           L67:
 0502                   .dbline 218
 0502 6031              cpi R22,16
 0504 08F4              brsh X5
 0506 C2CF              xjmp L64
 0508           X5:
 0508                   .dbline -2
 0508           L63:
 0508 2196              adiw R28,1
 050A 0E940000          xcall pop_gset5
 050E 2496              adiw R28,4
 0510                   .dbline 0 ; func end
 0510 0895              ret
 0512                   .dbsym r dx 20 c
 0512                   .dbsym r i 22 c
 0512                   .dbsym r fb 10 c
 0512                   .dbsym r n 12 c
 0512                   .dbsym r yy 14 c
 0512                   .dbsym l xx 11 c
 0512                   .dbend
                        .area lit(rom, con, rel)
 0000           _hz::
 0000 0004              .byte 0,4
 0002 0004              .byte 0,4
 0004 0004              .byte 0,4
 0006 FE04              .byte 254,4
 0008 9204              .byte 146,4
 000A 9204              .byte 146,4
 000C 9204              .byte 146,4
 000E 92FF              .byte 146,255
 0010 9204              .byte 146,4
 0012 9204              .byte 146,4
 0014 9204              .byte 146,4
 0016 9204              .byte 146,4
 0018 FE04              .byte 254,4
 001A 0004              .byte 0,4
 001C 0004              .byte 0,4
 001E 0000              .byte 0,0
 0020 2400              .byte 36,0
 0022 247E              .byte 36,126
 0024 2422              .byte 36,34
 0026 FC23              .byte 252,35
 0028 2222              .byte 34,34
 002A 227E              .byte 34,126
 002C A000              .byte 160,0
 002E 8404              .byte 132,4
 0030 9404              .byte 148,4
 0032 A504              .byte 165,4
 0034 86FF              .byte 134,255
 0036 8404              .byte 132,4
 0038 A404              .byte 164,4
 003A 9404              .byte 148,4
 003C 8404              .byte 132,4
 003E 0000              .byte 0,0
 0040 0000              .byte 0,0
 0042 0000              .byte 0,0
 0044 F87F              .byte 248,127
 0046 0821              .byte 8,33
 0048 0821              .byte 8,33
 004A 0C21              .byte 12,33
 004C 0B21              .byte 11,33
 004E 0821              .byte 8,33
 0050 0821              .byte 8,33
 0052 0821              .byte 8,33
 0054 0821              .byte 8,33
 0056 0821              .byte 8,33
 0058 F87F              .byte 248,127
 005A 0000              .byte 0,0
 005C 0000              .byte 0,0
 005E 0000              .byte 0,0
 0060 8000              .byte 128,0
 0062 6400              .byte 'd,0
 0064 2400              .byte 36,0
 0066 243F              .byte 36,63
 0068 2C01              .byte 44,1
 006A 3401              .byte 52,1
 006C 2501              .byte 37,1
 006E E6FF              .byte 230,255
 0070 2401              .byte 36,1
 0072 2411              .byte 36,17
 0074 3421              .byte 52,33
 0076 2C1F              .byte 44,31
 0078 A400              .byte 164,0
 007A 6400              .byte 'd,0
 007C 2400              .byte 36,0
 007E 0000              .byte 0,0
 0080 8220              .byte 130,32
 0082 8A10              .byte 138,16
 0084 B208              .byte 178,8
 0086 8606              .byte 134,6
 0088 DBFF              .byte 219,255
 008A A102              .byte 161,2
 008C 9104              .byte 145,4
 008E 8D58              .byte 141,'X
 0090 8848              .byte 136,'H
 0092 2020              .byte 32,32
 0094 1022              .byte 16,34
 0096 0811              .byte 8,17
 0098 8608              .byte 134,8
 009A 6407              .byte 'd,7
 009C 4002              .byte 64,2
 009E 0000              .byte 0,0
 00A0 4000              .byte 64,0
 00A2 4020              .byte 64,32
 00A4 4470              .byte 'D,'p

⌨️ 快捷键说明

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