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

📄 6963.lis

📁 液晶驱动程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00B4                   .dbline 73
 00B4           ;         lcd_wc3(0x42,0,0);     //设置图形显示区首地址
 00B4 2224              clr R2
 00B6 2882              std y+0,R2
 00B8 2227              clr R18
 00BA 02E4              ldi R16,66
 00BC DDDF              xcall _lcd_wc3
 00BE                   .dbline 74
 00BE           ;         lcd_wc3(0x43,30,0);    //设置图形显示区宽度
 00BE 2224              clr R2
 00C0 2882              std y+0,R2
 00C2 2EE1              ldi R18,30
 00C4 03E4              ldi R16,67
 00C6 D8DF              xcall _lcd_wc3
 00C8                   .dbline 75
 00C8           ;               lcd_wc(0x80);          //设置显示模式为逻辑“或”模式
 00C8 00E8              ldi R16,128
 00CA C3DF              xcall _lcd_wc
 00CC                   .dbline 76
 00CC           ;         lcd_wc(0x98);          //开显示,图形显示
 00CC 08E9              ldi R16,152
 00CE C1DF              xcall _lcd_wc
 00D0                   .dbline -2
 00D0           L18:
 00D0 2196              adiw R28,1
 00D2                   .dbline 0 ; func end
 00D2 0895              ret
 00D4                   .dbend
 00D4                   .dbfunc e lcd_clear _lcd_clear fV
 00D4           ;              i -> R20
 00D4           ;              j -> R10
 00D4           ;       lcd_data -> R22
                        .even
 00D4           _lcd_clear::
 00D4 0E940000          xcall push_gset3
 00D8 602F              mov R22,R16
 00DA 2197              sbiw R28,1
 00DC                   .dbline -1
 00DC                   .dbline 80
 00DC           ; }
 00DC           ; /***********************************************************************************/
 00DC           ; void lcd_clear(uchar lcd_data)
 00DC           ; {
 00DC                   .dbline 82
 00DC           ;         uchar i,j;
 00DC           ;         lcd_wc(0x98);                    /* 打开图形显示,关闭文本显示   */
 00DC 08E9              ldi R16,152
 00DE B9DF              xcall _lcd_wc
 00E0                   .dbline 83
 00E0           ;         lcd_wc3(0x24,0,0);               /* 设置地址指针 */
 00E0 2224              clr R2
 00E2 2882              std y+0,R2
 00E4 2227              clr R18
 00E6 04E2              ldi R16,36
 00E8 C7DF              xcall _lcd_wc3
 00EA                   .dbline 84
 00EA           ;         lcd_wc(0xb0);                    /* 设置自动写数据 */
 00EA 00EB              ldi R16,176
 00EC B2DF              xcall _lcd_wc
 00EE                   .dbline 85
 00EE           ;         for(i=0;i<128;i++)
 00EE 4427              clr R20
 00F0 09C0              xjmp L23
 00F2           L20:
 00F2                   .dbline 86
 00F2           ;         {
 00F2                   .dbline 87
 00F2           ;                 for(j=0;j<30;j++)
 00F2 AA24              clr R10
 00F4 03C0              xjmp L27
 00F6           L24:
 00F6                   .dbline 88
 00F6                   .dbline 89
 00F6 062F              mov R16,R22
 00F8 99DF              xcall _lcd_wd
 00FA                   .dbline 90
 00FA           L25:
 00FA                   .dbline 87
 00FA A394              inc R10
 00FC           L27:
 00FC                   .dbline 87
 00FC 8A2D              mov R24,R10
 00FE 8E31              cpi R24,30
 0100 D0F3              brlo L24
 0102                   .dbline 91
 0102           L21:
 0102                   .dbline 85
 0102 4395              inc R20
 0104           L23:
 0104                   .dbline 85
 0104 4038              cpi R20,128
 0106 A8F3              brlo L20
 0108                   .dbline 92
 0108           ;                 {
 0108           ;                         lcd_wd(lcd_data);/* Write display data */
 0108           ;                 }
 0108           ;         }                               
 0108           ;         lcd_wc(0xb2);                    /* Awroff (auto reset) */
 0108 02EB              ldi R16,178
 010A A3DF              xcall _lcd_wc
 010C                   .dbline 93
 010C           ;               lcd_wc3(0x24,0,0);               /* 修改:重新设置地址指针 */
 010C 2224              clr R2
 010E 2882              std y+0,R2
 0110 2227              clr R18
 0112 04E2              ldi R16,36
 0114 B1DF              xcall _lcd_wc3
 0116                   .dbline -2
 0116           L19:
 0116 2196              adiw R28,1
 0118 0E940000          xcall pop_gset3
 011C                   .dbline 0 ; func end
 011C 0895              ret
 011E                   .dbsym r i 20 c
 011E                   .dbsym r j 10 c
 011E                   .dbsym r lcd_data 22 c
 011E                   .dbend
 011E                   .dbfunc e lcd_print _lcd_print fV
 011E           ;       lcd_data -> y+5
 011E           ;              y -> R22
 011E           ;              x -> R20
                        .even
 011E           _lcd_print::
 011E 0E940000          xcall push_gset2
 0122 622F              mov R22,R18
 0124 402F              mov R20,R16
 0126 2197              sbiw R28,1
 0128                   .dbline -1
 0128                   .dbline 97
 0128           ; }
 0128           ; /***********************************************************************************/
 0128           ; void lcd_print(uchar x,uchar y,uchar lcd_data)
 0128           ; {
 0128                   .dbline 98
 0128           ;         lcd_wc(0x98);
 0128 08E9              ldi R16,152
 012A 93DF              xcall _lcd_wc
 012C                   .dbline 99
 012C           ;         lcd_wc3(0x24,x,y);
 012C 6883              std y+0,R22
 012E 242F              mov R18,R20
 0130 04E2              ldi R16,36
 0132 A2DF              xcall _lcd_wc3
 0134                   .dbline 100
 0134           ;         lcd_wc(0xb0);
 0134 00EB              ldi R16,176
 0136 8DDF              xcall _lcd_wc
 0138                   .dbline 101
 0138           ;         lcd_wd(lcd_data);
 0138 0D81              ldd R16,y+5
 013A 78DF              xcall _lcd_wd
 013C                   .dbline 102
 013C           ;         lcd_wc(0xb2);
 013C 02EB              ldi R16,178
 013E 89DF              xcall _lcd_wc
 0140                   .dbline -2
 0140           L28:
 0140 2196              adiw R28,1
 0142 0E940000          xcall pop_gset2
 0146                   .dbline 0 ; func end
 0146 0895              ret
 0148                   .dbsym l lcd_data 5 c
 0148                   .dbsym r y 22 c
 0148                   .dbsym r x 20 c
 0148                   .dbend
 0148                   .dbfunc e lcd_print240128 _lcd_print240128 fV
 0148           ;              i -> R20
 0148           ;              j -> R10
 0148           ;            str -> R22,R23
                        .even
 0148           _lcd_print240128::
 0148 0E940000          xcall push_gset3
 014C B801              movw R22,R16
 014E 2197              sbiw R28,1
 0150                   .dbline -1
 0150                   .dbline 106
 0150           ; }
 0150           ; /******************************************************************************/
 0150           ; void lcd_print240128(cchar *str)
 0150           ; {
 0150                   .dbline 108
 0150           ;         uchar i,j;
 0150           ;         lcd_wc(0x98);
 0150 08E9              ldi R16,152
 0152 7FDF              xcall _lcd_wc
 0154                   .dbline 109
 0154           ;         lcd_wc3(0x24,0,0);         /* 设置地址指针 */
 0154 2224              clr R2
 0156 2882              std y+0,R2
 0158 2227              clr R18
 015A 04E2              ldi R16,36
 015C 8DDF              xcall _lcd_wc3
 015E                   .dbline 110
 015E           ;         lcd_wc(0xb0);
 015E 00EB              ldi R16,176
 0160 78DF              xcall _lcd_wc
 0162                   .dbline 111
 0162           ;         for(i=0;i<128;i++)
 0162 4427              clr R20
 0164 0DC0              xjmp L33
 0166           L30:
 0166                   .dbline 112
 0166           ;         {
 0166                   .dbline 113
 0166           ;                 for(j=0;j<30;j++)
 0166 AA24              clr R10
 0168 07C0              xjmp L37
 016A           L34:
 016A                   .dbline 114
 016A                   .dbline 115
 016A 1B01              movw R2,R22
 016C 6F5F              subi R22,255  ; offset = 1
 016E 7F4F              sbci R23,255
 0170 F101              movw R30,R2
 0172 0491              lpm R16,Z
 0174 5BDF              xcall _lcd_wd
 0176                   .dbline 116
 0176           L35:
 0176                   .dbline 113
 0176 A394              inc R10
 0178           L37:
 0178                   .dbline 113
 0178 8A2D              mov R24,R10
 017A 8E31              cpi R24,30
 017C B0F3              brlo L34
 017E                   .dbline 117
 017E           L31:
 017E                   .dbline 111
 017E 4395              inc R20
 0180           L33:
 0180                   .dbline 111
 0180 4038              cpi R20,128
 0182 88F3              brlo L30
 0184                   .dbline 118
 0184           ;                 {
 0184           ;                         lcd_wd(*str++);
 0184           ;                 }
 0184           ;         }
 0184           ;         lcd_wc(0xb2);
 0184 02EB              ldi R16,178
 0186 65DF              xcall _lcd_wc
 0188                   .dbline 119
 0188           ;               lcd_wc3(0x24,0,0);               /* 修改:重新设置地址指针 */
 0188 2224              clr R2
 018A 2882              std y+0,R2
 018C 2227              clr R18
 018E 04E2              ldi R16,36
 0190 73DF              xcall _lcd_wc3
 0192                   .dbline -2
 0192           L29:
 0192 2196              adiw R28,1
 0194 0E940000          xcall pop_gset3
 0198                   .dbline 0 ; func end
 0198 0895              ret
 019A                   .dbsym r i 20 c
 019A                   .dbsym r j 10 c
 019A                   .dbsym r str 22 pkc
 019A                   .dbend

⌨️ 快捷键说明

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