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

📄 main.lss

📁 M8+1302+18b20+8位数码管的sch和gcc源程序 数码管显示
💻 LSS
📖 第 1 页 / 共 5 页
字号:
	ds1302_write(ds1302_sec_reg,0x80);		//暂停		
     35a:	60 e8       	ldi	r22, 0x80	; 128
     35c:	86 2f       	mov	r24, r22
     35e:	65 df       	rcall	.-310    	; 0x22a <ds1302_write>
	ds1302_write(ds1302_charger_reg,0xa9);	//涓流充电
     360:	69 ea       	ldi	r22, 0xA9	; 169
     362:	80 e9       	ldi	r24, 0x90	; 144
     364:	62 df       	rcall	.-316    	; 0x22a <ds1302_write>
	ds1302_write(ds1302_year_reg,year);		//年
     366:	60 91 81 00 	lds	r22, 0x0081
     36a:	8c e8       	ldi	r24, 0x8C	; 140
     36c:	5e df       	rcall	.-324    	; 0x22a <ds1302_write>
	ds1302_write(ds1302_month_reg,month);	//月
     36e:	60 91 80 00 	lds	r22, 0x0080
     372:	88 e8       	ldi	r24, 0x88	; 136
     374:	5a df       	rcall	.-332    	; 0x22a <ds1302_write>
	ds1302_write(ds1302_date_reg,day);		//日
     376:	60 91 7f 00 	lds	r22, 0x007F
     37a:	86 e8       	ldi	r24, 0x86	; 134
     37c:	56 df       	rcall	.-340    	; 0x22a <ds1302_write>
	ds1302_write(ds1302_day_reg,week);		//周
     37e:	60 91 7e 00 	lds	r22, 0x007E
     382:	8a e8       	ldi	r24, 0x8A	; 138
     384:	52 df       	rcall	.-348    	; 0x22a <ds1302_write>
	ds1302_write(ds1302_hr_reg,hour);		//时
     386:	60 91 7d 00 	lds	r22, 0x007D
     38a:	84 e8       	ldi	r24, 0x84	; 132
     38c:	4e df       	rcall	.-356    	; 0x22a <ds1302_write>
	ds1302_write(ds1302_min_reg,minute);	//分
     38e:	60 91 7c 00 	lds	r22, 0x007C
     392:	82 e8       	ldi	r24, 0x82	; 130
     394:	4a df       	rcall	.-364    	; 0x22a <ds1302_write>
	ds1302_write(ds1302_sec_reg,second);	//秒	
     396:	60 91 7b 00 	lds	r22, 0x007B
     39a:	80 e8       	ldi	r24, 0x80	; 128
     39c:	46 df       	rcall	.-372    	; 0x22a <ds1302_write>
	ds1302_write(ds1302_control_reg,0x80);	//打开写保护
     39e:	60 e8       	ldi	r22, 0x80	; 128
     3a0:	8e e8       	ldi	r24, 0x8E	; 142
     3a2:	43 df       	rcall	.-378    	; 0x22a <ds1302_write>
     3a4:	08 95       	ret

