📄 driver1302.ls1
字号:
182 ; Rst=0;
183 ; SOURCE LINE # 9
0005 C292 184 CLR Rst
185 ; writecmd(0x8e);//open write
186 ; SOURCE LINE # 10
0007 7F8E 187 MOV R7,#08EH
0009 120000 F 188 LCALL _writecmd
189 ; writecmd(0x00);
A51 MACRO ASSEMBLER DRIVER1302 04/29/2009 19:18:09 PAGE 4
190 ; SOURCE LINE # 11
000C E4 191 CLR A
000D FF 192 MOV R7,A
000E 120000 F 193 LCALL _writecmd
194 ; writecmd(0x90);//trickle charger,R1=2k
195 ; SOURCE LINE # 12
0011 7F90 196 MOV R7,#090H
0013 120000 F 197 LCALL _writecmd
198 ; writecmd(0xa5);//select R1=2k;one DIODE
199 ; SOURCE LINE # 13
0016 7FA5 200 MOV R7,#0A5H
0018 120000 F 201 LCALL _writecmd
202 ; writecmd(0x80);//start real time clock
203 ; SOURCE LINE # 14
001B 7F80 204 MOV R7,#080H
001D 120000 F 205 LCALL _writecmd
206 ; writecmd(0x00);
207 ; SOURCE LINE # 15
0020 E4 208 CLR A
0021 FF 209 MOV R7,A
0022 020000 F 210 LJMP _writecmd
211 ; END OF init1302
212
213 ; ;
214 ; }
215 ;
216 ; //not finished
217 ; uchar gettime(uchar mode)
218
---- 219 RSEG ?PR?_gettime?DRIVER1302
0000 220 _gettime:
221 USING 0
222 ; SOURCE LINE # 20
223 ;---- Variable 'mode?141' assigned to Register 'R7' ----
224 ; {
225 ; SOURCE LINE # 21
226 ; uchar i=8;
227 ; SOURCE LINE # 22
0000 750008 F 228 MOV i?142,#08H
229 ; uchar tmp;
230 ; uchar tmp1;
231 ; tmp=mode<<1;
232 ; SOURCE LINE # 25
0003 EF 233 MOV A,R7
0004 25E0 234 ADD A,ACC
0006 F500 F 235 MOV tmp?143,A
236 ; tmp=0x81|tmp;
237 ; SOURCE LINE # 26
0008 430081 F 238 ORL tmp?143,#081H
239 ; writecmd(tmp);//read address
240 ; SOURCE LINE # 27
000B AF00 F 241 MOV R7,tmp?143
000D 120000 F 242 LCALL _writecmd
0010 243 ?C0002:
244 ; while(i--)
245 ; SOURCE LINE # 28
0010 AF00 F 246 MOV R7,i?142
0012 1500 F 247 DEC i?142
0014 EF 248 MOV A,R7
0015 6010 249 JZ ?C0003
250 ; {
251 ; SOURCE LINE # 29
252 ; Sclk=0;
253 ; SOURCE LINE # 30
0017 C290 254 CLR Sclk
255 ; ;
A51 MACRO ASSEMBLER DRIVER1302 04/29/2009 19:18:09 PAGE 5
256 ; tmp1=Io;
257 ; SOURCE LINE # 32
0019 A291 258 MOV C,Io
259 ;---- Variable 'tmp1?144' assigned to Register 'R7' ----
260 ; tmp1=tmp1<<8;
261 ; SOURCE LINE # 33
001B 7F00 262 MOV R7,#00H
263 ; tmp=tmp|tmp1;
264 ; SOURCE LINE # 34
265 ; tmp1=0;
266 ; SOURCE LINE # 35
267 ; Sclk=1;
268 ; SOURCE LINE # 36
001D D290 269 SETB Sclk
270 ; ;
271 ; tmp=tmp>>1;
272 ; SOURCE LINE # 38
001F E500 F 273 MOV A,tmp?143
0021 C3 274 CLR C
0022 13 275 RRC A
0023 F500 F 276 MOV tmp?143,A
277 ; }
278 ; SOURCE LINE # 39
0025 80E9 279 SJMP ?C0002
0027 280 ?C0003:
281 ; return tmp;
282 ; SOURCE LINE # 40
0027 AF00 F 283 MOV R7,tmp?143
284 ; }
285 ; SOURCE LINE # 41
0029 286 ?C0004:
0029 22 287 RET
288 ; END OF _gettime
289
290 ; void writetime(uchar hms,uchar mode)
291
---- 292 RSEG ?PR?_writetime?DRIVER1302
0000 293 _writetime:
294 USING 0
295 ; SOURCE LINE # 42
0000 8F00 F 296 MOV hms?245,R7
297 ;---- Variable 'mode?246' assigned to Register 'R5' ----
298 ; //modee=5,4,3,2,1,0::year,month,d,h,minute,second
299 ; //write hour,minute,second to 1302
300 ; {
301 ; SOURCE LINE # 45
302 ; uchar tmp;
303 ; mode=mode<<1;
304 ; SOURCE LINE # 47
0002 ED 305 MOV A,R5
0003 25E0 306 ADD A,ACC
0005 FD 307 MOV R5,A
308 ; tmp=0x80|mode;
309 ; SOURCE LINE # 48
0006 4480 310 ORL A,#080H
0008 F500 F 311 MOV tmp?247,A
312 ; writecmd(0x80);
313 ; SOURCE LINE # 49
000A 7F80 314 MOV R7,#080H
000C 120000 F 315 LCALL _writecmd
316 ; writecmd(hms);
317 ; SOURCE LINE # 50
000F AF00 F 318 MOV R7,hms?245
0011 020000 F 319 LJMP _writecmd
320 ; END OF _writetime
321
A51 MACRO ASSEMBLER DRIVER1302 04/29/2009 19:18:09 PAGE 6
322 ; }
323 ; //1302 cmd
324 ; void writecmd(uchar cmd) //write cmd
325
---- 326 RSEG ?PR?_writecmd?DRIVER1302
0000 327 _writecmd:
328 USING 0
329 ; SOURCE LINE # 53
330 ;---- Variable 'cmd?348' assigned to Register 'R7' ----
331 ; {
332 ; SOURCE LINE # 54
333 ; uchar i=8;
334 ; SOURCE LINE # 55
335 ;---- Variable 'i?349' assigned to Register 'R6' ----
0000 7E08 336 MOV R6,#08H
337 ; bit tmp;
338 ; Sclk=0;
339 ; SOURCE LINE # 57
0002 C290 340 CLR Sclk
341 ; ;;
342 ; Rst=1;
343 ; SOURCE LINE # 59
0004 D292 344 SETB Rst
0006 345 ?C0006:
346 ; ;;
347 ; while(i--)
348 ; SOURCE LINE # 61
0006 AD06 349 MOV R5,AR6
0008 1E 350 DEC R6
0009 ED 351 MOV A,R5
000A 6012 352 JZ ?C0007
353 ; { tmp=cmd&0x01;
354 ; SOURCE LINE # 62
000C EF 355 MOV A,R7
000D 13 356 RRC A
000E 9200 F 357 MOV tmp?350,C
358 ; Sclk=0;
359 ; SOURCE LINE # 63
0010 C290 360 CLR Sclk
361 ; Io=tmp;
362 ; SOURCE LINE # 64
0012 A200 F 363 MOV C,tmp?350
0014 9291 364 MOV Io,C
365 ; ;
366 ; Sclk=1;
367 ; SOURCE LINE # 66
0016 D290 368 SETB Sclk
369 ; cmd=cmd>>1;
370 ; SOURCE LINE # 67
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -