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

📄 ds1203.lst

📁 DS1302
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0229 F439      BNE	0x0231
(0103) 		    {WriteTime[i]=0x1f;
    022A E687      LDI	R24,0x67
    022B E090      LDI	R25,0
    022C 01F8      MOVW	R30,R16
    022D 0FE8      ADD	R30,R24
    022E 1FF9      ADC	R31,R25
    022F E18F      LDI	R24,0x1F
    0230 8380      STD	Z+0,R24
(0104) 			} 
(0105) 			if(WriteTime[i]==0x29)
    0231 E687      LDI	R24,0x67
    0232 E090      LDI	R25,0
    0233 01F8      MOVW	R30,R16
    0234 0FE8      ADD	R30,R24
    0235 1FF9      ADC	R31,R25
    0236 8180      LDD	R24,Z+0
    0237 3289      CPI	R24,0x29
    0238 F439      BNE	0x0240
(0106) 			 {WriteTime[i]=0x2f;
    0239 E687      LDI	R24,0x67
    023A E090      LDI	R25,0
    023B 01F8      MOVW	R30,R16
    023C 0FE8      ADD	R30,R24
    023D 1FF9      ADC	R31,R25
    023E E28F      LDI	R24,0x2F
    023F 8380      STD	Z+0,R24
(0107) 			} 
(0108) 	    	if(WriteTime[i]==0x39)
    0240 E687      LDI	R24,0x67
    0241 E090      LDI	R25,0
    0242 01F8      MOVW	R30,R16
    0243 0FE8      ADD	R30,R24
    0244 1FF9      ADC	R31,R25
    0245 8180      LDD	R24,Z+0
    0246 3389      CPI	R24,0x39
    0247 F439      BNE	0x024F
(0109) 		    {WriteTime[i]=0x3f;
    0248 E687      LDI	R24,0x67
    0249 E090      LDI	R25,0
    024A 01F8      MOVW	R30,R16
    024B 0FE8      ADD	R30,R24
    024C 1FF9      ADC	R31,R25
    024D E38F      LDI	R24,0x3F
    024E 8380      STD	Z+0,R24
(0110) 			} 
(0111) 			if(WriteTime[i]==0x49)
    024F E687      LDI	R24,0x67
    0250 E090      LDI	R25,0
    0251 01F8      MOVW	R30,R16
    0252 0FE8      ADD	R30,R24
    0253 1FF9      ADC	R31,R25
    0254 8180      LDD	R24,Z+0
    0255 3489      CPI	R24,0x49
    0256 F439      BNE	0x025E
(0112) 			{WriteTime[i]=0x4f;
    0257 E687      LDI	R24,0x67
    0258 E090      LDI	R25,0
    0259 01F8      MOVW	R30,R16
    025A 0FE8      ADD	R30,R24
    025B 1FF9      ADC	R31,R25
    025C E48F      LDI	R24,0x4F
    025D 8380      STD	Z+0,R24
(0113) 				} 
(0114) 			if(WriteTime[i]==0x59)
    025E E687      LDI	R24,0x67
    025F E090      LDI	R25,0
    0260 01F8      MOVW	R30,R16
    0261 0FE8      ADD	R30,R24
    0262 1FF9      ADC	R31,R25
    0263 8180      LDD	R24,Z+0
    0264 3589      CPI	R24,0x59
    0265 F441      BNE	0x026E
(0115) 			{WriteTime[i]=0x00;
    0266 E687      LDI	R24,0x67
    0267 E090      LDI	R25,0
    0268 01F8      MOVW	R30,R16
    0269 0FE8      ADD	R30,R24
    026A 1FF9      ADC	R31,R25
    026B 2422      CLR	R2
    026C 8220      STD	Z+0,R2
(0116) 				} 
    026D C009      RJMP	0x0277
(0117) 			else
(0118) 			WriteTime[i]=WriteTime[i]+1;
    026E E687      LDI	R24,0x67
    026F E090      LDI	R25,0
    0270 0118      MOVW	R2,R16
    0271 0E28      ADD	R2,R24
    0272 1E39      ADC	R3,R25
    0273 01F1      MOVW	R30,R2
    0274 8180      LDD	R24,Z+0
    0275 5F8F      SUBI	R24,0xFF
    0276 8380      STD	Z+0,R24
    0277 9508      RET
(0119) 		   }
(0120) //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0121) // 设置分钟,秒 减法程序
(0122) //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0123) void SubForSET(int i)           
(0124) 	       {    
(0125) 	        if(WriteTime[i]==0x00)
_SubForSET:
  i                    --> R16
    0278 E687      LDI	R24,0x67
    0279 E090      LDI	R25,0
    027A 01F8      MOVW	R30,R16
    027B 0FE8      ADD	R30,R24
    027C 1FF9      ADC	R31,R25
    027D 8020      LDD	R2,Z+0
    027E 2022      TST	R2
    027F F429      BNE	0x0285
(0126) 			{ WriteTime[i]=0x5a;
    0280 01F8      MOVW	R30,R16
    0281 0FE8      ADD	R30,R24
    0282 1FF9      ADC	R31,R25
    0283 E58A      LDI	R24,0x5A
    0284 8380      STD	Z+0,R24
(0127) 			  }
(0128) 			if(WriteTime[i]==0x10)
    0285 E687      LDI	R24,0x67
    0286 E090      LDI	R25,0
    0287 01F8      MOVW	R30,R16
    0288 0FE8      ADD	R30,R24
    0289 1FF9      ADC	R31,R25
    028A 8180      LDD	R24,Z+0
    028B 3180      CPI	R24,0x10
    028C F439      BNE	0x0294
(0129) 		    {WriteTime[i]=0x0a;
    028D E687      LDI	R24,0x67
    028E E090      LDI	R25,0
    028F 01F8      MOVW	R30,R16
    0290 0FE8      ADD	R30,R24
    0291 1FF9      ADC	R31,R25
    0292 E08A      LDI	R24,0xA
    0293 8380      STD	Z+0,R24
(0130) 			} 
(0131) 			if(WriteTime[i]==0x20)
    0294 E687      LDI	R24,0x67
    0295 E090      LDI	R25,0
    0296 01F8      MOVW	R30,R16
    0297 0FE8      ADD	R30,R24
    0298 1FF9      ADC	R31,R25
    0299 8180      LDD	R24,Z+0
    029A 3280      CPI	R24,0x20
    029B F439      BNE	0x02A3
(0132) 			 {WriteTime[i]=0x1a;
    029C E687      LDI	R24,0x67
    029D E090      LDI	R25,0
    029E 01F8      MOVW	R30,R16
    029F 0FE8      ADD	R30,R24
    02A0 1FF9      ADC	R31,R25
    02A1 E18A      LDI	R24,0x1A
    02A2 8380      STD	Z+0,R24
(0133) 			} 
(0134) 	    	if(WriteTime[i]==0x30)
    02A3 E687      LDI	R24,0x67
    02A4 E090      LDI	R25,0
    02A5 01F8      MOVW	R30,R16
    02A6 0FE8      ADD	R30,R24
    02A7 1FF9      ADC	R31,R25
    02A8 8180      LDD	R24,Z+0
    02A9 3380      CPI	R24,0x30
    02AA F439      BNE	0x02B2
(0135) 		    {WriteTime[i]=0x2a;
    02AB E687      LDI	R24,0x67
    02AC E090      LDI	R25,0
    02AD 01F8      MOVW	R30,R16
    02AE 0FE8      ADD	R30,R24
    02AF 1FF9      ADC	R31,R25
    02B0 E28A      LDI	R24,0x2A
    02B1 8380      STD	Z+0,R24
(0136) 			} 
(0137) 			if(WriteTime[i]==0x40)
    02B2 E687      LDI	R24,0x67
    02B3 E090      LDI	R25,0
    02B4 01F8      MOVW	R30,R16
    02B5 0FE8      ADD	R30,R24
    02B6 1FF9      ADC	R31,R25
    02B7 8180      LDD	R24,Z+0
    02B8 3480      CPI	R24,0x40
    02B9 F439      BNE	0x02C1
(0138) 			{WriteTime[i]=0x3a;
    02BA E687      LDI	R24,0x67
    02BB E090      LDI	R25,0
    02BC 01F8      MOVW	R30,R16
    02BD 0FE8      ADD	R30,R24
    02BE 1FF9      ADC	R31,R25
    02BF E38A      LDI	R24,0x3A
    02C0 8380      STD	Z+0,R24
(0139) 				} 
(0140) 			if(WriteTime[i]==0x50)
    02C1 E687      LDI	R24,0x67
    02C2 E090      LDI	R25,0
    02C3 01F8      MOVW	R30,R16
    02C4 0FE8      ADD	R30,R24
    02C5 1FF9      ADC	R31,R25
    02C6 8180      LDD	R24,Z+0
    02C7 3580      CPI	R24,0x50
    02C8 F441      BNE	0x02D1
(0141) 			{WriteTime[i]=0x49;
    02C9 E687      LDI	R24,0x67
    02CA E090      LDI	R25,0
    02CB 01F8      MOVW	R30,R16
    02CC 0FE8      ADD	R30,R24
    02CD 1FF9      ADC	R31,R25
    02CE E489      LDI	R24,0x49
    02CF 8380      STD	Z+0,R24
(0142) 				} 
    02D0 C009      RJMP	0x02DA
(0143) 			else
(0144) 			WriteTime[i]=WriteTime[i]-1;
    02D1 E687      LDI	R24,0x67
    02D2 E090      LDI	R25,0
    02D3 0118      MOVW	R2,R16
    02D4 0E28      ADD	R2,R24
    02D5 1E39      ADC	R3,R25
    02D6 01F1      MOVW	R30,R2
    02D7 8180      LDD	R24,Z+0
    02D8 5081      SUBI	R24,1
    02D9 8380      STD	Z+0,R24
    02DA 9508      RET
(0145) 		   }		   
(0146) 
(0147) /*cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc*/
(0148) //设置小时加减法子程序
(0149) //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0150) //加法
(0151) void PlusHour(int i)
(0152) {
(0153)            if(WriteTime[i]==0x09)
_PlusHour:
  i                    --> R16
    02DB E687      LDI	R24,0x67
    02DC E090      LDI	R25,0
    02DD 01F8      MOVW	R30,R16
    02DE 0FE8      ADD	R30,R24
    02DF 1FF9      ADC	R31,R25
    02E0 8180      LDD	R24,Z+0
    02E1 3089      CPI	R24,0x9
    02E2 F439      BNE	0x02EA
(0154) 			{ WriteTime[i]=0x0f;
    02E3 E687      LDI	R24,0x67
    02E4 E090      LDI	R25,0
    02E5 01F8      MOVW	R30,R16
    02E6 0FE8      ADD	R30,R24
    02E7 1FF9      ADC	R31,R25
    02E8 E08F      LDI	R24,0xF
    02E9 8380      STD	Z+0,R24
(0155) 			  }
(0156) 			if(WriteTime[i]==0x19)
    02EA E687      LDI	R24,0x67
    02EB E090      LDI	R25,0
    02EC 01F8      MOVW	R30,R16
    02ED 0FE8      ADD	R30,R24
    02EE 1FF9      ADC	R31,R25
    02EF 8180      LDD	R24,Z+0
    02F0 3189      CPI	R24,0x19
    02F1 F439      BNE	0x02F9
(0157) 		    {WriteTime[i]=0x1f;
    02F2 E687      LDI	R24,0x67
    02F3 E090      LDI	R25,0
    02F4 01F8      MOVW	R30,R16
    02F5 0FE8      ADD	R30,R24
    02F6 1FF9      ADC	R31,R25
    02F7 E18F      LDI	R24,0x1F
    02F8 8380      STD	Z+0,R24
(0158) 			} 
(0159) 			if(WriteTime[i]==0x23)
    02F9 E687      LDI	R24,0x67
    02FA E090      LDI	R25,0
    02FB 01F8      MOVW	R30,R16
    02FC 0FE8      ADD	R30,R24
    02FD 1FF9      ADC	R31,R25
    02FE 8180      LDD	R24,Z+0
    02FF 3283      CPI	R24,0x23
    0300 F441      BNE	0x0309
(0160) 			 {WriteTime[i]=0x00;
    0301 E687      LDI	R24,0x67
    0302 E090      LDI	R25,0
    0303 01F8      MOVW	R30,R16
    0304 0FE8      ADD	R30,R24
    0305 1FF9      ADC	R31,R25
    0306 2422      CLR	R2
    0307 8220      STD	Z+0,R2
(0161) 			} 
    0308 C009      RJMP	0x0312
(0162) 			else
(0163) 			WriteTime[i]=WriteTime[i]+1;
    0309 E687      LDI	R24,0x67
    030A E090      LDI	R25,0
    030B 0118      MOVW	R2,R16
    030C 0E28      ADD	R2,R24
    030D 1E39      ADC	R3,R25
    030E 01F1      MOVW	R30,R2
    030F 8180      LDD	R24,Z+0
    0310 5F8F      SUBI	R24,0xFF
    0311 8380      STD	Z+0,R24
    0312 9508      RET
(0164) }
(0165) //减法
(0166) void SubHour(int i)
(0167) {          
(0168)             if(WriteTime[i]==0x00)
_SubHour:
  i                    --> R16
    0313 E687      LDI	R24,0x67
    0314 E090      LDI	R25,0
    0315 01F8      MOVW	R30,R16
    0316 0FE8      ADD	R30,R24
    0317 1FF9      ADC	R31,R25
    0318 8020      LDD	R2,Z+0
    0319 2022      TST	R2
    031A F429      BNE	0x0320
(0169) 			{ WriteTime[i]=0x24;
    031B 01F8      MOVW	R30,R16
    031C 0FE8      ADD	R30,R24
    031D 1FF9      ADC	R31,R25
    031E E284      LDI	R24,0x24
    031F 8380      STD	Z+0,R24
(0170) 			  }
(0171) 			if(WriteTime[i]==0x10)
    0320 E687      LDI	R24,0x67
    0321 E090      LDI	R25,0
    0322 01F8      MOVW	R30,R16
    0323 0FE8      ADD	R30,R24
    0324 1FF9      ADC	R31,R25
    0325 8180      LDD	R24,Z+0
    0326 3180      CPI	R24,0x10
    0327 F439      BNE	0x032F
(0172) 		    {WriteTime[i]=0x0a;
    0328 E687      LDI	R24,0x67
    0329 E090      LDI	R25,0
    032A 01F8      MOVW	R30,R16
    032B 0FE8      ADD	R30,R24
    032C 1FF9      ADC	R31,R25
    032D E08A      LDI	R24,0xA
    032E 8380      STD	Z+0,R24
(0173) 			} 
(0174) 			if(WriteTime[i]==0x20)
    032F E687      LDI	R24,0x67
    0330 E090      LDI	R25,0
    0331 01F8      MOVW	R30,R16
    0332 0FE8      ADD	R30,R24
    0333 1FF9      ADC	R31,R25
    0334 8180      LDD	R24,Z+0
    0335 3280      CPI	R24,0x20
    0336 F441      BNE	0x033F
(0175) 			 {WriteTime[i]=0x19;
    0337 E687      LDI	R24,0x67
    0338 E090      LDI	R25,0
    0339 01F8      MOVW	R30,R16
    033A 0FE8      ADD	R30,R24
    033B 1FF9      ADC	R31,R25
    033C E189      LDI	R24,0x19
    033D 8380      STD	Z+0,R24
(0176) 			}
    033E C009      RJMP	0x0348
(0177) 			else
(0178) 			WriteTime[i]=WriteTime[i]-1;
    033F E687      LDI	R24,0x67
    0340 E090      LDI	R25,0
    0341 0118      MOVW	R2,R16
    0342 0E28      ADD	R2,R24
    0343 1E39      ADC	R3,R25
    0344 01F1      MOVW	R30,R2
    0345 8180      LDD	R24,Z+0
    0346 5081      SUBI	R24,1
    0347 8380      STD	Z+0,R24
    0348 9508      RET
(0179) }
(0180) //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0181) //设置日期,子程序
(0182) //cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
(0183) //日期加法
(0184) void PlusDay(int i)
(0185) {           if(WriteTime[i]==0x09)
_PlusDay:
  i                    --> R16
    0349 E687      LDI	R24,0x67
    034A E090      LDI	R25,0
    034B 01F8      MOVW	R30,R16
    034C 0FE8      ADD	R30,R24
    034D 1FF9      ADC	R31,R25
    034E 8180      LDD	R24,Z+0
    034F 3089      CPI	R24,0x9
    0350 F439      BNE	0x0358
(0186) 			{ WriteTime[i]=0x0f;
    0351 E687      LDI	R24,0x67
    0352 E090      LDI	R25,0
    0353 01F8      MOVW	R30,R16
    0354 0FE8      ADD	R30,R24
    0355 1FF9      ADC	R31,R25
    0356 E08F      LDI	R24,0xF
    0357 8380      STD	Z+0,R24
(0187) 			  }
(0188) 			if(WriteTime[i]==0x19)
    0358 E687      LDI	R24,0x67
    0359 E090      LDI	R25,0
    035A 01F8      MOVW	R30,R16

⌨️ 快捷键说明

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