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

📄 main.lss

📁 avr单片机的一些实际应用源码
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     3da:	de bf       	out	0x3e, r29	; 62
     3dc:	0f be       	out	0x3f, r0	; 63
     3de:	cd bf       	out	0x3d, r28	; 61
     3e0:	df 91       	pop	r29
     3e2:	cf 91       	pop	r28
     3e4:	08 95       	ret

000003e6 <main>:
/*************接口部分***************结束**************/

int main(void)
{
     3e6:	c0 e5       	ldi	r28, 0x50	; 80
     3e8:	d4 e0       	ldi	r29, 0x04	; 4
     3ea:	de bf       	out	0x3e, r29	; 62
     3ec:	cd bf       	out	0x3d, r28	; 61
	uchar i;
	char c;
	int tmp[7];//从标准I/O读取缓冲区
	
	IoInit();
     3ee:	c9 de       	rcall	.-622    	; 0x182
	RtcInit();
     3f0:	52 df       	rcall	.-348    	; 0x296
	
	printf_P(PSTR("输入命令:g - 打印日历/时钟,s - 设置日历/时钟,h - 帮助信息\n"));	
     3f2:	86 e2       	ldi	r24, 0x26	; 38
     3f4:	90 e0       	ldi	r25, 0x00	; 0
     3f6:	9f 93       	push	r25
     3f8:	8f 93       	push	r24
     3fa:	61 d4       	rcall	.+2242   	; 0xcbe
	
	while(1)
     3fc:	0f 90       	pop	r0
     3fe:	0f 90       	pop	r0
	{
		scanf("%c",&c);
     400:	ce 01       	movw	r24, r28
     402:	0f 96       	adiw	r24, 0x0f	; 15
     404:	9f 93       	push	r25
     406:	8f 93       	push	r24
     408:	80 e6       	ldi	r24, 0x60	; 96
     40a:	90 e0       	ldi	r25, 0x00	; 0
     40c:	9f 93       	push	r25
     40e:	8f 93       	push	r24
     410:	7e d4       	rcall	.+2300   	; 0xd0e
		if(c=='g')
     412:	8f 85       	ldd	r24, Y+15	; 0x0f
     414:	0f 90       	pop	r0
     416:	0f 90       	pop	r0
     418:	0f 90       	pop	r0
     41a:	0f 90       	pop	r0
     41c:	87 36       	cpi	r24, 0x67	; 103
     41e:	a9 f5       	brne	.+106    	; 0x48a
		{
			RtcUpdateData(RTC_READ);
     420:	81 e0       	ldi	r24, 0x01	; 1
     422:	3c df       	rcall	.-392    	; 0x29c
			RtcBCDToBin();
     424:	a5 df       	rcall	.-182    	; 0x370
			
			printf_P(PSTR("当前日历/时钟:%d年%d月%d日 星期%d  %d:%d:%d\n"),g_aTimeBin[6],g_aTimeBin[5],g_aTimeBin[4],g_aTimeBin[3],g_aTimeBin[2],g_aTimeBin[1],g_aTimeBin[0]);
     426:	80 91 82 00 	lds	r24, 0x0082
     42a:	99 27       	eor	r25, r25
     42c:	9f 93       	push	r25
     42e:	8f 93       	push	r24
     430:	80 91 83 00 	lds	r24, 0x0083
     434:	99 27       	eor	r25, r25
     436:	9f 93       	push	r25
     438:	8f 93       	push	r24
     43a:	80 91 84 00 	lds	r24, 0x0084
     43e:	99 27       	eor	r25, r25
     440:	9f 93       	push	r25
     442:	8f 93       	push	r24
     444:	80 91 85 00 	lds	r24, 0x0085
     448:	99 27       	eor	r25, r25
     44a:	9f 93       	push	r25
     44c:	8f 93       	push	r24
     44e:	80 91 86 00 	lds	r24, 0x0086
     452:	99 27       	eor	r25, r25
     454:	9f 93       	push	r25
     456:	8f 93       	push	r24
     458:	80 91 87 00 	lds	r24, 0x0087
     45c:	99 27       	eor	r25, r25
     45e:	9f 93       	push	r25
     460:	8f 93       	push	r24
     462:	80 91 88 00 	lds	r24, 0x0088
     466:	99 27       	eor	r25, r25
     468:	9f 93       	push	r25
     46a:	8f 93       	push	r24
     46c:	84 e6       	ldi	r24, 0x64	; 100
     46e:	90 e0       	ldi	r25, 0x00	; 0
     470:	9f 93       	push	r25
     472:	8f 93       	push	r24
     474:	24 d4       	rcall	.+2120   	; 0xcbe
     476:	2d b7       	in	r18, 0x3d	; 61
     478:	3e b7       	in	r19, 0x3e	; 62
     47a:	20 5f       	subi	r18, 0xF0	; 240
     47c:	3f 4f       	sbci	r19, 0xFF	; 255
     47e:	0f b6       	in	r0, 0x3f	; 63
     480:	f8 94       	cli
     482:	3e bf       	out	0x3e, r19	; 62
     484:	0f be       	out	0x3f, r0	; 63
     486:	2d bf       	out	0x3d, r18	; 61
     488:	bb cf       	rjmp	.-138    	; 0x400
		}
		else if(c=='s')
     48a:	83 37       	cpi	r24, 0x73	; 115
     48c:	09 f0       	breq	.+2      	; 0x490
     48e:	40 c0       	rjmp	.+128    	; 0x510
		{
			printf_P(PSTR("请按 <年 月 日 星期 小时 分 秒> 格式输入:\n"));
     490:	82 e9       	ldi	r24, 0x92	; 146
     492:	90 e0       	ldi	r25, 0x00	; 0
     494:	9f 93       	push	r25
     496:	8f 93       	push	r24
     498:	12 d4       	rcall	.+2084   	; 0xcbe
			scanf("%d,%d,%d,%d,%d,%d,%d",tmp+6,tmp+5,tmp+4,tmp+3,tmp+2,tmp+1,tmp);
     49a:	8e 01       	movw	r16, r28
     49c:	0f 5f       	subi	r16, 0xFF	; 255
     49e:	1f 4f       	sbci	r17, 0xFF	; 255
     4a0:	1f 93       	push	r17
     4a2:	0f 93       	push	r16
     4a4:	ce 01       	movw	r24, r28
     4a6:	03 96       	adiw	r24, 0x03	; 3
     4a8:	9f 93       	push	r25
     4aa:	8f 93       	push	r24
     4ac:	ce 01       	movw	r24, r28
     4ae:	05 96       	adiw	r24, 0x05	; 5
     4b0:	9f 93       	push	r25
     4b2:	8f 93       	push	r24
     4b4:	ce 01       	movw	r24, r28
     4b6:	07 96       	adiw	r24, 0x07	; 7
     4b8:	9f 93       	push	r25
     4ba:	8f 93       	push	r24
     4bc:	ce 01       	movw	r24, r28
     4be:	09 96       	adiw	r24, 0x09	; 9
     4c0:	9f 93       	push	r25
     4c2:	8f 93       	push	r24
     4c4:	ce 01       	movw	r24, r28
     4c6:	0b 96       	adiw	r24, 0x0b	; 11
     4c8:	9f 93       	push	r25
     4ca:	8f 93       	push	r24
     4cc:	ce 01       	movw	r24, r28
     4ce:	0d 96       	adiw	r24, 0x0d	; 13
     4d0:	9f 93       	push	r25
     4d2:	8f 93       	push	r24
     4d4:	83 e6       	ldi	r24, 0x63	; 99
     4d6:	90 e0       	ldi	r25, 0x00	; 0
     4d8:	9f 93       	push	r25
     4da:	8f 93       	push	r24
     4dc:	18 d4       	rcall	.+2096   	; 0xd0e
			
			for(i=0;i<7;i++)
     4de:	90 e0       	ldi	r25, 0x00	; 0
     4e0:	2d b7       	in	r18, 0x3d	; 61
     4e2:	3e b7       	in	r19, 0x3e	; 62
     4e4:	2e 5e       	subi	r18, 0xEE	; 238
     4e6:	3f 4f       	sbci	r19, 0xFF	; 255
     4e8:	0f b6       	in	r0, 0x3f	; 63
     4ea:	f8 94       	cli
     4ec:	3e bf       	out	0x3e, r19	; 62
     4ee:	0f be       	out	0x3f, r0	; 63
     4f0:	2d bf       	out	0x3d, r18	; 61
     4f2:	a2 e8       	ldi	r26, 0x82	; 130
     4f4:	b0 e0       	ldi	r27, 0x00	; 0
     4f6:	f8 01       	movw	r30, r16
				g_aTimeBin[i]=(uchar)tmp[i];
     4f8:	80 81       	ld	r24, Z
     4fa:	32 96       	adiw	r30, 0x02	; 2
     4fc:	8d 93       	st	X+, r24
     4fe:	9f 5f       	subi	r25, 0xFF	; 255
     500:	97 30       	cpi	r25, 0x07	; 7
     502:	d0 f3       	brcs	.-12     	; 0x4f8
	
			RtcBinToBCD();
     504:	fe de       	rcall	.-516    	; 0x302
			RtcUpdateData(RTC_WRITE);
     506:	80 e0       	ldi	r24, 0x00	; 0
     508:	c9 de       	rcall	.-622    	; 0x29c
			
			printf_P(PSTR("\n设置完成!\n"));
     50a:	8e eb       	ldi	r24, 0xBE	; 190
     50c:	90 e0       	ldi	r25, 0x00	; 0
     50e:	73 cf       	rjmp	.-282    	; 0x3f6
		}
		else if(c=='h')
     510:	88 36       	cpi	r24, 0x68	; 104
     512:	09 f0       	breq	.+2      	; 0x516
     514:	75 cf       	rjmp	.-278    	; 0x400
			printf_P(PSTR("输入命令:g - 打印日历/时钟,s - 设置日历/时钟,h - 帮助信息\n"));	
     516:	8a ec       	ldi	r24, 0xCA	; 202
     518:	90 e0       	ldi	r25, 0x00	; 0
     51a:	6d cf       	rjmp	.-294    	; 0x3f6

0000051c <vfprintf>:
		else
			continue;
	}
	return 0;
}
     51c:	af e0       	ldi	r26, 0x0F	; 15
     51e:	b0 e0       	ldi	r27, 0x00	; 0
     520:	e3 e9       	ldi	r30, 0x93	; 147
     522:	f2 e0       	ldi	r31, 0x02	; 2
     524:	83 c5       	rjmp	.+2822   	; 0x102c
     526:	aa 24       	eor	r10, r10
     528:	bb 24       	eor	r11, r11
     52a:	65 01       	movw	r12, r10
     52c:	3c 01       	movw	r6, r24
     52e:	2b 01       	movw	r4, r22
     530:	4d 87       	std	Y+13, r20	; 0x0d
     532:	5e 87       	std	Y+14, r21	; 0x0e
     534:	22 24       	eor	r2, r2
     536:	fc 01       	movw	r30, r24
     538:	16 82       	std	Z+6, r1	; 0x06
     53a:	17 82       	std	Z+7, r1	; 0x07
     53c:	83 81       	ldd	r24, Z+3	; 0x03
     53e:	81 fd       	sbrc	r24, 1
     540:	50 c1       	rjmp	.+672    	; 0x7e2
     542:	8f ef       	ldi	r24, 0xFF	; 255
     544:	9f ef       	ldi	r25, 0xFF	; 255
     546:	60 c1       	rjmp	.+704    	; 0x808
     548:	20 fe       	sbrs	r2, 0
     54a:	3d c1       	rjmp	.+634    	; 0x7c6
     54c:	83 2d       	mov	r24, r3
     54e:	80 53       	subi	r24, 0x30	; 48
     550:	8a 30       	cpi	r24, 0x0A	; 10
     552:	08 f4       	brcc	.+2      	; 0x556
     554:	46 c1       	rjmp	.+652    	; 0x7e2
     556:	83 2d       	mov	r24, r3
     558:	99 27       	eor	r25, r25
     55a:	87 fd       	sbrc	r24, 7
     55c:	90 95       	com	r25
     55e:	88 36       	cpi	r24, 0x68	; 104
     560:	91 05       	cpc	r25, r1
     562:	3c f5       	brge	.+78     	; 0x5b2
     564:	85 36       	cpi	r24, 0x65	; 101
     566:	91 05       	cpc	r25, r1
     568:	0c f0       	brlt	.+2      	; 0x56c
     56a:	4d c0       	rjmp	.+154    	; 0x606
     56c:	88 35       	cpi	r24, 0x58	; 88
     56e:	91 05       	cpc	r25, r1
     570:	09 f4       	brne	.+2      	; 0x574
     572:	a2 c0       	rjmp	.+324    	; 0x6b8
     574:	89 35       	cpi	r24, 0x59	; 89
     576:	91 05       	cpc	r25, r1
     578:	a4 f4       	brge	.+40     	; 0x5a2
     57a:	8b 32       	cpi	r24, 0x2B	; 43
     57c:	91 05       	cpc	r25, r1
     57e:	09 f4       	brne	.+2      	; 0x582
     580:	30 c1       	rjmp	.+608    	; 0x7e2
     582:	8c 32       	cpi	r24, 0x2C	; 44
     584:	91 05       	cpc	r25, r1
     586:	44 f4       	brge	.+16     	; 0x598
     588:	80 32       	cpi	r24, 0x20	; 32
     58a:	91 05       	cpc	r25, r1
     58c:	09 f4       	brne	.+2      	; 0x590
     58e:	29 c1       	rjmp	.+594    	; 0x7e2
     590:	83 97       	sbiw	r24, 0x23	; 35
     592:	09 f4       	brne	.+2      	; 0x596
     594:	26 c1       	rjmp	.+588    	; 0x7e2
     596:	0f c1       	rjmp	.+542    	; 0x7b6
     598:	8d 97       	sbiw	r24, 0x2d	; 45
     59a:	02 97       	sbiw	r24, 0x02	; 2
     59c:	08 f0       	brcs	.+2      	; 0x5a0
     59e:	0b c1       	rjmp	.+534    	; 0x7b6
     5a0:	20 c1       	rjmp	.+576    	; 0x7e2
     5a2:	83 36       	cpi	r24, 0x63	; 99
     5a4:	91 05       	cpc	r25, r1
     5a6:	c1 f1       	breq	.+112    	; 0x618
     5a8:	84 36       	cpi	r24, 0x64	; 100
     5aa:	91 05       	cpc	r25, r1
     5ac:	09 f4       	brne	.+2      	; 0x5b0
     5ae:	54 c0       	rjmp	.+168    	; 0x658
     5b0:	02 c1       	rjmp	.+516    	; 0x7b6
     5b2:	80 37       	cpi	r24, 0x70	; 112
     5b4:	91 05       	cpc	r25, r1
     5b6:	09 f4       	brne	.+2      	; 0x5ba
     5b8:	7b c0       	rjmp	.+246    	; 0x6b0
     5ba:	81 37       	cpi	r24, 0x71	; 113
     5bc:	91 05       	cpc	r25, r1
     5be:	84 f4       	brge	.+32     	; 0x5e0
     5c0:	8c 36       	cpi	r24, 0x6C	; 108
     5c2:	91 05       	cpc	r25, r1
     5c4:	e9 f0       	breq	.+58     	; 0x600
     5c6:	8d 36       	cpi	r24, 0x6D	; 109
     5c8:	91 05       	cpc	r25, r1
     5ca:	2c f4       	brge	.+10     	; 0x5d6
     5cc:	89 36       	cpi	r24, 0x69	; 105
     5ce:	91 05       	cpc	r25, r1
     5d0:	09 f4       	brne	.+2      	; 0x5d4
     5d2:	42 c0       	rjmp	.+132    	; 0x658
     5d4:	f0 c0       	rjmp	.+480    	; 0x7b6
     5d6:	8f 36       	cpi	r24, 0x6F	; 111
     5d8:	91 05       	cpc	r25, r1
     5da:	09 f4       	brne	.+2      	; 0x5de
     5dc:	66 c0       	rjmp	.+204    	; 0x6aa
     5de:	eb c0       	rjmp	.+470    	; 0x7b6
     5e0:	85 37       	cpi	r24, 0x75	; 117
     5e2:	91 05       	cpc	r25, r1
     5e4:	09 f4       	brne	.+2      	; 0x5e8
     5e6:	6a c0       	rjmp	.+212    	; 0x6bc
     5e8:	86 37       	cpi	r24, 0x76	; 118
     5ea:	91 05       	cpc	r25, r1
     5ec:	24 f4       	brge	.+8      	; 0x5f6
     5ee:	83 37       	cpi	r24, 0x73	; 115
     5f0:	91 05       	cpc	r25, r1
     5f2:	d1 f0       	breq	.+52     	; 0x628
     5f4:	e0 c0       	rjmp	.+448    	; 0x7b6
     5f6:	88 37       	cpi	r24, 0x78	; 120
     5f8:	91 05       	cpc	r25, r1
     5fa:	09 f4       	brne	.+2      	; 0x5fe
     5fc:	5d c0       	rjmp	.+186    	; 0x6b8
     5fe:	db c0       	rjmp	.+438    	; 0x7b6
     600:	f4 e0       	ldi	r31, 0x04	; 4
     602:	2f 2a       	or	r2, r31
     604:	ee c0       	rjmp	.+476    	; 0x7e2
     606:	0f 2e       	mov	r0, r31
     608:	ff e3       	ldi	r31, 0x3F	; 63
     60a:	af 2e       	mov	r10, r31
     60c:	f0 2d       	mov	r31, r0
     60e:	0f 2e       	mov	r0, r31
     610:	f3 e6       	ldi	r31, 0x63	; 99
     612:	3f 2e       	mov	r3, r31
     614:	f0 2d       	mov	r31, r0
     616:	9b c0       	rjmp	.+310    	; 0x74e
     618:	ed 85       	ldd	r30, Y+13	; 0x0d
     61a:	fe 85       	ldd	r31, Y+14	; 0x0e
     61c:	cf 01       	movw	r24, r30
     61e:	02 96       	adiw	r24, 0x02	; 2
     620:	8d 87       	std	Y+13, r24	; 0x0d
     622:	9e 87       	std	Y+14, r25	; 0x0e
     624:	a0 80       	ld	r10, Z
     626:	93 c0       	rjmp	.+294    	; 0x74e
     628:	ed 85       	ldd	r30, Y+13	; 0x0d
     62a:	fe 85       	ldd	r31, Y+14	; 0x0e
     62c:	cf 01       	movw	r24, r30
     62e:	02 96       	adiw	r24, 0x02	; 2
     630:	8d 87       	std	Y+13, r24	; 0x0d
     632:	9e 87       	std	Y+14, r25	; 0x0e
     634:	a0 80       	ld	r10, Z
     636:	b1 80       	ldd	r11, Z+1	; 0x01
     638:	1f 86       	std	Y+15, r1	; 0x0f
     63a:	f5 01       	movw	r30, r10
     63c:	80 81       	ld	r24, Z
     63e:	88 23       	and	r24, r24
     640:	09 f4       	brne	.+2      	; 0x644
     642:	85 c0       	rjmp	.+266    	; 0x74e
     644:	9f 85       	ldd	r25, Y+15	; 0x0f
     646:	9f 5f       	subi	r25, 0xFF	; 255
     648:	9f 87       	std	Y+15, r25	; 0x0f
     64a:	f5 01       	movw	r30, r10
     64c:	e9 0f       	add	r30, r25

⌨️ 快捷键说明

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