?? 1602_main.lis
字號:
.module _1602_main.c
.area text(rom, con, rel)
0000 .dbfile D:\16實驗程序\1602液晶\1602_main.c
0000 .dbfile D:\16實驗程序\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 ; //1602液晶顯示程序
0000 ; #include<iom16v.h>
0000 ; #include"1602.h"
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ;
0000 ; uchar wz[]={"WWW.ISMCU.COM"};
0000 ; uchar gd[]={"Good Luck!"};
0000 ;
0000 .dbline 10
0000 ; //主函數
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 ; void main()
0014 ; {
0014 ; DDRA=0xff;
0014 ; PORTA=0xff;
0014 ; DDRD=0xff;
0014 .dbline 17
0014 ; PORTD=0xff;
0014 ; s_ms(5000); //延時
0014 04EF ldi R16,500
0016 11E0 ldi R17,1
0018 F3DF xcall _s_ms
001A .dbline 18
001A ; LcdInit(); //1602初始化
001A DD98 cbi 0x1b,5
001C .dbline 19
001C ; WriteChar(1,1,13,wz); //顯示第一行
001C 04EF ldi R16,500
001E 11E0 ldi R17,1
0020 EFDF xcall _s_ms
0022 .dbline 20
0022 ; WriteChar(2,3,10,gd); //顯示第二行
0022 DE9A sbi 0x1b,6
0024 .dbline 21
0024 ; }
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 .dbline 24
002C DF9A sbi 0x1b,7
002E .dbline 25
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 8FEF ldi R24,255
00A2 81BB out 0x11,R24
00A4 .dbline 60
00A4 2224 clr R2
00A6 22BA out 0x12,R2
00A8 .dbline 61
00A8 08E3 ldi R16,56
00AA DEDF xcall _writecom
00AC .dbline 62
00AC 08EE ldi R16,1000
00AE 13E0 ldi R17,3
00B0 A7DF xcall _s_ms
00B2 .dbline 63
00B2 01E0 ldi R16,1
00B4 D9DF xcall _writecom
00B6 .dbline 64
00B6 08EE ldi R16,1000
00B8 13E0 ldi R17,3
00BA A2DF xcall _s_ms
00BC .dbline 65
00BC 08EE ldi R16,1000
00BE 13E0 ldi R17,3
00C0 9FDF xcall _s_ms
00C2 .dbline 66
00C2 08EE ldi R16,1000
00C4 13E0 ldi R17,3
00C6 9CDF xcall _s_ms
00C8 .dbline 67
00C8 08EE ldi R16,1000
00CA 13E0 ldi R17,3
00CC 99DF xcall _s_ms
00CE .dbline 68
00CE 08EE ldi R16,1000
00D0 13E0 ldi R17,3
00D2 96DF xcall _s_ms
00D4 .dbline 69
00D4 08EE ldi R16,1000
00D6 13E0 ldi R17,3
00D8 93DF xcall _s_ms
00DA .dbline 70
00DA 08EE ldi R16,1000
00DC 13E0 ldi R17,3
00DE 90DF xcall _s_ms
00E0 .dbline 71
00E0 02E0 ldi R16,2
00E2 C2DF xcall _writecom
00E4 .dbline 72
00E4 08EE ldi R16,1000
00E6 13E0 ldi R17,3
00E8 8BDF xcall _s_ms
00EA .dbline 73
00EA 06E0 ldi R16,6
00EC BDDF xcall _writecom
00EE .dbline 74
00EE 08EE ldi R16,1000
00F0 13E0 ldi R17,3
00F2 86DF xcall _s_ms
00F4 .dbline 75
00F4 0CE0 ldi R16,12
00F6 B8DF xcall _writecom
00F8 .dbline 76
00F8 08EE ldi R16,1000
00FA 13E0 ldi R17,3
00FC 81DF xcall _s_ms
00FE .dbline 77
00FE 08E3 ldi R16,56
0100 B3DF xcall _writecom
0102 .dbline 78
0102 08EE ldi R16,1000
0104 13E0 ldi R17,3
0106 7CDF xcall _s_ms
0108 .dbline -2
0108 L11:
0108 .dbline 0 ; func end
0108 0895 ret
010A .dbend
010A .dbfunc e writedata _writedata fV
010A ; data -> R10
.even
010A _writedata::
010A AA92 st -y,R10
010C A02E mov R10,R16
010E .dbline -1
010E .dbline 83
010E .dbline 84
010E 81DF xcall _busy
0110 .dbline 85
0110 04EF ldi R16,500
0112 11E0 ldi R17,1
0114 75DF xcall _s_ms
0116 .dbline 86
0116 DD9A sbi 0x1b,5
0118 .dbline 87
0118 04EF ldi R16,500
011A 11E0 ldi R17,1
011C 71DF xcall _s_ms
011E .dbline 88
011E DE98 cbi 0x1b,6
0120 .dbline 89
0120 04EF ldi R16,500
0122 11E0 ldi R17,1
0124 6DDF xcall _s_ms
0126 .dbline 90
0126 DF9A sbi 0x1b,7
0128 .dbline 91
0128 04EF ldi R16,500
012A 11E0 ldi R17,1
012C 69DF xcall _s_ms
012E .dbline 92
012E A2BA out 0x12,R10
0130 .dbline 93
0130 04EF ldi R16,500
0132 11E0 ldi R17,1
0134 65DF xcall _s_ms
0136 .dbline 94
0136 DF98 cbi 0x1b,7
0138 .dbline 95
0138 04EF ldi R16,500
013A 11E0 ldi R17,1
013C 61DF xcall _s_ms
013E .dbline -2
013E L12:
013E .dbline 0 ; func end
013E A990 ld R10,y+
0140 0895 ret
0142 .dbsym r data 10 c
0142 .dbend
0142 .dbfunc e readdata _readdata fc
0142 ; temp -> R10
.even
0142 _readdata::
0142 AA92 st -y,R10
0144 .dbline -1
0144 .dbline 101
0144 .dbline 103
0144 66DF xcall _busy
0146 .dbline 104
0146 04EF ldi R16,500
0148 11E0 ldi R17,1
014A 5ADF xcall _s_ms
014C .dbline 105
014C DD9A sbi 0x1b,5
014E .dbline 106
014E 04EF ldi R16,500
0150 11E0 ldi R17,1
0152 56DF xcall _s_ms
0154 .dbline 107
0154 DE9A sbi 0x1b,6
0156 .dbline 108
0156 04EF ldi R16,500
0158 11E0 ldi R17,1
015A 52DF xcall _s_ms
015C .dbline 109
015C DF9A sbi 0x1b,7
015E .dbline 110
015E 04EF ldi R16,500
0160 11E0 ldi R17,1
0162 4EDF xcall _s_ms
0164 .dbline 111
0164 2224 clr R2
0166 21BA out 0x11,R2
0168 .dbline 112
0168 04EF ldi R16,500
016A 11E0 ldi R17,1
016C 49DF xcall _s_ms
016E .dbline 113
016E A0B2 in R10,0x10
0170 .dbline 114
0170 04EF ldi R16,500
0172 11E0 ldi R17,1
0174 45DF xcall _s_ms
0176 .dbline 115
0176 8FEF ldi R24,255
0178 81BB out 0x11,R24
017A .dbline 116
017A 04EF ldi R16,500
017C 11E0 ldi R17,1
017E 40DF xcall _s_ms
0180 .dbline 117
0180 DF98 cbi 0x1b,7
0182 .dbline 118
0182 04EF ldi R16,500
0184 11E0 ldi R17,1
0186 3CDF xcall _s_ms
0188 .dbline 119
0188 0A2D mov R16,R10
018A .dbline -2
018A L13:
018A .dbline 0 ; func end
018A A990 ld R10,y+
018C 0895 ret
018E .dbsym r temp 10 c
018E .dbend
018E .dbfunc e WriteCGRAM _WriteCGRAM fV
018E ; t -> R10,R11
018E ; i -> R20,R21
018E ; pBuffer -> R22,R23
018E ; num -> R10,R11
.even
018E _WriteCGRAM::
018E 0E940000 xcall push_xgsetF00C
0192 B901 movw R22,R18
0194 5801 movw R10,R16
0196 .dbline -1
0196 .dbline 129
0196 .dbline 131
0196 00E4 ldi R16,64
0198 67DF xcall _writecom
019A .dbline 132
019A DD9A sbi 0x1b,5
019C .dbline 133
019C DE98 cbi 0x1b,6
019E .dbline 134
019E A501 movw R20,R10
01A0 0AC0 xjmp L18
01A2 L15:
01A2 .dbline 135
01A2 .dbline 136
01A2 FB01 movw R30,R22
01A4 A790 elpm R10,Z+
01A6 B690 elpm R11,Z
01A8 .dbline 137
01A8 DF9A sbi 0x1b,7
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -