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

📄 ledhb.lss

📁 华强PCB送电子怀表活动-怀表原理图,PCB图及源程序下载
💻 LSS
📖 第 1 页 / 共 3 页
字号:
 3be:	22 0f       	add	r18, r18
 3c0:	33 1f       	adc	r19, r19
 3c2:	8a 95       	dec	r24
 3c4:	e2 f7       	brpl	.-8      	; 0x3be <disp_hour+0xa6>
 3c6:	84 b3       	in	r24, 0x14	; 20
 3c8:	82 2b       	or	r24, r18
 3ca:	84 bb       	out	0x14, r24	; 20
			DDRD  |= (1 << (12 - IRING[hour]));  
 3cc:	80 91 ac 00 	lds	r24, 0x00AC
 3d0:	e8 2f       	mov	r30, r24
 3d2:	ff 27       	eor	r31, r31
 3d4:	e0 5a       	subi	r30, 0xA0	; 160
 3d6:	ff 4f       	sbci	r31, 0xFF	; 255
 3d8:	80 81       	ld	r24, Z
 3da:	48 1b       	sub	r20, r24
 3dc:	51 09       	sbc	r21, r1
 3de:	02 c0       	rjmp	.+4      	; 0x3e4 <disp_hour+0xcc>
 3e0:	66 0f       	add	r22, r22
 3e2:	77 1f       	adc	r23, r23
 3e4:	4a 95       	dec	r20
 3e6:	e2 f7       	brpl	.-8      	; 0x3e0 <disp_hour+0xc8>
 3e8:	81 b3       	in	r24, 0x11	; 17
 3ea:	86 2b       	or	r24, r22
 3ec:	81 bb       	out	0x11, r24	; 17
 3ee:	08 95       	ret

000003f0 <display>:
		}    
}  

void display(void)
{
	we_D++;
 3f0:	90 91 b0 00 	lds	r25, 0x00B0
 3f4:	9f 5f       	subi	r25, 0xFF	; 255
 3f6:	90 93 b0 00 	sts	0x00B0, r25
	if((we_D>15)&&(MODE_D==1))
 3fa:	90 31       	cpi	r25, 0x10	; 16
 3fc:	48 f0       	brcs	.+18     	; 0x410 <display+0x20>
 3fe:	80 91 b1 00 	lds	r24, 0x00B1
 402:	81 30       	cpi	r24, 0x01	; 1
 404:	29 f4       	brne	.+10     	; 0x410 <display+0x20>
		{
			if(we_D>30)
 406:	9f 31       	cpi	r25, 0x1F	; 31
 408:	20 f0       	brcs	.+8      	; 0x412 <display+0x22>
				we_D=0;
 40a:	10 92 b0 00 	sts	0x00B0, r1
 40e:	01 c0       	rjmp	.+2      	; 0x412 <display+0x22>
		}
	else
		{
			disp_seconds();
 410:	49 de       	rcall	.-878    	; 0xa4 <disp_seconds>
		}
	delay_us(5);
 412:	85 e0       	ldi	r24, 0x05	; 5
 414:	90 e0       	ldi	r25, 0x00	; 0
 416:	22 de       	rcall	.-956    	; 0x5c <delay_us>

	if((we_D>15)&&(MODE_D==2))
 418:	90 91 b0 00 	lds	r25, 0x00B0
 41c:	90 31       	cpi	r25, 0x10	; 16
 41e:	48 f0       	brcs	.+18     	; 0x432 <display+0x42>
 420:	80 91 b1 00 	lds	r24, 0x00B1
 424:	82 30       	cpi	r24, 0x02	; 2
 426:	29 f4       	brne	.+10     	; 0x432 <display+0x42>
		{
			if(we_D>30)
 428:	9f 31       	cpi	r25, 0x1F	; 31
 42a:	20 f0       	brcs	.+8      	; 0x434 <display+0x44>
				we_D=0;
 42c:	10 92 b0 00 	sts	0x00B0, r1
 430:	01 c0       	rjmp	.+2      	; 0x434 <display+0x44>
		}
	else
		{
			disp_minutes();
 432:	d5 de       	rcall	.-598    	; 0x1de <disp_minutes>
		}
	delay_us(5);
 434:	85 e0       	ldi	r24, 0x05	; 5
 436:	90 e0       	ldi	r25, 0x00	; 0
 438:	11 de       	rcall	.-990    	; 0x5c <delay_us>
	if((we_D>15)&&(MODE_D==3))
 43a:	90 91 b0 00 	lds	r25, 0x00B0
 43e:	90 31       	cpi	r25, 0x10	; 16
 440:	48 f0       	brcs	.+18     	; 0x454 <display+0x64>
 442:	80 91 b1 00 	lds	r24, 0x00B1
 446:	83 30       	cpi	r24, 0x03	; 3
 448:	29 f4       	brne	.+10     	; 0x454 <display+0x64>
		{
			if(we_D>30)
 44a:	9f 31       	cpi	r25, 0x1F	; 31
 44c:	20 f0       	brcs	.+8      	; 0x456 <display+0x66>
				we_D=0;
 44e:	10 92 b0 00 	sts	0x00B0, r1
 452:	01 c0       	rjmp	.+2      	; 0x456 <display+0x66>
		}
	else
		{
			disp_hour();
 454:	61 df       	rcall	.-318    	; 0x318 <disp_hour>
		}
	delay_us(5);
 456:	85 e0       	ldi	r24, 0x05	; 5
 458:	90 e0       	ldi	r25, 0x00	; 0
 45a:	00 de       	rcall	.-1024   	; 0x5c <delay_us>
 45c:	08 95       	ret

0000045e <__vector_6>:
}


//定时器1中断
SIGNAL(SIG_OUTPUT_COMPARE1A)
{  
 45e:	1f 92       	push	r1
 460:	0f 92       	push	r0
 462:	0f b6       	in	r0, 0x3f	; 63
 464:	0f 92       	push	r0
 466:	11 24       	eor	r1, r1
 468:	8f 93       	push	r24
	seconds++;  
 46a:	80 91 af 00 	lds	r24, 0x00AF
 46e:	8f 5f       	subi	r24, 0xFF	; 255
 470:	80 93 af 00 	sts	0x00AF, r24
	if (seconds>= 60)  
 474:	80 91 af 00 	lds	r24, 0x00AF
 478:	8c 33       	cpi	r24, 0x3C	; 60
 47a:	38 f0       	brcs	.+14     	; 0x48a <__stack+0x2b>
		{  
			seconds= 0;  
 47c:	10 92 af 00 	sts	0x00AF, r1
			minutes++;  
 480:	80 91 ae 00 	lds	r24, 0x00AE
 484:	8f 5f       	subi	r24, 0xFF	; 255
 486:	80 93 ae 00 	sts	0x00AE, r24
		}  
	if (minutes >=60)  
 48a:	80 91 ae 00 	lds	r24, 0x00AE
 48e:	8c 33       	cpi	r24, 0x3C	; 60
 490:	38 f0       	brcs	.+14     	; 0x4a0 <__stack+0x41>
		{  
			minutes = 0;  
 492:	10 92 ae 00 	sts	0x00AE, r1
			hour++;  
 496:	80 91 ac 00 	lds	r24, 0x00AC
 49a:	8f 5f       	subi	r24, 0xFF	; 255
 49c:	80 93 ac 00 	sts	0x00AC, r24
		}  
	if (hour >12)  
 4a0:	80 91 ac 00 	lds	r24, 0x00AC
 4a4:	8d 30       	cpi	r24, 0x0D	; 13
 4a6:	18 f0       	brcs	.+6      	; 0x4ae <__stack+0x4f>
		{  
			hour = 1;  
 4a8:	81 e0       	ldi	r24, 0x01	; 1
 4aa:	80 93 ac 00 	sts	0x00AC, r24
 4ae:	8f 91       	pop	r24
 4b0:	0f 90       	pop	r0
 4b2:	0f be       	out	0x3f, r0	; 63
 4b4:	0f 90       	pop	r0
 4b6:	1f 90       	pop	r1
 4b8:	18 95       	reti

000004ba <main>:
		} 
}  

int main(void)   
{    
 4ba:	cf e5       	ldi	r28, 0x5F	; 95
 4bc:	d4 e0       	ldi	r29, 0x04	; 4
 4be:	de bf       	out	0x3e, r29	; 62
 4c0:	cd bf       	out	0x3d, r28	; 61
	port_init();  
 4c2:	dc dd       	rcall	.-1096   	; 0x7c <port_init>
	t1_init();  
 4c4:	d0 dd       	rcall	.-1120   	; 0x66 <t1_init>
	sei ();  
 4c6:	78 94       	sei

	while(1)  
		{    
			display();
 4c8:	93 df       	rcall	.-218    	; 0x3f0 <display>
			if((PINB&0x08)!=0x08)
 4ca:	b3 99       	sbic	0x16, 3	; 22
 4cc:	11 c0       	rjmp	.+34     	; 0x4f0 <main+0x36>
				{
					display();
 4ce:	90 df       	rcall	.-224    	; 0x3f0 <display>
					if((PINB&0x08)!=0x08)
 4d0:	b3 99       	sbic	0x16, 3	; 22
 4d2:	0e c0       	rjmp	.+28     	; 0x4f0 <main+0x36>
						{
							while((PINB&0x08)!=0x08) display();
 4d4:	b3 99       	sbic	0x16, 3	; 22
 4d6:	03 c0       	rjmp	.+6      	; 0x4de <main+0x24>
 4d8:	8b df       	rcall	.-234    	; 0x3f0 <display>
 4da:	b3 9b       	sbis	0x16, 3	; 22
 4dc:	fd cf       	rjmp	.-6      	; 0x4d8 <main+0x1e>
							MODE_D++;
 4de:	80 91 b1 00 	lds	r24, 0x00B1
 4e2:	8f 5f       	subi	r24, 0xFF	; 255
 4e4:	80 93 b1 00 	sts	0x00B1, r24
							if(MODE_D>3)
 4e8:	84 30       	cpi	r24, 0x04	; 4
 4ea:	10 f0       	brcs	.+4      	; 0x4f0 <main+0x36>
								MODE_D=0;
 4ec:	10 92 b1 00 	sts	0x00B1, r1
						}
				}
			if((PINB&0x10)!=0x10)//+
 4f0:	b4 99       	sbic	0x16, 4	; 22
 4f2:	3b c0       	rjmp	.+118    	; 0x56a <main+0xb0>
				{
					display();
 4f4:	7d df       	rcall	.-262    	; 0x3f0 <display>
					if((PINB&0x10)!=0x10)
 4f6:	b4 99       	sbic	0x16, 4	; 22
 4f8:	38 c0       	rjmp	.+112    	; 0x56a <main+0xb0>
						{
							while((PINB&0x10)!=0x10) display();
 4fa:	b4 99       	sbic	0x16, 4	; 22
 4fc:	03 c0       	rjmp	.+6      	; 0x504 <main+0x4a>
 4fe:	78 df       	rcall	.-272    	; 0x3f0 <display>
 500:	b4 9b       	sbis	0x16, 4	; 22
 502:	fd cf       	rjmp	.-6      	; 0x4fe <main+0x44>
							switch(MODE_D)
 504:	80 91 b1 00 	lds	r24, 0x00B1
 508:	99 27       	eor	r25, r25
 50a:	82 30       	cpi	r24, 0x02	; 2
 50c:	91 05       	cpc	r25, r1
 50e:	b1 f0       	breq	.+44     	; 0x53c <main+0x82>
 510:	83 30       	cpi	r24, 0x03	; 3
 512:	91 05       	cpc	r25, r1
 514:	1c f4       	brge	.+6      	; 0x51c <main+0x62>
 516:	01 97       	sbiw	r24, 0x01	; 1
 518:	21 f0       	breq	.+8      	; 0x522 <main+0x68>
 51a:	27 c0       	rjmp	.+78     	; 0x56a <main+0xb0>
 51c:	03 97       	sbiw	r24, 0x03	; 3
 51e:	d1 f0       	breq	.+52     	; 0x554 <main+0x9a>
 520:	24 c0       	rjmp	.+72     	; 0x56a <main+0xb0>
								{
									case 1:
										{
											hour++;
 522:	80 91 ac 00 	lds	r24, 0x00AC
 526:	8f 5f       	subi	r24, 0xFF	; 255
 528:	80 93 ac 00 	sts	0x00AC, r24
											if (hour >12)  
 52c:	80 91 ac 00 	lds	r24, 0x00AC
 530:	8d 30       	cpi	r24, 0x0D	; 13
 532:	d8 f0       	brcs	.+54     	; 0x56a <main+0xb0>
												{  
													hour = 1;  
 534:	81 e0       	ldi	r24, 0x01	; 1
 536:	80 93 ac 00 	sts	0x00AC, r24
												} 
										}
									break;
 53a:	17 c0       	rjmp	.+46     	; 0x56a <main+0xb0>
									case 2:
										{
											minutes++;  
 53c:	80 91 ae 00 	lds	r24, 0x00AE
 540:	8f 5f       	subi	r24, 0xFF	; 255
 542:	80 93 ae 00 	sts	0x00AE, r24
											if (minutes >=60)  
 546:	80 91 ae 00 	lds	r24, 0x00AE
 54a:	8c 33       	cpi	r24, 0x3C	; 60
 54c:	70 f0       	brcs	.+28     	; 0x56a <main+0xb0>
												{  
													minutes = 0;  
 54e:	10 92 ae 00 	sts	0x00AE, r1
												}  
										}
									break;
 552:	0b c0       	rjmp	.+22     	; 0x56a <main+0xb0>
									case 3:
										{
											seconds++;  
 554:	80 91 af 00 	lds	r24, 0x00AF
 558:	8f 5f       	subi	r24, 0xFF	; 255
 55a:	80 93 af 00 	sts	0x00AF, r24
											if (seconds>=60)  
 55e:	80 91 af 00 	lds	r24, 0x00AF
 562:	8c 33       	cpi	r24, 0x3C	; 60
 564:	10 f0       	brcs	.+4      	; 0x56a <main+0xb0>
												{  
													seconds= 0;  
 566:	10 92 af 00 	sts	0x00AF, r1
												}  
										}
									break;
								}
						}
				}
			if((PINB&0x20)!=0x20)//-
 56a:	b5 99       	sbic	0x16, 5	; 22
 56c:	ad cf       	rjmp	.-166    	; 0x4c8 <main+0xe>
				{
					display();
 56e:	40 df       	rcall	.-384    	; 0x3f0 <display>
					if((PINB&0x20)!=0x20)
 570:	86 b3       	in	r24, 0x16	; 22
 572:	aa cf       	rjmp	.-172    	; 0x4c8 <main+0xe>

⌨️ 快捷键说明

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