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

📄 myusart.lss

📁 atmega128单片机的串口通讯程序
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     22c:	93 81       	ldd	r25, Z+3	; 0x03
     22e:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     232:	dc 01       	movw	r26, r24
     234:	cb 01       	movw	r24, r22
     236:	8e 01       	movw	r16, r28
     238:	05 54       	subi	r16, 0x45	; 69
     23a:	1f 4f       	sbci	r17, 0xFF	; 255
     23c:	bc 01       	movw	r22, r24
     23e:	cd 01       	movw	r24, r26
     240:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     244:	dc 01       	movw	r26, r24
     246:	cb 01       	movw	r24, r22
     248:	f8 01       	movw	r30, r16
     24a:	91 83       	std	Z+1, r25	; 0x01
     24c:	80 83       	st	Z, r24
     24e:	1f c0       	rjmp	.+62     	; 0x28e <info_display+0x12c>
     250:	fe 01       	movw	r30, r28
     252:	e7 54       	subi	r30, 0x47	; 71
     254:	ff 4f       	sbci	r31, 0xFF	; 255
     256:	80 e9       	ldi	r24, 0x90	; 144
     258:	91 e0       	ldi	r25, 0x01	; 1
     25a:	91 83       	std	Z+1, r25	; 0x01
     25c:	80 83       	st	Z, r24
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     25e:	fe 01       	movw	r30, r28
     260:	e7 54       	subi	r30, 0x47	; 71
     262:	ff 4f       	sbci	r31, 0xFF	; 255
     264:	80 81       	ld	r24, Z
     266:	91 81       	ldd	r25, Z+1	; 0x01
     268:	01 97       	sbiw	r24, 0x01	; 1
     26a:	f1 f7       	brne	.-4      	; 0x268 <info_display+0x106>
     26c:	fe 01       	movw	r30, r28
     26e:	e7 54       	subi	r30, 0x47	; 71
     270:	ff 4f       	sbci	r31, 0xFF	; 255
     272:	91 83       	std	Z+1, r25	; 0x01
     274:	80 83       	st	Z, r24
		while(__ticks)
		{
			// wait 1/10 ms
			_delay_loop_2(((F_CPU) / 4e3) / 10);
			__ticks --;
     276:	de 01       	movw	r26, r28
     278:	a5 54       	subi	r26, 0x45	; 69
     27a:	bf 4f       	sbci	r27, 0xFF	; 255
     27c:	fe 01       	movw	r30, r28
     27e:	e5 54       	subi	r30, 0x45	; 69
     280:	ff 4f       	sbci	r31, 0xFF	; 255
     282:	80 81       	ld	r24, Z
     284:	91 81       	ldd	r25, Z+1	; 0x01
     286:	01 97       	sbiw	r24, 0x01	; 1
     288:	11 96       	adiw	r26, 0x01	; 1
     28a:	9c 93       	st	X, r25
     28c:	8e 93       	st	-X, r24
		__ticks = 1;
	else if (__tmp > 65535)
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
		while(__ticks)
     28e:	fe 01       	movw	r30, r28
     290:	e5 54       	subi	r30, 0x45	; 69
     292:	ff 4f       	sbci	r31, 0xFF	; 255
     294:	80 81       	ld	r24, Z
     296:	91 81       	ldd	r25, Z+1	; 0x01
     298:	00 97       	sbiw	r24, 0x00	; 0
     29a:	d1 f6       	brne	.-76     	; 0x250 <info_display+0xee>
     29c:	27 c0       	rjmp	.+78     	; 0x2ec <info_display+0x18a>
			__ticks --;
		}
		return;
	}
	else
		__ticks = (uint16_t)__tmp;
     29e:	8e 01       	movw	r16, r28
     2a0:	05 54       	subi	r16, 0x45	; 69
     2a2:	1f 4f       	sbci	r17, 0xFF	; 255
     2a4:	fe 01       	movw	r30, r28
     2a6:	e3 54       	subi	r30, 0x43	; 67
     2a8:	ff 4f       	sbci	r31, 0xFF	; 255
     2aa:	60 81       	ld	r22, Z
     2ac:	71 81       	ldd	r23, Z+1	; 0x01
     2ae:	82 81       	ldd	r24, Z+2	; 0x02
     2b0:	93 81       	ldd	r25, Z+3	; 0x03
     2b2:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     2b6:	dc 01       	movw	r26, r24
     2b8:	cb 01       	movw	r24, r22
     2ba:	f8 01       	movw	r30, r16
     2bc:	91 83       	std	Z+1, r25	; 0x01
     2be:	80 83       	st	Z, r24
     2c0:	de 01       	movw	r26, r28
     2c2:	a9 54       	subi	r26, 0x49	; 73
     2c4:	bf 4f       	sbci	r27, 0xFF	; 255
     2c6:	fe 01       	movw	r30, r28
     2c8:	e5 54       	subi	r30, 0x45	; 69
     2ca:	ff 4f       	sbci	r31, 0xFF	; 255
     2cc:	80 81       	ld	r24, Z
     2ce:	91 81       	ldd	r25, Z+1	; 0x01
     2d0:	8d 93       	st	X+, r24
     2d2:	9c 93       	st	X, r25
     2d4:	fe 01       	movw	r30, r28
     2d6:	e9 54       	subi	r30, 0x49	; 73
     2d8:	ff 4f       	sbci	r31, 0xFF	; 255
     2da:	80 81       	ld	r24, Z
     2dc:	91 81       	ldd	r25, Z+1	; 0x01
     2de:	01 97       	sbiw	r24, 0x01	; 1
     2e0:	f1 f7       	brne	.-4      	; 0x2de <info_display+0x17c>
     2e2:	fe 01       	movw	r30, r28
     2e4:	e9 54       	subi	r30, 0x49	; 73
     2e6:	ff 4f       	sbci	r31, 0xFF	; 255
     2e8:	91 83       	std	Z+1, r25	; 0x01
     2ea:	80 83       	st	Z, r24
	data_write(data_01,51);	_delay_ms(256);
     2ec:	81 e1       	ldi	r24, 0x11	; 17
     2ee:	91 e0       	ldi	r25, 0x01	; 1
     2f0:	63 e3       	ldi	r22, 0x33	; 51
     2f2:	0e 94 8d 00 	call	0x11a	; 0x11a <data_write>
     2f6:	fe 01       	movw	r30, r28
     2f8:	ed 54       	subi	r30, 0x4D	; 77
     2fa:	ff 4f       	sbci	r31, 0xFF	; 255
     2fc:	80 e0       	ldi	r24, 0x00	; 0
     2fe:	90 e0       	ldi	r25, 0x00	; 0
     300:	a0 e8       	ldi	r26, 0x80	; 128
     302:	b3 e4       	ldi	r27, 0x43	; 67
     304:	80 83       	st	Z, r24
     306:	91 83       	std	Z+1, r25	; 0x01
     308:	a2 83       	std	Z+2, r26	; 0x02
     30a:	b3 83       	std	Z+3, r27	; 0x03
 */
void
_delay_ms(double __ms)
{
	uint16_t __ticks;
	double __tmp = ((F_CPU) / 4e3) * __ms;
     30c:	8e 01       	movw	r16, r28
     30e:	01 55       	subi	r16, 0x51	; 81
     310:	1f 4f       	sbci	r17, 0xFF	; 255
     312:	fe 01       	movw	r30, r28
     314:	ed 54       	subi	r30, 0x4D	; 77
     316:	ff 4f       	sbci	r31, 0xFF	; 255
     318:	20 e0       	ldi	r18, 0x00	; 0
     31a:	30 e0       	ldi	r19, 0x00	; 0
     31c:	4a e7       	ldi	r20, 0x7A	; 122
     31e:	55 e4       	ldi	r21, 0x45	; 69
     320:	60 81       	ld	r22, Z
     322:	71 81       	ldd	r23, Z+1	; 0x01
     324:	82 81       	ldd	r24, Z+2	; 0x02
     326:	93 81       	ldd	r25, Z+3	; 0x03
     328:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     32c:	dc 01       	movw	r26, r24
     32e:	cb 01       	movw	r24, r22
     330:	f8 01       	movw	r30, r16
     332:	80 83       	st	Z, r24
     334:	91 83       	std	Z+1, r25	; 0x01
     336:	a2 83       	std	Z+2, r26	; 0x02
     338:	b3 83       	std	Z+3, r27	; 0x03
	if (__tmp < 1.0)
     33a:	fe 01       	movw	r30, r28
     33c:	e1 55       	subi	r30, 0x51	; 81
     33e:	ff 4f       	sbci	r31, 0xFF	; 255
     340:	20 e0       	ldi	r18, 0x00	; 0
     342:	30 e0       	ldi	r19, 0x00	; 0
     344:	40 e8       	ldi	r20, 0x80	; 128
     346:	5f e3       	ldi	r21, 0x3F	; 63
     348:	60 81       	ld	r22, Z
     34a:	71 81       	ldd	r23, Z+1	; 0x01
     34c:	82 81       	ldd	r24, Z+2	; 0x02
     34e:	93 81       	ldd	r25, Z+3	; 0x03
     350:	0e 94 d4 10 	call	0x21a8	; 0x21a8 <__ltsf2>
     354:	88 23       	and	r24, r24
     356:	44 f4       	brge	.+16     	; 0x368 <info_display+0x206>
		__ticks = 1;
     358:	fe 01       	movw	r30, r28
     35a:	e3 55       	subi	r30, 0x53	; 83
     35c:	ff 4f       	sbci	r31, 0xFF	; 255
     35e:	81 e0       	ldi	r24, 0x01	; 1
     360:	90 e0       	ldi	r25, 0x00	; 0
     362:	91 83       	std	Z+1, r25	; 0x01
     364:	80 83       	st	Z, r24
     366:	64 c0       	rjmp	.+200    	; 0x430 <info_display+0x2ce>
	else if (__tmp > 65535)
     368:	fe 01       	movw	r30, r28
     36a:	e1 55       	subi	r30, 0x51	; 81
     36c:	ff 4f       	sbci	r31, 0xFF	; 255
     36e:	20 e0       	ldi	r18, 0x00	; 0
     370:	3f ef       	ldi	r19, 0xFF	; 255
     372:	4f e7       	ldi	r20, 0x7F	; 127
     374:	57 e4       	ldi	r21, 0x47	; 71
     376:	60 81       	ld	r22, Z
     378:	71 81       	ldd	r23, Z+1	; 0x01
     37a:	82 81       	ldd	r24, Z+2	; 0x02
     37c:	93 81       	ldd	r25, Z+3	; 0x03
     37e:	0e 94 74 10 	call	0x20e8	; 0x20e8 <__gtsf2>
     382:	18 16       	cp	r1, r24
     384:	0c f0       	brlt	.+2      	; 0x388 <info_display+0x226>
     386:	43 c0       	rjmp	.+134    	; 0x40e <info_display+0x2ac>
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
     388:	fe 01       	movw	r30, r28
     38a:	ed 54       	subi	r30, 0x4D	; 77
     38c:	ff 4f       	sbci	r31, 0xFF	; 255
     38e:	20 e0       	ldi	r18, 0x00	; 0
     390:	30 e0       	ldi	r19, 0x00	; 0
     392:	40 e2       	ldi	r20, 0x20	; 32
     394:	51 e4       	ldi	r21, 0x41	; 65
     396:	60 81       	ld	r22, Z
     398:	71 81       	ldd	r23, Z+1	; 0x01
     39a:	82 81       	ldd	r24, Z+2	; 0x02
     39c:	93 81       	ldd	r25, Z+3	; 0x03
     39e:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     3a2:	dc 01       	movw	r26, r24
     3a4:	cb 01       	movw	r24, r22
     3a6:	8e 01       	movw	r16, r28
     3a8:	03 55       	subi	r16, 0x53	; 83
     3aa:	1f 4f       	sbci	r17, 0xFF	; 255
     3ac:	bc 01       	movw	r22, r24
     3ae:	cd 01       	movw	r24, r26
     3b0:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     3b4:	dc 01       	movw	r26, r24
     3b6:	cb 01       	movw	r24, r22
     3b8:	f8 01       	movw	r30, r16
     3ba:	91 83       	std	Z+1, r25	; 0x01
     3bc:	80 83       	st	Z, r24
     3be:	1f c0       	rjmp	.+62     	; 0x3fe <info_display+0x29c>
     3c0:	fe 01       	movw	r30, r28
     3c2:	e5 55       	subi	r30, 0x55	; 85
     3c4:	ff 4f       	sbci	r31, 0xFF	; 255
     3c6:	80 e9       	ldi	r24, 0x90	; 144
     3c8:	91 e0       	ldi	r25, 0x01	; 1
     3ca:	91 83       	std	Z+1, r25	; 0x01
     3cc:	80 83       	st	Z, r24
     3ce:	fe 01       	movw	r30, r28
     3d0:	e5 55       	subi	r30, 0x55	; 85
     3d2:	ff 4f       	sbci	r31, 0xFF	; 255
     3d4:	80 81       	ld	r24, Z
     3d6:	91 81       	ldd	r25, Z+1	; 0x01
     3d8:	01 97       	sbiw	r24, 0x01	; 1
     3da:	f1 f7       	brne	.-4      	; 0x3d8 <info_display+0x276>
     3dc:	fe 01       	movw	r30, r28
     3de:	e5 55       	subi	r30, 0x55	; 85
     3e0:	ff 4f       	sbci	r31, 0xFF	; 255
     3e2:	91 83       	std	Z+1, r25	; 0x01
     3e4:	80 83       	st	Z, r24
		while(__ticks)
		{
			// wait 1/10 ms
			_delay_loop_2(((F_CPU) / 4e3) / 10);
			__ticks --;
     3e6:	de 01       	movw	r26, r28
     3e8:	a3 55       	subi	r26, 0x53	; 83
     3ea:	bf 4f       	sbci	r27, 0xFF	; 255
     3ec:	fe 01       	movw	r30, r28
     3ee:	e3 55       	subi	r30, 0x53	; 83
     3f0:	ff 4f       	sbci	r31, 0xFF	; 255
     3f2:	80 81       	ld	r24, Z
     3f4:	91 81       	ldd	r25, Z+1	; 0x01
     3f6:	01 97       	sbiw	r24, 0x01	; 1
     3f8:	11 96       	adiw	r26, 0x01	; 1
     3fa:	9c 93       	st	X, r25
     3fc:	8e 93       	st	-X, r24
		__ticks = 1;
	else if (__tmp > 65535)
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
		while(__ticks)
     3fe:	fe 01       	movw	r30, r28
     400:	e3 55       	subi	r30, 0x53	; 83
     402:	ff 4f       	sbci	r31, 0xFF	; 255
     404:	80 81       	ld	r24, Z
     406:	91 81       	ldd	r25, Z+1	; 0x01
     408:	00 97       	sbiw	r24, 0x00	; 0
     40a:	d1 f6       	brne	.-76     	; 0x3c0 <info_display+0x25e>
     40c:	27 c0       	rjmp	.+78     	; 0x45c <info_display+0x2fa>
			__ticks --;
		}
		return;
	}
	else
		__ticks = (uint16_t)__tmp;
     40e:	8e 01       	movw	r16, r28
     410:	03 55       	subi	r16, 0x53	; 83
     412:	1f 4f       	sbci	r17, 0xFF	; 255
     414:	fe 01       	movw	r30, r28
     416:	e1 55       	subi	r30, 0x51	; 81
     418:	ff 4f       	sbci	r31, 0xFF	; 255
     41a:	60 81       	ld	r22, Z
     41c:	71 81       	ldd	r23, Z+1	; 0x01
     41e:	82 81       	ldd	r24, Z+2	; 0x02
     420:	93 81       	ldd	r25, Z+3	; 0x03
     422:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     426:	dc 01       	movw	r26, r24
     428:	cb 01       	movw	r24, r22
     42a:	f8 01       	movw	r30, r16
     42c:	91 83       	std	Z+1, r25	; 0x01
     42e:	80 83       	st	Z, r24
     430:	de 01       	movw	r26, r28
     432:	a7 55       	subi	r26, 0x57	; 87
     434:	bf 4f       	sbci	r27, 0xFF	; 255
     436:	fe 01       	movw	r30, r28
     438:	e3 55       	subi	r30, 0x53	; 83
     43a:	ff 4f       	sbci	r31, 0xFF	; 255
     43c:	80 81       	ld	r24, Z
     43e:	91 81       	ldd	r25, Z+1	; 0x01
     440:	8d 93       	st	X+, r24
     442:	9c 93       	st	X, r25
     444:	fe 01       	movw	r30, r28
     446:	e7 55       	subi	r30, 0x57	; 87
     448:	ff 4f       	sbci	r31, 0xFF	; 255
     44a:	80 81       	ld	r24, Z
     44c:	91 81       	ldd	r25, Z+1	; 0x01
     44e:	01 97       	sbiw	r24, 0x01	; 1
     450:	f1 f7       	brne	.-4      	; 0x44e <info_display+0x2ec>
     452:	fe 01       	movw	r30, r28
     454:	e7 55       	subi	r30, 0x57	; 87
     456:	ff 4f       	sbci	r31, 0xFF	; 255
     458:	91 83       	std	Z+1, r25	; 0x01
     45a:	80 83       	st	Z, r24
	data_write(data_02,51);	_delay_ms(256);
     45c:	85 e4       	ldi	r24, 0x45	; 69
     45e:	91 e0       	ldi	r25, 0x01	; 1
     460:	63 e3       	ldi	r22, 0x33	; 51
     462:	0e 94 8d 00 	call	0x11a	; 0x11a <data_write>
     466:	fe 01       	movw	r30, r28
     468:	eb 55       	subi	r30, 0x5B	; 91
     46a:	ff 4f       	sbci	r31, 0xFF	; 255

⌨️ 快捷键说明

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