📄 lcmdisp.lis
字号:
00B0 ; if(temp<0x0a){ascii[0] = temp + 0x30;}
00B0 4A30 cpi R20,10
00B2 20F4 brsh L17
00B4 .dbline 108
00B4 .dbline 108
00B4 842F mov R24,R20
00B6 805D subi R24,208 ; addi 48
00B8 8883 std y+0,R24
00BA .dbline 108
00BA 03C0 xjmp L18
00BC L17:
00BC .dbline 109
00BC ; else {ascii[0] = temp + 0x37;}
00BC .dbline 109
00BC 842F mov R24,R20
00BE 895C subi R24,201 ; addi 55
00C0 8883 std y+0,R24
00C2 .dbline 109
00C2 L18:
00C2 .dbline 111
00C2 ;
00C2 ; temp = h&0x0f;
00C2 402F mov R20,R16
00C4 4F70 andi R20,15
00C6 .dbline 112
00C6 ; if(temp<0x0a){ascii[1] = temp + 0x30;}
00C6 4A30 cpi R20,10
00C8 20F4 brsh L19
00CA .dbline 112
00CA .dbline 112
00CA 842F mov R24,R20
00CC 805D subi R24,208 ; addi 48
00CE 8983 std y+1,R24
00D0 .dbline 112
00D0 03C0 xjmp L20
00D2 L19:
00D2 .dbline 113
00D2 ; else {ascii[1] = temp + 0x37;}
00D2 .dbline 113
00D2 842F mov R24,R20
00D4 895C subi R24,201 ; addi 55
00D6 8983 std y+1,R24
00D8 .dbline 113
00D8 L20:
00D8 .dbline 114
00D8 ; p = &ascii[0];
00D8 CE01 movw R24,R28
00DA 90930300 sts _p+1,R25
00DE 80930200 sts _p,R24
00E2 .dbline -2
00E2 L16:
00E2 2296 adiw R28,2
00E4 0E940000 xcall pop_gset1
00E8 .dbline 0 ; func end
00E8 0895 ret
00EA .dbsym l ascii 0 A[2:2]c
00EA .dbsym r temp 20 c
00EA .dbsym r h 16 c
00EA .dbend
.area lit(rom, con, rel)
00E0 L24:
00E0 0000 .word 0
00E2 0000 .word 0
00E4 8000 .word 128
00E6 2000 .word 32
00E8 4500 .word L25
00EA 3F00 .word L26
.area text(rom, con, rel)
00EA .dbfile G:\IccPro\mega128_lcd\lcmdisp.c
00EA .dbfunc e main _main fI
00EA ; win -> y+2
.even
00EA _main::
00EA 2E97 sbiw R28,14
00EC .dbline -1
00EC .dbline 122
00EC ; //return (ascii);
00EC ; }
00EC ; /***********************************************************************
00EC ; * 名称:main()
00EC ; * 功能:主程序,用于GUI测试及演示。
00EC ; ***********************************************************************/
00EC ; main(void)
00EC ; {
00EC .dbline 123
00EC ; WINDOWS win={0, 0, 128, 32,"my", "first" };
00EC 80E0 ldi R24,<L24
00EE 90E0 ldi R25,>L24
00F0 FE01 movw R30,R28
00F2 3296 adiw R30,2
00F4 0CE0 ldi R16,12
00F6 10E0 ldi R17,0
00F8 FA93 st -y,R31
00FA EA93 st -y,R30
00FC 9A93 st -y,R25
00FE 8A93 st -y,R24
0100 0E940000 xcall asgncblk
0104 .dbline 124
0104 ; first_win = &win;
0104 CE01 movw R24,R28
0106 0296 adiw R24,2
0108 90930100 sts _first_win+1,R25
010C 80930000 sts _first_win,R24
0110 .dbline 125
0110 ; init_devices();
0110 86DF xcall _init_devices
0112 .dbline 127
0112 ;
0112 ; GUI_Initialize(); // 初始化LCM
0112 0E940000 xcall _GUI_Initialize
0116 .dbline 128
0116 ; GUI_SetColor(1, 0); // 设置前景色及背景色
0116 2227 clr R18
0118 01E0 ldi R16,1
011A 0E940000 xcall _GUI_SetColor
011E .dbline 134
011E ; //LCD_FillAll(0x01);
011E ; //GUI_LoadPic(0,0, (uint8 *)ICO1, 40, 40); // 显示40×40的图标
011E ; //GUI_Spline(log_pin, 4, 1); // 画样条曲线
011E ; //GUI_LineS(poly6, 6, 1); // 画封闭的多边形
011E ; //GUI_FloodFill(0,0, 1); // 填充多边形
011E ; GUI_PutString(0,0,"09:23 01/10/07"); // 显示字符串
011E 80E0 ldi R24,<L27
0120 90E0 ldi R25,>L27
0122 9983 std y+1,R25
0124 8883 std y+0,R24
0126 2227 clr R18
0128 3327 clr R19
012A 0027 clr R16
012C 1127 clr R17
012E 0E940000 xcall _GUI_PutString
0132 .dbline 145
0132 ; //GUI_PutChar24_32(48,32,'8');
0132 ; //GUI_PutChar8_8(0,0,'8');
0132 ; //GUI_PutHZ(0,0,hz0,16,16);
0132 ; //GUI_PutNoStr(0,0,"3244",4);
0132 ; //GUI_WindowsDraw(first_win);
0132 ; //while(1);
0132 ; //return(0);
0132 ; //GUI_PutChar8_8(0,8,'p');
0132 ; //GUI_PutChar8_8(0,16,'m');
0132 ; //GUI_PutChar8_8(0,24,'s');
0132 ; GUI_DrawBat(86,0,0);
0132 2224 clr R2
0134 3324 clr R3
0136 3982 std y+1,R3
0138 2882 std y+0,R2
013A 2227 clr R18
013C 3327 clr R19
013E 06E5 ldi R16,86
0140 10E0 ldi R17,0
0142 0E940000 xcall _GUI_DrawBat
0146 .dbline 146
0146 ; GUI_PutChar16_16(0,8,'P');
0146 80E5 ldi R24,80
0148 8883 std y+0,R24
014A 28E0 ldi R18,8
014C 30E0 ldi R19,0
014E 0027 clr R16
0150 1127 clr R17
0152 0E940000 xcall _GUI_PutChar16_16
0156 .dbline 147
0156 ; GUI_PutChar16_16(0,24,'M');
0156 8DE4 ldi R24,77
0158 8883 std y+0,R24
015A 28E1 ldi R18,24
015C 30E0 ldi R19,0
015E 0027 clr R16
0160 1127 clr R17
0162 0E940000 xcall _GUI_PutChar16_16
0166 .dbline 148
0166 ; GUI_PutChar16_16(0,40,'S');
0166 83E5 ldi R24,83
0168 8883 std y+0,R24
016A 28E2 ldi R18,40
016C 30E0 ldi R19,0
016E 0027 clr R16
0170 1127 clr R17
0172 0E940000 xcall _GUI_PutChar16_16
0176 08C0 xjmp L29
0178 L28:
0178 .dbline 151
0178 ;
0178 ; while(1)
0178 ; {
0178 .dbline 152
0178 ; key_scan();
0178 63DF xcall _key_scan
017A .dbline 153
017A ; if(KeyDown)
017A 20900400 lds R2,_KeyDown
017E 2220 tst R2
0180 19F0 breq L31
0182 .dbline 154
0182 ; {
0182 .dbline 158
0182 ; //Hex2Ascii(KeyNew);
0182 ; //GUI_PutString(0,0,p);
0182 ;
0182 ; KeyDown = 0;
0182 2224 clr R2
0184 20920400 sts _KeyDown,R2
0188 .dbline 159
0188 ; }
0188 L31:
0188 .dbline 160
0188 L29:
0188 .dbline 150
0188 F7CF xjmp L28
018A X0:
018A .dbline -2
018A L23:
018A 2E96 adiw R28,14
018C .dbline 0 ; func end
018C 0895 ret
018E .dbsym l win 2 X
018E .dbend
.area bss(ram, con, rel)
0000 .dbfile G:\IccPro\mega128_lcd\lcmdisp.c
0000 _first_win::
0000 .blkb 2
0002 .dbsym e first_win _first_win pX
0002 _p::
0002 .blkb 2
0004 .dbsym e p _p pc
0004 _KeyDown::
0004 .blkb 1
0005 .dbsym e KeyDown _KeyDown c
0005 _KeyNew::
0005 .blkb 1
0006 .dbsym e KeyNew _KeyNew c
.area data(ram, con, rel)
0030 .dbfile G:\IccPro\mega128_lcd\lcmdisp.c
0030 L27:
0030 .blkb 15
.area idata
0030 30393A32332030312F31302F303700 .byte 48,57,58,50,51,32,48,49,47,49,48,47,48,55,0
.area data(ram, con, rel)
003F .dbfile G:\IccPro\mega128_lcd\lcmdisp.c
003F L26:
003F .blkb 6
.area idata
003F 666972737400 .byte 'f,'i,'r,'s,'t,0
.area data(ram, con, rel)
0045 .dbfile G:\IccPro\mega128_lcd\lcmdisp.c
0045 L25:
0045 .blkb 3
.area idata
0045 6D7900 .byte 'm,'y,0
.area data(ram, con, rel)
0048 .dbfile G:\IccPro\mega128_lcd\lcmdisp.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -