📄 lcd.lis
字号:
00D8 4F30 cpi R20,15
00DA E0E0 ldi R30,0
00DC 5E07 cpc R21,R30
00DE 11F4 brne L21
00E0 .dbline 104
00E0 ; lcd_write_comm(0x90); //设定DDRAM第二行,第一列
00E0 00E9 ldi R16,144
00E2 CEDF rcall _lcd_write_comm
00E4 L21:
00E4 .dbline 105
00E4 ; if (i==31)
00E4 4F31 cpi R20,31
00E6 E0E0 ldi R30,0
00E8 5E07 cpc R21,R30
00EA 11F4 brne L23
00EC .dbline 106
00EC ; lcd_write_comm(0x88); //设定DDRAM第三行,第一列
00EC 08E8 ldi R16,136
00EE C8DF rcall _lcd_write_comm
00F0 L23:
00F0 .dbline 107
00F0 ; if (i==47)
00F0 4F32 cpi R20,47
00F2 E0E0 ldi R30,0
00F4 5E07 cpc R21,R30
00F6 11F4 brne L25
00F8 .dbline 108
00F8 ; lcd_write_comm(0x98); //设定DDRAM第四行,第一列
00F8 08E9 ldi R16,152
00FA C2DF rcall _lcd_write_comm
00FC L25:
00FC .dbline 109
00FC ; if (i==63)
00FC 4F33 cpi R20,63
00FE E0E0 ldi R30,0
0100 5E07 cpc R21,R30
0102 11F4 brne L27
0104 .dbline 110
0104 ; lcd_write_comm(0x80); //设定DDRAM第一行,第一列
0104 00E8 ldi R16,128
0106 BCDF rcall _lcd_write_comm
0108 L27:
0108 .dbline 111
0108 L18:
0108 .dbline 101
0108 4F5F subi R20,255 ; offset = 1
010A 5F4F sbci R21,255
010C L20:
010C .dbline 101
010C 4034 cpi R20,64
010E E0E0 ldi R30,0
0110 5E07 cpc R21,R30
0112 E8F2 brlo L17
0114 .dbline 112
0114 ; }
0114 ; lcd_write_comm(0x0c);
0114 0CE0 ldi R16,12
0116 B4DF rcall _lcd_write_comm
0118 .dbline -2
0118 L16:
0118 00D0 rcall pop_gset2
011A .dbline 0 ; func end
011A 0895 ret
011C .dbsym l j 1 i
011C .dbsym r i 20 i
011C .dbsym r data 22 pc
011C .dbend
011C .dbfunc e fanxian _fanxian fV
011C ; y -> R20
011C ; x -> R22
011C ; j -> R10
011C ; i -> R12
011C ; hang -> R14
.even
011C _fanxian::
011C 00D0 rcall push_gset5
011E E02E mov R14,R16
0120 .dbline -1
0120 .dbline 116
0120 ; }
0120 ; //////////////////////////////////
0120 ; void fanxian(unsigned char hang) // 0x80-1 0x90-2 0x88-3 0x98-4
0120 ; {
0120 .dbline 118
0120 ; unsigned char x,y,i,j;
0120 ; lcd_write_comm(0x34); //开启绘图功能显示
0120 04E3 ldi R16,52
0122 AEDF rcall _lcd_write_comm
0124 .dbline 119
0124 ; lcd_write_comm(0x34);
0124 04E3 ldi R16,52
0126 ACDF rcall _lcd_write_comm
0128 .dbline 121
0128 ;
0128 ; y=0x80;
0128 40E8 ldi R20,128
012A .dbline 122
012A ; x=0x80;
012A 60E8 ldi R22,128
012C .dbline 123
012C ; lcd_write_data(0x00);
012C 0027 clr R16
012E 93DF rcall _lcd_write_data
0130 .dbline 124
0130 ; lcd_write_comm(x); //设置x 坐标
0130 062F mov R16,R22
0132 A6DF rcall _lcd_write_comm
0134 .dbline 125
0134 ; lcd_write_comm(y);
0134 042F mov R16,R20
0136 A4DF rcall _lcd_write_comm
0138 .dbline 126
0138 ; for (j=0;j<32;j++)
0138 AA24 clr R10
013A 10C0 rjmp L33
013C L30:
013C .dbline 127
013C ; {for (i=0;i<16;i++)
013C .dbline 127
013C CC24 clr R12
013E 03C0 rjmp L37
0140 L34:
0140 .dbline 128
0140 0027 clr R16
0142 89DF rcall _lcd_write_data
0144 L35:
0144 .dbline 127
0144 C394 inc R12
0146 L37:
0146 .dbline 127
0146 8C2D mov R24,R12
0148 8031 cpi R24,16
014A D0F3 brlo L34
014C .dbline 131
014C 862F mov R24,R22
014E 8F5F subi R24,255 ; addi 1
0150 682F mov R22,R24
0152 082F mov R16,R24
0154 95DF rcall _lcd_write_comm
0156 .dbline 132
0156 042F mov R16,R20
0158 93DF rcall _lcd_write_comm
015A .dbline 134
015A L31:
015A .dbline 126
015A A394 inc R10
015C L33:
015C .dbline 126
015C 8A2D mov R24,R10
015E 8032 cpi R24,32
0160 68F3 brlo L30
0162 .dbline 136
0162 ; lcd_write_data(0x00);
0162 ;
0162 ;
0162 ; lcd_write_comm(++x);
0162 ; lcd_write_comm(y);
0162 ;
0162 ; }
0162 ;
0162 ; y=0x88;
0162 48E8 ldi R20,136
0164 .dbline 137
0164 ; x=0x80;
0164 60E8 ldi R22,128
0166 .dbline 138
0166 ; lcd_write_data(0x00);
0166 0027 clr R16
0168 76DF rcall _lcd_write_data
016A .dbline 139
016A ; lcd_write_comm(x);
016A 062F mov R16,R22
016C 89DF rcall _lcd_write_comm
016E .dbline 140
016E ; lcd_write_comm(y);
016E 042F mov R16,R20
0170 87DF rcall _lcd_write_comm
0172 .dbline 141
0172 ; for (j=32;j<64;j++)
0172 80E2 ldi R24,32
0174 A82E mov R10,R24
0176 10C0 rjmp L41
0178 L38:
0178 .dbline 142
0178 ; {for (i=0;i<16;i++)
0178 .dbline 142
0178 CC24 clr R12
017A 03C0 rjmp L45
017C L42:
017C .dbline 143
017C 0027 clr R16
017E 6BDF rcall _lcd_write_data
0180 L43:
0180 .dbline 142
0180 C394 inc R12
0182 L45:
0182 .dbline 142
0182 8C2D mov R24,R12
0184 8031 cpi R24,16
0186 D0F3 brlo L42
0188 .dbline 144
0188 862F mov R24,R22
018A 8F5F subi R24,255 ; addi 1
018C 682F mov R22,R24
018E 082F mov R16,R24
0190 77DF rcall _lcd_write_comm
0192 .dbline 145
0192 042F mov R16,R20
0194 75DF rcall _lcd_write_comm
0196 .dbline 148
0196 L39:
0196 .dbline 141
0196 A394 inc R10
0198 L41:
0198 .dbline 141
0198 8A2D mov R24,R10
019A 8034 cpi R24,64
019C 68F3 brlo L38
019E .dbline 150
019E ; lcd_write_data(0x00);
019E ; lcd_write_comm(++x);
019E ; lcd_write_comm(y);
019E ;
019E ;
019E ; }
019E ;
019E ; lcd_write_comm(0x36); //开启绘图功能显示
019E 06E3 ldi R16,54
01A0 6FDF rcall _lcd_write_comm
01A2 .dbline 152
01A2 ;
01A2 ; if(hang==1)
01A2 8E2D mov R24,R14
01A4 8130 cpi R24,1
01A6 19F4 brne L46
01A8 .dbline 153
01A8 ; {
01A8 .dbline 154
01A8 ; y=0x80;
01A8 40E8 ldi R20,128
01AA .dbline 155
01AA ; x=0x80;}
01AA 60E8 ldi R22,128
01AC .dbline 155
01AC 0EC0 rjmp L47
01AE L46:
01AE .dbline 156
01AE ; else if(hang==2)
01AE 8E2D mov R24,R14
01B0 8230 cpi R24,2
01B2 19F4 brne L48
01B4 .dbline 157
01B4 ; {
01B4 .dbline 158
01B4 ; y=0x80;
01B4 40E8 ldi R20,128
01B6 .dbline 159
01B6 ; x=0x90;}
01B6 60E9 ldi R22,144
01B8 .dbline 159
01B8 08C0 rjmp L49
01BA L48:
01BA .dbline 160
01BA ; else if(hang==3)
01BA 8E2D mov R24,R14
01BC 8330 cpi R24,3
01BE 19F4 brne L50
01C0 .dbline 161
01C0 ; {y=0x88;
01C0 .dbline 161
01C0 48E8 ldi R20,136
01C2 .dbline 162
01C2 ; x=0x80;}
01C2 60E8 ldi R22,128
01C4 .dbline 162
01C4 02C0 rjmp L51
01C6 L50:
01C6 .dbline 164
01C6 ; else
01C6 ; {y=0x88;
01C6 .dbline 164
01C6 48E8 ldi R20,136
01C8 .dbline 165
01C8 ; x=0x90;}
01C8 60E9 ldi R22,144
01CA .dbline 165
01CA L51:
01CA L49:
01CA L47:
01CA .dbline 167
01CA ;
01CA ; lcd_write_comm(x); //设置x 坐标
01CA 062F mov R16,R22
01CC 59DF rcall _lcd_write_comm
01CE .dbline 168
01CE ; lcd_write_comm(y); //设置y 坐标
01CE 042F mov R16,R20
01D0 57DF rcall _lcd_write_comm
01D2 .dbline 171
01D2 ;
01D2 ;
01D2 ; for (j=0;j<16;j++)
01D2 AA24 clr R10
01D4 10C0 rjmp L55
01D6 L52:
01D6 .dbline 172
01D6 ; {for (i=0;i<16;i++)
01D6 .dbline 172
01D6 CC24 clr R12
01D8 03C0 rjmp L59
01DA L56:
01DA .dbline 173
01DA 0FEF ldi R16,255
01DC 3CDF rcall _lcd_write_data
01DE L57:
01DE .dbline 172
01DE C394 inc R12
01E0 L59:
01E0 .dbline 172
01E0 8C2D mov R24,R12
01E2 8031 cpi R24,16
01E4 D0F3 brlo L56
01E6 .dbline 175
01E6 862F mov R24,R22
01E8 8F5F subi R24,255 ; addi 1
01EA 682F mov R22,R24
01EC 082F mov R16,R24
01EE 48DF rcall _lcd_write_comm
01F0 .dbline 176
01F0 042F mov R16,R20
01F2 46DF rcall _lcd_write_comm
01F4 .dbline 178
01F4 L53:
01F4 .dbline 171
01F4 A394 inc R10
01F6 L55:
01F6 .dbline 171
01F6 8A2D mov R24,R10
01F8 8031 cpi R24,16
01FA 68F3 brlo L52
01FC .dbline -2
01FC L29:
01FC 00D0 rcall pop_gset5
01FE .dbline 0 ; func end
01FE 0895 ret
0200 .dbsym r y 20 c
0200 .dbsym r x 22 c
0200 .dbsym r j 10 c
0200 .dbsym r i 12 c
0200 .dbsym r hang 14 c
0200 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -