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

📄 ac11-3.lis

📁 AVR学习资料
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0344 2224              clr R2
 0346 20920000          sts _set_min,R2
 034A           L53:
 034A                   .dbline 75
 034A           ;  if(S4==0){set_min++;if(set_min>59)set_min=0;} 
 034A           L51:
 034A                   .dbline 76
 034A           ;  if(SINT0==0){time_flag=1;} 
 034A 8299              sbic 0x10,2
 034C 03C0              rjmp L55
 034E                   .dbline 76
 034E                   .dbline 76
 034E 81E0              ldi R24,1
 0350 80930900          sts _time_flag,R24
 0354                   .dbline 76
 0354           L55:
 0354                   .dbline 77
 0354           ;  if(SINT1==0){write_flag=1;}
 0354 8399              sbic 0x10,3
 0356 03C0              rjmp L57
 0358                   .dbline 77
 0358                   .dbline 77
 0358 81E0              ldi R24,1
 035A 80930A00          sts _write_flag,R24
 035E                   .dbline 77
 035E           L57:
 035E                   .dbline 78
 035E           L37:
 035E                   .dbline -2
 035E           L4:
 035E 0E940000          xcall pop_gset1
 0362 2990              ld R2,y+
 0364 2FBE              out 0x3f,R2
 0366 F991              ld R31,y+
 0368 E991              ld R30,y+
 036A 9991              ld R25,y+
 036C 8991              ld R24,y+
 036E 3991              ld R19,y+
 0370 2991              ld R18,y+
 0372 1991              ld R17,y+
 0374 0991              ld R16,y+
 0376 3990              ld R3,y+
 0378 2990              ld R2,y+
 037A                   .dbline 0 ; func end
 037A 1895              reti
 037C                   .dbend
 037C                   .dbfunc e delay _delay fV
 037C           ;              i -> R20,R21
 037C           ;              j -> R22,R23
 037C           ;              k -> R16,R17
                        .even
 037C           _delay::
 037C 0E940000          xcall push_gset2
 0380                   .dbline -1
 0380                   .dbline 82
 0380           ;  }
 0380           ; }
 0380           ; /***********************/
 0380           ; void delay(uint k)    
 0380           ; {
 0380                   .dbline 84
 0380           ; uint i,j;
 0380           ;        for(i=0;i<k;i++)
 0380 4427              clr R20
 0382 5527              clr R21
 0384 0BC0              xjmp L63
 0386           L60:
 0386                   .dbline 85
 0386           ;        {       
 0386                   .dbline 86
 0386 6627              clr R22
 0388 7727              clr R23
 038A 02C0              xjmp L67
 038C           L64:
 038C                   .dbline 86
 038C           L65:
 038C                   .dbline 86
 038C 6F5F              subi R22,255  ; offset = 1
 038E 7F4F              sbci R23,255
 0390           L67:
 0390                   .dbline 86
 0390 6C38              cpi R22,140
 0392 E0E0              ldi R30,0
 0394 7E07              cpc R23,R30
 0396 D0F3              brlo L64
 0398                   .dbline 87
 0398           L61:
 0398                   .dbline 84
 0398 4F5F              subi R20,255  ; offset = 1
 039A 5F4F              sbci R21,255
 039C           L63:
 039C                   .dbline 84
 039C 4017              cp R20,R16
 039E 5107              cpc R21,R17
 03A0 90F3              brlo L60
 03A2                   .dbline -2
 03A2           L59:
 03A2 0E940000          xcall pop_gset2
 03A6                   .dbline 0 ; func end
 03A6 0895              ret
 03A8                   .dbsym r i 20 i
 03A8                   .dbsym r j 22 i
 03A8                   .dbsym r k 16 i
 03A8                   .dbend
 03A8                   .dbfunc e main _main fV
                        .even
 03A8           _main::
 03A8 2297              sbiw R28,2
 03AA                   .dbline -1
 03AA                   .dbline 91
 03AA           ;        for(j=0;j<140;j++); 
 03AA           ;        }
 03AA           ; }
 03AA           ; /***********************/
 03AA           ; void main(void)       
 03AA           ; {                                             
 03AA                   .dbline 92
 03AA           ; init_devices();               
 03AA 3CDE              xcall _init_devices
 03AC 61C0              xjmp L70
 03AE           L69:
 03AE                   .dbline 94
 03AE           ;   while(1)                    
 03AE           ;   {                                           
 03AE                   .dbline 95
 03AE           ;               if(write_flag==1) 
 03AE 80910A00          lds R24,_write_flag
 03B2 8130              cpi R24,1
 03B4 19F5              brne L72
 03B6                   .dbline 96
 03B6           ;               {SREG=0x00;     
 03B6                   .dbline 96
 03B6 2224              clr R2
 03B8 2FBE              out 0x3f,R2
 03BA                   .dbline 97
 03BA           ;               EEPROM_WRITE(200,set_sec);delay(10); 
 03BA 81E0              ldi R24,1
 03BC 90E0              ldi R25,0
 03BE 9983              std y+1,R25
 03C0 8883              std y+0,R24
 03C2 20E0              ldi R18,<_set_sec
 03C4 30E0              ldi R19,>_set_sec
 03C6 08EC              ldi R16,200
 03C8 10E0              ldi R17,0
 03CA 0E940000          xcall _EEPROMWriteBytes
 03CE                   .dbline 97
 03CE 0AE0              ldi R16,10
 03D0 10E0              ldi R17,0
 03D2 D4DF              xcall _delay
 03D4                   .dbline 98
 03D4           ;               EEPROM_WRITE(201,set_min);delay(10); 
 03D4 81E0              ldi R24,1
 03D6 90E0              ldi R25,0
 03D8 9983              std y+1,R25
 03DA 8883              std y+0,R24
 03DC 20E0              ldi R18,<_set_min
 03DE 30E0              ldi R19,>_set_min
 03E0 09EC              ldi R16,201
 03E2 10E0              ldi R17,0
 03E4 0E940000          xcall _EEPROMWriteBytes
 03E8                   .dbline 98
 03E8 0AE0              ldi R16,10
 03EA 10E0              ldi R17,0
 03EC C7DF              xcall _delay
 03EE                   .dbline 99
 03EE           ;               write_flag=0;   
 03EE 2224              clr R2
 03F0 20920A00          sts _write_flag,R2
 03F4                   .dbline 100
 03F4           ;               dpw=1;                  
 03F4 81E0              ldi R24,1
 03F6 80930C00          sts _dpw,R24
 03FA                   .dbline 101
 03FA           ;               SREG|=0x80;
 03FA 7894              bset 7
 03FC                   .dbline 102
 03FC           ;               }
 03FC           L72:
 03FC                   .dbline 103
 03FC           ;               if(time_flag==1)
 03FC 80910900          lds R24,_time_flag
 0400 8130              cpi R24,1
 0402 19F5              brne L74
 0404                   .dbline 104
 0404           ;               {SREG=0x00;             
 0404                   .dbline 104
 0404 2224              clr R2
 0406 2FBE              out 0x3f,R2
 0408                   .dbline 105
 0408           ;               EEPROM_READ(200,set_sec);delay(10);
 0408 81E0              ldi R24,1
 040A 90E0              ldi R25,0
 040C 9983              std y+1,R25
 040E 8883              std y+0,R24
 0410 20E0              ldi R18,<_set_sec
 0412 30E0              ldi R19,>_set_sec
 0414 08EC              ldi R16,200
 0416 10E0              ldi R17,0
 0418 0E940000          xcall _EEPROMReadBytes
 041C                   .dbline 105
 041C 0AE0              ldi R16,10
 041E 10E0              ldi R17,0
 0420 ADDF              xcall _delay
 0422                   .dbline 106
 0422           ;               EEPROM_READ(201,set_min);delay(10); 
 0422 81E0              ldi R24,1
 0424 90E0              ldi R25,0
 0426 9983              std y+1,R25
 0428 8883              std y+0,R24
 042A 20E0              ldi R18,<_set_min
 042C 30E0              ldi R19,>_set_min
 042E 09EC              ldi R16,201
 0430 10E0              ldi R17,0
 0432 0E940000          xcall _EEPROMReadBytes
 0436                   .dbline 106
 0436 0AE0              ldi R16,10
 0438 10E0              ldi R17,0
 043A A0DF              xcall _delay
 043C                   .dbline 107
 043C           ;               SREG|=0x80;     
 043C 7894              bset 7
 043E                   .dbline 108
 043E           ;               dpt=1;          
 043E 81E0              ldi R24,1
 0440 80930B00          sts _dpt,R24
 0444                   .dbline 109
 0444           ;               time_flag=0;
 0444 2224              clr R2
 0446 20920900          sts _time_flag,R2
 044A                   .dbline 110
 044A           ;               }
 044A           L74:
 044A                   .dbline 111
 044A           ;               if(dpt==1)      
 044A 80910B00          lds R24,_dpt
 044E 8130              cpi R24,1
 0450 79F4              brne L76
 0452                   .dbline 112
 0452           ;               {
 0452                   .dbline 113
 0452           ;               if((sec==set_sec)&&(min==set_min))LED1_0;
 0452 20900100          lds R2,_set_sec
 0456 30900300          lds R3,_sec
 045A 3214              cp R3,R2
 045C 49F4              brne L78
 045E 20900000          lds R2,_set_min
 0462 30900200          lds R3,_min
 0466 3214              cp R3,R2
 0468 19F4              brne L78
 046A                   .dbline 113
 046A 88B3              in R24,0x18
 046C 8E7F              andi R24,254
 046E 88BB              out 0x18,R24
 0470           L78:
 0470                   .dbline 114
 0470           ;               }
 0470           L76:
 0470                   .dbline 115
 0470           L70:
 0470                   .dbline 93
 0470 9ECF              xjmp L69
 0472           X12:
 0472                   .dbline -2
 0472           L68:
 0472 2296              adiw R28,2
 0474                   .dbline 0 ; func end
 0474 0895              ret
 0476                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile d:\MYDOCU~1\ac11-3\ac11-3.c
 0000           _set_min::
 0000                   .blkb 1
 0001                   .dbsym e set_min _set_min c
 0001           _set_sec::
 0001                   .blkb 1
 0002                   .dbsym e set_sec _set_sec c
 0002           _min::
 0002                   .blkb 1
 0003                   .dbsym e min _min c
 0003           _sec::
 0003                   .blkb 1
 0004                   .dbsym e sec _sec c
 0004           _ms_cnt::
 0004                   .blkb 2
 0006                   .dbsym e ms_cnt _ms_cnt i
 0006           _key_cnt::
 0006                   .blkb 2
 0008                   .dbsym e key_cnt _key_cnt i
 0008           _cnt::
 0008                   .blkb 1
 0009                   .dbsym e cnt _cnt c
 0009           _time_flag::
 0009                   .blkb 1
 000A                   .dbsym e time_flag _time_flag c
 000A           _write_flag::
 000A                   .blkb 1
 000B                   .dbsym e write_flag _write_flag c
 000B           _dpt::
 000B                   .blkb 1
 000C                   .dbsym e dpt _dpt c
 000C           _dpw::
 000C                   .blkb 1
 000D                   .dbsym e dpw _dpw c

⌨️ 快捷键说明

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