?? main.lis
字號:
.module main.c
.area text(rom, con, rel)
0000 .dbfile D:\AVR實驗\DS1302時間芯片\main.c
0000 .dbfunc e jisuan _jisuan fV
0000 ; d -> R20
0000 ; e -> R22
0000 ; b_data -> R16
.even
0000 _jisuan::
0000 00D0 rcall push_gset2
0002 .dbline -1
0002 .dbline 12
0002 ; #include <iom8515v.h>
0002 ;
0002 ; #include "ds1302.h"
0002 ; #include "d4094.h"
0002 ;
0002 ;
0002 ; uint gewei,shiwei;
0002 ; uint sec,min,hour,n1,n2,n3,n4;
0002 ;
0002 ;
0002 ; void jisuan(uchar b_data)
0002 ; {
0002 .dbline 14
0002 ; uchar e,d;
0002 ; e=b_data;
0002 602F mov R22,R16
0004 .dbline 15
0004 ; d=e;
0004 462F mov R20,R22
0006 .dbline 16
0006 ; e=e&0x0f;
0006 6F70 andi R22,15
0008 .dbline 17
0008 ; d=d>>4;
0008 842F mov R24,R20
000A 8295 swap R24
000C 8F70 andi R24,#0x0F
000E 482F mov R20,R24
0010 .dbline 18
0010 ; gewei=(e&0x01)+((e>>1)&0x01)*2+((e>>2)&0x01)*4+((e>>3)&0x01)*8;
0010 862F mov R24,R22
0012 8695 lsr R24
0014 8170 andi R24,1
0016 92E0 ldi R25,2
0018 989F mul R25,R24
001A 862F mov R24,R22
001C 9927 clr R25
001E 8170 andi R24,1
0020 9070 andi R25,0
0022 800D add R24,R0
0024 911D adc R25,R1
0026 E62F mov R30,R22
0028 E695 lsr R30
002A E695 lsr R30
002C E170 andi R30,1
002E F4E0 ldi R31,4
0030 FE9F mul R31,R30
0032 800D add R24,R0
0034 911D adc R25,R1
0036 E62F mov R30,R22
0038 E695 lsr R30
003A E695 lsr R30
003C E695 lsr R30
003E E170 andi R30,1
0040 F8E0 ldi R31,8
0042 FE9F mul R31,R30
0044 800D add R24,R0
0046 911D adc R25,R1
0048 90931100 sts _gewei+1,R25
004C 80931000 sts _gewei,R24
0050 .dbline 19
0050 ; shiwei=(d&0x01)+((d>>1)&0x01)*2+((d>>2)&0x01)*4+((d>>3)&0x01)*8;
0050 842F mov R24,R20
0052 8695 lsr R24
0054 8170 andi R24,1
0056 92E0 ldi R25,2
0058 989F mul R25,R24
005A 842F mov R24,R20
005C 9927 clr R25
005E 8170 andi R24,1
0060 9070 andi R25,0
0062 800D add R24,R0
0064 911D adc R25,R1
0066 E42F mov R30,R20
0068 E695 lsr R30
006A E695 lsr R30
006C E170 andi R30,1
006E F4E0 ldi R31,4
0070 FE9F mul R31,R30
0072 800D add R24,R0
0074 911D adc R25,R1
0076 E42F mov R30,R20
0078 E695 lsr R30
007A E695 lsr R30
007C E695 lsr R30
007E E170 andi R30,1
0080 F8E0 ldi R31,8
0082 FE9F mul R31,R30
0084 800D add R24,R0
0086 911D adc R25,R1
0088 90930F00 sts _shiwei+1,R25
008C 80930E00 sts _shiwei,R24
0090 .dbline -2
0090 L1:
0090 00D0 rcall pop_gset2
0092 .dbline 0 ; func end
0092 0895 ret
0094 .dbsym r d 20 c
0094 .dbsym r e 22 c
0094 .dbsym r b_data 16 c
0094 .dbend
0094 .dbfunc e main _main fV
0094 ; num -> R20,R21
.even
0094 _main::
0094 .dbline -1
0094 .dbline 26
0094 ;
0094 ; }
0094 ;
0094 ;
0094 ;
0094 ; void main()
0094 ; {
0094 .dbline 29
0094 ;
0094 ; uint num;
0094 ; DDRC=0xFF;
0094 8FEF ldi R24,255
0096 84BB out 0x14,R24
0098 .dbline 30
0098 ; PORTC=0xFF;
0098 85BB out 0x15,R24
009A .dbline 31
009A ; WriteSec(0x14);
009A 04E1 ldi R16,20
009C 10E0 ldi R17,0
009E 00D0 rcall _WriteSec
00A0 .dbline 32
00A0 ; WriteMin(0x00);
00A0 0027 clr R16
00A2 1127 clr R17
00A4 00D0 rcall _WriteMin
00A6 .dbline 33
00A6 ; WriteHour(0x00);
00A6 0027 clr R16
00A8 1127 clr R17
00AA 00D0 rcall _WriteHour
00AC 58C0 rjmp L4
00AE L3:
00AE .dbline 35
00AE .dbline 37
00AE 00D0 rcall _ReadSec
00B0 10930D00 sts _sec+1,R17
00B4 00930C00 sts _sec,R16
00B8 .dbline 38
00B8 00D0 rcall _ReadMin
00BA 10930B00 sts _min+1,R17
00BE 00930A00 sts _min,R16
00C2 .dbline 39
00C2 00D0 rcall _ReadHour
00C4 10930900 sts _hour+1,R17
00C8 00930800 sts _hour,R16
00CC .dbline 40
00CC 00910C00 lds R16,_sec
00D0 97DF rcall _jisuan
00D2 .dbline 41
00D2 20901000 lds R2,_gewei
00D6 30901100 lds R3,_gewei+1
00DA 30920700 sts _n1+1,R3
00DE 20920600 sts _n1,R2
00E2 .dbline 42
00E2 20900E00 lds R2,_shiwei
00E6 30900F00 lds R3,_shiwei+1
00EA 30920500 sts _n2+1,R3
00EE 20920400 sts _n2,R2
00F2 .dbline 43
00F2 00910A00 lds R16,_min
00F6 84DF rcall _jisuan
00F8 .dbline 44
00F8 20901000 lds R2,_gewei
00FC 30901100 lds R3,_gewei+1
0100 30920300 sts _n3+1,R3
0104 20920200 sts _n3,R2
0108 .dbline 45
0108 20900E00 lds R2,_shiwei
010C 30900F00 lds R3,_shiwei+1
0110 30920100 sts _n4+1,R3
0114 20920000 sts _n4,R2
0118 .dbline 46
0118 20910200 lds R18,_n3
011C 30910300 lds R19,_n3+1
0120 04E6 ldi R16,100
0122 10E0 ldi R17,0
0124 00D0 rcall empy16s
0126 1801 movw R2,R16
0128 20910000 lds R18,_n4
012C 30910100 lds R19,_n4+1
0130 08EE ldi R16,1000
0132 13E0 ldi R17,3
0134 00D0 rcall empy16s
0136 A801 movw R20,R16
0138 420D add R20,R2
013A 531D adc R21,R3
013C 20910400 lds R18,_n2
0140 30910500 lds R19,_n2+1
0144 0AE0 ldi R16,10
0146 10E0 ldi R17,0
0148 00D0 rcall empy16s
014A 400F add R20,R16
014C 511F adc R21,R17
014E 20900600 lds R2,_n1
0152 30900700 lds R3,_n1+1
0156 420D add R20,R2
0158 531D adc R21,R3
015A .dbline 49
015A 8A01 movw R16,R20
015C 00D0 rcall _update_display_dp
015E .dbline 51
015E L4:
015E .dbline 34
015E A7CF rjmp L3
0160 X0:
0160 .dbline -2
0160 L2:
0160 .dbline 0 ; func end
0160 0895 ret
0162 .dbsym r num 20 i
0162 .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\AVR實驗\DS1302時間芯片\main.c
0000 _n4::
0000 .blkb 2
0002 .dbsym e n4 _n4 i
0002 _n3::
0002 .blkb 2
0004 .dbsym e n3 _n3 i
0004 _n2::
0004 .blkb 2
0006 .dbsym e n2 _n2 i
0006 _n1::
0006 .blkb 2
0008 .dbsym e n1 _n1 i
0008 _hour::
0008 .blkb 2
000A .dbsym e hour _hour i
000A _min::
000A .blkb 2
000C .dbsym e min _min i
000C _sec::
000C .blkb 2
000E .dbsym e sec _sec i
000E _shiwei::
000E .blkb 2
0010 .dbsym e shiwei _shiwei i
0010 _gewei::
0010 .blkb 2
0012 .dbsym e gewei _gewei i
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -