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

📄 main.lss

📁 atmega16L输入捕获经典试验已经通过验证
💻 LSS
📖 第 1 页 / 共 5 页
字号:
 1d6:	90 e0       	ldi	r25, 0x00	; 0
 1d8:	14 c0       	rjmp	.+40     	; 0x202
	LCD_set_xy(X,Y);
 1da:	60 91 ee 00 	lds	r22, 0x00EE
 1de:	80 91 ef 00 	lds	r24, 0x00EF
 1e2:	0e 94 8e 00 	call	0x11c
	LCD_write_char(0,c);
 1e6:	8c 2f       	mov	r24, r28
 1e8:	99 27       	eor	r25, r25
 1ea:	bc 01       	movw	r22, r24
 1ec:	80 e0       	ldi	r24, 0x00	; 0
 1ee:	90 e0       	ldi	r25, 0x00	; 0
 1f0:	0e 94 4d 00 	call	0x9a
	X++;//左移一格
 1f4:	80 91 ef 00 	lds	r24, 0x00EF
 1f8:	8f 5f       	subi	r24, 0xFF	; 255
 1fa:	80 93 ef 00 	sts	0x00EF, r24
	return 0;
 1fe:	80 e0       	ldi	r24, 0x00	; 0
 200:	90 e0       	ldi	r25, 0x00	; 0
 202:	cf 91       	pop	r28
 204:	08 95       	ret

00000206 <init_timer1_icp>:
int once_time; 

void init_timer1_icp(void)
{
	TCCR1B|=(1<<CS11)|(1<<CS10)|(1<<ICNC1);	//分频比64,可调
 206:	8e b5       	in	r24, 0x2e	; 46
 208:	83 68       	ori	r24, 0x83	; 131
 20a:	8e bd       	out	0x2e, r24	; 46
	TIFR=1<<ICF1;	//清除没有执行的中断
 20c:	80 e2       	ldi	r24, 0x20	; 32
 20e:	88 bf       	out	0x38, r24	; 56
	TIMSK=1<<TICIE1;
 210:	89 bf       	out	0x39, r24	; 57
	DDRB=0xFF;
 212:	8f ef       	ldi	r24, 0xFF	; 255
 214:	87 bb       	out	0x17, r24	; 23
	DDRD&=~(1<<PD6);
 216:	8e 98       	cbi	0x11, 6	; 17
	PORTD|=1<<PD6;
 218:	96 9a       	sbi	0x12, 6	; 18
 21a:	08 95       	ret

0000021c <__vector_5>:
}
SIGNAL(SIG_INPUT_CAPTURE1)
{
 21c:	1f 92       	push	r1
 21e:	0f 92       	push	r0
 220:	0f b6       	in	r0, 0x3f	; 63
 222:	0f 92       	push	r0
 224:	11 24       	eor	r1, r1
 226:	2f 93       	push	r18
 228:	3f 93       	push	r19
 22a:	4f 93       	push	r20
 22c:	5f 93       	push	r21
 22e:	6f 93       	push	r22
 230:	7f 93       	push	r23
 232:	8f 93       	push	r24
 234:	9f 93       	push	r25
 236:	af 93       	push	r26
 238:	bf 93       	push	r27
 23a:	ef 93       	push	r30
 23c:	ff 93       	push	r31
	once_time=ICR1/16;
 23e:	86 b5       	in	r24, 0x26	; 38
 240:	97 b5       	in	r25, 0x27	; 39
 242:	92 95       	swap	r25
 244:	82 95       	swap	r24
 246:	8f 70       	andi	r24, 0x0F	; 15
 248:	89 27       	eor	r24, r25
 24a:	9f 70       	andi	r25, 0x0F	; 15
 24c:	89 27       	eor	r24, r25
 24e:	90 93 f1 00 	sts	0x00F1, r25
 252:	80 93 f0 00 	sts	0x00F0, r24
	TCNT1=0;
 256:	1d bc       	out	0x2d, r1	; 45
 258:	1c bc       	out	0x2c, r1	; 44
	printf("\n\v\v%5d\n",once_time*8); 	
 25a:	88 0f       	add	r24, r24
 25c:	99 1f       	adc	r25, r25
 25e:	88 0f       	add	r24, r24
 260:	99 1f       	adc	r25, r25
 262:	88 0f       	add	r24, r24
 264:	99 1f       	adc	r25, r25
 266:	9f 93       	push	r25
 268:	8f 93       	push	r24
 26a:	80 e6       	ldi	r24, 0x60	; 96
 26c:	90 e0       	ldi	r25, 0x00	; 0
 26e:	9f 93       	push	r25
 270:	8f 93       	push	r24
 272:	0e 94 03 02 	call	0x406
 276:	0f 90       	pop	r0
 278:	0f 90       	pop	r0
 27a:	0f 90       	pop	r0
 27c:	0f 90       	pop	r0
 27e:	ff 91       	pop	r31
 280:	ef 91       	pop	r30
 282:	bf 91       	pop	r27
 284:	af 91       	pop	r26
 286:	9f 91       	pop	r25
 288:	8f 91       	pop	r24
 28a:	7f 91       	pop	r23
 28c:	6f 91       	pop	r22
 28e:	5f 91       	pop	r21
 290:	4f 91       	pop	r20
 292:	3f 91       	pop	r19
 294:	2f 91       	pop	r18
 296:	0f 90       	pop	r0
 298:	0f be       	out	0x3f, r0	; 63
 29a:	0f 90       	pop	r0
 29c:	1f 90       	pop	r1
 29e:	18 95       	reti

000002a0 <main>:
}
int main(void)
{
 2a0:	cf e5       	ldi	r28, 0x5F	; 95
 2a2:	d4 e0       	ldi	r29, 0x04	; 4
 2a4:	de bf       	out	0x3e, r29	; 62
 2a6:	cd bf       	out	0x3d, r28	; 61
	char i; 
	fdevopen(LCD_putc,0,0);//将printf()输出函数重定向于LCD_putc()
 2a8:	40 e0       	ldi	r20, 0x00	; 0
 2aa:	50 e0       	ldi	r21, 0x00	; 0
 2ac:	ba 01       	movw	r22, r20
 2ae:	8a ec       	ldi	r24, 0xCA	; 202
 2b0:	90 e0       	ldi	r25, 0x00	; 0
 2b2:	0e 94 ba 01 	call	0x374
	LCD_POWER_PORT|=(LCD_VCC);
 2b6:	a8 9a       	sbi	0x15, 0	; 21
	LCD_POWER_PORT&=(~LCD_GND);
 2b8:	aa 98       	cbi	0x15, 2	; 21
	LCD_POWER_DDR|=(LCD_VCC|LCD_GND);
 2ba:	84 b3       	in	r24, 0x14	; 20
 2bc:	85 60       	ori	r24, 0x05	; 5
 2be:	84 bb       	out	0x14, r24	; 20
		__ticks = 1;
	else if (__tmp > 65535)
		__ticks = 0;	/* i.e. 65536 */
	else
		__ticks = (uint16_t)__tmp;
 2c0:	80 e3       	ldi	r24, 0x30	; 48
 2c2:	95 e7       	ldi	r25, 0x75	; 117
 2c4:	01 97       	sbiw	r24, 0x01	; 1
 2c6:	f1 f7       	brne	.-4      	; 0x2c4
	_delay_ms(15);
	LCD_DATA_DDR|=LCD_DATA;   
 2c8:	81 b3       	in	r24, 0x11	; 17
 2ca:	8f 60       	ori	r24, 0x0F	; 15
 2cc:	81 bb       	out	0x11, r24	; 17
	LCD_CROL_DDR|=LCD_RS|LCD_EN|LCD_RW;  
 2ce:	84 b3       	in	r24, 0x14	; 20
 2d0:	8e 60       	ori	r24, 0x0E	; 14
 2d2:	84 bb       	out	0x14, r24	; 20
    LCD_init();
 2d4:	0e 94 9c 00 	call	0x138
	LCD_write_char(0x01,0);
 2d8:	60 e0       	ldi	r22, 0x00	; 0
 2da:	70 e0       	ldi	r23, 0x00	; 0
 2dc:	81 e0       	ldi	r24, 0x01	; 1
 2de:	90 e0       	ldi	r25, 0x00	; 0
 2e0:	0e 94 4d 00 	call	0x9a
		__ticks = 1;
	else if (__tmp > 65535)
		__ticks = 0;	/* i.e. 65536 */
	else
		__ticks = (uint16_t)__tmp;
 2e4:	80 ea       	ldi	r24, 0xA0	; 160
 2e6:	9f e0       	ldi	r25, 0x0F	; 15
 2e8:	01 97       	sbiw	r24, 0x01	; 1
 2ea:	f1 f7       	brne	.-4      	; 0x2e8
	_delay_ms(2);
    printf("Wellcome\n");
 2ec:	88 e6       	ldi	r24, 0x68	; 104
 2ee:	90 e0       	ldi	r25, 0x00	; 0
 2f0:	0e 94 18 02 	call	0x430
    printf("www.OURAVR.com!\n");
 2f4:	81 e7       	ldi	r24, 0x71	; 113
 2f6:	90 e0       	ldi	r25, 0x00	; 0
 2f8:	0e 94 18 02 	call	0x430
 2fc:	e0 e0       	ldi	r30, 0x00	; 0
 2fe:	f0 e0       	ldi	r31, 0x00	; 0
 300:	21 e3       	ldi	r18, 0x31	; 49
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 302:	cf 01       	movw	r24, r30
 304:	01 97       	sbiw	r24, 0x01	; 1
 306:	f1 f7       	brne	.-4      	; 0x304
	for(i=0;i<50;i++)
 308:	21 50       	subi	r18, 0x01	; 1
 30a:	27 ff       	sbrs	r18, 7
 30c:	fa cf       	rjmp	.-12     	; 0x302
    _delay_ms(100);
    printf("Happy every day!\n");
 30e:	81 e8       	ldi	r24, 0x81	; 129
 310:	90 e0       	ldi	r25, 0x00	; 0
 312:	0e 94 18 02 	call	0x430
    printf("Forever friend! \n");
 316:	82 e9       	ldi	r24, 0x92	; 146
 318:	90 e0       	ldi	r25, 0x00	; 0
 31a:	0e 94 18 02 	call	0x430
 31e:	e0 e0       	ldi	r30, 0x00	; 0
 320:	f0 e0       	ldi	r31, 0x00	; 0
 322:	21 e3       	ldi	r18, 0x31	; 49
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 324:	cf 01       	movw	r24, r30
 326:	01 97       	sbiw	r24, 0x01	; 1
 328:	f1 f7       	brne	.-4      	; 0x326
	for(i=0;i<50;i++)
 32a:	21 50       	subi	r18, 0x01	; 1
 32c:	27 ff       	sbrs	r18, 7
 32e:	fa cf       	rjmp	.-12     	; 0x324
    _delay_ms(100);
    printf("Redstone:Support\n");
 330:	83 ea       	ldi	r24, 0xA3	; 163
 332:	90 e0       	ldi	r25, 0x00	; 0
 334:	0e 94 18 02 	call	0x430
    printf("OURAVR Forever! \n");
 338:	84 eb       	ldi	r24, 0xB4	; 180
 33a:	90 e0       	ldi	r25, 0x00	; 0
 33c:	0e 94 18 02 	call	0x430
 340:	e0 e0       	ldi	r30, 0x00	; 0
 342:	f0 e0       	ldi	r31, 0x00	; 0
 344:	21 e3       	ldi	r18, 0x31	; 49
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 346:	cf 01       	movw	r24, r30
 348:	01 97       	sbiw	r24, 0x01	; 1
 34a:	f1 f7       	brne	.-4      	; 0x348
	for(i=0;i<50;i++)
 34c:	21 50       	subi	r18, 0x01	; 1
 34e:	27 ff       	sbrs	r18, 7
 350:	fa cf       	rjmp	.-12     	; 0x346
    _delay_ms(100);
    printf("The Cycle Is:   \n");
 352:	85 ec       	ldi	r24, 0xC5	; 197
 354:	90 e0       	ldi	r25, 0x00	; 0
 356:	0e 94 18 02 	call	0x430
    printf("T=     us       \n");
 35a:	86 ed       	ldi	r24, 0xD6	; 214
 35c:	90 e0       	ldi	r25, 0x00	; 0
 35e:	0e 94 18 02 	call	0x430
	SREG|=1<<SREG_I;
 362:	8f b7       	in	r24, 0x3f	; 63
 364:	80 68       	ori	r24, 0x80	; 128
 366:	8f bf       	out	0x3f, r24	; 63
	init_timer1_icp();
 368:	0e 94 03 01 	call	0x206
}
 36c:	80 e0       	ldi	r24, 0x00	; 0
 36e:	90 e0       	ldi	r25, 0x00	; 0
 370:	0c 94 f5 06 	jmp	0xdea

