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

📄 main.lss

📁 avr关于1302和18b20的程序
💻 LSS
📖 第 1 页 / 共 5 页
字号:
	display_buffer[5]=0x40;//-
     622:	80 e4       	ldi	r24, 0x40	; 64
     624:	80 93 65 00 	sts	0x0065, r24
	//minute
	temp=(timer_minute&0xf0)>>4;
     628:	84 2f       	mov	r24, r20
     62a:	99 27       	eor	r25, r25
     62c:	f4 e0       	ldi	r31, 0x04	; 4
     62e:	96 95       	lsr	r25
     630:	87 95       	ror	r24
     632:	fa 95       	dec	r31
     634:	e1 f7       	brne	.-8      	; 0x62e
	display_buffer[6]=pgm_read_byte(display_code+temp);
     636:	e8 2f       	mov	r30, r24
     638:	ff 27       	eor	r31, r31
     63a:	ea 5d       	subi	r30, 0xDA	; 218
     63c:	ff 4f       	sbci	r31, 0xFF	; 255
     63e:	84 91       	lpm	r24, Z
     640:	80 93 66 00 	sts	0x0066, r24
	temp=timer_minute&0x0f;
     644:	3f 70       	andi	r19, 0x0F	; 15
	display_buffer[7]=pgm_read_byte(display_code+temp);
     646:	e3 2f       	mov	r30, r19
     648:	ff 27       	eor	r31, r31
     64a:	ea 5d       	subi	r30, 0xDA	; 218
     64c:	ff 4f       	sbci	r31, 0xFF	; 255
     64e:	84 91       	lpm	r24, Z
     650:	80 93 67 00 	sts	0x0067, r24
     654:	08 95       	ret

00000656 <check_timer>:
}
void check_timer(void)
{
	if(timer0_hour) flag|=1<<timer0_available;
     656:	e0 91 75 00 	lds	r30, 0x0075
     65a:	ee 23       	and	r30, r30
     65c:	31 f0       	breq	.+12     	; 0x66a
     65e:	80 91 78 00 	lds	r24, 0x0078
     662:	84 60       	ori	r24, 0x04	; 4
     664:	80 93 78 00 	sts	0x0078, r24
     668:	0b c0       	rjmp	.+22     	; 0x680
	else if(timer0_minute) flag|=1<<timer0_available;
     66a:	80 91 74 00 	lds	r24, 0x0074
     66e:	90 91 78 00 	lds	r25, 0x0078
     672:	88 23       	and	r24, r24
     674:	11 f0       	breq	.+4      	; 0x67a
     676:	94 60       	ori	r25, 0x04	; 4
     678:	01 c0       	rjmp	.+2      	; 0x67c
	else flag&=~(1<<timer0_available);
     67a:	9b 7f       	andi	r25, 0xFB	; 251
     67c:	90 93 78 00 	sts	0x0078, r25

	if(timer1_hour) flag|=1<<timer1_available;
     680:	70 91 73 00 	lds	r23, 0x0073
     684:	77 23       	and	r23, r23
     686:	31 f0       	breq	.+12     	; 0x694
     688:	80 91 78 00 	lds	r24, 0x0078
     68c:	88 60       	ori	r24, 0x08	; 8
     68e:	80 93 78 00 	sts	0x0078, r24
     692:	0b c0       	rjmp	.+22     	; 0x6aa
	else if(timer1_minute) flag|=1<<timer1_available;
     694:	80 91 72 00 	lds	r24, 0x0072
     698:	90 91 78 00 	lds	r25, 0x0078
     69c:	88 23       	and	r24, r24
     69e:	11 f0       	breq	.+4      	; 0x6a4
     6a0:	98 60       	ori	r25, 0x08	; 8
     6a2:	01 c0       	rjmp	.+2      	; 0x6a6
	else flag&=~(1<<timer1_available);
     6a4:	97 7f       	andi	r25, 0xF7	; 247
     6a6:	90 93 78 00 	sts	0x0078, r25

	if(timer2_hour) flag|=1<<timer2_available;
     6aa:	60 91 71 00 	lds	r22, 0x0071
     6ae:	66 23       	and	r22, r22
     6b0:	31 f0       	breq	.+12     	; 0x6be
     6b2:	80 91 78 00 	lds	r24, 0x0078
     6b6:	80 61       	ori	r24, 0x10	; 16
     6b8:	80 93 78 00 	sts	0x0078, r24
     6bc:	0b c0       	rjmp	.+22     	; 0x6d4
	else if(timer2_minute) flag|=1<<timer2_available;
     6be:	80 91 70 00 	lds	r24, 0x0070
     6c2:	90 91 78 00 	lds	r25, 0x0078
     6c6:	88 23       	and	r24, r24
     6c8:	11 f0       	breq	.+4      	; 0x6ce
     6ca:	90 61       	ori	r25, 0x10	; 16
     6cc:	01 c0       	rjmp	.+2      	; 0x6d0
	else flag&=~(1<<timer2_available);
     6ce:	9f 7e       	andi	r25, 0xEF	; 239
     6d0:	90 93 78 00 	sts	0x0078, r25

	if(timer3_hour) flag|=1<<timer3_available;
     6d4:	50 91 6f 00 	lds	r21, 0x006F
     6d8:	55 23       	and	r21, r21
     6da:	31 f0       	breq	.+12     	; 0x6e8
     6dc:	80 91 78 00 	lds	r24, 0x0078
     6e0:	80 62       	ori	r24, 0x20	; 32
     6e2:	80 93 78 00 	sts	0x0078, r24
     6e6:	0b c0       	rjmp	.+22     	; 0x6fe
	else if(timer3_minute) flag|=1<<timer3_available;
     6e8:	80 91 6e 00 	lds	r24, 0x006E
     6ec:	90 91 78 00 	lds	r25, 0x0078
     6f0:	88 23       	and	r24, r24
     6f2:	11 f0       	breq	.+4      	; 0x6f8
     6f4:	90 62       	ori	r25, 0x20	; 32
     6f6:	01 c0       	rjmp	.+2      	; 0x6fa
	else flag&=~(1<<timer3_available);
     6f8:	9f 7d       	andi	r25, 0xDF	; 223
     6fa:	90 93 78 00 	sts	0x0078, r25

	if(timer4_hour) flag|=1<<timer4_available;
     6fe:	40 91 6d 00 	lds	r20, 0x006D
     702:	44 23       	and	r20, r20
     704:	31 f0       	breq	.+12     	; 0x712
     706:	80 91 78 00 	lds	r24, 0x0078
     70a:	80 64       	ori	r24, 0x40	; 64
     70c:	80 93 78 00 	sts	0x0078, r24
     710:	0b c0       	rjmp	.+22     	; 0x728
	else if(timer4_minute) flag|=1<<timer4_available;
     712:	80 91 6c 00 	lds	r24, 0x006C
     716:	90 91 78 00 	lds	r25, 0x0078
     71a:	88 23       	and	r24, r24
     71c:	11 f0       	breq	.+4      	; 0x722
     71e:	90 64       	ori	r25, 0x40	; 64
     720:	01 c0       	rjmp	.+2      	; 0x724
	else flag&=~(1<<timer4_available);
     722:	9f 7b       	andi	r25, 0xBF	; 191
     724:	90 93 78 00 	sts	0x0078, r25

	if(timer5_hour) flag|=1<<timer5_available;
     728:	30 91 6b 00 	lds	r19, 0x006B
     72c:	33 23       	and	r19, r19
     72e:	31 f0       	breq	.+12     	; 0x73c
     730:	80 91 78 00 	lds	r24, 0x0078
     734:	80 68       	ori	r24, 0x80	; 128
     736:	80 93 78 00 	sts	0x0078, r24
     73a:	0b c0       	rjmp	.+22     	; 0x752
	else if(timer5_minute) flag|=1<<timer5_available;
     73c:	80 91 6a 00 	lds	r24, 0x006A
     740:	90 91 78 00 	lds	r25, 0x0078
     744:	88 23       	and	r24, r24
     746:	11 f0       	breq	.+4      	; 0x74c
     748:	90 68       	ori	r25, 0x80	; 128
     74a:	01 c0       	rjmp	.+2      	; 0x74e
	else flag&=~(1<<timer5_available);
     74c:	9f 77       	andi	r25, 0x7F	; 127
     74e:	90 93 78 00 	sts	0x0078, r25

	if(flag&(1<<timer0_available))
     752:	20 91 78 00 	lds	r18, 0x0078
     756:	22 ff       	sbrs	r18, 2
     758:	0d c0       	rjmp	.+26     	; 0x774
	{
		if(timer0_hour==hour)
     75a:	80 91 7d 00 	lds	r24, 0x007D
     75e:	e8 17       	cp	r30, r24
     760:	49 f4       	brne	.+18     	; 0x774
		{
			if(timer0_minute==minute) flag|=1<<buzzer_flag;
     762:	90 91 74 00 	lds	r25, 0x0074
     766:	80 91 7c 00 	lds	r24, 0x007C
     76a:	98 17       	cp	r25, r24
     76c:	19 f4       	brne	.+6      	; 0x774
     76e:	22 60       	ori	r18, 0x02	; 2
     770:	20 93 78 00 	sts	0x0078, r18
		}
	}	
	
	if(flag&(1<<timer1_available))
     774:	20 91 78 00 	lds	r18, 0x0078
     778:	23 ff       	sbrs	r18, 3
     77a:	0d c0       	rjmp	.+26     	; 0x796
	{
		if(timer1_hour==hour)
     77c:	80 91 7d 00 	lds	r24, 0x007D
     780:	78 17       	cp	r23, r24
     782:	49 f4       	brne	.+18     	; 0x796
		{
			if(timer1_minute==minute) flag|=1<<buzzer_flag;
     784:	90 91 72 00 	lds	r25, 0x0072
     788:	80 91 7c 00 	lds	r24, 0x007C
     78c:	98 17       	cp	r25, r24
     78e:	19 f4       	brne	.+6      	; 0x796
     790:	22 60       	ori	r18, 0x02	; 2
     792:	20 93 78 00 	sts	0x0078, r18
		}
	}
	
	if(flag&(1<<timer2_available))
     796:	20 91 78 00 	lds	r18, 0x0078
     79a:	24 ff       	sbrs	r18, 4
     79c:	0d c0       	rjmp	.+26     	; 0x7b8
	{
		if(timer2_hour==hour)
     79e:	80 91 7d 00 	lds	r24, 0x007D
     7a2:	68 17       	cp	r22, r24
     7a4:	49 f4       	brne	.+18     	; 0x7b8
		{
			if(timer2_minute==minute) flag|=1<<buzzer_flag;
     7a6:	90 91 70 00 	lds	r25, 0x0070
     7aa:	80 91 7c 00 	lds	r24, 0x007C
     7ae:	98 17       	cp	r25, r24
     7b0:	19 f4       	brne	.+6      	; 0x7b8
     7b2:	22 60       	ori	r18, 0x02	; 2
     7b4:	20 93 78 00 	sts	0x0078, r18
		}
	}
	
	if(flag&(1<<timer3_available))
     7b8:	20 91 78 00 	lds	r18, 0x0078
     7bc:	25 ff       	sbrs	r18, 5
     7be:	0d c0       	rjmp	.+26     	; 0x7da
	{
		if(timer3_hour==hour)
     7c0:	80 91 7d 00 	lds	r24, 0x007D
     7c4:	58 17       	cp	r21, r24
     7c6:	49 f4       	brne	.+18     	; 0x7da
		{
			if(timer3_minute==minute) flag|=1<<buzzer_flag;
     7c8:	90 91 6e 00 	lds	r25, 0x006E
     7cc:	80 91 7c 00 	lds	r24, 0x007C
     7d0:	98 17       	cp	r25, r24
     7d2:	19 f4       	brne	.+6      	; 0x7da
     7d4:	22 60       	ori	r18, 0x02	; 2
     7d6:	20 93 78 00 	sts	0x0078, r18
		}
	}
	
	if(flag&(1<<timer4_available))
     7da:	20 91 78 00 	lds	r18, 0x0078
     7de:	26 ff       	sbrs	r18, 6
     7e0:	0d c0       	rjmp	.+26     	; 0x7fc
	{
		if(timer4_hour==hour)
     7e2:	80 91 7d 00 	lds	r24, 0x007D
     7e6:	48 17       	cp	r20, r24
     7e8:	49 f4       	brne	.+18     	; 0x7fc
		{
			if(timer4_minute==minute) flag|=1<<buzzer_flag;
     7ea:	90 91 6c 00 	lds	r25, 0x006C
     7ee:	80 91 7c 00 	lds	r24, 0x007C
     7f2:	98 17       	cp	r25, r24
     7f4:	19 f4       	brne	.+6      	; 0x7fc
     7f6:	22 60       	ori	r18, 0x02	; 2
     7f8:	20 93 78 00 	sts	0x0078, r18
		}
	}
	
	if(flag&(1<<timer5_available))
     7fc:	20 91 78 00 	lds	r18, 0x0078
     800:	27 ff       	sbrs	r18, 7
     802:	0d c0       	rjmp	.+26     	; 0x81e
	{
		if(timer5_hour==hour)
     804:	80 91 7d 00 	lds	r24, 0x007D
     808:	38 17       	cp	r19, r24
     80a:	49 f4       	brne	.+18     	; 0x81e
		{
			if(timer5_minute==minute) flag|=1<<buzzer_flag;
     80c:	90 91 6a 00 	lds	r25, 0x006A
     810:	80 91 7c 00 	lds	r24, 0x007C
     814:	98 17       	cp	r25, r24
     816:	19 f4       	brne	.+6      	; 0x81e
     818:	22 60       	ori	r18, 0x02	; 2
     81a:	20 93 78 00 	sts	0x0078, r18
     81e:	08 95       	ret
     820:	08 95       	ret

00000822 <key_delay>:
	}
}
void key_delay(void)
{
	uint i=0;
     822:	80 e0       	ldi	r24, 0x00	; 0
     824:	90 e0       	ldi	r25, 0x00	; 0
     826:	27 e7       	ldi	r18, 0x77	; 119
	uchar j=0;
	for(i=0;i<0xffff;i++)	for(j=0;j<0x78;j++);
     828:	2c 53       	subi	r18, 0x3C	; 60
     82a:	27 ff       	sbrs	r18, 7
     82c:	fd cf       	rjmp	.-6      	; 0x828
     82e:	01 96       	adiw	r24, 0x01	; 1
     830:	2f ef       	ldi	r18, 0xFF	; 255
     832:	8f 3f       	cpi	r24, 0xFF	; 255
     834:	92 07       	cpc	r25, r18
     836:	b9 f7       	brne	.-18     	; 0x826
     838:	08 95       	ret

0000083a <key_scan>:
     83a:	cf 93       	push	r28
     83c:	df 93       	push	r29
     83e:	80 b3       	in	r24, 0x10	; 16
     840:	99 27       	eor	r25, r25
     842:	75 e0       	ldi	r23, 0x05	; 5
     844:	96 95       	lsr	r25
     846:	87 95       	ror	r24
     848:	7a 95       	dec	r23
     84a:	e1 f7       	brne	.-8      	; 0x844
     84c:	21 e0       	ldi	r18, 0x01	; 1
     84e:	30 e0       	ldi	r19, 0x00	; 0
     850:	82 23       	and	r24, r18
     852:	93 23       	and	r25, r19
     854:	82 17       	cp	r24, r18
     856:	93 07       	cpc	r25, r19
     858:	09 f0       	breq	.+2      	; 0x85c
     85a:	65 c0       	rjmp	.+202    	; 0x926
     85c:	80 b3       	in	r24, 0x10	; 16
     85e:	99 27       	eor	r25, r25
     860:	66 e0       	ldi	r22, 0x06	; 6
     862:	96 95       	lsr	r25
     864:	87 95       	ror	r24
     866:	6a 95       	dec	r22
     868:	e1 f7       	brne	.-8      	; 0x862
     86a:	81 70       	andi	r24, 0x01	; 1
     86c:	90 70       	andi	r25, 0x00	; 0
     86e:	82 17       	cp	r24, r18
     870:	93 07       	cpc	r25, r19
     872:	09 f0       	breq	.+2      	; 0x876
     874:	54 c0       	rjmp	.+168    	; 0x91e
     876:	87 99       	sbic	0x10, 7	; 16
     878:	4e c0       	rjmp	.+156    	; 0x916
     87a:	81 e0       	ldi	r24, 0x01	; 1
     87c:	80 93 77 00 	sts	0x0077, r24
     880:	40 91 74 00 	lds	r20, 0x0074
     884:	60 91 75 00 	lds	r22, 0x0075
     888:	a8 de       	rcall	.-688    	; 0x5da
     88a:	82 9b       	sbis	0x10, 2	; 16
     88c:	ca df       	rcall	.-108    	; 0x822
     88e:	82 99       	sbic	0x10, 2	; 16
     890:	f4 cf       	rjmp	.-24     	; 0x87a
     892:	81 e0       	ldi	r24, 0x01	; 1
     894:	80 93 77 00 	sts	0x0077, r24
     898:	40 91 72 00 	lds	r20, 0x0072
     89c:	60 91 73 00 	lds	r22, 0x0073
     8a0:	82 e0       	ldi	r24, 0x02	; 2
     8a2:	9b de       	rcall	.-714    	; 0x5da
     8a4:	82 9b       	sbis	0x10, 2	; 16
     8a6:	bd df       	rcall	.-134    	; 0x822
     8a8:	82 99       	sbic	0x10, 2	; 16
     8aa:	f3 cf       	rjmp	.-26     	; 0x892
     8ac:	81 e0       	ldi	r24, 0x01	; 1
     8ae:	80 93 77 00 	sts	0x0077, r24
     8b2:	40 91 70 00 	lds	r20, 0x0070
     8b6:	60 91 71 00 	lds	r22, 0x0071
     8ba:	83 e0       	ldi	r24, 0x03	; 3
     8bc:	8e de       	rcall	.-740    	; 0x5da
     8be:	82 9b       	sbis	0x10, 2	; 16
     8c0:	b0 df       	rcall	.-160    	; 0x822
     8c2:	82 99       	sbic	0x10, 2	; 16
     8c4:	f3 cf       	rjmp	.-26     	; 0x8ac
     8c6:	81 e0       	ldi	r24, 0x01	; 1
     8c8:	80 93 77 00 	sts	0x0077, r24
     8cc:	40 91 6e 00 	lds	r20, 0x006E
     8d0:	60 91 6f 00 	lds	r22, 0x006F
     8d4:	84 e0       	ldi	r24, 0x04	; 4
     8d6:	81 de       	rcall	.-766    	; 0x5da
     8d8:	82 9b       	sbis	0x10, 2	; 16
     8da:	a3 df       	rcall	.-186    	; 0x822
     8dc:	82 99       	sbic	0x10, 2	; 16
     8de:	f3 cf       	rjmp	.-26     	; 0x8c6
     8e0:	81 e0       	ldi	r24, 0x01	; 1
     8e2:	80 93 77 00 	sts	0x0077, r24
     8e6:	40 91 6c 00 	lds	r20, 0x006C
     8ea:	60 91 6d 00 	lds	r22, 0x006D
     8ee:	85 e0       	ldi	r24, 0x05	; 5
     8f0:	74 de       	rcall	.-792    	; 0x5da
     8f2:	82 9b       	sbis	0x10, 2	; 16
     8f4:	96 df       	rcall	.-212    	; 0x822
     8f6:	82 99       	sbic	0x10, 2	; 16

⌨️ 快捷键说明

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