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

📄 ds12997.lis

📁 本程序经调试好使
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 02C2 FA01              movw R30,R20
 02C4 0481              ldd R16,z+4
 02C6 0E940000          xcall div8u
 02CA 802F              mov R24,R16
 02CC 805D              subi R24,208    ; addi 48
 02CE FA01              movw R30,R20
 02D0 8587              std z+13,R24
 02D2                   .dbline 355
 02D2           ;       Time->DateString[7] = Time->Day%10 + '0';
 02D2 1AE0              ldi R17,10
 02D4 FA01              movw R30,R20
 02D6 0481              ldd R16,z+4
 02D8 0E940000          xcall mod8u
 02DC 802F              mov R24,R16
 02DE 805D              subi R24,208    ; addi 48
 02E0 FA01              movw R30,R20
 02E2 8687              std z+14,R24
 02E4                   .dbline 356
 02E4           ;       Time->DateString[8] = '\0';
 02E4 2224              clr R2
 02E6 FA01              movw R30,R20
 02E8 2786              std z+15,R2
 02EA                   .dbline 358
 02EA           ; 
 02EA           ;       y[0]=Time->DateString[0];
 02EA FA01              movw R30,R20
 02EC 2780              ldd R2,z+7
 02EE 20920000          sts _y,R2
 02F2                   .dbline 359
 02F2           ;       y[1]=Time->DateString[1];       //年
 02F2 FA01              movw R30,R20
 02F4 2084              ldd R2,z+8
 02F6 20920100          sts _y+1,R2
 02FA                   .dbline 361
 02FA           ;       
 02FA           ;       y[3]=Time->DateString[3];  
 02FA FA01              movw R30,R20
 02FC 2284              ldd R2,z+10
 02FE 20920300          sts _y+3,R2
 0302                   .dbline 362
 0302           ;       y[4]=Time->DateString[4];   //月
 0302 FA01              movw R30,R20
 0304 2384              ldd R2,z+11
 0306 20920400          sts _y+4,R2
 030A                   .dbline 364
 030A           ; 
 030A           ;       y[6]=Time->DateString[6];  
 030A FA01              movw R30,R20
 030C 2584              ldd R2,z+13
 030E 20920600          sts _y+6,R2
 0312                   .dbline 365
 0312           ;       y[7]=Time->DateString[7];       //日
 0312 FA01              movw R30,R20
 0314 2684              ldd R2,z+14
 0316 20920700          sts _y+7,R2
 031A                   .dbline -2
 031A           L49:
 031A 0E940000          xcall pop_gset1
 031E                   .dbline 0 ; func end
 031E 0895              ret
 0320                   .dbsym r Time 20 pS[_SYSTEMTIME_]
 0320                   .dbend
 0320                   .dbfunc e TimeToStr _TimeToStr fV
 0320           ;           Time -> R20,R21
                        .even
 0320           _TimeToStr::
 0320 0E940000          xcall push_gset1
 0324 A801              movw R20,R16
 0326                   .dbline -1
 0326                   .dbline 372
 0326           ; 
 0326           ; }
 0326           ; 
 0326           ; 
 0326           ; /*********************时间转化成字符***********************************/
 0326           ; void TimeToStr(SYSTEMTIME *Time)
 0326           ; {
 0326                   .dbline 373
 0326           ;       Time->TimeString[0] = Time->Hour/10 + '0';
 0326 1AE0              ldi R17,10
 0328 FA01              movw R30,R20
 032A 0281              ldd R16,z+2
 032C 0E940000          xcall div8u
 0330 802F              mov R24,R16
 0332 805D              subi R24,208    ; addi 48
 0334 FA01              movw R30,R20
 0336 808B              std z+16,R24
 0338                   .dbline 374
 0338           ;       Time->TimeString[1] = Time->Hour%10 + '0';
 0338 1AE0              ldi R17,10
 033A FA01              movw R30,R20
 033C 0281              ldd R16,z+2
 033E 0E940000          xcall mod8u
 0342 802F              mov R24,R16
 0344 805D              subi R24,208    ; addi 48
 0346 FA01              movw R30,R20
 0348 818B              std z+17,R24
 034A                   .dbline 375
 034A           ;       Time->TimeString[2] = ':';
 034A 8AE3              ldi R24,58
 034C FA01              movw R30,R20
 034E 828B              std z+18,R24
 0350                   .dbline 376
 0350           ;       Time->TimeString[3] = Time->Minute/10 + '0';
 0350 1AE0              ldi R17,10
 0352 FA01              movw R30,R20
 0354 0181              ldd R16,z+1
 0356 0E940000          xcall div8u
 035A 802F              mov R24,R16
 035C 805D              subi R24,208    ; addi 48
 035E FA01              movw R30,R20
 0360 838B              std z+19,R24
 0362                   .dbline 377
 0362           ;       Time->TimeString[4] = Time->Minute%10 + '0';
 0362 1AE0              ldi R17,10
 0364 FA01              movw R30,R20
 0366 0181              ldd R16,z+1
 0368 0E940000          xcall mod8u
 036C 802F              mov R24,R16
 036E 805D              subi R24,208    ; addi 48
 0370 FA01              movw R30,R20
 0372 848B              std z+20,R24
 0374                   .dbline 378
 0374           ;       Time->TimeString[5] = ':';
 0374 8AE3              ldi R24,58
 0376 FA01              movw R30,R20
 0378 858B              std z+21,R24
 037A                   .dbline 379
 037A           ;       Time->TimeString[6] = Time->Second/10 + '0';
 037A 1AE0              ldi R17,10
 037C FA01              movw R30,R20
 037E 0081              ldd R16,z+0
 0380 0E940000          xcall div8u
 0384 802F              mov R24,R16
 0386 805D              subi R24,208    ; addi 48
 0388 FA01              movw R30,R20
 038A 868B              std z+22,R24
 038C                   .dbline 380
 038C           ;       Time->TimeString[7] = Time->Second%10 + '0';
 038C 1AE0              ldi R17,10
 038E FA01              movw R30,R20
 0390 0081              ldd R16,z+0
 0392 0E940000          xcall mod8u
 0396 802F              mov R24,R16
 0398 805D              subi R24,208    ; addi 48
 039A FA01              movw R30,R20
 039C 878B              std z+23,R24
 039E                   .dbline 381
 039E           ;       Time->TimeString[8] = '\0';
 039E 2224              clr R2
 03A0 FA01              movw R30,R20
 03A2 208E              std z+24,R2
 03A4                   .dbline 383
 03A4           ; 
 03A4           ;       y[9]=Time->TimeString[0];
 03A4 FA01              movw R30,R20
 03A6 2088              ldd R2,z+16
 03A8 20920900          sts _y+9,R2
 03AC                   .dbline 384
 03AC           ;       y[10]=Time->TimeString[1];      //时
 03AC FA01              movw R30,R20
 03AE 2188              ldd R2,z+17
 03B0 20920A00          sts _y+10,R2
 03B4                   .dbline 386
 03B4           ;       
 03B4           ;       y[12]=Time->TimeString[3];  
 03B4 FA01              movw R30,R20
 03B6 2388              ldd R2,z+19
 03B8 20920C00          sts _y+12,R2
 03BC                   .dbline 387
 03BC           ;       y[13]=Time->TimeString[4];   //分
 03BC FA01              movw R30,R20
 03BE 2488              ldd R2,z+20
 03C0 20920D00          sts _y+13,R2
 03C4                   .dbline 389
 03C4           ; 
 03C4           ;       y[15]=Time->TimeString[6];  
 03C4 FA01              movw R30,R20
 03C6 2688              ldd R2,z+22
 03C8 20920F00          sts _y+15,R2
 03CC                   .dbline 390
 03CC           ;       y[16]=Time->TimeString[7];      //秒
 03CC FA01              movw R30,R20
 03CE 2788              ldd R2,z+23
 03D0 20921000          sts _y+16,R2
 03D4                   .dbline -2
 03D4           L55:
 03D4 0E940000          xcall pop_gset1
 03D8                   .dbline 0 ; func end
 03D8 0895              ret
 03DA                   .dbsym r Time 20 pS[_SYSTEMTIME_]
 03DA                   .dbend
 03DA                   .dbfunc e init_devices _init_devices fV
                        .even
 03DA           _init_devices::
 03DA                   .dbline -1
 03DA                   .dbline 397
 03DA           ;       
 03DA           ; }
 03DA           ; 
 03DA           ; 
 03DA           ; /********************初始化器件************************************/
 03DA           ; void init_devices(void) 
 03DA           ; {
 03DA                   .dbline 398
 03DA           ;  port_init();
 03DA 1EDE              xcall _port_init
 03DC                   .dbline 399
 03DC           ;  usart_init();
 03DC 11DE              xcall _usart_init
 03DE                   .dbline -2
 03DE           L62:
 03DE                   .dbline 0 ; func end
 03DE 0895              ret
 03E0                   .dbend
 03E0                   .dbfunc e main _main fV
 03E0           ;           temp -> R20
 03E0           ;    CurrentTime -> y+0
                        .even
 03E0           _main::
 03E0 6997              sbiw R28,25
 03E2                   .dbline -1
 03E2                   .dbline 403
 03E2           ;  }
 03E2           ; /***************主函数*****************************/
 03E2           ; void main(void)
 03E2           ; {
 03E2                   .dbline 406
 03E2           ;       SYSTEMTIME CurrentTime;
 03E2           ;     uchar temp;
 03E2           ;       init_devices();
 03E2 FBDF              xcall _init_devices
 03E4                   .dbline 407
 03E4           ;       DS12887_Init();  //只读时间的时候可以屏蔽该句
 03E4 F0DE              xcall _DS12887_Init
 03E6                   .dbline 408
 03E6           ;       DS12887_GetTime(&CurrentTime);
 03E6 8E01              movw R16,R28
 03E8 08DF              xcall _DS12887_GetTime
 03EA                   .dbline 412
 03EA           ; /*************时间初始化设置 ,2009-3-4 16:57:00************/
 03EA           ; //时钟调准后屏蔽该段程序
 03EA           ; //*
 03EA           ; DS12887_SetTime(DS12887_Second, 0); //设置秒
 03EA 2227              clr R18
 03EC 0027              clr R16
 03EE F5DE              xcall _DS12887_SetTime
 03F0                   .dbline 413
 03F0           ; DS12887_SetTime(DS12887_Minute, 57); //设置分
 03F0 29E3              ldi R18,57
 03F2 02E0              ldi R16,2
 03F4 F2DE              xcall _DS12887_SetTime
 03F6                   .dbline 414
 03F6           ; DS12887_SetTime(DS12887_Hour,16);      //设置时
 03F6 20E1              ldi R18,16
 03F8 04E0              ldi R16,4
 03FA EFDE              xcall _DS12887_SetTime
 03FC                   .dbline 415
 03FC           ; DS12887_SetTime(DS12887_Day, 4);       //设置天
 03FC 24E0              ldi R18,4
 03FE 07E0              ldi R16,7
 0400 ECDE              xcall _DS12887_SetTime
 0402                   .dbline 416
 0402           ; DS12887_SetTime(DS12887_Month, 3); //设置月
 0402 23E0              ldi R18,3
 0404 08E0              ldi R16,8
 0406 E9DE              xcall _DS12887_SetTime
 0408                   .dbline 417
 0408           ; DS12887_SetTime(DS12887_Year, 9);      //设置年
 0408 29E0              ldi R18,9
 040A 09E0              ldi R16,9
 040C E6DE              xcall _DS12887_SetTime
 040E                   .dbline 419
 040E           ; //*/
 040E           ;  usart_str_send("DS12887工作中.......");
 040E 00E0              ldi R16,<L64
 0410 10E0              ldi R17,>L64
 0412 10DE              xcall _usart_str_send
 0414 11C0              xjmp L66
 0416           L65:
 0416                   .dbline 421
 0416           ;  while(1) 
 0416           ;  {
 0416                   .dbline 422
 0416           ;  DS12887_GetTime(&CurrentTime);
 0416 8E01              movw R16,R28
 0418 F0DE              xcall _DS12887_GetTime
 041A                   .dbline 423
 041A           ;  DateToStr(&CurrentTime);
 041A 8E01              movw R16,R28
 041C 24DF              xcall _DateToStr
 041E                   .dbline 424
 041E           ;  TimeToStr(&CurrentTime);
 041E 8E01              movw R16,R28
 0420 7FDF              xcall _TimeToStr
 0422                   .dbline 425
 0422           ;  temp=usart_char_receive();
 0422 2ADE              xcall _usart_char_receive
 0424 402F              mov R20,R16
 0426                   .dbline 426
 0426           ;  if(temp=='0')   //字符0----数据传送启动指令
 0426 0033              cpi R16,48
 0428 19F4              brne L68
 042A                   .dbline 427
 042A           ;  usart_str_send("现在时间是:");
 042A 00E0              ldi R16,<L70
 042C 10E0              ldi R17,>L70
 042E 02DE              xcall _usart_str_send
 0430           L68:
 0430                   .dbline 428
 0430 11DE              xcall _usart_send_arry
 0432                   .dbline 429
 0432 00E0              ldi R16,<L71
 0434 10E0              ldi R17,>L71
 0436 FEDD              xcall _usart_str_send
 0438                   .dbline 430
 0438           L66:
 0438                   .dbline 420
 0438 EECF              xjmp L65
 043A           X1:
 043A                   .dbline -2
 043A           L63:
 043A 6996              adiw R28,25
 043C                   .dbline 0 ; func end
 043C 0895              ret
 043E                   .dbsym r temp 20 c
 043E                   .dbsym l CurrentTime 0 S[_SYSTEMTIME_]
 043E                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\ds12997.c
 0000           _y6::
 0000                   .blkb 1
 0001                   .dbsym e y6 _y6 c
 0001           _y5::
 0001                   .blkb 1
 0002                   .dbsym e y5 _y5 c
 0002           _y4::
 0002                   .blkb 1
 0003                   .dbsym e y4 _y4 c
 0003           _y3::
 0003                   .blkb 1
 0004                   .dbsym e y3 _y3 c
 0004           _y2::
 0004                   .blkb 1
 0005                   .dbsym e y2 _y2 c
 0005           _y1::
 0005                   .blkb 1
 0006                   .dbsym e y1 _y1 c
                        .area data(ram, con, rel)
 0013                   .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\ds12997.c
 0013           L71:
 0013                   .blkb 3
                        .area idata
 0013 202000            .byte 32,32,0
                        .area data(ram, con, rel)
 0016                   .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\ds12997.c
 0016           L70:
 0016                   .blkb 13
                        .area idata
 0016 CFD6D4DACAB1BCE4CAC7A3BA00        .byte 207,214,212,218,202,177,188,228,202,199,163,186,0
                        .area data(ram, con, rel)
 0023                   .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\ds12997.c
 0023           L64:
 0023                   .blkb 21
                        .area idata
 0023 44533132383837B9A4D7F7D6D02E2E2E  .byte 'D,'S,49,50,56,56,55,185,164,215,247,214,208,46,46,46
 0033 2E2E2E2E00        .byte 46,46,46,46,0
                        .area data(ram, con, rel)
 0038                   .dbfile C:\DOCUME~1\wangqinbo\MYDOCU~1\avrc\ds12997.c

⌨️ 快捷键说明

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