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