000003a6 <__vector_8>:
}
SIGNAL (SIG_OVERFLOW1)
{
     3a6:	1f 92       	push	r1
     3a8:	0f 92       	push	r0
     3aa:	0f b6       	in	r0, 0x3f	; 63
     3ac:	0f 92       	push	r0
     3ae:	11 24       	eor	r1, r1
     3b0:	2f 93       	push	r18
     3b2:	3f 93       	push	r19
     3b4:	8f 93       	push	r24
     3b6:	9f 93       	push	r25
		TCNT1=t1_tcnt;
     3b8:	8e ee       	ldi	r24, 0xEE	; 238
     3ba:	91 ef       	ldi	r25, 0xF1	; 241
     3bc:	9d bd       	out	0x2d, r25	; 45
     3be:	8c bd       	out	0x2c, r24	; 44
		half_second++;				
     3c0:	20 91 7a 00 	lds	r18, 0x007A
     3c4:	2f 5f       	subi	r18, 0xFF	; 255
     3c6:	20 93 7a 00 	sts	0x007A, r18
		flash_var^=flash_control;
     3ca:	80 91 76 00 	lds	r24, 0x0076
     3ce:	90 91 77 00 	lds	r25, 0x0077
     3d2:	89 27       	eor	r24, r25
     3d4:	80 93 76 00 	sts	0x0076, r24
		if(2==half_second)
     3d8:	22 30       	cpi	r18, 0x02	; 2
     3da:	09 f0       	breq	.+2      	; 0x3de <__vector_8+0x38>
     3dc:	48 c0       	rjmp	.+144    	; 0x46e <__stack+0xf>
		{
			half_second=0;
     3de:	10 92 7a 00 	sts	0x007A, r1
			second++;			
     3e2:	80 91 7b 00 	lds	r24, 0x007B
     3e6:	8f 5f       	subi	r24, 0xFF	; 255
     3e8:	80 93 7b 00 	sts	0x007B, r24
			second_flag=1;
     3ec:	81 e0       	ldi	r24, 0x01	; 1
     3ee:	80 93 82 00 	sts	0x0082, r24
			if(flag&(1<<buzzer_flag)) flash_buzzer();
     3f2:	30 91 78 00 	lds	r19, 0x0078
     3f6:	31 ff       	sbrs	r19, 1
     3f8:	05 c0       	rjmp	.+10     	; 0x404 <__vector_8+0x5e>
     3fa:	85 b3       	in	r24, 0x15	; 21
     3fc:	90 e1       	ldi	r25, 0x10	; 16
     3fe:	89 27       	eor	r24, r25
     400:	85 bb       	out	0x15, r24	; 21
     402:	01 c0       	rjmp	.+2      	; 0x406 <__vector_8+0x60>
			else set_buzzer();
     404:	ac 9a       	sbi	0x15, 4	; 21
			if((second&0x0f)>=0x0a)
     406:	20 91 7b 00 	lds	r18, 0x007B
     40a:	82 2f       	mov	r24, r18
     40c:	99 27       	eor	r25, r25
     40e:	8f 70       	andi	r24, 0x0F	; 15
     410:	90 70       	andi	r25, 0x00	; 0
     412:	0a 97       	sbiw	r24, 0x0a	; 10
     414:	64 f1       	brlt	.+88     	; 0x46e <__stack+0xf>
			{
				second&=0xf0;
     416:	82 2f       	mov	r24, r18
     418:	80 7f       	andi	r24, 0xF0	; 240
				second+=0x10;
     41a:	80 5f       	subi	r24, 0xF0	; 240
     41c:	80 93 7b 00 	sts	0x007B, r24
				if((second&0xf0)>=0x60)
     420:	99 27       	eor	r25, r25
     422:	80 36       	cpi	r24, 0x60	; 96
     424:	91 05       	cpc	r25, r1
     426:	1c f1       	brlt	.+70     	; 0x46e <__stack+0xf>
				{
					second=0;
     428:	10 92 7b 00 	sts	0x007B, r1
					minute++;					
     42c:	20 91 7c 00 	lds	r18, 0x007C
     430:	2f 5f       	subi	r18, 0xFF	; 255
     432:	20 93 7c 00 	sts	0x007C, r18
					flag&=~(1<<buzzer_flag);
     436:	3d 7f       	andi	r19, 0xFD	; 253
     438:	30 93 78 00 	sts	0x0078, r19
					if((minute&0x0f)>=0x0a)
     43c:	82 2f       	mov	r24, r18
     43e:	99 27       	eor	r25, r25
     440:	8f 70       	andi	r24, 0x0F	; 15
     442:	90 70       	andi	r25, 0x00	; 0
     444:	0a 97       	sbiw	r24, 0x0a	; 10
     446:	9c f0       	brlt	.+38     	; 0x46e <__stack+0xf>
					{
						minute&=0xf0;
     448:	82 2f       	mov	r24, r18
     44a:	80 7f       	andi	r24, 0xF0	; 240
						minute+=0x10;
     44c:	80 5f       	subi	r24, 0xF0	; 240
     44e:	80 93 7c 00 	sts	0x007C, r24
						if((minute&0xf0)>=0x60)
     452:	99 27       	eor	r25, r25
     454:	80 36       	cpi	r24, 0x60	; 96
     456:	91 05       	cpc	r25, r1
     458:	54 f0       	brlt	.+20     	; 0x46e <__stack+0xf>
						{
							minute=0;
     45a:	10 92 7c 00 	sts	0x007C, r1
							hour++;
     45e:	80 91 7d 00 	lds	r24, 0x007D
     462:	8f 5f       	subi	r24, 0xFF	; 255
     464:	80 93 7d 00 	sts	0x007D, r24
							flag|=1<<hour_flag;
     468:	31 60       	ori	r19, 0x01	; 1
     46a:	30 93 78 00 	sts	0x0078, r19
     46e:	9f 91       	pop	r25
     470:	8f 91       	pop	r24
     472:	3f 91       	pop	r19
     474:	2f 91       	pop	r18
     476:	0f 90       	pop	r0
     478:	0f be       	out	0x3f, r0	; 63
     47a:	0f 90       	pop	r0
     47c:	1f 90       	pop	r1
     47e:	18 95       	reti

00000480 <display_time>:
						}
					}
				}
			}
		}
}
void display_time(void)
{
	uchar temp=0;
	
	temp=(hour&0xf0)>>4;
     480:	20 91 7d 00 	lds	r18, 0x007D
     484:	82 2f       	mov	r24, r18
     486:	99 27       	eor	r25, r25
     488:	54 e0       	ldi	r21, 0x04	; 4
     48a:	96 95       	lsr	r25
     48c:	87 95       	ror	r24
     48e:	5a 95       	dec	r21
     490:	e1 f7       	brne	.-8      	; 0x48a <display_time+0xa>
	display_buffer[0]=pgm_read_byte(display_code+temp);
     492:	e8 2f       	mov	r30, r24
     494:	ff 27       	eor	r31, r31
     496:	ea 5d       	subi	r30, 0xDA	; 218
     498:	ff 4f       	sbci	r31, 0xFF	; 255
     49a:	84 91       	lpm	r24, Z
     49c:	80 93 60 00 	sts	0x0060, r24
	temp=hour&0x0f;
     4a0:	2f 70       	andi	r18, 0x0F	; 15
	display_buffer[1]=pgm_read_byte(display_code+temp);
     4a2:	e2 2f       	mov	r30, r18
     4a4:	ff 27       	eor	r31, r31
     4a6:	ea 5d       	subi	r30, 0xDA	; 218
     4a8:	ff 4f       	sbci	r31, 0xFF	; 255
     4aa:	84 91       	lpm	r24, Z
     4ac:	80 93 61 00 	sts	0x0061, r24
	
	display_buffer[2]=0x40;//-
     4b0:	30 e4       	ldi	r19, 0x40	; 64
     4b2:	30 93 62 00 	sts	0x0062, r19
	
	temp=(minute&0xf0)>>4;
     4b6:	20 91 7c 00 	lds	r18, 0x007C
     4ba:	82 2f       	mov	r24, r18
     4bc:	99 27       	eor	r25, r25
     4be:	44 e0       	ldi	r20, 0x04	; 4
     4c0:	96 95       	lsr	r25
     4c2:	87 95       	ror	r24
     4c4:	4a 95       	dec	r20
     4c6:	e1 f7       	brne	.-8      	; 0x4c0 <display_time+0x40>
	display_buffer[3]=pgm_read_byte(display_code+temp);
     4c8:	e8 2f       	mov	r30, r24
     4ca:	ff 27       	eor	r31, r31
     4cc:	ea 5d       	subi	r30, 0xDA	; 218
     4ce:	ff 4f       	sbci	r31, 0xFF	; 255
     4d0:	84 91       	lpm	r24, Z
     4d2:	80 93 63 00 	sts	0x0063, r24
	temp=minute&0x0f;
     4d6:	2f 70       	andi	r18, 0x0F	; 15
	display_buffer[4]=pgm_read_byte(display_code+temp);
     4d8:	e2 2f       	mov	r30, r18
     4da:	ff 27       	eor	r31, r31
     4dc:	ea 5d       	subi	r30, 0xDA	; 218
     4de:	ff 4f       	sbci	r31, 0xFF	; 255
     4e0:	84 91       	lpm	r24, Z
     4e2:	80 93 64 00 	sts	0x0064, r24
	
	display_buffer[5]=0x40;//-
     4e6:	30 93 65 00 	sts	0x0065, r19
	
	temp=(second&0xf0)>>4;
     4ea:	20 91 7b 00 	lds	r18, 0x007B
     4ee:	82 2f       	mov	r24, r18
     4f0:	99 27       	eor	r25, r25
     4f2:	34 e0       	ldi	r19, 0x04	; 4
     4f4:	96 95       	lsr	r25
     4f6:	87 95       	ror	r24
     4f8:	3a 95       	dec	r19
     4fa:	e1 f7       	brne	.-8      	; 0x4f4 <display_time+0x74>
	display_buffer[6]=pgm_read_byte(display_code+temp);
     4fc:	e8 2f       	mov	r30, r24
     4fe:	ff 27       	eor	r31, r31
     500:	ea 5d       	subi	r30, 0xDA	; 218
     502:	ff 4f       	sbci	r31, 0xFF	; 255
     504:	84 91       	lpm	r24, Z
     506:	80 93 66 00 	sts	0x0066, r24
	temp=second&0x0f;
     50a:	2f 70       	andi	r18, 0x0F	; 15
	display_buffer[7]=pgm_read_byte(display_code+temp);
     50c:	e2 2f       	mov	r30, r18
     50e:	ff 27       	eor	r31, r31
     510:	ea 5d       	subi	r30, 0xDA	; 218
     512:	ff 4f       	sbci	r31, 0xFF	; 255
     514:	84 91       	lpm	r24, Z
     516:	80 93 67 00 	sts	0x0067, r24
     51a:	08 95       	ret

0000051c <display_date>:
}
void display_date(void)
{
	uchar temp=0;	
	//月
	temp=(month&0xf0)>>4;
     51c:	20 91 80 00 	lds	r18, 0x0080
     520:	82 2f       	mov	r24, r18
     522:	99 27       	eor	r25, r25
     524:	74 e0       	ldi	r23, 0x04	; 4
     526:	96 95       	lsr	r25
     528:	87 95       	ror	r24
     52a:	7a 95       	dec	r23
     52c:	e1 f7       	brne	.-8      	; 0x526 <display_date+0xa>
	display_buffer[0]=pgm_read_byte(display_code+temp);
     52e:	e8 2f       	mov	r30, r24
     530:	ff 27       	eor	r31, r31
     532:	ea 5d       	subi	r30, 0xDA	; 218
     534:	ff 4f       	sbci	r31, 0xFF	; 255
     536:	84 91       	lpm	r24, Z
     538:	80 93 60 00 	sts	0x0060, r24
	temp=month&0x0f;
     53c:	2f 70       	andi	r18, 0x0F	; 15
	display_buffer[1]=pgm_read_byte(display_code+temp);
     53e:	e2 2f       	mov	r30, r18
     540:	ff 27       	eor	r31, r31
     542:	ea 5d       	subi	r30, 0xDA	; 218
     544:	ff 4f       	sbci	r31, 0xFF	; 255
     546:	84 91       	lpm	r24, Z
     548:	80 93 61 00 	sts	0x0061, r24
	
	display_buffer[2]=0x08;//-
     54c:	88 e0       	ldi	r24, 0x08	; 8
     54e:	80 93 62 00 	sts	0x0062, r24
	//日
	temp=(day&0xf0)>>4;
     552:	20 91 7f 00 	lds	r18, 0x007F
     556:	82 2f       	mov	r24, r18
     558:	99 27       	eor	r25, r25
     55a:	64 e0       	ldi	r22, 0x04	; 4
     55c:	96 95       	lsr	r25
     55e:	87 95       	ror	r24
     560:	6a 95       	dec	r22
     562:	e1 f7       	brne	.-8      	; 0x55c <display_date+0x40>
	display_buffer[3]=pgm_read_byte(display_code+temp);
     564:	e8 2f       	mov	r30, r24
     566:	ff 27       	eor	r31, r31
     568:	ea 5d       	subi	r30, 0xDA	; 218
     56a:	ff 4f       	sbci	r31, 0xFF	; 255
     56c:	84 91       	lpm	r24, Z
     56e:	80 93 63 00 	sts	0x0063, r24
	temp=day&0x0f;
     572:	2f 70       	andi	r18, 0x0F	; 15
	display_buffer[4]=pgm_read_byte(display_code+temp);
     574:	e2 2f       	mov	r30, r18
     576:	ff 27       	eor	r31, r31
     578:	ea 5d       	subi	r30, 0xDA	; 218
     57a:	ff 4f       	sbci	r31, 0xFF	; 255
     57c:	84 91       	lpm	r24, Z
     57e:	80 93 64 00 	sts	0x0064, r24
	
	display_buffer[5]=0x00;//.
     582:	10 92 65 00 	sts	0x0065, r1
	display_buffer[6]=0x00;//.
     586:	10 92 66 00 	sts	0x0066, r1
	//周
	temp=week&0x0f;
     58a:	80 91 7e 00 	lds	r24, 0x007E
     58e:	8f 70       	andi	r24, 0x0F	; 15
	display_buffer[7]=pgm_read_byte(display_code+temp);
     590:	e8 2f       	mov	r30, r24
     592:	ff 27       	eor	r31, r31
     594:	ea 5d       	subi	r30, 0xDA	; 218
     596:	ff 4f       	sbci	r31, 0xFF	; 255
     598:	84 91       	lpm	r24, Z
     59a:	80 93 67 00 	sts	0x0067, r24
     59e:	08 95       	ret

000005a0 <display_year>:
}
void display_year(void)
{
	uchar temp=0;	
     5a0:	80 e0       	ldi	r24, 0x00	; 0
	display_buffer[0]=0;//空
     5a2:	80 93 60 00 	sts	0x0060, r24
	display_buffer[1]=0;//空

⌨️ 快捷键说明

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