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

📄 ds1302.lst

📁 avr关于1302和18b20的程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
 1244               	.LM197:
 1245 0434 E32F      		mov r30,r19
 1246 0436 FF27      		clr r31
 1247 0438 E050      		subi r30,lo8(-(display_code))
 1248 043a F040      		sbci r31,hi8(-(display_code))
 1249               	/* #APP */
 1250 043c 8491      		lpm r24, Z
 1251               		
 1252               	/* #NOAPP */
 1253               	.LBE19:
 1254 043e 8093 0000 		sts display_buffer+7,r24
 1255               	/* epilogue: frame size=0 */
 1256 0442 0895      		ret
 1257               	/* epilogue end (size=1) */
 1258               	/* function display_timer size 77 (76) */
 1278               	.Lscope9:
 1280               	.global	check_timer
 1282               	check_timer:
 250:ds1302.c      **** }
 251:ds1302.c      **** void check_timer(void)
 252:ds1302.c      **** {
 1284               	.LM198:
 1285               	/* prologue: frame size=0 */
 1286               	/* prologue end (size=0) */
 253:ds1302.c      **** 	if(timer0_hour) flag|=1<<timer0_available;
 1288               	.LM199:
 1289 0444 E091 0000 		lds r30,timer0_hour
 1290 0448 EE23      		tst r30
 1291 044a 31F0      		breq .L51
 1293               	.LM200:
 1294 044c 8091 0000 		lds r24,flag
 1295 0450 8460      		ori r24,lo8(4)
 1296 0452 8093 0000 		sts flag,r24
 1297 0456 0BC0      		rjmp .L52
 1298               	.L51:
 254:ds1302.c      **** 	else if(timer0_minute) flag|=1<<timer0_available;
 1300               	.LM201:
 1301 0458 8091 0000 		lds r24,timer0_minute
 1302 045c 9091 0000 		lds r25,flag
 1303 0460 8823      		tst r24
 1304 0462 11F0      		breq .L53
 1305 0464 9460      		ori r25,lo8(4)
 1306 0466 01C0      		rjmp .L93
 1307               	.L53:
 255:ds1302.c      **** 	else flag&=~(1<<timer0_available);
 1309               	.LM202:
 1310 0468 9B7F      		andi r25,lo8(-5)
 1311               	.L93:
 1312 046a 9093 0000 		sts flag,r25
 1313               	.L52:
 256:ds1302.c      **** 
 257:ds1302.c      **** 	if(timer1_hour) flag|=1<<timer1_available;
 1315               	.LM203:
 1316 046e 7091 0000 		lds r23,timer1_hour
 1317 0472 7723      		tst r23
 1318 0474 31F0      		breq .L55
 1319 0476 8091 0000 		lds r24,flag
 1320 047a 8860      		ori r24,lo8(8)
 1321 047c 8093 0000 		sts flag,r24
 1322 0480 0BC0      		rjmp .L56
 1323               	.L55:
 258:ds1302.c      **** 	else if(timer1_minute) flag|=1<<timer1_available;
 1325               	.LM204:
 1326 0482 8091 0000 		lds r24,timer1_minute
 1327 0486 9091 0000 		lds r25,flag
 1328 048a 8823      		tst r24
 1329 048c 11F0      		breq .L57
 1330 048e 9860      		ori r25,lo8(8)
 1331 0490 01C0      		rjmp .L94
 1332               	.L57:
 259:ds1302.c      **** 	else flag&=~(1<<timer1_available);
 1334               	.LM205:
 1335 0492 977F      		andi r25,lo8(-9)
 1336               	.L94:
 1337 0494 9093 0000 		sts flag,r25
 1338               	.L56:
 260:ds1302.c      **** 
 261:ds1302.c      **** 	if(timer2_hour) flag|=1<<timer2_available;
 1340               	.LM206:
 1341 0498 6091 0000 		lds r22,timer2_hour
 1342 049c 6623      		tst r22
 1343 049e 31F0      		breq .L59
 1344 04a0 8091 0000 		lds r24,flag
 1345 04a4 8061      		ori r24,lo8(16)
 1346 04a6 8093 0000 		sts flag,r24
 1347 04aa 0BC0      		rjmp .L60
 1348               	.L59:
 262:ds1302.c      **** 	else if(timer2_minute) flag|=1<<timer2_available;
 1350               	.LM207:
 1351 04ac 8091 0000 		lds r24,timer2_minute
 1352 04b0 9091 0000 		lds r25,flag
 1353 04b4 8823      		tst r24
 1354 04b6 11F0      		breq .L61
 1355 04b8 9061      		ori r25,lo8(16)
 1356 04ba 01C0      		rjmp .L95
 1357               	.L61:
 263:ds1302.c      **** 	else flag&=~(1<<timer2_available);
 1359               	.LM208:
 1360 04bc 9F7E      		andi r25,lo8(-17)
 1361               	.L95:
 1362 04be 9093 0000 		sts flag,r25
 1363               	.L60:
 264:ds1302.c      **** 
 265:ds1302.c      **** 	if(timer3_hour) flag|=1<<timer3_available;
 1365               	.LM209:
 1366 04c2 5091 0000 		lds r21,timer3_hour
 1367 04c6 5523      		tst r21
 1368 04c8 31F0      		breq .L63
 1369 04ca 8091 0000 		lds r24,flag
 1370 04ce 8062      		ori r24,lo8(32)
 1371 04d0 8093 0000 		sts flag,r24
 1372 04d4 0BC0      		rjmp .L64
 1373               	.L63:
 266:ds1302.c      **** 	else if(timer3_minute) flag|=1<<timer3_available;
 1375               	.LM210:
 1376 04d6 8091 0000 		lds r24,timer3_minute
 1377 04da 9091 0000 		lds r25,flag
 1378 04de 8823      		tst r24
 1379 04e0 11F0      		breq .L65
 1380 04e2 9062      		ori r25,lo8(32)
 1381 04e4 01C0      		rjmp .L96
 1382               	.L65:
 267:ds1302.c      **** 	else flag&=~(1<<timer3_available);
 1384               	.LM211:
 1385 04e6 9F7D      		andi r25,lo8(-33)
 1386               	.L96:
 1387 04e8 9093 0000 		sts flag,r25
 1388               	.L64:
 268:ds1302.c      **** 
 269:ds1302.c      **** 	if(timer4_hour) flag|=1<<timer4_available;
 1390               	.LM212:
 1391 04ec 4091 0000 		lds r20,timer4_hour
 1392 04f0 4423      		tst r20
 1393 04f2 31F0      		breq .L67
 1394 04f4 8091 0000 		lds r24,flag
 1395 04f8 8064      		ori r24,lo8(64)
 1396 04fa 8093 0000 		sts flag,r24
 1397 04fe 0BC0      		rjmp .L68
 1398               	.L67:
 270:ds1302.c      **** 	else if(timer4_minute) flag|=1<<timer4_available;
 1400               	.LM213:
 1401 0500 8091 0000 		lds r24,timer4_minute
 1402 0504 9091 0000 		lds r25,flag
 1403 0508 8823      		tst r24
 1404 050a 11F0      		breq .L69
 1405 050c 9064      		ori r25,lo8(64)
 1406 050e 01C0      		rjmp .L97
 1407               	.L69:
 271:ds1302.c      **** 	else flag&=~(1<<timer4_available);
 1409               	.LM214:
 1410 0510 9F7B      		andi r25,lo8(-65)
 1411               	.L97:
 1412 0512 9093 0000 		sts flag,r25
 1413               	.L68:
 272:ds1302.c      **** 
 273:ds1302.c      **** 	if(timer5_hour) flag|=1<<timer5_available;
 1415               	.LM215:
 1416 0516 3091 0000 		lds r19,timer5_hour
 1417 051a 3323      		tst r19
 1418 051c 31F0      		breq .L71
 1419 051e 8091 0000 		lds r24,flag
 1420 0522 8068      		ori r24,lo8(-128)
 1421 0524 8093 0000 		sts flag,r24
 1422 0528 0BC0      		rjmp .L72
 1423               	.L71:
 274:ds1302.c      **** 	else if(timer5_minute) flag|=1<<timer5_available;
 1425               	.LM216:
 1426 052a 8091 0000 		lds r24,timer5_minute
 1427 052e 9091 0000 		lds r25,flag
 1428 0532 8823      		tst r24
 1429 0534 11F0      		breq .L73
 1430 0536 9068      		ori r25,lo8(-128)
 1431 0538 01C0      		rjmp .L98
 1432               	.L73:
 275:ds1302.c      **** 	else flag&=~(1<<timer5_available);
 1434               	.LM217:
 1435 053a 9F77      		andi r25,lo8(127)
 1436               	.L98:
 1437 053c 9093 0000 		sts flag,r25
 1438               	.L72:
 276:ds1302.c      **** 
 277:ds1302.c      **** 	if(flag&(1<<timer0_available))
 1440               	.LM218:
 1441 0540 2091 0000 		lds r18,flag
 1442 0544 22FF      		sbrs r18,2
 1443 0546 0DC0      		rjmp .L75
 278:ds1302.c      **** 	{
 279:ds1302.c      **** 		if(timer0_hour==hour)
 1445               	.LM219:
 1446 0548 8091 0000 		lds r24,hour
 1447 054c E817      		cp r30,r24
 1448 054e 49F4      		brne .L75
 280:ds1302.c      **** 		{
 281:ds1302.c      **** 			if(timer0_minute==minute) flag|=1<<buzzer_flag;
 1450               	.LM220:
 1451 0550 9091 0000 		lds r25,timer0_minute
 1452 0554 8091 0000 		lds r24,minute
 1453 0558 9817      		cp r25,r24
 1454 055a 19F4      		brne .L75
 1455 055c 2260      		ori r18,lo8(2)
 1456 055e 2093 0000 		sts flag,r18
 1457               	.L75:
 282:ds1302.c      **** 		}
 283:ds1302.c      **** 	}	
 284:ds1302.c      **** 	
 285:ds1302.c      **** 	if(flag&(1<<timer1_available))
 1459               	.LM221:
 1460 0562 2091 0000 		lds r18,flag
 1461 0566 23FF      		sbrs r18,3
 1462 0568 0DC0      		rjmp .L78
 286:ds1302.c      **** 	{
 287:ds1302.c      **** 		if(timer1_hour==hour)
 1464               	.LM222:
 1465 056a 8091 0000 		lds r24,hour
 1466 056e 7817      		cp r23,r24
 1467 0570 49F4      		brne .L78
 288:ds1302.c      **** 		{
 289:ds1302.c      **** 			if(timer1_minute==minute) flag|=1<<buzzer_flag;
 1469               	.LM223:
 1470 0572 9091 0000 		lds r25,timer1_minute
 1471 0576 8091 0000 		lds r24,minute
 1472 057a 9817      		cp r25,r24
 1473 057c 19F4      		brne .L78
 1474 057e 2260      		ori r18,lo8(2)
 1475 0580 2093 0000 		sts flag,r18
 1476               	.L78:
 290:ds1302.c      **** 		}
 291:ds1302.c      **** 	}
 292:ds1302.c      **** 	
 293:ds1302.c      **** 	if(flag&(1<<timer2_available))
 1478               	.LM224:
 1479 0584 2091 0000 		lds r18,flag
 1480 0588 24FF      		sbrs r18,4
 1481 058a 0DC0      		rjmp .L81
 294:ds1302.c      **** 	{
 295:ds1302.c      **** 		if(timer2_hour==hour)
 1483               	.LM225:
 1484 058c 8091 0000 		lds r24,hour
 1485 0590 6817      		cp r22,r24
 1486 0592 49F4      		brne .L81
 296:ds1302.c      **** 		{
 297:ds1302.c      **** 			if(timer2_minute==minute) flag|=1<<buzzer_flag;
 1488               	.LM226:
 1489 0594 9091 0000 		lds r25,timer2_minute
 1490 0598 8091 0000 		lds r24,minute
 1491 059c 9817      		cp r25,r24
 1492 059e 19F4      		brne .L81
 1493 05a0 2260      		ori r18,lo8(2)
 1494 05a2 2093 0000 		sts flag,r18
 1495               	.L81:
 298:ds1302.c      **** 		}
 299:ds1302.c      **** 	}
 300:ds1302.c      **** 	
 301:ds1302.c      **** 	if(flag&(1<<timer3_available))
 1497               	.LM227:
 1498 05a6 2091 0000 		lds r18,flag
 1499 05aa 25FF      		sbrs r18,5
 1500 05ac 0DC0      		rjmp .L84
 302:ds1302.c      **** 	{
 303:ds1302.c      **** 		if(timer3_hour==hour)
 1502               	.LM228:
 1503 05ae 8091 0000 		lds r24,hour
 1504 05b2 5817      		cp r21,r24
 1505 05b4 49F4      		brne .L84
 304:ds1302.c      **** 		{
 305:ds1302.c      **** 			if(timer3_minute==minute) flag|=1<<buzzer_flag;
 1507               	.LM229:
 1508 05b6 9091 0000 		lds r25,timer3_minute
 1509 05ba 8091 0000 		lds r24,minute
 1510 05be 9817      		cp r25,r24
 1511 05c0 19F4      		brne .L84
 1512 05c2 2260      		ori r18,lo8(2)
 1513 05c4 2093 0000 		sts flag,r18
 1514               	.L84:
 306:ds1302.c      **** 		}
 307:ds1302.c      **** 	}
 308:ds1302.c      **** 	
 309:ds1302.c      **** 	if(flag&(1<<timer4_available))
 1516               	.LM230:
 1517 05c8 2091 0000 		lds r18,flag
 1518 05cc 26FF      		sbrs r18,6
 1519 05ce 0DC0      		rjmp .L87
 310:ds1302.c      **** 	{
 311:ds1302.c      **** 		if(timer4_hour==hour)
 1521               	.LM231:
 1522 05d0 8091 0000 		lds r24,hour
 1523 05d4 4817      		cp r20,r24
 1524 05d6 49F4      		brne .L87
 312:ds1302.c      **** 		{
 313:ds1302.c      **** 			if(timer4_minute==minute) flag|=1<<buzzer_flag;
 1526               	.LM232:
 1527 05d8 9091 0000 		lds r25,timer4_minute
 1528 05dc 8091 0000 		lds r24,minute
 1529 05e0 9817      		cp r25,r24
 1530 05e2 19F4      		brne .L87
 1531 05e4 2260      		ori r18,lo8(2)
 1532 05e6 2093 0000 		sts flag,r18
 1533               	.L87:
 314:ds1302.c      **** 		}
 315:ds1302.c      **** 	}
 316:ds1302.c      **** 	
 317:ds1302.c      **** 	if(flag&(1<<timer5_available))
 1535               	.LM233:
 1536 05ea 2091 0000 		lds r18,flag
 1537 05ee 27FF      		sbrs r18,7
 1538 05f0 0DC0      		rjmp .L50
 318:ds1302.c      **** 	{
 319:ds1302.c      **** 		if(timer5_hour==hour)
 1540               	.LM234:
 1541 05f2 8091 0000 		lds r24,hour
 1542 05f6 3817      		cp r19,r24
 1543 05f8 49F4      		brne .L50
 320:ds1302.c      **** 		{
 321:ds1302.c      **** 			if(timer5_minute==minute) flag|=1<<buzzer_flag;
 1545               	.LM235:
 1546 05fa 9091 0000 		lds r25,timer5_minute
 1547 05fe 8091 0000 		lds r24,minute
 1548 0602 9817      		cp r25,r24
 1549 0604 19F4      		brne .L50
 1550 0606 2260      		ori r18,lo8(2)
 1551 0608 2093 0000 		sts flag,r18
 1552               	.L50:
 1553 060c 0895      		ret
 1554               	/* epilogue: frame size=0 */
 1555 060e 0895      		ret
 1556               	/* epilogue end (size=1) */
 1557               	/* function check_timer size 230 (229) */
 1559               	.Lscope10:
 1560               		.text
 1562               	Letext:
 1563               	/* File "ds1302.c": code  885 = 0x0375 ( 857), prologues   9, epilogues  19 */
DEFINED SYMBOLS
                            *ABS*:00000000 ds1302.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:76     .text:00000000 ds1302_write
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:264    .text:0000006a ds1302_read
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:456    .text:000000d6 check_ds1302
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:494    .text:000000f2 ds1302_read_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:543    .text:0000012c ds1302_write_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:612    .text:0000017e __vector_8
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:762    .text:00000258 display_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:921    .text:000002f4 display_date
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:1058   .text:00000378 display_year
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:1146   .text:000003c8 display_timer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:1282   .text:00000444 check_timer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCkaaaa.s:1562   .text:00000610 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
year
month
day
week
hour
minute
second
half_second
flash_var
flash_control
second_flag
flag
display_code
display_buffer
timer0_hour
timer0_minute
timer1_hour
timer1_minute
timer2_hour
timer2_minute
timer3_hour
timer3_minute
timer4_hour
timer4_minute
timer5_hour
timer5_minute

⌨️ 快捷键说明

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