00000374 <fdevopen>:
 374:	0f 93       	push	r16
 376:	1f 93       	push	r17
 378:	cf 93       	push	r28
 37a:	df 93       	push	r29
 37c:	8c 01       	movw	r16, r24
 37e:	eb 01       	movw	r28, r22
 380:	00 97       	sbiw	r24, 0x00	; 0
 382:	a1 f1       	breq	.+104    	; 0x3ec
 384:	6c e0       	ldi	r22, 0x0C	; 12
 386:	70 e0       	ldi	r23, 0x00	; 0
 388:	81 e0       	ldi	r24, 0x01	; 1
 38a:	90 e0       	ldi	r25, 0x00	; 0
 38c:	0e 94 4d 05 	call	0xa9a
 390:	fc 01       	movw	r30, r24
 392:	89 2b       	or	r24, r25
 394:	21 f1       	breq	.+72     	; 0x3de
 396:	20 97       	sbiw	r28, 0x00	; 0
 398:	51 f0       	breq	.+20     	; 0x3ae
 39a:	c2 87       	std	Z+10, r28	; 0x0a
 39c:	d3 87       	std	Z+11, r29	; 0x0b
 39e:	21 e0       	ldi	r18, 0x01	; 1
 3a0:	23 83       	std	Z+3, r18	; 0x03
 3a2:	80 91 f2 00 	lds	r24, 0x00F2
 3a6:	90 91 f3 00 	lds	r25, 0x00F3
 3aa:	89 2b       	or	r24, r25
 3ac:	d1 f0       	breq	.+52     	; 0x3e2
 3ae:	01 15       	cp	r16, r1
 3b0:	11 05       	cpc	r17, r1
 3b2:	a9 f0       	breq	.+42     	; 0x3de
 3b4:	00 87       	std	Z+8, r16	; 0x08
 3b6:	11 87       	std	Z+9, r17	; 0x09
 3b8:	03 81       	ldd	r16, Z+3	; 0x03
 3ba:	02 60       	ori	r16, 0x02	; 2
 3bc:	03 83       	std	Z+3, r16	; 0x03
 3be:	a0 91 f4 00 	lds	r26, 0x00F4
 3c2:	b0 91 f5 00 	lds	r27, 0x00F5
 3c6:	ab 2b       	or	r26, r27
 3c8:	51 f4       	brne	.+20     	; 0x3de
 3ca:	f0 93 f5 00 	sts	0x00F5, r31
 3ce:	e0 93 f4 00 	sts	0x00F4, r30
 3d2:	c0 91 f6 00 	lds	r28, 0x00F6
 3d6:	d0 91 f7 00 	lds	r29, 0x00F7
 3da:	cd 2b       	or	r28, r29
 3dc:	51 f0       	breq	.+20     	; 0x3f2
 3de:	cf 01       	movw	r24, r30
 3e0:	0d c0       	rjmp	.+26     	; 0x3fc
 3e2:	f0 93 f3 00 	sts	0x00F3, r31
 3e6:	e0 93 f2 00 	sts	0x00F2, r30
 3ea:	e1 cf       	rjmp	.-62     	; 0x3ae
 3ec:	67 2b       	or	r22, r23
 3ee:	51 f6       	brne	.-108    	; 0x384
 3f0:	05 c0       	rjmp	.+10     	; 0x3fc
 3f2:	f0 93 f7 00 	sts	0x00F7, r31
 3f6:	e0 93 f6 00 	sts	0x00F6, r30
 3fa:	f1 cf       	rjmp	.-30     	; 0x3de
 3fc:	df 91       	pop	r29
 3fe:	cf 91       	pop	r28
 400:	1f 91       	pop	r17
 402:	0f 91       	pop	r16
 404:	08 95       	ret

00000406 <printf>:
 406:	cf 93       	push	r28
 408:	df 93       	push	r29
 40a:	cd b7       	in	r28, 0x3d	; 61
 40c:	de b7       	in	r29, 0x3e	; 62
 40e:	e5 e0       	ldi	r30, 0x05	; 5
 410:	f0 e0       	ldi	r31, 0x00	; 0
 412:	ec 0f       	add	r30, r28
 414:	fd 1f       	adc	r31, r29
 416:	81 91       	ld	r24, Z+
 418:	91 91       	ld	r25, Z+
 41a:	af 01       	movw	r20, r30
 41c:	bc 01       	movw	r22, r24
 41e:	80 91 f4 00 	lds	r24, 0x00F4
 422:	90 91 f5 00 	lds	r25, 0x00F5
 426:	0e 94 50 02 	call	0x4a0
 42a:	df 91       	pop	r29
 42c:	cf 91       	pop	r28
 42e:	08 95       	ret

00000430 <puts>:
 430:	0f 93       	push	r16
 432:	1f 93       	push	r17
 434:	cf 93       	push	r28
 436:	df 93       	push	r29
 438:	dc 01       	movw	r26, r24
 43a:	00 e0       	ldi	r16, 0x00	; 0
 43c:	10 e0       	ldi	r17, 0x00	; 0
 43e:	e0 91 f4 00 	lds	r30, 0x00F4
 442:	f0 91 f5 00 	lds	r31, 0x00F5
 446:	83 81       	ldd	r24, Z+3	; 0x03
 448:	81 ff       	sbrs	r24, 1
 44a:	23 c0       	rjmp	.+70     	; 0x492
 44c:	8d 91       	ld	r24, X+
 44e:	ed 01       	movw	r28, r26
 450:	88 23       	and	r24, r24
 452:	29 f4       	brne	.+10     	; 0x45e
 454:	13 c0       	rjmp	.+38     	; 0x47c
 456:	e0 91 f4 00 	lds	r30, 0x00F4
 45a:	f0 91 f5 00 	lds	r31, 0x00F5
 45e:	00 84       	ldd	r0, Z+8	; 0x08
 460:	f1 85       	ldd	r31, Z+9	; 0x09
 462:	e0 2d       	mov	r30, r0
 464:	09 95       	icall
 466:	89 2b       	or	r24, r25
 468:	11 f0       	breq	.+4      	; 0x46e
 46a:	0f ef       	ldi	r16, 0xFF	; 255
 46c:	1f ef       	ldi	r17, 0xFF	; 255
 46e:	89 91       	ld	r24, Y+
 470:	88 23       	and	r24, r24
 472:	89 f7       	brne	.-30     	; 0x456
 474:	e0 91 f4 00 	lds	r30, 0x00F4
 478:	f0 91 f5 00 	lds	r31, 0x00F5
 47c:	00 84       	ldd	r0, Z+8	; 0x08
 47e:	f1 85       	ldd	r31, Z+9	; 0x09
 480:	e0 2d       	mov	r30, r0
 482:	8a e0       	ldi	r24, 0x0A	; 10
 484:	09 95       	icall
 486:	89 2b       	or	r24, r25
 488:	11 f0       	breq	.+4      	; 0x48e
 48a:	0f ef       	ldi	r16, 0xFF	; 255
 48c:	1f ef       	ldi	r17, 0xFF	; 255
 48e:	c8 01       	movw	r24, r16

⌨️ 快捷键说明

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