📄 main.lis
字号:
.module main.c
.area data(ram, con, rel)
0000 _time_buf::
0000 .blkb 2
.area idata
0000 2007 .byte 32,7
.area data(ram, con, rel)
0002 .blkb 2
.area idata
0002 0508 .byte 5,8
.area data(ram, con, rel)
0004 .blkb 2
.area idata
0004 1615 .byte 22,21
.area data(ram, con, rel)
0006 .blkb 2
.area idata
0006 0002 .byte 0,2
.area data(ram, con, rel)
0008 .dbfile D:\AVR\我的程序\DS1302的时钟实验/cfg.h
0008 .dbsym e time_buf _time_buf A[8:8]c
.area text(rom, con, rel)
0000 .dbfile D:\AVR\我的程序\DS1302的时钟实验/cfg.h
0000 .dbfunc e delay_ms _delay_ms fV
0000 ; i -> R20,R21
0000 ; time -> R16,R17
.even
0000 _delay_ms::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 42
0004 ; /***********************************
0004 ; *实验目的:熟悉DS1302编程
0004 ; *设 计:萧联珠
0004 ; *日 期:2007-11-22
0004 ; ************************************/
0004 ; #include <iom16v.h>
0004 ; #include "cfg.h"
0004 ;
0004 ; void main()
0004 ; {
0004 ; unsigned char i;
0004 ; ds1302_init();
0004 ; uart_init();
0004 ; delay_ms(1000);
0004 ; ds1302_write_time(); //写入时间初始值
0004 ;
0004 ; while(1)
0004 ; {
0004 ; ds1302_read_time(); //读时间值
0004 ; delay_ms(100);
0004 ; for(i=1;i<7;i++)
0004 ; {
0004 ; while(!(UCSRA&(1<<UDRE))); //等待发送寄存器为空
0004 ; delay_ms(10);
0004 ; UDR=time_buf[i]; //发送时间数据:年月日周时分秒
0004 ; }
0004 ; delay_ms(100);
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 .dbline 44
0004 ; }
0004 ; }
0004 0AC0 xjmp L5
0006 L2:
0006 .dbline 45
0006 4427 clr R20
0008 5527 clr R21
000A L6:
000A .dbline 45
000A L7:
000A .dbline 45
000A 4F5F subi R20,255 ; offset = 1
000C 5F4F sbci R21,255
000E .dbline 45
000E 483E cpi R20,232
0010 E3E0 ldi R30,3
0012 5E07 cpc R21,R30
0014 D4F3 brlt L6
0016 L3:
0016 .dbline 44
0016 0150 subi R16,1
0018 1040 sbci R17,0
001A L5:
001A .dbline 44
001A 2224 clr R2
001C 3324 clr R3
001E 2016 cp R2,R16
0020 3106 cpc R3,R17
0022 8CF3 brlt L2
0024 .dbline -2
0024 L1:
0024 0E940000 xcall pop_gset1
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbsym r i 20 I
002A .dbsym r time 16 I
002A .dbend
002A .dbfunc e uart_init _uart_init fV
.even
002A _uart_init::
002A .dbline -1
002A .dbline 50
002A ; }
002A ; }
002A ; }
002A ; }
002A ; }
002A ; }
002A .dbline 51
002A ; }
002A 82E0 ldi R24,2
002C 8BB9 out 0xb,R24
002E .dbline 52
002E ; }
002E 88E1 ldi R24,24
0030 8AB9 out 0xa,R24
0032 .dbline 53
0032 ; }
0032 86E0 ldi R24,6
0034 80BD out 0x20,R24
0036 .dbline 54
0036 ; }
0036 2224 clr R2
0038 20BC out 0x20,R2
003A .dbline 55
003A ; }
003A 8CE0 ldi R24,12
003C 89B9 out 0x9,R24
003E .dbline -2
003E L10:
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbend
0040 .dbfunc e ds1302_write_byte _ds1302_write_byte fV
0040 ; i -> R20
0040 ; d -> R18
0040 ; addr -> R16
.even
0040 _ds1302_write_byte::
0040 0E940000 xcall push_gset1
0044 .dbline -1
0044 .dbline 60
0044 ; }
0044 ; }
0044 ; }
0044 ; }
0044 ; }
0044 .dbline 63
0044 ; }
0044 ; }
0044 ; }
0044 AC9A sbi 0x15,4
0046 .dbline 66
0046 ; }
0046 ; }
0046 ; }
0046 A39A sbi 0x14,3
0048 .dbline 67
0048 ; }
0048 0E7F andi R16,254
004A .dbline 68
004A 4427 clr R20
004C 09C0 xjmp L15
004E L12:
004E .dbline 68
004E ; }
004E .dbline 69
004E ; }
004E 00FF sbrs R16,0
0050 02C0 rjmp L16
0052 .dbline 69
0052 .dbline 70
0052 ; }
0052 AB9A sbi 0x15,3
0054 .dbline 71
0054 ; }
0054 01C0 xjmp L17
0056 L16:
0056 .dbline 72
0056 ; }
0056 .dbline 73
0056 ; }
0056 AB98 cbi 0x15,3
0058 .dbline 74
0058 ; }
0058 L17:
0058 .dbline 75
0058 AA9A sbi 0x15,2
005A .dbline 76
005A AA98 cbi 0x15,2
005C .dbline 77
005C 0695 lsr R16
005E .dbline 78
005E L13:
005E .dbline 68
005E 4395 inc R20
0060 L15:
0060 .dbline 68
0060 4830 cpi R20,8
0062 A8F3 brlo L12
0064 .dbline 81
0064 ; }
0064 ; }
0064 ; }
0064 ; }
0064 ; }
0064 ; }
0064 ; }
0064 A39A sbi 0x14,3
0066 .dbline 82
0066 4427 clr R20
0068 09C0 xjmp L21
006A L18:
006A .dbline 82
006A ; }
006A .dbline 83
006A ; }
006A 20FF sbrs R18,0
006C 02C0 rjmp L22
006E .dbline 83
006E .dbline 84
006E ; }
006E AB9A sbi 0x15,3
0070 .dbline 85
0070 ; }
0070 01C0 xjmp L23
0072 L22:
0072 .dbline 86
0072 ; }
0072 .dbline 87
0072 ; }
0072 AB98 cbi 0x15,3
0074 .dbline 88
0074 ; }
0074 L23:
0074 .dbline 89
0074 AA9A sbi 0x15,2
0076 .dbline 90
0076 AA98 cbi 0x15,2
0078 .dbline 91
0078 2695 lsr R18
007A .dbline 92
007A L19:
007A .dbline 82
007A 4395 inc R20
007C L21:
007C .dbline 82
007C 4830 cpi R20,8
007E A8F3 brlo L18
0080 .dbline 93
0080 ; }
0080 ; }
0080 ; }
0080 ; }
0080 ; }
0080 AC98 cbi 0x15,4
0082 .dbline -2
0082 L11:
0082 0E940000 xcall pop_gset1
0086 .dbline 0 ; func end
0086 0895 ret
0088 .dbsym r i 20 c
0088 .dbsym r d 18 c
0088 .dbsym r addr 16 c
0088 .dbend
0088 .dbfunc e ds1302_read_byte _ds1302_read_byte fc
0088 ; temp -> R20
0088 ; i -> R22
0088 ; addr -> R16
.even
0088 _ds1302_read_byte::
0088 0E940000 xcall push_gset2
008C .dbline -1
008C .dbline 97
008C ; }
008C ; }
008C ; }
008C ; }
008C .dbline 101
008C ; }
008C ; }
008C ; }
008C ; }
008C AC9A sbi 0x15,4
008E .dbline 104
008E ; }
008E ; }
008E ; }
008E A39A sbi 0x14,3
0090 .dbline 105
0090 ; }
0090 0160 ori R16,1
0092 .dbline 106
0092 6627 clr R22
0094 09C0 xjmp L28
0096 L25:
0096 .dbline 106
0096 ; }
0096 .dbline 107
0096 ; }
0096 00FF sbrs R16,0
0098 02C0 rjmp L29
009A .dbline 107
009A .dbline 108
009A ; }
009A AB9A sbi 0x15,3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -