⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avrstudy.s

📁 AVR学习开发 板
💻 S
📖 第 1 页 / 共 5 页
字号:
	.dbsym r i 20 i
	.dbsym r US 22 i
	.dbend
	.dbfunc e Delayms _Delayms fV
;              i -> R20,R21
;              j -> R22,R23
;             MS -> R16,R17
	.even
_Delayms::
	rcall push_gset2
	.dbline -1
	.dbline 59
	.dbline 61
	clr R20
	clr R21
	rjmp L79
L76:
	.dbline 62
	clr R22
	clr R23
	rjmp L83
L80:
	.dbline 62
L81:
	.dbline 62
	subi R22,255  ; offset = 1
	sbci R23,255
L83:
	.dbline 62
	cpi R22,117
	ldi R30,4
	cpc R23,R30
	brlo L80
L77:
	.dbline 61
	subi R20,255  ; offset = 1
	sbci R21,255
L79:
	.dbline 61
	cp R20,R16
	cpc R21,R17
	brlo L76
	.dbline -2
L75:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r j 22 i
	.dbsym r MS 16 i
	.dbend
	.dbfunc e DS1302_portinit _DS1302_portinit fV
	.even
_DS1302_portinit::
	.dbline -1
	.dbline 71
	.dbline 72
	in R24,0x14
	ori R24,14
	out 0x14,R24
	.dbline -2
L84:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e DS1302_writeB _DS1302_writeB fV
;              i -> R20
;           byte -> R22
	.even
_DS1302_writeB::
	rcall push_gset2
	mov R22,R16
	.dbline -1
	.dbline 82
	.dbline 84
	clr R20
	rjmp L89
L86:
	.dbline 85
	.dbline 86
	cbi 0x15,1
	.dbline 87
	sbrs R22,0
	rjmp L90
	.dbline 88
	.dbline 89
	sbi 0x15,2
	.dbline 90
	rjmp L91
L90:
	.dbline 92
	.dbline 93
	cbi 0x15,2
	.dbline 94
L91:
	.dbline 95
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 96
	sbi 0x15,1
	.dbline 97
	lsr R22
	.dbline 98
L87:
	.dbline 84
	inc R20
L89:
	.dbline 84
	cpi R20,8
	brlo L86
	.dbline -2
L85:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r byte 22 c
	.dbend
	.dbfunc e DS1302_readB _DS1302_readB fc
;              i -> R20
;           byte -> R22
	.even
_DS1302_readB::
	rcall push_gset2
	.dbline -1
	.dbline 107
	.dbline 108
	clr R22
	.dbline 109
	cbi 0x14,2
	.dbline 110
	cbi 0x15,2
	.dbline 111
	clr R20
	rjmp L96
L93:
	.dbline 112
	.dbline 113
	lsr R22
	.dbline 114
	sbi 0x15,1
	.dbline 115
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 116
	cbi 0x15,1
	.dbline 117
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 118
	sbis 0x13,2
	rjmp L97
	.dbline 119
	.dbline 120
	ori R22,128
	.dbline 121
	rjmp L98
L97:
	.dbline 123
	.dbline 124
	andi R22,127
	.dbline 125
L98:
	.dbline 126
L94:
	.dbline 111
	inc R20
L96:
	.dbline 111
	cpi R20,8
	brlo L93
	.dbline 127
	sbi 0x14,2
	.dbline 128
	mov R16,R22
	.dbline -2
L92:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r byte 22 c
	.dbend
	.dbfunc e DS1302_writeD _DS1302_writeD fV
;           data -> R20
;           addr -> R22
	.even
_DS1302_writeD::
	rcall push_gset2
	mov R20,R18
	mov R22,R16
	.dbline -1
	.dbline 138
	.dbline 139
	.dbline 140
	cbi 0x15,3
	.dbline 141
	cbi 0x15,1
	.dbline 142
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 143
	sbi 0x15,3
	.dbline 144
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 145
	mov R16,R22
	rcall _DS1302_writeB
	.dbline 146
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 147
	cbi 0x15,1
	.dbline 148
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 149
	mov R16,R20
	rcall _DS1302_writeB
	.dbline 150
	cbi 0x15,1
	.dbline 151
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 152
	cbi 0x15,3
	.dbline 153
	.dbline -2
L99:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r data 20 c
	.dbsym r addr 22 c
	.dbend
	.dbfunc e DS1302_readD _DS1302_readD fc
;           data -> R20
;           addr -> R20
	.even
_DS1302_readD::
	rcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 162
	.dbline 164
	cbi 0x15,3
	.dbline 165
	cbi 0x15,1
	.dbline 166
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 167
	sbi 0x15,3
	.dbline 168
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 169
	mov R16,R20
	rcall _DS1302_writeB
	.dbline 170
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 171
	rcall _DS1302_readB
	mov R20,R16
	.dbline 172
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 173
	cbi 0x15,1
	.dbline 174
	cbi 0x15,3
	.dbline 175
	mov R16,R20
	.dbline -2
L100:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r data 20 c
	.dbsym r addr 20 c
	.dbend
	.dbfunc e DS1302_setT _DS1302_setT fV
;           addr -> R20
;              i -> R22
;        ptTimeD -> R10,R11
	.even
_DS1302_setT::
	rcall push_gset3
	movw R10,R16
	.dbline -1
	.dbline 184
	.dbline 186
; 				}//while
	ldi R20,128
	.dbline 187
; 				exit1=0;
	clr R18
	ldi R16,142
	rcall _DS1302_writeD
	.dbline 188
; 			    enter1=0;
	ldi R16,5
	ldi R17,0
	rcall _Delayms
	.dbline 189
; 			}	
	clr R22
	rjmp L105
L102:
	.dbline 190
	.dbline 191
	mov R30,R22
	clr R31
	add R30,R10
	adc R31,R11
	ldd R18,z+0
	mov R16,R20
	rcall _DS1302_writeD
	.dbline 192
	subi R20,254    ; addi 2
	.dbline 193
	ldi R16,1
	ldi R17,0
	rcall _Delayms
	.dbline 194
L103:
	.dbline 189
	inc R22
L105:
	.dbline 189
	cpi R22,7
	brlo L102
	.dbline 195
; 		}
; 		exit1=0;
; 		LcmInit();					//液晶初始化										  
; 		
; 	}
; }
	ldi R18,128
	ldi R16,142
	rcall _DS1302_writeD
	.dbline -2
L101:
	rcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r addr 20 c
	.dbsym r i 22 c
	.dbsym r ptTimeD 10 pc
	.dbend
	.dbfunc e DS1302_getT _DS1302_getT fV
;              i -> R20
;           time -> R22,R23
	.even
_DS1302_getT::
	rcall push_gset2
	movw R22,R16
	.dbline -1
	.dbline 204
; 
; 
; 
; 
; 
; 
; 
; 
; 
	.dbline 215
; 
; 
; 
; 
; 
; 
; 
; 
; 
; 
; 
	cbi 0x15,3
	.dbline 216
; 
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 217
; 
	sbi 0x15,3
	.dbline 218
; 
	ldi R16,10
	ldi R17,0
	rcall _Delayus
	.dbline 219
; 
	ldi R16,191
	rcall _DS1302_writeB
	.dbline 220
; 
	clr R20
	rjmp L110
L107:
	.dbline 221
	.dbline 222
	rcall _DS1302_readB
	mov R30,R20
	clr R31
	add R30,R22
	adc R31,R23
	std z+0,R16
	.dbline 223
L108:
	.dbline 220
	inc R20
L110:
	.dbline 220
	cpi R20,8
	brlo L107
	.dbline 224
; 
; 
; 
; 
	cbi 0x15,3
	.dbline 226
; 
; 
	cbi 0x15,1
	.dbline -2
L106:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r time 22 pc
	.dbend
	.dbfunc e DS1302_check _DS1302_check fc
;          exist -> R20
	.even
_DS1302_check::
	rcall push_gset1
	.dbline -1
	.dbline 235
; 
; 
; 
; 
; 
; 
; 
; 
; 
	.dbline 237
; 
; 
	clr R18
	ldi R16,142
	rcall _DS1302_writeD
	.dbline 238
; 
	ldi R18,165
	ldi R16,192
	rcall _DS1302_writeD
	.dbline 239
; 
	ldi R16,193
	rcall _DS1302_readD
	mov R20,R16
	.dbline 240
; 
	cpi R16,165
	brne L112
	.dbline 241
; 
	.dbline 242
; 
	ldi R20,1
	.dbline 243
; 
	rjmp L113
L112:
	.dbline 245
; 
; 
	.dbline 246
; 
	clr R20
	.dbline 247
; 
L113:
	.dbline 248
; 
	mov R16,R20
	.dbline -2
L111:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r exist 20 c
	.dbend
	.dbfunc e DS1302_init _DS1302_init fV
	.even
_DS1302_init::
	.dbline -1
	.dbline 257
; 
; 
; 
; 
; 
; 
; 
; 
; 
	.dbline 258
; 
	clr R18
	ldi R16,142
	rcall _DS1302_writeD
	.dbline 259
; 
	clr R18
	ldi R16,128
	rcall _DS1302_writeD
	.dbline 260
; 
	ldi R18,128
	ldi R16,142
	rcall _DS1302_writeD
	.dbline -2
L114:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e BCD_ASCII _BCD_ASCII fV
;          ptasc -> R18,R19
;            BCD -> R16
	.even
_BCD_ASCII::
	.dbline -1
	.dbline 270
; 
; 
; 
; 
; 
; 
; 
; 
; 
; 
	.dbline 271
; 
	mov R24,R16
	swap R24
	andi R24,#0x0F
	ori R24,48
	movw R30,R18
	std z+0,R24
	.dbline 272
; 
	mov R24,R16
	andi R24,15
	ori R24,48
	std z+1,R24
	.dbline -2
L115:
	.dbline 0 ; func end
	ret
	.dbsym r ptasc 18 pc
	.dbsym r BCD 16 c
	.dbend
	.dbfunc e Disp_time _Disp_time fV
;           vstr -> y+0
;       vstrtemp -> R20,R21
;              i -> R22,R23
;           time -> R10,R11
	.even
_Disp_time::
	rcall push_gset3
	movw R10,R16
	sbiw R28,16
	.dbline -1
	.dbline 281
; 
; 
; 
; 
; 
; 
; 
; 
; 
	.dbline 284
; 
; 
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+3
	clr R17
	rcall div16s
	movw R24,R16
	adiw R24,48
	std y+1,R25
	std y+0,R24
	.dbline 285
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+3
	clr R17
	rcall mod16s
	movw R24,R16
	adiw R24,48
	std y+3,R25
	std y+2,R24
	.dbline 286
; 
	ldi R24,47
	ldi R25,0
	std y+5,R25
	std y+4,R24
	.dbline 287
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+4
	clr R17
	rcall div16s
	movw R24,R16
	adiw R24,48
	std y+7,R25
	std y+6,R24
	.dbline 288
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+4
	clr R17
	rcall mod16s
	movw R24,R16
	adiw R24,48
	std y+9,R25
	std y+8,R24
	.dbline 289
; 
	ldi R24,47
	ldi R25,0
	std y+11,R25
	std y+10,R24
	.dbline 290
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+6
	clr R17
	rcall div16s
	movw R24,R16
	adiw R24,48
	std y+13,R25
	std y+12,R24
	.dbline 291
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+6
	clr R17
	rcall mod16s
	movw R24,R16
	adiw R24,48
	std y+15,R25
	std y+14,R24
	.dbline 292
; 
	ldi R16,48
	rcall _WriteCommand
	.dbline 293
; 
	ldi R16,146
	rcall _WriteCommand
	.dbline 294
; 
	clr R22
	clr R23
	rjmp L127
L124:
	.dbline 295
	.dbline 296
	ldi R16,2
	ldi R17,0
	movw R18,R22
	rcall empy16s
	movw R30,R16
	movw R24,R28
	add R30,R24
	adc R31,R25
	ldd R20,z+0
	ldd R21,z+1
	.dbline 297
	mov R16,R20
	rcall _WriteData
	.dbline 298
L125:
	.dbline 294
	subi R22,255  ; offset = 1
	sbci R23,255
L127:
	.dbline 294
	cpi R22,8
	ldi R30,0
	cpc R23,R30
	brlo L124
	.dbline 299
; 
; 
; 
; 
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+2
	clr R17
	rcall div16s
	movw R24,R16
	adiw R24,48
	std y+1,R25
	std y+0,R24
	.dbline 300
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+2
	clr R17
	rcall mod16s
	movw R24,R16
	adiw R24,48
	std y+3,R25
	std y+2,R24
	.dbline 301
; 
	ldi R24,58
	ldi R25,0
	std y+5,R25
	std y+4,R24
	.dbline 302
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+1
	clr R17
	rcall div16s
	movw R24,R16
	adiw R24,48
	std y+7,R25
	std y+6,R24
	.dbline 303
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+1
	clr R17
	rcall mod16s
	movw R24,R16
	adiw R24,48
	std y+9,R25
	std y+8,R24
	.dbline 304
; 
	ldi R24,58
	ldi R25,0
	std y+11,R25
	std y+10,R24
	.dbline 305
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+0
	clr R17
	rcall div16s
	movw R24,R16
	adiw R24,48
	std y+13,R25
	std y+12,R24
	.dbline 306
; 
	ldi R18,16
	ldi R19,0
	movw R30,R10
	ldd R16,z+0
	clr R17
	rcall mod16s
	movw R24,R16
	adiw R24,48
	std y+15,R25
	std y+14,R24
	.dbline 307
; 
	ldi R16,48
	rcall _WriteCommand
	.dbline 308
; 
	ldi R16,138
	rcall _WriteCommand
	.dbline 309
; 
	clr R22
	clr R23
	rjmp L138
L135:
	.dbline 310
	.dbline 311
	ldi R16,2
	ldi R17,0
	movw R18,R22
	rcall empy16s
	movw R30,R16
	movw R24,R28
	add R30,R24
	adc R31,R25
	ldd R20,z+0
	ldd R21,z+1
	.dbline 312
	mov R16,R20
	rcall _WriteData
	.dbline 313
L136:
	.dbline 309
	subi R22,255  ; offset = 1
	sbci R23,255
L138:
	.dbline 309
	cpi R22,8
	ldi R30,0
	cpc R23,R30
	brlo L135
	.dbline -2
L116:
	adiw R28,16
	rcall pop_gset3
	.dbline 0 ; func end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -