📄 ds1302.s
字号:
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r n 22 i
.dbend
.dbfile E:\biyesheji\SUCCES~1\SENDSE~1\SETPFI~2\程序\DS1302.c
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 20
.dbline 21
ldi R24,1
out 0x18,R24
.dbline 22
clr R2
out 0x17,R2
.dbline 23
ldi R24,56
out 0x15,R24
.dbline 24
ldi R24,199
out 0x14,R24
.dbline 25
out 0x12,R2
.dbline 26
ldi R24,255
out 0x11,R24
.dbline -2
L49:
.dbline 0 ; func end
ret
.dbend
.dbfunc e init_devices _init_devices fV
.even
_init_devices::
.dbline -1
.dbline 32
.dbline 34
rcall _port_init
.dbline 35
rcall _DS1302_set
.dbline 37
clr R2
out 0x35,R2
.dbline 38
out 0x3b,R2
.dbline 39
ldi R24,4
out 0x39,R24
.dbline -2
L50:
.dbline 0 ; func end
ret
.dbend
.dbfunc e init_devicesl _init_devicesl fV
.even
_init_devicesl::
.dbline -1
.dbline 46
.dbline 48
rcall _LCD_init
.dbline 50
clr R2
out 0x35,R2
.dbline 51
out 0x3b,R2
.dbline 52
out 0x39,R2
.dbline -2
L51:
.dbline 0 ; func end
ret
.dbend
.dbfunc e SendDataForDisplay _SendDataForDisplay fV
.even
_SendDataForDisplay::
sbiw R28,2
.dbline -1
.dbline 59
.dbline 63
ldi R24,<L53
ldi R25,>L53
std y+1,R25
std y+0,R24
clr R18
clr R16
rcall _LCD_write_string
.dbline 64
lds R24,_hourth
subi R24,208 ; addi 48
std y+0,R24
clr R18
ldi R16,6
rcall _LCD_write_char
.dbline 65
lds R24,_hourtl
subi R24,208 ; addi 48
std y+0,R24
clr R18
ldi R16,7
rcall _LCD_write_char
.dbline 66
ldi R24,45
std y+0,R24
clr R18
ldi R16,8
rcall _LCD_write_char
.dbline 67
lds R24,_minuteth
subi R24,208 ; addi 48
std y+0,R24
clr R18
ldi R16,9
rcall _LCD_write_char
.dbline 68
lds R24,_minutetl
subi R24,208 ; addi 48
std y+0,R24
clr R18
ldi R16,10
rcall _LCD_write_char
.dbline 69
ldi R24,45
std y+0,R24
clr R18
ldi R16,11
rcall _LCD_write_char
.dbline 70
lds R24,_secondth
subi R24,208 ; addi 48
std y+0,R24
clr R18
ldi R16,12
rcall _LCD_write_char
.dbline 71
lds R24,_secondtl
subi R24,208 ; addi 48
std y+0,R24
clr R18
ldi R16,13
rcall _LCD_write_char
.dbline 73
ldi R24,<L54
ldi R25,>L54
std y+1,R25
std y+0,R24
ldi R18,1
clr R16
rcall _LCD_write_string
.dbline 74
lds R24,_yearth
subi R24,208 ; addi 48
std y+0,R24
ldi R18,1
ldi R16,6
rcall _LCD_write_char
.dbline 75
lds R24,_yeartl
subi R24,208 ; addi 48
std y+0,R24
ldi R18,1
ldi R16,7
rcall _LCD_write_char
.dbline 76
ldi R24,45
std y+0,R24
ldi R18,1
ldi R16,8
rcall _LCD_write_char
.dbline 77
lds R24,_monthth
subi R24,208 ; addi 48
std y+0,R24
ldi R18,1
ldi R16,9
rcall _LCD_write_char
.dbline 78
lds R24,_monthtl
subi R24,208 ; addi 48
std y+0,R24
ldi R18,1
ldi R16,10
rcall _LCD_write_char
.dbline 79
ldi R24,45
std y+0,R24
ldi R18,1
ldi R16,11
rcall _LCD_write_char
.dbline 80
lds R24,_dateth
subi R24,208 ; addi 48
std y+0,R24
ldi R18,1
ldi R16,12
rcall _LCD_write_char
.dbline 81
lds R24,_datetl
subi R24,208 ; addi 48
std y+0,R24
ldi R18,1
ldi R16,13
rcall _LCD_write_char
.dbline 83
ldi R16,200
ldi R17,0
rcall _delay_nus
.dbline -2
L52:
adiw R28,2
.dbline 0 ; func end
ret
.dbend
.dbfunc e black _black fV
; n -> R22,R23
; m -> R20,R21
.even
_black::
rcall push_gset2
movw R22,R18
movw R20,R16
sbiw R28,1
.dbline -1
.dbline 90
.dbline 91
ldi R24,95
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_char
.dbline 92
ldi R16,1000
ldi R17,3
rcall _delay_nus
.dbline -2
L55:
adiw R28,1
rcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r n 22 I
.dbsym r m 20 I
.dbend
.dbfunc e PlusForSET _PlusForSET fV
; i -> R16,R17
.even
_PlusForSET::
.dbline -1
.dbline 98
.dbline 99
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,9
brne L57
.dbline 100
.dbline 100
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,15
std z+0,R24
.dbline 101
L57:
.dbline 102
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,25
brne L59
.dbline 103
.dbline 103
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,31
std z+0,R24
.dbline 104
L59:
.dbline 105
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,41
brne L61
.dbline 106
.dbline 106
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,47
std z+0,R24
.dbline 107
L61:
.dbline 108
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,57
brne L63
.dbline 109
.dbline 109
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,63
std z+0,R24
.dbline 110
L63:
.dbline 111
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,73
brne L65
.dbline 112
.dbline 112
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,79
std z+0,R24
.dbline 113
L65:
.dbline 114
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,89
brne L67
.dbline 115
.dbline 115
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
clr R2
std z+0,R2
.dbline 116
rjmp L68
L67:
.dbline 118
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R2,R16
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,255 ; addi 1
std z+0,R24
L68:
.dbline -2
L56:
.dbline 0 ; func end
ret
.dbsym r i 16 I
.dbend
.dbfunc e SubForSET _SubForSET fV
; i -> R16,R17
.even
_SubForSET::
.dbline -1
.dbline 124
.dbline 125
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R2,z+0
tst R2
brne L70
.dbline 126
.dbline 126
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,90
std z+0,R24
.dbline 127
L70:
.dbline 128
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,16
brne L72
.dbline 129
.dbline 129
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,10
std z+0,R24
.dbline 130
L72:
.dbline 131
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,32
brne L74
.dbline 132
.dbline 132
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,26
std z+0,R24
.dbline 133
L74:
.dbline 134
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,48
brne L76
.dbline 135
.dbline 135
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,42
std z+0,R24
.dbline 136
L76:
.dbline 137
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,64
brne L78
.dbline 138
.dbline 138
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,58
std z+0,R24
.dbline 139
L78:
.dbline 140
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,80
brne L80
.dbline 141
.dbline 141
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,73
std z+0,R24
.dbline 142
rjmp L81
L80:
.dbline 144
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R2,R16
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,1
std z+0,R24
L81:
.dbline -2
L69:
.dbline 0 ; func end
ret
.dbsym r i 16 I
.dbend
.dbfunc e PlusHour _PlusHour fV
; i -> R16,R17
.even
_PlusHour::
.dbline -1
.dbline 152
.dbline 153
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,9
brne L83
.dbline 154
.dbline 154
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,15
std z+0,R24
.dbline 155
L83:
.dbline 156
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,25
brne L85
.dbline 157
.dbline 157
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,31
std z+0,R24
.dbline 158
L85:
.dbline 159
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,35
brne L87
.dbline 160
.dbline 160
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
clr R2
std z+0,R2
.dbline 161
rjmp L88
L87:
.dbline 163
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R2,R16
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,255 ; addi 1
std z+0,R24
L88:
.dbline -2
L82:
.dbline 0 ; func end
ret
.dbsym r i 16 I
.dbend
.dbfunc e SubHour _SubHour fV
; i -> R16,R17
.even
_SubHour::
.dbline -1
.dbline 167
.dbline 168
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R2,z+0
tst R2
brne L90
.dbline 169
.dbline 169
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,36
std z+0,R24
.dbline 170
L90:
.dbline 171
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,16
brne L92
.dbline 172
.dbline 172
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,10
std z+0,R24
.dbline 173
L92:
.dbline 174
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,32
brne L94
.dbline 175
.dbline 175
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,25
std z+0,R24
.dbline 176
rjmp L95
L94:
.dbline 178
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R2,R16
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,1
std z+0,R24
L95:
.dbline -2
L89:
.dbline 0 ; func end
ret
.dbsym r i 16 I
.dbend
.dbfunc e PlusDay _PlusDay fV
; i -> R16,R17
.even
_PlusDay::
.dbline -1
.dbline 185
; //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
; //设置日期,子程序
; //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
; //日期加法
; void PlusDay(int i)
; { if(WriteTime[i]==0x09)
.dbline 185
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,9
brne L97
.dbline 186
; { WriteTime[i]=0x0f;
.dbline 186
ldi R24,<_WriteTime
ldi R25,>_WriteTime
movw R30,R16
add R30,R24
adc R31,R25
ldi R24,15
std z+0,R24
.dbline 187
; }
L97:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -