📄 6963.lis
字号:
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 + -