📄 lcd.lis
字号:
00F6 .dbline -2
00F6 L7:
00F6 0E940000 xcall pop_gset4
00FA .dbline 0 ; func end
00FA 0895 ret
00FC .dbsym r c_column_lsb 20 c
00FC .dbsym r c_column_msb 20 c
00FC .dbsym r start_page 22 c
00FC .dbsym r j 20 c
00FC .dbsym r i 12 c
00FC .dbsym r c_page_end 10 c
00FC .dbsym r c_page_start 12 c
00FC .dbend
00FC .dbfunc e Bmp8x8 _Bmp8x8 fV
00FC ; i -> R20
00FC ; pdata -> R22,R23
00FC ; column -> R20
00FC ; page -> R10
.even
00FC _Bmp8x8::
00FC 0E940000 xcall push_gset3
0100 422F mov R20,R18
0102 A02E mov R10,R16
0104 6E81 ldd R22,y+6
0106 7F81 ldd R23,y+7
0108 .dbline -1
0108 .dbline 169
0108 ; {
0108 ; Send_Byte(WHITE); //清除页内所有列显示的数据
0108 ; }
0108 ; start_page++; //清除下一页数据
0108 ; }
0108 ; }
0108 ;
0108 ; //////////////////////////////////////////////////////////////////////////
0108 ; //绘制一个8*8大小的位图
0108 ; //////////////////////////////////////////////////////////////////////////
0108 ; void Bmp8x8(unsigned char page,unsigned char column,const unsigned char
0108 ; *pdata)
0108 ; {
0108 .dbline 172
0108 ; unsigned char i;
0108 ;
0108 ; Send_Command(Gen_Page(page)); //送页地址
0108 0A2D mov R16,R10
010A B0DF xcall _Gen_Page
010C 8ADF xcall _Send_Command
010E .dbline 173
010E ; Send_Command(Gen_Column_LSB(column)); //送低4位地址
010E 042F mov R16,R20
0110 A4DF xcall _Gen_Column_LSB
0112 87DF xcall _Send_Command
0114 .dbline 174
0114 ; Send_Command(Gen_Column_MSB(column)); //送高4位地址
0114 042F mov R16,R20
0116 94DF xcall _Gen_Column_MSB
0118 84DF xcall _Send_Command
011A .dbline 175
011A ; for(i=0;i<=7;i++) //水平宽度为8列
011A 4427 clr R20
011C 06C0 xjmp L20
011E L17:
011E .dbline 176
011E .dbline 177
011E FB01 movw R30,R22
0120 0491 lpm R16,Z
0122 6EDF xcall _Send_Byte
0124 .dbline 178
0124 6F5F subi R22,255 ; offset = 1
0126 7F4F sbci R23,255
0128 .dbline 179
0128 L18:
0128 .dbline 175
0128 4395 inc R20
012A L20:
012A .dbline 175
012A 87E0 ldi R24,7
012C 8417 cp R24,R20
012E B8F7 brsh L17
0130 .dbline -2
0130 L16:
0130 0E940000 xcall pop_gset3
0134 .dbline 0 ; func end
0134 0895 ret
0136 .dbsym r i 20 c
0136 .dbsym r pdata 22 pkc
0136 .dbsym r column 20 c
0136 .dbsym r page 10 c
0136 .dbend
0136 .dbfunc e Bmp8x16 _Bmp8x16 fV
0136 ; j -> R20
0136 ; i -> R14
0136 ; pdata -> R10,R11
0136 ; column -> R12
0136 ; page -> R22
.even
0136 _Bmp8x16::
0136 0E940000 xcall push_gset5
013A C22E mov R12,R18
013C 602F mov R22,R16
013E AA84 ldd R10,y+10
0140 BB84 ldd R11,y+11
0142 .dbline -1
0142 .dbline 186
0142 ; {
0142 ; Send_Byte(*pdata);
0142 ; pdata++;
0142 ; }
0142 ; }
0142 ; //////////////////////////////////////////////////////////////////////////
0142 ; //绘制一个8*16大小的位图
0142 ; //////////////////////////////////////////////////////////////////////////
0142 ; void Bmp8x16(unsigned char page,unsigned char column,const unsigned char
0142 ; *pdata)
0142 ; {
0142 .dbline 190
0142 ; unsigned char i;
0142 ; unsigned char j;
0142 ;
0142 ; for(j=0;j<=1;j++)
0142 4427 clr R20
0144 17C0 xjmp L25
0146 L22:
0146 .dbline 191
0146 ; {
0146 .dbline 192
0146 ; Send_Command(Gen_Page(page));
0146 062F mov R16,R22
0148 91DF xcall _Gen_Page
014A 6BDF xcall _Send_Command
014C .dbline 193
014C ; Send_Command(Gen_Column_LSB(column));
014C 0C2D mov R16,R12
014E 85DF xcall _Gen_Column_LSB
0150 68DF xcall _Send_Command
0152 .dbline 194
0152 ; Send_Command(Gen_Column_MSB(column));
0152 0C2D mov R16,R12
0154 75DF xcall _Gen_Column_MSB
0156 65DF xcall _Send_Command
0158 .dbline 195
0158 ; for(i=0;i<=7;i++)
0158 EE24 clr R14
015A 07C0 xjmp L29
015C L26:
015C .dbline 196
015C .dbline 197
015C F501 movw R30,R10
015E 0491 lpm R16,Z
0160 4FDF xcall _Send_Byte
0162 .dbline 198
0162 C501 movw R24,R10
0164 0196 adiw R24,1
0166 5C01 movw R10,R24
0168 .dbline 199
0168 L27:
0168 .dbline 195
0168 E394 inc R14
016A L29:
016A .dbline 195
016A 87E0 ldi R24,7
016C 8E15 cp R24,R14
016E B0F7 brsh L26
0170 .dbline 200
0170 6395 inc R22
0172 .dbline 201
0172 L23:
0172 .dbline 190
0172 4395 inc R20
0174 L25:
0174 .dbline 190
0174 81E0 ldi R24,1
0176 8417 cp R24,R20
0178 30F7 brsh L22
017A .dbline -2
017A L21:
017A 0E940000 xcall pop_gset5
017E .dbline 0 ; func end
017E 0895 ret
0180 .dbsym r j 20 c
0180 .dbsym r i 14 c
0180 .dbsym r pdata 10 pkc
0180 .dbsym r column 12 c
0180 .dbsym r page 22 c
0180 .dbend
0180 .dbfunc e Bmp8x16_rev _Bmp8x16_rev fV
0180 ; j -> R20
0180 ; i -> R14
0180 ; pdata -> R10,R11
0180 ; column -> R12
0180 ; page -> R22
.even
0180 _Bmp8x16_rev::
0180 0E940000 xcall push_gset5
0184 C22E mov R12,R18
0186 602F mov R22,R16
0188 AA84 ldd R10,y+10
018A BB84 ldd R11,y+11
018C .dbline -1
018C .dbline 209
018C ; {
018C ; Send_Byte(*pdata);
018C ; pdata++;
018C ; }
018C ; page++;
018C ; }
018C ; }
018C ;
018C ; //////////////////////////////////////////////////////////////////////////
018C ; //绘制一个反白显示8*16大小的位图
018C ; //////////////////////////////////////////////////////////////////////////
018C ; void Bmp8x16_rev(unsigned char page,unsigned char column,const unsigned char
018C ; *pdata)
018C ; {
018C .dbline 213
018C ; unsigned char i;
018C ; unsigned char j;
018C ;
018C ; for(j=0;j<=1;j++)
018C 4427 clr R20
018E 18C0 xjmp L34
0190 L31:
0190 .dbline 214
0190 ; {
0190 .dbline 215
0190 ; Send_Command(Gen_Page(page));
0190 062F mov R16,R22
0192 6CDF xcall _Gen_Page
0194 46DF xcall _Send_Command
0196 .dbline 216
0196 ; Send_Command(Gen_Column_LSB(column));
0196 0C2D mov R16,R12
0198 60DF xcall _Gen_Column_LSB
019A 43DF xcall _Send_Command
019C .dbline 217
019C ; Send_Command(Gen_Column_MSB(column));
019C 0C2D mov R16,R12
019E 50DF xcall _Gen_Column_MSB
01A0 40DF xcall _Send_Command
01A2 .dbline 218
01A2 ; for(i=0;i<=7;i++)
01A2 EE24 clr R14
01A4 08C0 xjmp L38
01A6 L35:
01A6 .dbline 219
01A6 .dbline 220
01A6 F501 movw R30,R10
01A8 0491 lpm R16,Z
01AA 0095 com R16
01AC 29DF xcall _Send_Byte
01AE .dbline 221
01AE C501 movw R24,R10
01B0 0196 adiw R24,1
01B2 5C01 movw R10,R24
01B4 .dbline 222
01B4 L36:
01B4 .dbline 218
01B4 E394 inc R14
01B6 L38:
01B6 .dbline 218
01B6 87E0 ldi R24,7
01B8 8E15 cp R24,R14
01BA A8F7 brsh L35
01BC .dbline 223
01BC 6395 inc R22
01BE .dbline 224
01BE L32:
01BE .dbline 213
01BE 4395 inc R20
01C0 L34:
01C0 .dbline 213
01C0 81E0 ldi R24,1
01C2 8417 cp R24,R20
01C4 28F7 brsh L31
01C6 .dbline -2
01C6 L30:
01C6 0E940000 xcall pop_gset5
01CA .dbline 0 ; func end
01CA 0895 ret
01CC .dbsym r j 20 c
01CC .dbsym r i 14 c
01CC .dbsym r pdata 10 pkc
01CC .dbsym r column 12 c
01CC .dbsym r page 22 c
01CC .dbend
01CC .dbfunc e Draw_NtoArab _Draw_NtoArab fV
01CC ; number -> y+8
01CC ; column -> R22
01CC ; page -> R20
.even
01CC _Draw_NtoArab::
01CC 0E940000 xcall push_gset3
01D0 622F mov R22,R18
01D2 402F mov R20,R16
01D4 2297 sbiw R28,2
01D6 .dbline -1
01D6 .dbline 231
01D6 ; {
01D6 ; Send_Byte(~(*pdata));
01D6 ; pdata++;
01D6 ; }
01D6 ; page++;
01D6 ; }
01D6 ; }
01D6 ;
01D6 ; //////////////////////////////////////////////////////////////////////
01D6 ; //数值大小与阿拉伯数字之间的转换显示
01D6 ; //////////////////////////////////////////////////////////////////////
01D6 ; void Draw_NtoArab(unsigned char page,unsigned char column,unsigned char number)
01D6 ; {
01D6 .dbline 232
01D6 ; switch(number)
01D6 A884 ldd R10,y+8
01D8 BB24 clr R11
01DA AA20 tst R10
01DC 19F4 brne X0
01DE BB20 tst R11
01E0 09F4 brne X2
01E2 2FC0 xjmp L43
01E4 X2:
01E4 X0:
01E4 C501 movw R24,R10
01E6 8130 cpi R24,1
01E8 E0E0 ldi R30,0
01EA 9E07 cpc R25,R30
01EC 09F4 brne X3
01EE 31C0 xjmp L44
01F0 X3:
01F0 8230 cpi R24,2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -