📄 1602.lis
字号:
.module _1602.c
.area text(rom, con, rel)
0000 .dbfile D:\实验程序\1602液晶\1602.c
0000 .dbfile D:\实验程序\1602液晶\1602.h
0000 .dbfunc e s_ms _s_ms fV
0000 ; ms -> R16,R17
.even
0000 _s_ms::
0000 .dbline -1
0000 .dbline 9
0000 ; ///////////////////////////////////////////////////////////
0000 ; //////////////北京东控自动化技术有限公司///////////////////
0000 ; /////////////////////作者:乌东东//////////////////////////
0000 ; ///////////////////////2008-9-18///////////////////////////
0000 ; ///////////////////////版权所有////////////////////////////
0000 ;
0000 ;
0000 ; #include<iom16v.h>
0000 ; #include"1602.h"
0000 .dbline 10
0000 ; #define uchar unsigned char
0000 02C0 xjmp L5
0002 L2:
0002 .dbline 10
0002 L3:
0002 .dbline 10
0002 0150 subi R16,1
0004 1040 sbci R17,0
0006 L5:
0006 .dbline 10
0006 81E0 ldi R24,1
0008 90E0 ldi R25,0
000A 8017 cp R24,R16
000C 9107 cpc R25,R17
000E C8F3 brlo L2
0010 X0:
0010 .dbline -2
0010 L1:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbsym r ms 16 i
0012 .dbend
0012 .dbfunc e busy _busy fV
0012 ; temp -> R20
.even
0012 _busy::
0012 4A93 st -y,R20
0014 .dbline -1
0014 .dbline 15
0014 ; #define uint unsigned int
0014 ;
0014 ; uchar wz[]={"WWW.ISMCU.COM"};
0014 ; uchar gd[]={"Good Luck!"};
0014 ;
0014 .dbline 17
0014 ; main()
0014 ; {
0014 04EF ldi R16,500
0016 11E0 ldi R17,1
0018 F3DF xcall _s_ms
001A .dbline 18
001A ; DDRA=0xff;
001A DD98 cbi 0x1b,5
001C .dbline 19
001C ; PORTA=0xff;
001C 04EF ldi R16,500
001E 11E0 ldi R17,1
0020 EFDF xcall _s_ms
0022 .dbline 20
0022 ; DDRD=0xff;
0022 DE9A sbi 0x1b,6
0024 .dbline 21
0024 ; PORTD=0xff;
0024 04EF ldi R16,500
0026 11E0 ldi R17,1
0028 EBDF xcall _s_ms
002A 1AC0 xjmp L8
002C L7:
002C .dbline 23
002C ; LcdInit();
002C ; WriteChar(1,1,13,wz);
002C .dbline 24
002C ; WriteChar(2,3,10,gd);
002C DF9A sbi 0x1b,7
002E .dbline 25
002E ; }
002E 04EF ldi R16,500
0030 11E0 ldi R17,1
0032 E6DF xcall _s_ms
0034 .dbline 26
0034 2224 clr R2
0036 21BA out 0x11,R2
0038 .dbline 27
0038 8FEF ldi R24,255
003A 82BB out 0x12,R24
003C .dbline 28
003C 04EF ldi R16,500
003E 11E0 ldi R17,1
0040 DFDF xcall _s_ms
0042 .dbline 29
0042 40B3 in R20,0x10
0044 4078 andi R20,128
0046 .dbline 30
0046 04EF ldi R16,500
0048 11E0 ldi R17,1
004A DADF xcall _s_ms
004C .dbline 31
004C 8FEF ldi R24,255
004E 81BB out 0x11,R24
0050 .dbline 32
0050 82BB out 0x12,R24
0052 .dbline 33
0052 04EF ldi R16,500
0054 11E0 ldi R17,1
0056 D4DF xcall _s_ms
0058 .dbline 34
0058 DF98 cbi 0x1b,7
005A .dbline 35
005A 04EF ldi R16,500
005C 11E0 ldi R17,1
005E D0DF xcall _s_ms
0060 .dbline 36
0060 L8:
0060 .dbline 22
0060 4423 tst R20
0062 21F7 brne L7
0064 X1:
0064 .dbline -2
0064 L6:
0064 .dbline 0 ; func end
0064 4991 ld R20,y+
0066 0895 ret
0068 .dbsym r temp 20 c
0068 .dbend
0068 .dbfunc e writecom _writecom fV
0068 ; com -> R10
.even
0068 _writecom::
0068 AA92 st -y,R10
006A A02E mov R10,R16
006C .dbline -1
006C .dbline 41
006C .dbline 42
006C D2DF xcall _busy
006E .dbline 43
006E 04EF ldi R16,500
0070 11E0 ldi R17,1
0072 C6DF xcall _s_ms
0074 .dbline 44
0074 DD98 cbi 0x1b,5
0076 .dbline 45
0076 04EF ldi R16,500
0078 11E0 ldi R17,1
007A C2DF xcall _s_ms
007C .dbline 46
007C DE98 cbi 0x1b,6
007E .dbline 47
007E 04EF ldi R16,500
0080 11E0 ldi R17,1
0082 BEDF xcall _s_ms
0084 .dbline 48
0084 DF9A sbi 0x1b,7
0086 .dbline 49
0086 04EF ldi R16,500
0088 11E0 ldi R17,1
008A BADF xcall _s_ms
008C .dbline 50
008C A2BA out 0x12,R10
008E .dbline 51
008E 04EF ldi R16,500
0090 11E0 ldi R17,1
0092 B6DF xcall _s_ms
0094 .dbline 52
0094 DF98 cbi 0x1b,7
0096 .dbline 53
0096 04EF ldi R16,500
0098 11E0 ldi R17,1
009A B2DF xcall _s_ms
009C .dbline -2
009C L10:
009C .dbline 0 ; func end
009C A990 ld R10,y+
009E 0895 ret
00A0 .dbsym r com 10 c
00A0 .dbend
00A0 .dbfunc e LcdInit _LcdInit fV
.even
00A0 _LcdInit::
00A0 .dbline -1
00A0 .dbline 58
00A0 .dbline 59
00A0 08E3 ldi R16,56
00A2 E2DF xcall _writecom
00A4 .dbline 60
00A4 08EE ldi R16,1000
00A6 13E0 ldi R17,3
00A8 ABDF xcall _s_ms
00AA .dbline 61
00AA 01E0 ldi R16,1
00AC DDDF xcall _writecom
00AE .dbline 62
00AE 08EE ldi R16,1000
00B0 13E0 ldi R17,3
00B2 A6DF xcall _s_ms
00B4 .dbline 63
00B4 08EE ldi R16,1000
00B6 13E0 ldi R17,3
00B8 A3DF xcall _s_ms
00BA .dbline 64
00BA 08EE ldi R16,1000
00BC 13E0 ldi R17,3
00BE A0DF xcall _s_ms
00C0 .dbline 65
00C0 08EE ldi R16,1000
00C2 13E0 ldi R17,3
00C4 9DDF xcall _s_ms
00C6 .dbline 66
00C6 08EE ldi R16,1000
00C8 13E0 ldi R17,3
00CA 9ADF xcall _s_ms
00CC .dbline 67
00CC 08EE ldi R16,1000
00CE 13E0 ldi R17,3
00D0 97DF xcall _s_ms
00D2 .dbline 68
00D2 08EE ldi R16,1000
00D4 13E0 ldi R17,3
00D6 94DF xcall _s_ms
00D8 .dbline 69
00D8 02E0 ldi R16,2
00DA C6DF xcall _writecom
00DC .dbline 70
00DC 08EE ldi R16,1000
00DE 13E0 ldi R17,3
00E0 8FDF xcall _s_ms
00E2 .dbline 71
00E2 06E0 ldi R16,6
00E4 C1DF xcall _writecom
00E6 .dbline 72
00E6 08EE ldi R16,1000
00E8 13E0 ldi R17,3
00EA 8ADF xcall _s_ms
00EC .dbline 73
00EC 0CE0 ldi R16,12
00EE BCDF xcall _writecom
00F0 .dbline 74
00F0 08EE ldi R16,1000
00F2 13E0 ldi R17,3
00F4 85DF xcall _s_ms
00F6 .dbline 75
00F6 08E3 ldi R16,56
00F8 B7DF xcall _writecom
00FA .dbline 76
00FA 08EE ldi R16,1000
00FC 13E0 ldi R17,3
00FE 80DF xcall _s_ms
0100 .dbline -2
0100 L11:
0100 .dbline 0 ; func end
0100 0895 ret
0102 .dbend
0102 .dbfunc e writedata _writedata fV
0102 ; data -> R10
.even
0102 _writedata::
0102 AA92 st -y,R10
0104 A02E mov R10,R16
0106 .dbline -1
0106 .dbline 81
0106 .dbline 82
0106 85DF xcall _busy
0108 .dbline 83
0108 04EF ldi R16,500
010A 11E0 ldi R17,1
010C 79DF xcall _s_ms
010E .dbline 84
010E DD9A sbi 0x1b,5
0110 .dbline 85
0110 04EF ldi R16,500
0112 11E0 ldi R17,1
0114 75DF xcall _s_ms
0116 .dbline 86
0116 DE98 cbi 0x1b,6
0118 .dbline 87
0118 04EF ldi R16,500
011A 11E0 ldi R17,1
011C 71DF xcall _s_ms
011E .dbline 88
011E DF9A sbi 0x1b,7
0120 .dbline 89
0120 04EF ldi R16,500
0122 11E0 ldi R17,1
0124 6DDF xcall _s_ms
0126 .dbline 90
0126 A2BA out 0x12,R10
0128 .dbline 91
0128 04EF ldi R16,500
012A 11E0 ldi R17,1
012C 69DF xcall _s_ms
012E .dbline 92
012E DF98 cbi 0x1b,7
0130 .dbline 93
0130 04EF ldi R16,500
0132 11E0 ldi R17,1
0134 65DF xcall _s_ms
0136 .dbline -2
0136 L12:
0136 .dbline 0 ; func end
0136 A990 ld R10,y+
0138 0895 ret
013A .dbsym r data 10 c
013A .dbend
013A .dbfunc e readdata _readdata fc
013A ; temp -> R10
.even
013A _readdata::
013A AA92 st -y,R10
013C .dbline -1
013C .dbline 99
013C .dbline 101
013C 6ADF xcall _busy
013E .dbline 102
013E 04EF ldi R16,500
0140 11E0 ldi R17,1
0142 5EDF xcall _s_ms
0144 .dbline 103
0144 DD9A sbi 0x1b,5
0146 .dbline 104
0146 04EF ldi R16,500
0148 11E0 ldi R17,1
014A 5ADF xcall _s_ms
014C .dbline 105
014C DE9A sbi 0x1b,6
014E .dbline 106
014E 04EF ldi R16,500
0150 11E0 ldi R17,1
0152 56DF xcall _s_ms
0154 .dbline 107
0154 DF9A sbi 0x1b,7
0156 .dbline 108
0156 04EF ldi R16,500
0158 11E0 ldi R17,1
015A 52DF xcall _s_ms
015C .dbline 109
015C 2224 clr R2
015E 21BA out 0x11,R2
0160 .dbline 110
0160 04EF ldi R16,500
0162 11E0 ldi R17,1
0164 4DDF xcall _s_ms
0166 .dbline 111
0166 A0B2 in R10,0x10
0168 .dbline 112
0168 04EF ldi R16,500
016A 11E0 ldi R17,1
016C 49DF xcall _s_ms
016E .dbline 113
016E 8FEF ldi R24,255
0170 81BB out 0x11,R24
0172 .dbline 114
0172 04EF ldi R16,500
0174 11E0 ldi R17,1
0176 44DF xcall _s_ms
0178 .dbline 115
0178 DF98 cbi 0x1b,7
017A .dbline 116
017A 04EF ldi R16,500
017C 11E0 ldi R17,1
017E 40DF xcall _s_ms
0180 .dbline 117
0180 0A2D mov R16,R10
0182 .dbline -2
0182 L13:
0182 .dbline 0 ; func end
0182 A990 ld R10,y+
0184 0895 ret
0186 .dbsym r temp 10 c
0186 .dbend
0186 .dbfunc e WriteCGRAM _WriteCGRAM fV
0186 ; t -> R10,R11
0186 ; i -> R20,R21
0186 ; pBuffer -> R22,R23
0186 ; num -> R10,R11
.even
0186 _WriteCGRAM::
0186 0E940000 xcall push_xgsetF00C
018A B901 movw R22,R18
018C 5801 movw R10,R16
018E .dbline -1
018E .dbline 127
018E .dbline 129
018E 00E4 ldi R16,64
0190 6BDF xcall _writecom
0192 .dbline 130
0192 DD9A sbi 0x1b,5
0194 .dbline 131
0194 DE98 cbi 0x1b,6
0196 .dbline 132
0196 A501 movw R20,R10
0198 0AC0 xjmp L18
019A L15:
019A .dbline 133
019A .dbline 134
019A FB01 movw R30,R22
019C A790 elpm R10,Z+
019E B690 elpm R11,Z
01A0 .dbline 135
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -