📄 3310.lis
字号:
01BA ; n -> R20
01BA ; line -> R22
01BA ; Y -> R10
01BA ; X -> R20
.even
01BA _LCD_write_tubiao::
01BA 0E940000 xcall push_gset3
01BE A22E mov R10,R18
01C0 402F mov R20,R16
01C2 6E81 ldd R22,y+6
01C4 .dbline -1
01C4 .dbline 348
01C4 ;
01C4 ; }
01C4 ;
01C4 ; //=======================================================================
01C4 ; void LCD_write_tubiao(uint8 X, uint8 Y, uint8 line)
01C4 ; {
01C4 .dbline 351
01C4 ; uint8 n;
01C4 ;
01C4 ; LCD_set_XY(X,Y);//设置初始位置
01C4 2A2D mov R18,R10
01C6 042F mov R16,R20
01C8 93DF xcall _LCD_set_XY
01CA .dbline 353
01CA ;
01CA ; for (n=0; n<6; n++)//画一个6*8的图标
01CA 4427 clr R20
01CC 0FC0 xjmp L26
01CE L23:
01CE .dbline 354
01CE .dbline 355
01CE 21E0 ldi R18,1
01D0 86E0 ldi R24,6
01D2 869F mul R24,R22
01D4 1001 movw R2,R0
01D6 80E0 ldi R24,<_Hzk3
01D8 90E0 ldi R25,>_Hzk3
01DA 280E add R2,R24
01DC 391E adc R3,R25
01DE E42F mov R30,R20
01E0 FF27 clr R31
01E2 E20D add R30,R2
01E4 F31D adc R31,R3
01E6 0491 lpm R16,Z
01E8 DDDF xcall _LCD_write_byte
01EA .dbline 357
01EA L24:
01EA .dbline 353
01EA 4395 inc R20
01EC L26:
01EC .dbline 353
01EC 4630 cpi R20,6
01EE 78F3 brlo L23
01F0 .dbline -2
01F0 L22:
01F0 0E940000 xcall pop_gset3
01F4 .dbline 0 ; func end
01F4 0895 ret
01F6 .dbsym r n 20 c
01F6 .dbsym r line 22 c
01F6 .dbsym r Y 10 c
01F6 .dbsym r X 20 c
01F6 .dbend
01F6 .dbfunc e JINGDU _JINGDU fV
01F6 ; i -> R20
.even
01F6 _JINGDU::
01F6 0E940000 xcall push_gset1
01FA .dbline -1
01FA .dbline 486
01FA ; {
01FA ; LCD_write_byte(Hzk3[line][n],1);
01FA ;
01FA ; }
01FA ; }
01FA ;
01FA ; //=======================================================================
01FA ; //LCD_write_chi: 在LCD上显示汉字
01FA ;
01FA ; //输入参数:X、Y:显示汉字的起始X、Y坐标;
01FA ; //ch_with :汉字点阵的宽度
01FA ; //num:显示汉字的个数;
01FA ; //line:汉字点阵数组中的起始行数
01FA ; //row:汉字显示的行间距
01FA ;
01FA ; /*
01FA ; void LCD_write_chi(unsigned char X, unsigned char Y,
01FA ; unsigned char ch_with,unsigned char num,
01FA ; unsigned char line,unsigned char row)
01FA ;
01FA ; {
01FA ;
01FA ; unsigned char i,n;
01FA ;
01FA ; LCD_set_XY(X,Y);//设置初始位置
01FA ;
01FA ; for (i=0;i<num;)
01FA ;
01FA ; {
01FA ; for (n=0; n<ch_with*2; n++)//写一个汉字
01FA ;
01FA ; {
01FA ;
01FA ; if (n==ch_with)//写汉字的下半部分
01FA ;
01FA ; {
01FA ;
01FA ; if (i==0) LCD_set_XY(X,Y+1);
01FA ;
01FA ; else
01FA ;
01FA ; LCD_set_XY((X+(ch_with+row)*i),Y+1);
01FA ;
01FA ; }
01FA ;
01FA ; LCD_write_byte(Hzk[line+i][n],1);
01FA ;
01FA ; }
01FA ;
01FA ; i++;
01FA ;
01FA ; LCD_set_XY((X+(ch_with+row)*i),Y);
01FA ;
01FA ; }
01FA ;
01FA ; }
01FA ; */
01FA ; //=======================================================================
01FA ;
01FA ; //LCD_write_chi: 汉字移动
01FA ;
01FA ; //输入参数:X、Y:显示汉字的起始X、Y坐标;
01FA ; //T:移动速度;
01FA ;
01FA ; /*
01FA ; void LCD_move_chi(void)
01FA ;
01FA ; {
01FA ;
01FA ;
01FA ; unsigned char i,n,j=0;
01FA ;
01FA ; unsigned char buffer_h[84]={0};
01FA ;
01FA ; unsigned char buffer_l[84]={0};
01FA ;
01FA ; for (i=0; i<172; i++)
01FA ;
01FA ; {
01FA ; if((i/12)>5)
01FA ; {
01FA ; buffer_h[83]=0x00;
01FA ; buffer_l[83]=0x00;
01FA ; }
01FA ; else
01FA ; {
01FA ; buffer_h[83]=Hzk[i/12][j];
01FA ; buffer_l[83]=Hzk[i/12][j+12];
01FA ; }
01FA ;
01FA ; j++;
01FA ;
01FA ; if (j==12) j=0;
01FA ;
01FA ; for (n=0; n<83; n++)
01FA ;
01FA ; {
01FA ;
01FA ; buffer_h[n]=buffer_h[n+1];
01FA ;
01FA ; buffer_l[n]=buffer_l[n+1];
01FA ;
01FA ; }
01FA ;
01FA ; LCD_set_XY(0,0);
01FA ;
01FA ; for (n=0; n<83; n++)
01FA ;
01FA ; {
01FA ;
01FA ; LCD_write_byte(buffer_h[n],1);
01FA ;
01FA ; }
01FA ;
01FA ; LCD_set_XY(0,1);
01FA ;
01FA ; for (n=0; n<83; n++)
01FA ;
01FA ; {
01FA ;
01FA ; LCD_write_byte(buffer_l[n],1);
01FA ;
01FA ; }
01FA ;
01FA ; Delay_ms(250);
01FA ;
01FA ; }
01FA ; }
01FA ; */
01FA ;
01FA ; //=======================================================================
01FA ; void JINGDU(void)
01FA ; { uint8 i;
01FA .dbline 487
01FA ; LCD_set_XY(0,4);
01FA 24E0 ldi R18,4
01FC 0027 clr R16
01FE 78DF xcall _LCD_set_XY
0200 .dbline 488
0200 ; LCD_write_byte(0x7f,1);
0200 21E0 ldi R18,1
0202 0FE7 ldi R16,127
0204 CFDF xcall _LCD_write_byte
0206 .dbline 489
0206 ; i=82;
0206 42E5 ldi R20,82
0208 03C0 xjmp L29
020A L28:
020A .dbline 491
020A .dbline 492
020A 21E0 ldi R18,1
020C 01E4 ldi R16,65
020E CADF xcall _LCD_write_byte
0210 .dbline 493
0210 L29:
0210 .dbline 490
0210 ; while(i--)
0210 242E mov R2,R20
0212 3324 clr R3
0214 4150 subi R20,1
0216 2220 tst R2
0218 C1F7 brne L28
021A .dbline 494
021A ; {
021A ; LCD_write_byte(0x41,1);
021A ; }
021A ; LCD_write_byte(0x7f,1);
021A 21E0 ldi R18,1
021C 0FE7 ldi R16,127
021E C2DF xcall _LCD_write_byte
0220 .dbline -2
0220 L27:
0220 0E940000 xcall pop_gset1
0224 .dbline 0 ; func end
0224 0895 ret
0226 .dbsym r i 20 c
0226 .dbend
0226 .dbfunc e GEPAI _GEPAI fV
0226 ; i -> R20
.even
0226 _GEPAI::
0226 0E940000 xcall push_gset1
022A .dbline -1
022A .dbline 499
022A ; }
022A ;
022A ; //=======================================================================
022A ; void GEPAI(void)
022A ; {
022A .dbline 501
022A ; uint8 i;
022A ; LCD_set_XY(6,2);
022A 22E0 ldi R18,2
022C 06E0 ldi R16,6
022E 60DF xcall _LCD_set_XY
0230 .dbline 502
0230 ; for(i=0;i<72;i++)
0230 4427 clr R20
0232 04C0 xjmp L35
0234 L32:
0234 .dbline 503
0234 .dbline 504
0234 21E0 ldi R18,1
0236 0027 clr R16
0238 B5DF xcall _LCD_write_byte
023A .dbline 505
023A L33:
023A .dbline 502
023A 4395 inc R20
023C L35:
023C .dbline 502
023C 4834 cpi R20,72
023E D0F3 brlo L32
0240 .dbline 506
0240 ; {
0240 ; LCD_write_byte(0x00,1);
0240 ; }
0240 ; LCD_set_XY(6,3);
0240 23E0 ldi R18,3
0242 06E0 ldi R16,6
0244 55DF xcall _LCD_set_XY
0246 .dbline 507
0246 ; for(i=0;i<72;i++)
0246 4427 clr R20
0248 04C0 xjmp L39
024A L36:
024A .dbline 508
024A .dbline 509
024A 21E0 ldi R18,1
024C 0027 clr R16
024E AADF xcall _LCD_write_byte
0250 .dbline 510
0250 L37:
0250 .dbline 507
0250 4395 inc R20
0252 L39:
0252 .dbline 507
0252 4834 cpi R20,72
0254 D0F3 brlo L36
0256 .dbline -2
0256 L31:
0256 0E940000 xcall pop_gset1
025A .dbline 0 ; func end
025A 0895 ret
025C .dbsym r i 20 c
025C .dbend
.area data(ram, con, rel)
0000 .dbfile E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\MP3BOA~1.8\3310.c
0000 L3:
0000 .blkb 15
.area idata
0000 202020202020202020202020202000 .byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,0
.area data(ram, con, rel)
000F .dbfile E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\MP3BOA~1.8\3310.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -