📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile H:\ICC_Test\EC1602/inc/idelay.c
0000 .dbfunc e DelayUs _DelayUs fV
0000 ; i -> R20
0000 ; Xus -> R16
.even
0000 _DelayUs::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 5
0004 ; // Use SPLC780D for EG1602
0004 ; #include <iom16v.h>
0004 ; #include "inc/macros.h"
0004 ; #include "inc/datatype.h"
0004 ; #include "inc/idelay.h"
0004 05C0 xjmp L3
0006 L2:
0006 .dbline 8
0006 ; #include "inc/convert.h"
0006 ; #include "inc/780.h"
0006 ; void main(void)
0006 4427 clr R20
0008 01C0 xjmp L8
000A L5:
000A .dbline 9
000A L6:
000A .dbline 8
000A 4395 inc R20
000C L8:
000C .dbline 8
000C 4134 cpi R20,65
000E E8F3 brlo L5
0010 L3:
0010 .dbline 7
0010 802F mov R24,R16
0012 8150 subi R24,1
0014 082F mov R16,R24
0016 8823 tst R24
0018 B1F7 brne L2
001A .dbline -2
001A L1:
001A 0E940000 xcall pop_gset1
001E .dbline 0 ; func end
001E 0895 ret
0020 .dbsym r i 20 c
0020 .dbsym r Xus 16 c
0020 .dbend
0020 .dbfunc e DelayMs _DelayMs fV
0020 ; i -> R20,R21
0020 ; Xms -> R16,R17
.even
0020 _DelayMs::
0020 0E940000 xcall push_gset1
0024 .dbline -1
0024 .dbline 15
0024 ; {
0024 ; SET_buzzer;
0024 ; LCD_Initial();
0024 ; CLR_buzzer;
0024 ; FillCGRAM();
0024 ; while(1)
0024 ; {
0024 09C0 xjmp L11
0026 L10:
0026 .dbline 18
0026 ; Gotoxy(2,5);
0026 ; SendStr("Welcome!");
0026 ; wait_and_clear();
0026 4427 clr R20
0028 5527 clr R21
002A 02C0 xjmp L16
002C L13:
002C .dbline 19
002C L14:
002C .dbline 18
002C 4F5F subi R20,255 ; offset = 1
002E 5F4F sbci R21,255
0030 L16:
0030 .dbline 18
0030 4F38 cpi R20,143
0032 E2E0 ldi R30,2
0034 5E07 cpc R21,R30
0036 D0F3 brlo L13
0038 L11:
0038 .dbline 17
0038 C801 movw R24,R16
003A 0197 sbiw R24,1
003C 8C01 movw R16,R24
003E 0030 cpi R16,0
0040 0107 cpc R16,R17
0042 89F7 brne L10
0044 X0:
0044 .dbline -2
0044 L9:
0044 0E940000 xcall pop_gset1
0048 .dbline 0 ; func end
0048 0895 ret
004A .dbsym r i 20 i
004A .dbsym r Xms 16 i
004A .dbend
004A .dbfunc e delay100ms _delay100ms fV
004A ; i -> R20
.even
004A _delay100ms::
004A 0E940000 xcall push_gset1
004E .dbline -1
004E .dbline 24
004E ;
004E ;
004E ; ShowCGRAM();
004E ; CallBultinChar();
004E ; Gotoxy(2,7);
004E ; SendStr("OK");
004E .dbline 26
004E ; wait_and_clear();
004E ; }
004E 4427 clr R20
0050 04C0 xjmp L21
0052 L18:
0052 .dbline 27
0052 .dbline 28
0052 04E1 ldi R16,20
0054 10E0 ldi R17,0
0056 E4DF xcall _DelayMs
0058 .dbline 29
0058 L19:
0058 .dbline 26
0058 4395 inc R20
005A L21:
005A .dbline 26
005A 4530 cpi R20,5
005C D0F3 brlo L18
005E .dbline -2
005E L17:
005E 0E940000 xcall pop_gset1
0062 .dbline 0 ; func end
0062 0895 ret
0064 .dbsym r i 20 c
0064 .dbend
0064 .dbfunc e delay500ms _delay500ms fV
0064 ; i -> R20
.even
0064 _delay500ms::
0064 0E940000 xcall push_gset1
0068 .dbline -1
0068 .dbline 33
0068 ; //return 0;
0068 ; }
0068 ; }
0068 ; }
0068 ; }
0068 ; }
0068 ; }
0068 .dbline 35
0068 ; }
0068 ; }
0068 4427 clr R20
006A 02C0 xjmp L26
006C L23:
006C .dbline 36
006C .dbline 37
006C EEDF xcall _delay100ms
006E .dbline 38
006E L24:
006E .dbline 35
006E 4395 inc R20
0070 L26:
0070 .dbline 35
0070 4530 cpi R20,5
0072 E0F3 brlo L23
0074 .dbline -2
0074 L22:
0074 0E940000 xcall pop_gset1
0078 .dbline 0 ; func end
0078 0895 ret
007A .dbsym r i 20 c
007A .dbend
007A .dbfunc e delay1s _delay1s fV
.even
007A _delay1s::
007A .dbline -1
007A .dbline 42
007A ; }
007A ; }
007A ; }
007A ; }
007A ; }
007A ; }
007A ; }
007A .dbline 43
007A ; }
007A 08EE ldi R16,1000
007C 13E0 ldi R17,3
007E D0DF xcall _DelayMs
0080 .dbline -2
0080 L27:
0080 .dbline 0 ; func end
0080 0895 ret
0082 .dbend
0082 .dbfile H:\ICC_Test\EC1602/inc/convert.c
0082 .dbfunc e RvsByte _RvsByte fc
0082 ; tmp -> R20
0082 ; i -> R22
0082 ; dByte -> R10
.even
0082 _RvsByte::
0082 0E940000 xcall push_gset3
0086 A02E mov R10,R16
0088 .dbline -1
0088 .dbline 7
0088 .dbline 9
0088 4427 clr R20
008A .dbline 10
008A 6627 clr R22
008C 0BC0 xjmp L32
008E L29:
008E .dbline 11
008E .dbline 12
008E 0A2D mov R16,R10
0090 162F mov R17,R22
0092 0E940000 xcall lsr8
0096 802F mov R24,R16
0098 8170 andi R24,1
009A 242E mov R2,R20
009C 220C lsl R2
009E 282A or R2,R24
00A0 422D mov R20,R2
00A2 .dbline 13
00A2 L30:
00A2 .dbline 10
00A2 6395 inc R22
00A4 L32:
00A4 .dbline 10
00A4 6830 cpi R22,8
00A6 98F3 brlo L29
00A8 .dbline 14
00A8 042F mov R16,R20
00AA .dbline -2
00AA L28:
00AA 0E940000 xcall pop_gset3
00AE .dbline 0 ; func end
00AE 0895 ret
00B0 .dbsym r tmp 20 c
00B0 .dbsym r i 22 c
00B0 .dbsym r dByte 10 c
00B0 .dbend
.area bss(ram, con, rel)
0000 .dbfile H:\ICC_Test\EC1602/inc/convert.c
0000 L34:
0000 .blkb 3
.area text(rom, con, rel)
00B0 .dbfile H:\ICC_Test\EC1602/inc/convert.c
00B0 .dbfunc e NumberToChar _NumberToChar fpc
00B0 .dbsym s Dest L34 A[3:3]c
00B0 ; Number -> R20
.even
00B0 _NumberToChar::
00B0 0E940000 xcall push_gset1
00B4 402F mov R20,R16
00B6 .dbline -1
00B6 .dbline 19
00B6 .dbline 22
00B6 14E6 ldi R17,100
00B8 042F mov R16,R20
00BA 0E940000 xcall div8u
00BE 802F mov R24,R16
00C0 805D subi R24,208 ; addi 48
00C2 80930000 sts L34,R24
00C6 .dbline 23
00C6 14E6 ldi R17,100
00C8 042F mov R16,R20
00CA 0E940000 xcall mod8u
00CE 1AE0 ldi R17,10
00D0 0E940000 xcall div8u
00D4 802F mov R24,R16
00D6 805D subi R24,208 ; addi 48
00D8 80930100 sts L34+1,R24
00DC .dbline 24
00DC 14E6 ldi R17,100
00DE 042F mov R16,R20
00E0 0E940000 xcall mod8u
00E4 1AE0 ldi R17,10
00E6 0E940000 xcall mod8u
00EA 802F mov R24,R16
00EC 805D subi R24,208 ; addi 48
00EE 80930200 sts L34+2,R24
00F2 .dbline 25
00F2 00E0 ldi R16,<L34
00F4 10E0 ldi R17,>L34
00F6 .dbline -2
00F6 L33:
00F6 0E940000 xcall pop_gset1
00FA .dbline 0 ; func end
00FA 0895 ret
00FC .dbsym r Number 20 c
00FC .dbend
.area lit(rom, con, rel)
0000 _CGRAM::
0000 FFFF .byte 255,255
0002 FFFF .byte 255,255
0004 FFFF .byte 255,255
0006 FFFF .byte 255,255
0008 0000 .byte 0,0
000A 0000 .byte 0,0
000C 0000 .byte 0,0
000E 0000 .byte 0,0
0010 5555 .byte 'U,'U
0012 5555 .byte 'U,'U
0014 5555 .byte 'U,'U
0016 5555 .byte 'U,'U
0018 AAAA .byte 170,170
001A AAAA .byte 170,170
001C AAAA .byte 170,170
001E AAAA .byte 170,170
0020 FF00 .byte 255,0
0022 FF00 .byte 255,0
0024 FF00 .byte 255,0
0026 FF00 .byte 255,0
0028 00FF .byte 0,255
002A 00FF .byte 0,255
002C 00FF .byte 0,255
002E 00FF .byte 0,255
0030 55AA .byte 'U,170
0032 55AA .byte 'U,170
0034 55AA .byte 'U,170
0036 55AA .byte 'U,170
0038 FF11 .byte 255,17
003A 1111 .byte 17,17
003C 1111 .byte 17,17
003E 11FF .byte 17,255
0040 .dbfile H:\ICC_Test\EC1602/inc/780.h
0040 .dbsym e CGRAM _CGRAM A[64:64]kc
.area text(rom, con, rel)
00FC .dbfile H:\ICC_Test\EC1602/inc/780.h
00FC .dbfile H:\ICC_Test\EC1602/inc/780.c
00FC .dbfunc e CheckBusy _CheckBusy fV
.even
00FC _CheckBusy::
00FC .dbline -1
00FC .dbline 14
00FC .dbline 16
00FC 2224 clr R2
00FE 21BA out 0x11,R2
0100 .dbline 17
0100 07E0 ldi R16,7
0102 10E0 ldi R17,0
0104 8DDF xcall _DelayMs
0106 .dbline 18
0106 8FEF ldi R24,255
0108 82BB out 0x12,R24
010A .dbline 19
010A C098 cbi 0x18,0
010C .dbline 20
010C C19A sbi 0x18,1
010E .dbline 21
010E C29A sbi 0x18,2
0110 L38:
0110 .dbline 22
0110 L39:
0110 .dbline 22
0110 20B2 in R2,0x10
0112 3324 clr R3
0114 27FC sbrc R2,7
0116 FCCF rjmp L38
0118 .dbline 23
0118 C298 cbi 0x18,2
011A .dbline 27
011A 8FEF ldi R24,255
011C 81BB out 0x11,R24
011E .dbline -2
011E L37:
011E .dbline 0 ; func end
011E 0895 ret
0120 .dbend
0120 .dbfunc e SendByte _SendByte fV
0120 ; dByte -> R20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -