📄 font24_32.lis
字号:
000A ; ________,________,________,
000A ; ________,________,________}
000A ;
000A ; /* : */
000A ; ,{
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,___XXX__,________,
000A ; ________,__XXXXX_,________,
000A ; ________,__XXXXX_,________,
000A ; ________,__XXXXX_,________,
000A ; ________,___XXX__,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,___XXX__,________,
000A ; ________,__XXXXX_,________,
000A ; ________,__XXXXX_,________,
000A ; ________,__XXXXX_,________,
000A ; ________,___XXX__,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________}
000A ;
000A ; /* 空格 */
000A ; ,{
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________,
000A ; ________,________,________}
000A ; };
000A ;
000A ; /* ASCII码字符字模检索表 */
000A ; const char FONT24x32_TAB[]="0123456789.+-: ";
000A ;
000A ; /****************************************************************************
000A ; * 名称:GUI_PutChar24_32()
000A ; * 功能:显示ASCII码(24*32字体),显示值为'0'-'9'、'.'、'+'、'-'及':'(若为其它值,则显示' ')。
000A ; * 入口参数: x 指定显示位置,x坐标
000A ; * y 指定显示位置,y坐标
000A ; * ch 要显示的ASCII码值。
000A ; * 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
000A ; * 说明:操作失败原因是指定地址超出有效范围。
000A ; ****************************************************************************/
000A ; uint8 GUI_PutChar24_32(uint32 x, uint32 y, uint8 ch)
000A ; { uint8 font_dat;
000A .dbline 558
000A ; uint8 i, j, k, temp;
000A ; TCOLOR bakc;
000A ;
000A ; /* 参数过滤 */
000A ; if( x>=(GUI_LCM_XMAX-8) ) return(0);
000A 8C85 ldd R24,y+12
000C 9D85 ldd R25,y+13
000E 883E cpi R24,232
0010 E0E0 ldi R30,0
0012 9E07 cpc R25,R30
0014 10F0 brlo L8
0016 .dbline 558
0016 0027 clr R16
0018 67C0 xjmp L7
001A L8:
001A .dbline 559
001A ; if( y>=(GUI_LCM_YMAX-8) ) return(0);
001A 8E85 ldd R24,y+14
001C 9F85 ldd R25,y+15
001E 8837 cpi R24,120
0020 E0E0 ldi R30,0
0022 9E07 cpc R25,R30
0024 10F0 brlo L10
0026 .dbline 559
0026 0027 clr R16
0028 5FC0 xjmp L7
002A L10:
002A .dbline 560
002A ; for(k=0; k<14; k++)
002A AA24 clr R10
002C 0CC0 xjmp L15
002E L12:
002E .dbline 561
002E ; { if(FONT24x32_TAB[k]==ch) break;
002E .dbline 561
002E 80E0 ldi R24,<_FONT24x32_TAB
0030 90E0 ldi R25,>_FONT24x32_TAB
0032 EA2D mov R30,R10
0034 FF27 clr R31
0036 E80F add R30,R24
0038 F91F adc R31,R25
003A E491 lpm R30,Z
003C 0888 ldd R0,y+16
003E E015 cp R30,R0
0040 09F4 brne L16
0042 .dbline 561
0042 04C0 xjmp L14
0044 L16:
0044 .dbline 562
0044 L13:
0044 .dbline 560
0044 A394 inc R10
0046 L15:
0046 .dbline 560
0046 8A2D mov R24,R10
0048 8E30 cpi R24,14
004A 88F3 brlo L12
004C L14:
004C .dbline 563
004C ; }
004C ; ch = k;
004C A88A std y+16,R10
004E .dbline 564
004E ; for(i=0; i<32; i++)
004E 4427 clr R20
0050 47C0 xjmp L21
0052 L18:
0052 .dbline 565
0052 ; { /* 读取点阵数据 */
0052 .dbline 566
0052 ; for(k=0; k<3; k++)
0052 AA24 clr R10
0054 36C0 xjmp L25
0056 L22:
0056 .dbline 567
0056 ; {
0056 .dbline 568
0056 ; temp = i*3 + k;
0056 83E0 ldi R24,3
0058 849F mul R24,R20
005A 602D mov R22,R0
005C 6A0D add R22,R10
005E .dbline 569
005E ; font_dat = FONT24x32[ch][temp];
005E 80E6 ldi R24,96
0060 0888 ldd R0,y+16
0062 809D mul R24,R0
0064 1001 movw R2,R0
0066 80E0 ldi R24,<_FONT24x32
0068 90E0 ldi R25,>_FONT24x32
006A 280E add R2,R24
006C 391E adc R3,R25
006E E62F mov R30,R22
0070 FF27 clr R31
0072 E20D add R30,R2
0074 F31D adc R31,R3
0076 E490 lpm R14,Z
0078 .dbline 570
0078 ; for(j=0; j<8; j++)
0078 CC24 clr R12
007A 1FC0 xjmp L29
007C L26:
007C .dbline 571
007C ; { /* 设置相应的点为color或为back_color */
007C .dbline 572
007C ; if( (font_dat&DCB2HEX_TAB[j])==0 ) GUI_CopyColor(&bakc, back_color);
007C 80E0 ldi R24,<_DCB2HEX_TAB
007E 90E0 ldi R25,>_DCB2HEX_TAB
0080 EC2D mov R30,R12
0082 FF27 clr R31
0084 E80F add R30,R24
0086 F91F adc R31,R25
0088 E491 lpm R30,Z
008A 2E2C mov R2,R14
008C 2E22 and R2,R30
008E 21F4 brne L30
0090 .dbline 572
0090 20900000 lds R2,_back_color
0094 2982 std y+1,R2
0096 03C0 xjmp L31
0098 L30:
0098 .dbline 573
0098 ; else GUI_CopyColor(&bakc, disp_color);
0098 20900000 lds R2,_disp_color
009C 2982 std y+1,R2
009E L31:
009E .dbline 574
009E 2980 ldd R2,y+1
00A0 2882 std y+0,R2
00A2 2E85 ldd R18,y+14
00A4 3F85 ldd R19,y+15
00A6 0C85 ldd R16,y+12
00A8 1D85 ldd R17,y+13
00AA 0E940000 xcall _GUI_Point
00AE .dbline 575
00AE 8C85 ldd R24,y+12
00B0 9D85 ldd R25,y+13
00B2 0196 adiw R24,1
00B4 9D87 std y+13,R25
00B6 8C87 std y+12,R24
00B8 .dbline 576
00B8 L27:
00B8 .dbline 570
00B8 C394 inc R12
00BA L29:
00BA .dbline 570
00BA 8C2D mov R24,R12
00BC 8830 cpi R24,8
00BE F0F2 brlo L26
00C0 .dbline 577
00C0 L23:
00C0 .dbline 566
00C0 A394 inc R10
00C2 L25:
00C2 .dbline 566
00C2 8A2D mov R24,R10
00C4 8330 cpi R24,3
00C6 08F4 brsh X0
00C8 C6CF xjmp L22
00CA X0:
00CA .dbline 578
00CA 8E85 ldd R24,y+14
00CC 9F85 ldd R25,y+15
00CE 0196 adiw R24,1
00D0 9F87 std y+15,R25
00D2 8E87 std y+14,R24
00D4 .dbline 579
00D4 8C85 ldd R24,y+12
00D6 9D85 ldd R25,y+13
00D8 4897 sbiw R24,24
00DA 9D87 std y+13,R25
00DC 8C87 std y+12,R24
00DE .dbline 580
00DE L19:
00DE .dbline 564
00DE 4395 inc R20
00E0 L21:
00E0 .dbline 564
00E0 4032 cpi R20,32
00E2 08F4 brsh X1
00E4 B6CF xjmp L18
00E6 X1:
00E6 .dbline 581
00E6 ; GUI_Point(x, y, bakc);
00E6 ; x++;
00E6 ; }
00E6 ; }
00E6 ; y++; // 指向下一行
00E6 ; x -= 24; // 恢复x值
00E6 ; }
00E6 ; return(1);
00E6 01E0 ldi R16,1
00E8 .dbline -2
00E8 L7:
00E8 2296 adiw R28,2
00EA 0E940000 xcall pop_gset5
00EE 2496 adiw R28,4
00F0 .dbline 0 ; func end
00F0 0895 ret
00F2 .dbsym r i 20 c
00F2 .dbsym r temp 22 c
00F2 .dbsym r k 10 c
00F2 .dbsym r font_dat 14 c
00F2 .dbsym l bakc 1 c
00F2 .dbsym r j 12 c
00F2 .dbsym l ch 16 c
00F2 .dbsym l y 14 i
00F2 .dbsym l x 12 i
00F2 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -