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

📄 ds1302.lst

📁 M8+1302+18b20+8位数码管的sch和gcc源程序 数码管显示
💻 LST
📖 第 1 页 / 共 4 页
字号:
 1264               	.LM197:
 1265 0432 E32F      		mov r30,r19
 1266 0434 FF27      		clr r31
 1267 0436 E050      		subi r30,lo8(-(display_code))
 1268 0438 F040      		sbci r31,hi8(-(display_code))
 1269               	/* #APP */
 1270 043a 8491      		lpm r24, Z
 1271               		
 1272               	/* #NOAPP */
 1273               	.LBE19:
 1274 043c 8093 0000 		sts display_buffer+7,r24
 1275               	/* epilogue: frame size=0 */
 1276 0440 0895      		ret
 1277               	/* epilogue end (size=1) */
 1278               	/* function display_timer size 77 (76) */
 1298               	.Lscope9:
 1300               	.global	check_timer
 1302               	check_timer:
 250:ds1302.c      **** }
 251:ds1302.c      **** void check_timer(void)
 252:ds1302.c      **** {
 1304               	.LM198:
 1305               	/* prologue: frame size=0 */
 1306               	/* prologue end (size=0) */
 253:ds1302.c      **** 	if(timer0_hour) flag|=1<<timer0_available;
 1308               	.LM199:
 1309 0442 E091 0000 		lds r30,timer0_hour
 1310 0446 EE23      		tst r30
 1311 0448 31F0      		breq .L51
 1313               	.LM200:
 1314 044a 8091 0000 		lds r24,flag
 1315 044e 8460      		ori r24,lo8(4)
 1316 0450 8093 0000 		sts flag,r24
 1317 0454 0BC0      		rjmp .L52
 1318               	.L51:
 254:ds1302.c      **** 	else if(timer0_minute) flag|=1<<timer0_available;
 1320               	.LM201:
 1321 0456 8091 0000 		lds r24,timer0_minute
 1322 045a 9091 0000 		lds r25,flag
 1323 045e 8823      		tst r24
 1324 0460 11F0      		breq .L53
 1325 0462 9460      		ori r25,lo8(4)
 1326 0464 01C0      		rjmp .L93
 1327               	.L53:
 255:ds1302.c      **** 	else flag&=~(1<<timer0_available);
 1329               	.LM202:
 1330 0466 9B7F      		andi r25,lo8(-5)
 1331               	.L93:
 1332 0468 9093 0000 		sts flag,r25
 1333               	.L52:
 256:ds1302.c      **** 
 257:ds1302.c      **** 	if(timer1_hour) flag|=1<<timer1_available;
 1335               	.LM203:
 1336 046c 7091 0000 		lds r23,timer1_hour
 1337 0470 7723      		tst r23
 1338 0472 31F0      		breq .L55
 1339 0474 8091 0000 		lds r24,flag
 1340 0478 8860      		ori r24,lo8(8)
 1341 047a 8093 0000 		sts flag,r24
 1342 047e 0BC0      		rjmp .L56
 1343               	.L55:
 258:ds1302.c      **** 	else if(timer1_minute) flag|=1<<timer1_available;
 1345               	.LM204:
 1346 0480 8091 0000 		lds r24,timer1_minute
 1347 0484 9091 0000 		lds r25,flag
 1348 0488 8823      		tst r24
 1349 048a 11F0      		breq .L57
 1350 048c 9860      		ori r25,lo8(8)
 1351 048e 01C0      		rjmp .L94
 1352               	.L57:
 259:ds1302.c      **** 	else flag&=~(1<<timer1_available);
 1354               	.LM205:
 1355 0490 977F      		andi r25,lo8(-9)
 1356               	.L94:
 1357 0492 9093 0000 		sts flag,r25
 1358               	.L56:
 260:ds1302.c      **** 
 261:ds1302.c      **** 	if(timer2_hour) flag|=1<<timer2_available;
 1360               	.LM206:
 1361 0496 6091 0000 		lds r22,timer2_hour
 1362 049a 6623      		tst r22
 1363 049c 31F0      		breq .L59
 1364 049e 8091 0000 		lds r24,flag
 1365 04a2 8061      		ori r24,lo8(16)
 1366 04a4 8093 0000 		sts flag,r24
 1367 04a8 0BC0      		rjmp .L60
 1368               	.L59:
 262:ds1302.c      **** 	else if(timer2_minute) flag|=1<<timer2_available;
 1370               	.LM207:
 1371 04aa 8091 0000 		lds r24,timer2_minute
 1372 04ae 9091 0000 		lds r25,flag
 1373 04b2 8823      		tst r24
 1374 04b4 11F0      		breq .L61
 1375 04b6 9061      		ori r25,lo8(16)
 1376 04b8 01C0      		rjmp .L95
 1377               	.L61:
 263:ds1302.c      **** 	else flag&=~(1<<timer2_available);
 1379               	.LM208:
 1380 04ba 9F7E      		andi r25,lo8(-17)
 1381               	.L95:
 1382 04bc 9093 0000 		sts flag,r25
 1383               	.L60:
 264:ds1302.c      **** 
 265:ds1302.c      **** 	if(timer3_hour) flag|=1<<timer3_available;
 1385               	.LM209:
 1386 04c0 5091 0000 		lds r21,timer3_hour
 1387 04c4 5523      		tst r21
 1388 04c6 31F0      		breq .L63
 1389 04c8 8091 0000 		lds r24,flag
 1390 04cc 8062      		ori r24,lo8(32)
 1391 04ce 8093 0000 		sts flag,r24
 1392 04d2 0BC0      		rjmp .L64
 1393               	.L63:
 266:ds1302.c      **** 	else if(timer3_minute) flag|=1<<timer3_available;
 1395               	.LM210:
 1396 04d4 8091 0000 		lds r24,timer3_minute
 1397 04d8 9091 0000 		lds r25,flag
 1398 04dc 8823      		tst r24
 1399 04de 11F0      		breq .L65
 1400 04e0 9062      		ori r25,lo8(32)
 1401 04e2 01C0      		rjmp .L96
 1402               	.L65:
 267:ds1302.c      **** 	else flag&=~(1<<timer3_available);
 1404               	.LM211:
 1405 04e4 9F7D      		andi r25,lo8(-33)
 1406               	.L96:
 1407 04e6 9093 0000 		sts flag,r25
 1408               	.L64:
 268:ds1302.c      **** 
 269:ds1302.c      **** 	if(timer4_hour) flag|=1<<timer4_available;
 1410               	.LM212:
 1411 04ea 4091 0000 		lds r20,timer4_hour
 1412 04ee 4423      		tst r20
 1413 04f0 31F0      		breq .L67
 1414 04f2 8091 0000 		lds r24,flag
 1415 04f6 8064      		ori r24,lo8(64)
 1416 04f8 8093 0000 		sts flag,r24
 1417 04fc 0BC0      		rjmp .L68
 1418               	.L67:
 270:ds1302.c      **** 	else if(timer4_minute) flag|=1<<timer4_available;
 1420               	.LM213:
 1421 04fe 8091 0000 		lds r24,timer4_minute
 1422 0502 9091 0000 		lds r25,flag
 1423 0506 8823      		tst r24
 1424 0508 11F0      		breq .L69
 1425 050a 9064      		ori r25,lo8(64)
 1426 050c 01C0      		rjmp .L97
 1427               	.L69:
 271:ds1302.c      **** 	else flag&=~(1<<timer4_available);
 1429               	.LM214:
 1430 050e 9F7B      		andi r25,lo8(-65)
 1431               	.L97:
 1432 0510 9093 0000 		sts flag,r25
 1433               	.L68:
 272:ds1302.c      **** 
 273:ds1302.c      **** 	if(timer5_hour) flag|=1<<timer5_available;
 1435               	.LM215:
 1436 0514 3091 0000 		lds r19,timer5_hour
 1437 0518 3323      		tst r19
 1438 051a 31F0      		breq .L71
 1439 051c 8091 0000 		lds r24,flag
 1440 0520 8068      		ori r24,lo8(-128)
 1441 0522 8093 0000 		sts flag,r24
 1442 0526 0BC0      		rjmp .L72
 1443               	.L71:
 274:ds1302.c      **** 	else if(timer5_minute) flag|=1<<timer5_available;
 1445               	.LM216:
 1446 0528 8091 0000 		lds r24,timer5_minute
 1447 052c 9091 0000 		lds r25,flag
 1448 0530 8823      		tst r24
 1449 0532 11F0      		breq .L73
 1450 0534 9068      		ori r25,lo8(-128)
 1451 0536 01C0      		rjmp .L98
 1452               	.L73:
 275:ds1302.c      **** 	else flag&=~(1<<timer5_available);
 1454               	.LM217:
 1455 0538 9F77      		andi r25,lo8(127)
 1456               	.L98:
 1457 053a 9093 0000 		sts flag,r25
 1458               	.L72:
 276:ds1302.c      **** 
 277:ds1302.c      **** 	if(flag&(1<<timer0_available))
 1460               	.LM218:
 1461 053e 2091 0000 		lds r18,flag
 1462 0542 22FF      		sbrs r18,2
 1463 0544 0DC0      		rjmp .L75
 278:ds1302.c      **** 	{
 279:ds1302.c      **** 		if(timer0_hour==hour)
 1465               	.LM219:
 1466 0546 8091 0000 		lds r24,hour
 1467 054a E817      		cp r30,r24
 1468 054c 49F4      		brne .L75
 280:ds1302.c      **** 		{
 281:ds1302.c      **** 			if(timer0_minute==minute) flag|=1<<buzzer_flag;
 1470               	.LM220:
 1471 054e 9091 0000 		lds r25,timer0_minute
 1472 0552 8091 0000 		lds r24,minute
 1473 0556 9817      		cp r25,r24
 1474 0558 19F4      		brne .L75
 1475 055a 2260      		ori r18,lo8(2)
 1476 055c 2093 0000 		sts flag,r18
 1477               	.L75:
 282:ds1302.c      **** 		}
 283:ds1302.c      **** 	}	
 284:ds1302.c      **** 	
 285:ds1302.c      **** 	if(flag&(1<<timer1_available))
 1479               	.LM221:
 1480 0560 2091 0000 		lds r18,flag
 1481 0564 23FF      		sbrs r18,3
 1482 0566 0DC0      		rjmp .L78
 286:ds1302.c      **** 	{
 287:ds1302.c      **** 		if(timer1_hour==hour)
 1484               	.LM222:
 1485 0568 8091 0000 		lds r24,hour
 1486 056c 7817      		cp r23,r24
 1487 056e 49F4      		brne .L78
 288:ds1302.c      **** 		{
 289:ds1302.c      **** 			if(timer1_minute==minute) flag|=1<<buzzer_flag;
 1489               	.LM223:
 1490 0570 9091 0000 		lds r25,timer1_minute
 1491 0574 8091 0000 		lds r24,minute
 1492 0578 9817      		cp r25,r24
 1493 057a 19F4      		brne .L78
 1494 057c 2260      		ori r18,lo8(2)
 1495 057e 2093 0000 		sts flag,r18
 1496               	.L78:
 290:ds1302.c      **** 		}
 291:ds1302.c      **** 	}
 292:ds1302.c      **** 	
 293:ds1302.c      **** 	if(flag&(1<<timer2_available))
 1498               	.LM224:
 1499 0582 2091 0000 		lds r18,flag
 1500 0586 24FF      		sbrs r18,4
 1501 0588 0DC0      		rjmp .L81
 294:ds1302.c      **** 	{
 295:ds1302.c      **** 		if(timer2_hour==hour)
 1503               	.LM225:
 1504 058a 8091 0000 		lds r24,hour
 1505 058e 6817      		cp r22,r24
 1506 0590 49F4      		brne .L81
 296:ds1302.c      **** 		{
 297:ds1302.c      **** 			if(timer2_minute==minute) flag|=1<<buzzer_flag;
 1508               	.LM226:
 1509 0592 9091 0000 		lds r25,timer2_minute
 1510 0596 8091 0000 		lds r24,minute
 1511 059a 9817      		cp r25,r24
 1512 059c 19F4      		brne .L81
 1513 059e 2260      		ori r18,lo8(2)
 1514 05a0 2093 0000 		sts flag,r18
 1515               	.L81:
 298:ds1302.c      **** 		}
 299:ds1302.c      **** 	}
 300:ds1302.c      **** 	
 301:ds1302.c      **** 	if(flag&(1<<timer3_available))
 1517               	.LM227:
 1518 05a4 2091 0000 		lds r18,flag
 1519 05a8 25FF      		sbrs r18,5
 1520 05aa 0DC0      		rjmp .L84
 302:ds1302.c      **** 	{
 303:ds1302.c      **** 		if(timer3_hour==hour)
 1522               	.LM228:
 1523 05ac 8091 0000 		lds r24,hour
 1524 05b0 5817      		cp r21,r24
 1525 05b2 49F4      		brne .L84
 304:ds1302.c      **** 		{
 305:ds1302.c      **** 			if(timer3_minute==minute) flag|=1<<buzzer_flag;
 1527               	.LM229:
 1528 05b4 9091 0000 		lds r25,timer3_minute
 1529 05b8 8091 0000 		lds r24,minute
 1530 05bc 9817      		cp r25,r24
 1531 05be 19F4      		brne .L84
 1532 05c0 2260      		ori r18,lo8(2)
 1533 05c2 2093 0000 		sts flag,r18
 1534               	.L84:
 306:ds1302.c      **** 		}
 307:ds1302.c      **** 	}
 308:ds1302.c      **** 	
 309:ds1302.c      **** 	if(flag&(1<<timer4_available))
 1536               	.LM230:
 1537 05c6 2091 0000 		lds r18,flag
 1538 05ca 26FF      		sbrs r18,6
 1539 05cc 0DC0      		rjmp .L87
 310:ds1302.c      **** 	{
 311:ds1302.c      **** 		if(timer4_hour==hour)
 1541               	.LM231:
 1542 05ce 8091 0000 		lds r24,hour
 1543 05d2 4817      		cp r20,r24
 1544 05d4 49F4      		brne .L87
 312:ds1302.c      **** 		{
 313:ds1302.c      **** 			if(timer4_minute==minute) flag|=1<<buzzer_flag;
 1546               	.LM232:
 1547 05d6 9091 0000 		lds r25,timer4_minute
 1548 05da 8091 0000 		lds r24,minute
 1549 05de 9817      		cp r25,r24
 1550 05e0 19F4      		brne .L87
 1551 05e2 2260      		ori r18,lo8(2)
 1552 05e4 2093 0000 		sts flag,r18
 1553               	.L87:
 314:ds1302.c      **** 		}
 315:ds1302.c      **** 	}
 316:ds1302.c      **** 	
 317:ds1302.c      **** 	if(flag&(1<<timer5_available))
 1555               	.LM233:
 1556 05e8 2091 0000 		lds r18,flag
 1557 05ec 27FF      		sbrs r18,7
 1558 05ee 0DC0      		rjmp .L50
 318:ds1302.c      **** 	{
 319:ds1302.c      **** 		if(timer5_hour==hour)
 1560               	.LM234:
 1561 05f0 8091 0000 		lds r24,hour
 1562 05f4 3817      		cp r19,r24
 1563 05f6 49F4      		brne .L50
 320:ds1302.c      **** 		{
 321:ds1302.c      **** 			if(timer5_minute==minute) flag|=1<<buzzer_flag;
 1565               	.LM235:
 1566 05f8 9091 0000 		lds r25,timer5_minute
 1567 05fc 8091 0000 		lds r24,minute
 1568 0600 9817      		cp r25,r24
 1569 0602 19F4      		brne .L50
 1570 0604 2260      		ori r18,lo8(2)
 1571 0606 2093 0000 		sts flag,r18
 1572               	.L50:
 1573 060a 0895      		ret
 1574               	/* epilogue: frame size=0 */
 1575               	/* epilogue: noreturn */
 1576               	/* epilogue end (size=0) */
 1577               	/* function check_timer size 229 (229) */
 1579               	.Lscope10:
 1580               		.text
 1582               	Letext:
 1583               	/* File "ds1302.c": code  883 = 0x0373 ( 857), prologues   9, epilogues  17 */
DEFINED SYMBOLS
                            *ABS*:00000000 ds1302.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:96     .text:00000000 ds1302_write
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:284    .text:0000006a ds1302_read
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:476    .text:000000d6 check_ds1302
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:514    .text:000000f0 ds1302_read_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:563    .text:0000012a ds1302_write_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:632    .text:0000017c __vector_8
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:782    .text:00000256 display_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:941    .text:000002f2 display_date
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:1078   .text:00000376 display_year
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:1166   .text:000003c6 display_timer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:1302   .text:00000442 check_timer
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccK2aaaa.s:1582   .text:0000060c 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 + -