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

📄 ac11-3.lst

📁 AVR学习资料
💻 LST
📖 第 1 页 / 共 2 页
字号:
    01BA C046      RJMP	0x0201
(0071)  {
(0072)  if(S1==0){sec++;if(sec>59)sec=0;}
    01BB 9984      SBIC	0x10,4
    01BC C00D      RJMP	0x01CA
    01BD 91800063  LDS	R24,sec
    01BF 5F8F      SUBI	R24,0xFF
    01C0 93800063  STS	sec,R24
    01C2 E38B      LDI	R24,0x3B
    01C3 90200063  LDS	R2,sec
    01C5 1582      CP	R24,R2
    01C6 F418      BCC	0x01CA
    01C7 2422      CLR	R2
    01C8 92200063  STS	sec,R2
(0073)  if(S2==0){min++;if(min>59)min=0;}
    01CA 9985      SBIC	0x10,5
    01CB C00D      RJMP	0x01D9
    01CC 91800062  LDS	R24,min
    01CE 5F8F      SUBI	R24,0xFF
    01CF 93800062  STS	min,R24
    01D1 E38B      LDI	R24,0x3B
    01D2 90200062  LDS	R2,min
    01D4 1582      CP	R24,R2
    01D5 F418      BCC	0x01D9
    01D6 2422      CLR	R2
    01D7 92200062  STS	min,R2
(0074)  if(S3==0){set_sec++;if(set_sec>59)set_sec=0;} 
    01D9 9986      SBIC	0x10,6
    01DA C00D      RJMP	0x01E8
    01DB 91800061  LDS	R24,set_sec
    01DD 5F8F      SUBI	R24,0xFF
    01DE 93800061  STS	set_sec,R24
    01E0 E38B      LDI	R24,0x3B
    01E1 90200061  LDS	R2,set_sec
    01E3 1582      CP	R24,R2
    01E4 F418      BCC	0x01E8
    01E5 2422      CLR	R2
    01E6 92200061  STS	set_sec,R2
(0075)  if(S4==0){set_min++;if(set_min>59)set_min=0;} 
    01E8 9987      SBIC	0x10,7
    01E9 C00D      RJMP	0x01F7
    01EA 91800060  LDS	R24,set_min
    01EC 5F8F      SUBI	R24,0xFF
    01ED 93800060  STS	set_min,R24
    01EF E38B      LDI	R24,0x3B
    01F0 90200060  LDS	R2,set_min
    01F2 1582      CP	R24,R2
    01F3 F418      BCC	0x01F7
    01F4 2422      CLR	R2
    01F5 92200060  STS	set_min,R2
(0076)  if(SINT0==0){time_flag=1;} 
    01F7 9982      SBIC	0x10,2
    01F8 C003      RJMP	0x01FC
    01F9 E081      LDI	R24,1
    01FA 93800069  STS	time_flag,R24
(0077)  if(SINT1==0){write_flag=1;}
    01FC 9983      SBIC	0x10,3
    01FD C003      RJMP	0x0201
    01FE E081      LDI	R24,1
    01FF 9380006A  STS	write_flag,R24
(0078)  }
    0201 940E02D8  CALL	pop_gset1
    0203 9029      LD	R2,Y+
    0204 BE2F      OUT	0x3F,R2
    0205 91F9      LD	R31,Y+
    0206 91E9      LD	R30,Y+
    0207 9199      LD	R25,Y+
    0208 9189      LD	R24,Y+
    0209 9139      LD	R19,Y+
    020A 9129      LD	R18,Y+
    020B 9119      LD	R17,Y+
    020C 9109      LD	R16,Y+
    020D 9039      LD	R3,Y+
    020E 9029      LD	R2,Y+
    020F 9518      RETI
_delay:
  i                    --> R20
  j                    --> R22
  k                    --> R16
    0210 940E02D3  CALL	push_gset2
(0079) }
(0080) /***********************/
(0081) void delay(uint k)	
(0082) {
(0083) uint i,j;
(0084) 	 for(i=0;i<k;i++)
    0212 2744      CLR	R20
    0213 2755      CLR	R21
    0214 C00B      RJMP	0x0220
(0085) 	 {	 
(0086) 	 for(j=0;j<140;j++); 
    0215 2766      CLR	R22
    0216 2777      CLR	R23
    0217 C002      RJMP	0x021A
    0218 5F6F      SUBI	R22,0xFF
    0219 4F7F      SBCI	R23,0xFF
    021A 386C      CPI	R22,0x8C
    021B E0E0      LDI	R30,0
    021C 077E      CPC	R23,R30
    021D F3D0      BCS	0x0218
    021E 5F4F      SUBI	R20,0xFF
    021F 4F5F      SBCI	R21,0xFF
    0220 1740      CP	R20,R16
    0221 0751      CPC	R21,R17
    0222 F390      BCS	0x0215
    0223 940E02C7  CALL	pop_gset2
    0225 9508      RET
_main:
    0226 9722      SBIW	R28,2
(0087) 	 }
(0088) }
(0089) /***********************/
(0090) void main(void)	
(0091) {	 					
(0092) init_devices();		
    0227 DE3C      RCALL	_init_devices
    0228 C061      RJMP	0x028A
(0093)   while(1)			
(0094)   {						
(0095)    		if(write_flag==1) 
    0229 9180006A  LDS	R24,write_flag
    022B 3081      CPI	R24,1
    022C F519      BNE	0x0250
(0096) 		{SREG=0x00;	
    022D 2422      CLR	R2
    022E BE2F      OUT	0x3F,R2
(0097) 		EEPROM_WRITE(200,set_sec);delay(10); 
    022F E081      LDI	R24,1
    0230 E090      LDI	R25,0
    0231 8399      STD	Y+1,R25
    0232 8388      STD	Y+0,R24
    0233 E621      LDI	R18,0x61
    0234 E030      LDI	R19,0
    0235 EC08      LDI	R16,0xC8
    0236 E010      LDI	R17,0
    0237 940E0326  CALL	_EEPROMWriteBytes
    0239 E00A      LDI	R16,0xA
    023A E010      LDI	R17,0
    023B DFD4      RCALL	_delay
(0098) 		EEPROM_WRITE(201,set_min);delay(10); 
    023C E081      LDI	R24,1
    023D E090      LDI	R25,0
    023E 8399      STD	Y+1,R25
    023F 8388      STD	Y+0,R24
    0240 E620      LDI	R18,0x60
    0241 E030      LDI	R19,0
    0242 EC09      LDI	R16,0xC9
    0243 E010      LDI	R17,0
    0244 940E0326  CALL	_EEPROMWriteBytes
    0246 E00A      LDI	R16,0xA
    0247 E010      LDI	R17,0
    0248 DFC7      RCALL	_delay
(0099) 		write_flag=0;	
    0249 2422      CLR	R2
    024A 9220006A  STS	write_flag,R2
(0100) 		dpw=1;			
    024C E081      LDI	R24,1
    024D 9380006C  STS	dpw,R24
(0101) 		SREG|=0x80;
    024F 9478      BSET	7
(0102) 		}
(0103) 		if(time_flag==1)
    0250 91800069  LDS	R24,time_flag
    0252 3081      CPI	R24,1
    0253 F519      BNE	0x0277
(0104) 		{SREG=0x00;		
    0254 2422      CLR	R2
    0255 BE2F      OUT	0x3F,R2
(0105) 		EEPROM_READ(200,set_sec);delay(10);
    0256 E081      LDI	R24,1
    0257 E090      LDI	R25,0
    0258 8399      STD	Y+1,R25
    0259 8388      STD	Y+0,R24
    025A E621      LDI	R18,0x61
    025B E030      LDI	R19,0
    025C EC08      LDI	R16,0xC8
    025D E010      LDI	R17,0
    025E 940E0302  CALL	_EEPROMReadBytes
    0260 E00A      LDI	R16,0xA
    0261 E010      LDI	R17,0
    0262 DFAD      RCALL	_delay
(0106) 		EEPROM_READ(201,set_min);delay(10); 
    0263 E081      LDI	R24,1
    0264 E090      LDI	R25,0
    0265 8399      STD	Y+1,R25
    0266 8388      STD	Y+0,R24
    0267 E620      LDI	R18,0x60
    0268 E030      LDI	R19,0
    0269 EC09      LDI	R16,0xC9
    026A E010      LDI	R17,0
    026B 940E0302  CALL	_EEPROMReadBytes
    026D E00A      LDI	R16,0xA
    026E E010      LDI	R17,0
    026F DFA0      RCALL	_delay
(0107) 		SREG|=0x80;	
    0270 9478      BSET	7
(0108) 		dpt=1;		
    0271 E081      LDI	R24,1
    0272 9380006B  STS	dpt,R24
(0109) 		time_flag=0;
    0274 2422      CLR	R2
    0275 92200069  STS	time_flag,R2
(0110) 		}
(0111) 		if(dpt==1)	
    0277 9180006B  LDS	R24,dpt
    0279 3081      CPI	R24,1
    027A F479      BNE	0x028A
(0112) 		{
(0113) 		if((sec==set_sec)&&(min==set_min))LED1_0;
FILE: <library>
    027B 90200061  LDS	R2,set_sec
    027D 90300063  LDS	R3,sec
    027F 1432      CP	R3,R2
    0280 F449      BNE	0x028A
    0281 90200060  LDS	R2,set_min
    0283 90300062  LDS	R3,min
    0285 1432      CP	R3,R2
    0286 F419      BNE	0x028A
    0287 B388      IN	R24,0x18
    0288 7F8E      ANDI	R24,0xFE
    0289 BB88      OUT	0x18,R24
    028A CF9E      RJMP	0x0229
    028B 9622      ADIW	R28,2
    028C 9508      RET
mod16s:
    028D 9468      BSET	6
    028E 92DA      ST	R13,-Y
    028F 2ED1      MOV	R13,R17
    0290 C004      RJMP	0x0295
div16s:
    0291 94E8      BCLR	6
    0292 92DA      ST	R13,-Y
    0293 2ED1      MOV	R13,R17
    0294 26D3      EOR	R13,R19
    0295 FF17      SBRS	R17,7
    0296 C004      RJMP	0x029B
    0297 9510      COM	R17
    0298 9500      COM	R16
    0299 5F0F      SUBI	R16,0xFF
    029A 4F1F      SBCI	R17,0xFF
    029B FF37      SBRS	R19,7
    029C C004      RJMP	0x02A1
    029D 9530      COM	R19
    029E 9520      COM	R18
    029F 5F2F      SUBI	R18,0xFF
    02A0 4F3F      SBCI	R19,0xFF
    02A1 940E02AE  CALL	xdiv16u
    02A3 FED7      SBRS	R13,7
    02A4 C004      RJMP	0x02A9
    02A5 9510      COM	R17
    02A6 9500      COM	R16
    02A7 5F0F      SUBI	R16,0xFF
    02A8 4F1F      SBCI	R17,0xFF
    02A9 90D9      LD	R13,Y+
    02AA 9508      RET
mod16u:
    02AB 9468      BSET	6
    02AC C001      RJMP	xdiv16u
div16u:
    02AD 94E8      BCLR	6
xdiv16u:
    02AE 92EA      ST	R14,-Y
    02AF 92FA      ST	R15,-Y
    02B0 938A      ST	R24,-Y
    02B1 24EE      CLR	R14
    02B2 24FF      CLR	R15
    02B3 E180      LDI	R24,0x10
    02B4 0F00      LSL	R16
    02B5 1F11      ROL	R17
    02B6 1CEE      ROL	R14
    02B7 1CFF      ROL	R15
    02B8 16E2      CP	R14,R18
    02B9 06F3      CPC	R15,R19
    02BA F018      BCS	0x02BE
    02BB 1AE2      SUB	R14,R18
    02BC 0AF3      SBC	R15,R19
    02BD 9503      INC	R16
    02BE 958A      DEC	R24
    02BF F7A1      BNE	0x02B4
    02C0 F416      BRTC	0x02C3
    02C1 2D0E      MOV	R16,R14
    02C2 2D1F      MOV	R17,R15
    02C3 9189      LD	R24,Y+
    02C4 90F9      LD	R15,Y+
    02C5 90E9      LD	R14,Y+
    02C6 9508      RET
pop_gset2:
    02C7 E0E2      LDI	R30,2
    02C8 940C02D9  JMP	pop
pop_gset4:
    02CA E0E8      LDI	R30,0x8
    02CB 940C02D9  JMP	pop
push_gset5:
    02CD 92FA      ST	R15,-Y
    02CE 92EA      ST	R14,-Y
push_gset4:
    02CF 92DA      ST	R13,-Y
    02D0 92CA      ST	R12,-Y
push_gset3:
    02D1 92BA      ST	R11,-Y
    02D2 92AA      ST	R10,-Y
push_gset2:
    02D3 937A      ST	R23,-Y
    02D4 936A      ST	R22,-Y
push_gset1:
    02D5 935A      ST	R21,-Y
    02D6 934A      ST	R20,-Y
    02D7 9508      RET
pop_gset1:
    02D8 E0E1      LDI	R30,1
pop:
    02D9 9149      LD	R20,Y+
    02DA 9159      LD	R21,Y+
    02DB FDE0      SBRC	R30,0
    02DC 9508      RET
    02DD 9169      LD	R22,Y+
    02DE 9179      LD	R23,Y+
    02DF FDE1      SBRC	R30,1
    02E0 9508      RET
    02E1 90A9      LD	R10,Y+
    02E2 90B9      LD	R11,Y+
    02E3 FDE2      SBRC	R30,2
    02E4 9508      RET
    02E5 90C9      LD	R12,Y+
    02E6 90D9      LD	R13,Y+
    02E7 FDE3      SBRC	R30,3
    02E8 9508      RET
    02E9 90E9      LD	R14,Y+
    02EA 90F9      LD	R15,Y+
    02EB 9508      RET
_EEPROMread:
    02EC BB1F      OUT	0x1F,R17
    02ED BB0E      OUT	0x1E,R16
    02EE 9AE0      SBI	0x1C,0
    02EF B30D      IN	R16,0x1D
    02F0 9508      RET
_EEPROMwrite:
    02F1 940E02D5  CALL	push_gset1
    02F3 BB1F      OUT	0x1F,R17
    02F4 BB0E      OUT	0x1E,R16
    02F5 BB2D      OUT	0x1D,R18
    02F6 B74F      IN	R20,0x3F
    02F7 94F8      BCLR	7
    02F8 9AE2      SBI	0x1C,2
    02F9 9AE1      SBI	0x1C,1
    02FA 99E1      SBIC	0x1C,1
    02FB CFFE      RJMP	0x02FA
    02FC BF4F      OUT	0x3F,R20
    02FD 2700      CLR	R16
    02FE 2711      CLR	R17
    02FF 940E02D8  CALL	pop_gset1
    0301 9508      RET
_EEPROMReadBytes:
    0302 940E02CF  CALL	push_gset4
    0304 2EC2      MOV	R12,R18
    0305 2ED3      MOV	R13,R19
    0306 2EA0      MOV	R10,R16
    0307 2EB1      MOV	R11,R17
    0308 8568      LDD	R22,Y+8
    0309 8579      LDD	R23,Y+9
    030A 2D4C      MOV	R20,R12
    030B 2D5D      MOV	R21,R13
    030C C00E      RJMP	0x031B
    030D 2D0A      MOV	R16,R10
    030E 2D1B      MOV	R17,R11
    030F 940E02EC  CALL	_EEPROMread
    0311 2FE4      MOV	R30,R20
    0312 2FF5      MOV	R31,R21
    0313 8300      STD	Z+0,R16
    0314 2D8A      MOV	R24,R10
    0315 2D9B      MOV	R25,R11
    0316 9601      ADIW	R24,1
    0317 2EA8      MOV	R10,R24
    0318 2EB9      MOV	R11,R25
    0319 5F4F      SUBI	R20,0xFF
    031A 4F5F      SBCI	R21,0xFF
    031B 2E26      MOV	R2,R22
    031C 2E37      MOV	R3,R23
    031D 5061      SUBI	R22,1
    031E 4070      SBCI	R23,0
    031F 2022      TST	R2
    0320 F761      BNE	0x030D
    0321 2033      TST	R3
    0322 F751      BNE	0x030D
    0323 940E02CA  CALL	pop_gset4
    0325 9508      RET
_EEPROMWriteBytes:
    0326 940E02CF  CALL	push_gset4
    0328 2EC2      MOV	R12,R18
    0329 2ED3      MOV	R13,R19
    032A 2EA0      MOV	R10,R16
    032B 2EB1      MOV	R11,R17
    032C 8568      LDD	R22,Y+8
    032D 8579      LDD	R23,Y+9
    032E 2D4C      MOV	R20,R12
    032F 2D5D      MOV	R21,R13
    0330 C00E      RJMP	0x033F
    0331 2FE4      MOV	R30,R20
    0332 2FF5      MOV	R31,R21
    0333 8120      LDD	R18,Z+0
    0334 2D0A      MOV	R16,R10
    0335 2D1B      MOV	R17,R11
    0336 940E02F1  CALL	_EEPROMwrite
    0338 2D8A      MOV	R24,R10
    0339 2D9B      MOV	R25,R11
    033A 9601      ADIW	R24,1
    033B 2EA8      MOV	R10,R24
    033C 2EB9      MOV	R11,R25
    033D 5F4F      SUBI	R20,0xFF
    033E 4F5F      SBCI	R21,0xFF
    033F 2E26      MOV	R2,R22
    0340 2E37      MOV	R3,R23
    0341 5061      SUBI	R22,1
    0342 4070      SBCI	R23,0
    0343 2022      TST	R2
    0344 F761      BNE	0x0331
    0345 2033      TST	R3
    0346 F751      BNE	0x0331
    0347 940E02CA  CALL	pop_gset4
    0349 9508      RET

⌨️ 快捷键说明

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