📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\AVR实验\ds1302+12864时钟\main.c
.area data(ram, con, rel)
0000 .dbfile E:\AVR实验\ds1302+12864时钟\main.c
0000 _charindex::
0000 .blkb 2
.area idata
0000 3031 .byte 48,49
.area data(ram, con, rel)
0002 .dbfile E:\AVR实验\ds1302+12864时钟\main.c
0002 .blkb 2
.area idata
0002 3233 .byte 50,51
.area data(ram, con, rel)
0004 .dbfile E:\AVR实验\ds1302+12864时钟\main.c
0004 .blkb 2
.area idata
0004 3435 .byte 52,53
.area data(ram, con, rel)
0006 .dbfile E:\AVR实验\ds1302+12864时钟\main.c
0006 .blkb 2
.area idata
0006 3637 .byte 54,55
.area data(ram, con, rel)
0008 .dbfile E:\AVR实验\ds1302+12864时钟\main.c
0008 .blkb 2
.area idata
0008 3839 .byte 56,57
.area data(ram, con, rel)
000A .dbfile E:\AVR实验\ds1302+12864时钟\main.c
000A .blkb 1
.area idata
000A 3A .byte 58
.area data(ram, con, rel)
000B .dbfile E:\AVR实验\ds1302+12864时钟\main.c
000B .dbfile E:\AVR实验\ds1302+12864时钟\charindex.h
000B .dbsym e charindex _charindex A[11:11]c
000B _mid::
000B .blkb 1
.area idata
000B 00 .byte 0
.area data(ram, con, rel)
000C .dbfile E:\AVR实验\ds1302+12864时钟\charindex.h
000C .blkb 9
.area idata
000C 000000000000000000 .byte 0,0,0,0,0,0,0,0,0
.area data(ram, con, rel)
0015 .dbfile E:\AVR实验\ds1302+12864时钟\charindex.h
0015 .dbfile E:\AVR实验\ds1302+12864时钟\main.c
0015 .dbsym e mid _mid A[10:10]c
.area text(rom, con, rel)
0000 .dbfile E:\AVR实验\ds1302+12864时钟\main.c
0000 .dbfunc e jisuan _jisuan fV
0000 ; d -> R20
0000 ; e -> R22
0000 ; b_data -> R16
.even
0000 _jisuan::
0000 4A93 st -y,R20
0002 6A93 st -y,R22
0004 .dbline -1
0004 .dbline 15
0004 ; #include <iom8515v.h>
0004 ; #include "ds1302.h"
0004 ; #include "jhd12864.h"
0004 ; #include "d4094.h"
0004 ; #include "charindex.h"
0004 ;
0004 ;
0004 ;
0004 ; uint gewei,shiwei;
0004 ; uint sec,min,hour,year,month,day,date;
0004 ; uchar mid[10]={0};
0004 ;
0004 ;
0004 ; void jisuan(uchar b_data)
0004 ; {
0004 .dbline 17
0004 ; uchar e,d;
0004 ; e=b_data;
0004 602F mov R22,R16
0006 .dbline 18
0006 ; d=e;
0006 462F mov R20,R22
0008 .dbline 19
0008 ; e=e&0x0f;
0008 6F70 andi R22,15
000A .dbline 20
000A ; d=d>>4;
000A 842F mov R24,R20
000C 8295 swap R24
000E 8F70 andi R24,#0x0F
0010 482F mov R20,R24
0012 .dbline 21
0012 ; gewei=(e&0x01)+((e>>1)&0x01)*2+((e>>2)&0x01)*4+((e>>3)&0x01)*8;
0012 862F mov R24,R22
0014 9927 clr R25
0016 9595 asr R25
0018 8795 ror R24
001A 8170 andi R24,1
001C 9070 andi R25,0
001E 1C01 movw R2,R24
0020 220C lsl R2
0022 331C rol R3
0024 862F mov R24,R22
0026 9927 clr R25
0028 8170 andi R24,1
002A 9070 andi R25,0
002C 2C01 movw R4,R24
002E 420C add R4,R2
0030 531C adc R5,R3
0032 862F mov R24,R22
0034 9927 clr R25
0036 9595 asr R25
0038 8795 ror R24
003A 9595 asr R25
003C 8795 ror R24
003E 8170 andi R24,1
0040 9070 andi R25,0
0042 880F lsl R24
0044 991F rol R25
0046 880F lsl R24
0048 991F rol R25
004A 480E add R4,R24
004C 591E adc R5,R25
004E 862F mov R24,R22
0050 9927 clr R25
0052 9595 asr R25
0054 8795 ror R24
0056 9595 asr R25
0058 8795 ror R24
005A 9595 asr R25
005C 8795 ror R24
005E 8170 andi R24,1
0060 9070 andi R25,0
0062 880F lsl R24
0064 991F rol R25
0066 880F lsl R24
0068 991F rol R25
006A 880F lsl R24
006C 991F rol R25
006E 480E add R4,R24
0070 591E adc R5,R25
0072 50921100 sts _gewei+1,R5
0076 40921000 sts _gewei,R4
007A .dbline 22
007A ; shiwei=(d&0x01)+((d>>1)&0x01)*2+((d>>2)&0x01)*4+((d>>3)&0x01)*8;
007A 842F mov R24,R20
007C 9927 clr R25
007E 9595 asr R25
0080 8795 ror R24
0082 8170 andi R24,1
0084 9070 andi R25,0
0086 1C01 movw R2,R24
0088 220C lsl R2
008A 331C rol R3
008C 842F mov R24,R20
008E 9927 clr R25
0090 8170 andi R24,1
0092 9070 andi R25,0
0094 2C01 movw R4,R24
0096 420C add R4,R2
0098 531C adc R5,R3
009A 842F mov R24,R20
009C 9927 clr R25
009E 9595 asr R25
00A0 8795 ror R24
00A2 9595 asr R25
00A4 8795 ror R24
00A6 8170 andi R24,1
00A8 9070 andi R25,0
00AA 880F lsl R24
00AC 991F rol R25
00AE 880F lsl R24
00B0 991F rol R25
00B2 480E add R4,R24
00B4 591E adc R5,R25
00B6 842F mov R24,R20
00B8 9927 clr R25
00BA 9595 asr R25
00BC 8795 ror R24
00BE 9595 asr R25
00C0 8795 ror R24
00C2 9595 asr R25
00C4 8795 ror R24
00C6 8170 andi R24,1
00C8 9070 andi R25,0
00CA 880F lsl R24
00CC 991F rol R25
00CE 880F lsl R24
00D0 991F rol R25
00D2 880F lsl R24
00D4 991F rol R25
00D6 480E add R4,R24
00D8 591E adc R5,R25
00DA 50920F00 sts _shiwei+1,R5
00DE 40920E00 sts _shiwei,R4
00E2 .dbline -2
00E2 L1:
00E2 .dbline 0 ; func end
00E2 6991 ld R22,y+
00E4 4991 ld R20,y+
00E6 0895 ret
00E8 .dbsym r d 20 c
00E8 .dbsym r e 22 c
00E8 .dbsym r b_data 16 c
00E8 .dbend
00E8 .dbfunc e main _main fV
00E8 ; num -> R20
.even
00E8 _main::
00E8 2497 sbiw R28,4
00EA .dbline -1
00EA .dbline 29
00EA ;
00EA ; }
00EA ;
00EA ;
00EA ;
00EA ; void main()
00EA ; {
00EA .dbline 31
00EA ;
00EA ; uchar num=0x01;
00EA 41E0 ldi R20,1
00EC .dbline 33
00EC ;
00EC ; DDRC=0xFF;
00EC 8FEF ldi R24,255
00EE 84BB out 0x14,R24
00F0 .dbline 34
00F0 ; PORTC=0xFF;
00F0 85BB out 0x15,R24
00F2 .dbline 36
00F2 ;
00F2 ; LCD_Init();
00F2 00D0 rcall _LCD_Init
00F4 .dbline 37
00F4 ; delay_1ms(50);
00F4 02E3 ldi R16,50
00F6 10E0 ldi R17,0
00F8 00D0 rcall _delay_1ms
00FA .dbline 38
00FA ; LCD_Init(); //初始化两边是关键,否则液晶上电重起将不能显示
00FA 00D0 rcall _LCD_Init
00FC .dbline 40
00FC ;
00FC ; WriteSec(0x50);
00FC 00E5 ldi R16,80
00FE 10E0 ldi R17,0
0100 00D0 rcall _WriteSec
0102 .dbline 41
0102 ; WriteMin(0x59);
0102 09E5 ldi R16,89
0104 10E0 ldi R17,0
0106 00D0 rcall _WriteMin
0108 .dbline 42
0108 ; WriteHour(0x23);
0108 03E2 ldi R16,35
010A 10E0 ldi R17,0
010C 00D0 rcall _WriteHour
010E .dbline 43
010E ; WriteYear(0x99);
010E 09E9 ldi R16,153
0110 10E0 ldi R17,0
0112 00D0 rcall _WriteYear
0114 .dbline 44
0114 ; WriteMonth(0x12);
0114 02E1 ldi R16,18
0116 10E0 ldi R17,0
0118 00D0 rcall _WriteMonth
011A .dbline 45
011A ; WriteDate(0x31);
011A 01E3 ldi R16,49
011C 10E0 ldi R17,0
011E 00D0 rcall _WriteDate
0120 .dbline 47
0120 ;
0120 ; WriteDay(0x07);
0120 07E0 ldi R16,7
0122 10E0 ldi R17,0
0124 00D0 rcall _WriteDay
0126 .dbline 49
0126 ;
0126 ; Char_Set_XY(1,0,"time");
0126 80E0 ldi R24,<L3
0128 90E0 ldi R25,>L3
012A 9983 std y+1,R25
012C 8883 std y+0,R24
012E 2227 clr R18
0130 3327 clr R19
0132 01E0 ldi R16,1
0134 10E0 ldi R17,0
0136 00D0 rcall _Char_Set_XY
0138 .dbline 50
0138 ; Char_Set_XY(1,1,"date");
0138 80E0 ldi R24,<L4
013A 90E0 ldi R25,>L4
013C 9983 std y+1,R25
013E 8883 std y+0,R24
0140 21E0 ldi R18,1
0142 30E0 ldi R19,0
0144 01E0 ldi R16,1
0146 10E0 ldi R17,0
0148 00D0 rcall _Char_Set_XY
014A .dbline 51
014A ; Char_Set_XY(1,2,"week");
014A 80E0 ldi R24,<L5
014C 90E0 ldi R25,>L5
014E 9983 std y+1,R25
0150 8883 std y+0,R24
0152 22E0 ldi R18,2
0154 30E0 ldi R19,0
0156 01E0 ldi R16,1
0158 10E0 ldi R17,0
015A 00D0 rcall _Char_Set_XY
015C .dbline 54
015C ;
015C ;
015C ; Char_Set_XY_BYTE(6,0,charindex[10],2);
015C 82E0 ldi R24,2
015E 90E0 ldi R25,0
0160 9B83 std y+3,R25
0162 8A83 std y+2,R24
0164 20900A00 lds R2,_charindex+10
0168 3324 clr R3
016A 3982 std y+1,R3
016C 2882 std y+0,R2
016E 2227 clr R18
0170 3327 clr R19
0172 06E0 ldi R16,6
0174 10E0 ldi R17,0
0176 00D0 rcall _Char_Set_XY_BYTE
0178 .dbline 55
0178 ; Char_Set_XY_BYTE(5,0,charindex[10],1);
0178 81E0 ldi R24,1
017A 90E0 ldi R25,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -