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

📄 myusart.lss

📁 atmega128单片机的串口通讯程序
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     902:	30 e0       	ldi	r19, 0x00	; 0
     904:	40 e8       	ldi	r20, 0x80	; 128
     906:	5f e3       	ldi	r21, 0x3F	; 63
     908:	60 81       	ld	r22, Z
     90a:	71 81       	ldd	r23, Z+1	; 0x01
     90c:	82 81       	ldd	r24, Z+2	; 0x02
     90e:	93 81       	ldd	r25, Z+3	; 0x03
     910:	0e 94 d4 10 	call	0x21a8	; 0x21a8 <__ltsf2>
     914:	88 23       	and	r24, r24
     916:	44 f4       	brge	.+16     	; 0x928 <info_display+0x7c6>
		__ticks = 1;
     918:	fe 01       	movw	r30, r28
     91a:	eb 58       	subi	r30, 0x8B	; 139
     91c:	ff 4f       	sbci	r31, 0xFF	; 255
     91e:	81 e0       	ldi	r24, 0x01	; 1
     920:	90 e0       	ldi	r25, 0x00	; 0
     922:	91 83       	std	Z+1, r25	; 0x01
     924:	80 83       	st	Z, r24
     926:	64 c0       	rjmp	.+200    	; 0x9f0 <info_display+0x88e>
	else if (__tmp > 65535)
     928:	fe 01       	movw	r30, r28
     92a:	e9 58       	subi	r30, 0x89	; 137
     92c:	ff 4f       	sbci	r31, 0xFF	; 255
     92e:	20 e0       	ldi	r18, 0x00	; 0
     930:	3f ef       	ldi	r19, 0xFF	; 255
     932:	4f e7       	ldi	r20, 0x7F	; 127
     934:	57 e4       	ldi	r21, 0x47	; 71
     936:	60 81       	ld	r22, Z
     938:	71 81       	ldd	r23, Z+1	; 0x01
     93a:	82 81       	ldd	r24, Z+2	; 0x02
     93c:	93 81       	ldd	r25, Z+3	; 0x03
     93e:	0e 94 74 10 	call	0x20e8	; 0x20e8 <__gtsf2>
     942:	18 16       	cp	r1, r24
     944:	0c f0       	brlt	.+2      	; 0x948 <info_display+0x7e6>
     946:	43 c0       	rjmp	.+134    	; 0x9ce <info_display+0x86c>
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
     948:	fe 01       	movw	r30, r28
     94a:	e5 58       	subi	r30, 0x85	; 133
     94c:	ff 4f       	sbci	r31, 0xFF	; 255
     94e:	20 e0       	ldi	r18, 0x00	; 0
     950:	30 e0       	ldi	r19, 0x00	; 0
     952:	40 e2       	ldi	r20, 0x20	; 32
     954:	51 e4       	ldi	r21, 0x41	; 65
     956:	60 81       	ld	r22, Z
     958:	71 81       	ldd	r23, Z+1	; 0x01
     95a:	82 81       	ldd	r24, Z+2	; 0x02
     95c:	93 81       	ldd	r25, Z+3	; 0x03
     95e:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     962:	dc 01       	movw	r26, r24
     964:	cb 01       	movw	r24, r22
     966:	8e 01       	movw	r16, r28
     968:	0b 58       	subi	r16, 0x8B	; 139
     96a:	1f 4f       	sbci	r17, 0xFF	; 255
     96c:	bc 01       	movw	r22, r24
     96e:	cd 01       	movw	r24, r26
     970:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     974:	dc 01       	movw	r26, r24
     976:	cb 01       	movw	r24, r22
     978:	f8 01       	movw	r30, r16
     97a:	91 83       	std	Z+1, r25	; 0x01
     97c:	80 83       	st	Z, r24
     97e:	1f c0       	rjmp	.+62     	; 0x9be <info_display+0x85c>
     980:	fe 01       	movw	r30, r28
     982:	ed 58       	subi	r30, 0x8D	; 141
     984:	ff 4f       	sbci	r31, 0xFF	; 255
     986:	80 e9       	ldi	r24, 0x90	; 144
     988:	91 e0       	ldi	r25, 0x01	; 1
     98a:	91 83       	std	Z+1, r25	; 0x01
     98c:	80 83       	st	Z, r24
     98e:	fe 01       	movw	r30, r28
     990:	ed 58       	subi	r30, 0x8D	; 141
     992:	ff 4f       	sbci	r31, 0xFF	; 255
     994:	80 81       	ld	r24, Z
     996:	91 81       	ldd	r25, Z+1	; 0x01
     998:	01 97       	sbiw	r24, 0x01	; 1
     99a:	f1 f7       	brne	.-4      	; 0x998 <info_display+0x836>
     99c:	fe 01       	movw	r30, r28
     99e:	ed 58       	subi	r30, 0x8D	; 141
     9a0:	ff 4f       	sbci	r31, 0xFF	; 255
     9a2:	91 83       	std	Z+1, r25	; 0x01
     9a4:	80 83       	st	Z, r24
		while(__ticks)
		{
			// wait 1/10 ms
			_delay_loop_2(((F_CPU) / 4e3) / 10);
			__ticks --;
     9a6:	de 01       	movw	r26, r28
     9a8:	ab 58       	subi	r26, 0x8B	; 139
     9aa:	bf 4f       	sbci	r27, 0xFF	; 255
     9ac:	fe 01       	movw	r30, r28
     9ae:	eb 58       	subi	r30, 0x8B	; 139
     9b0:	ff 4f       	sbci	r31, 0xFF	; 255
     9b2:	80 81       	ld	r24, Z
     9b4:	91 81       	ldd	r25, Z+1	; 0x01
     9b6:	01 97       	sbiw	r24, 0x01	; 1
     9b8:	11 96       	adiw	r26, 0x01	; 1
     9ba:	9c 93       	st	X, r25
     9bc:	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)
     9be:	fe 01       	movw	r30, r28
     9c0:	eb 58       	subi	r30, 0x8B	; 139
     9c2:	ff 4f       	sbci	r31, 0xFF	; 255
     9c4:	80 81       	ld	r24, Z
     9c6:	91 81       	ldd	r25, Z+1	; 0x01
     9c8:	00 97       	sbiw	r24, 0x00	; 0
     9ca:	d1 f6       	brne	.-76     	; 0x980 <info_display+0x81e>
     9cc:	27 c0       	rjmp	.+78     	; 0xa1c <info_display+0x8ba>
			__ticks --;
		}
		return;
	}
	else
		__ticks = (uint16_t)__tmp;
     9ce:	8e 01       	movw	r16, r28
     9d0:	0b 58       	subi	r16, 0x8B	; 139
     9d2:	1f 4f       	sbci	r17, 0xFF	; 255
     9d4:	fe 01       	movw	r30, r28
     9d6:	e9 58       	subi	r30, 0x89	; 137
     9d8:	ff 4f       	sbci	r31, 0xFF	; 255
     9da:	60 81       	ld	r22, Z
     9dc:	71 81       	ldd	r23, Z+1	; 0x01
     9de:	82 81       	ldd	r24, Z+2	; 0x02
     9e0:	93 81       	ldd	r25, Z+3	; 0x03
     9e2:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     9e6:	dc 01       	movw	r26, r24
     9e8:	cb 01       	movw	r24, r22
     9ea:	f8 01       	movw	r30, r16
     9ec:	91 83       	std	Z+1, r25	; 0x01
     9ee:	80 83       	st	Z, r24
     9f0:	de 01       	movw	r26, r28
     9f2:	af 58       	subi	r26, 0x8F	; 143
     9f4:	bf 4f       	sbci	r27, 0xFF	; 255
     9f6:	fe 01       	movw	r30, r28
     9f8:	eb 58       	subi	r30, 0x8B	; 139
     9fa:	ff 4f       	sbci	r31, 0xFF	; 255
     9fc:	80 81       	ld	r24, Z
     9fe:	91 81       	ldd	r25, Z+1	; 0x01
     a00:	8d 93       	st	X+, r24
     a02:	9c 93       	st	X, r25
     a04:	fe 01       	movw	r30, r28
     a06:	ef 58       	subi	r30, 0x8F	; 143
     a08:	ff 4f       	sbci	r31, 0xFF	; 255
     a0a:	80 81       	ld	r24, Z
     a0c:	91 81       	ldd	r25, Z+1	; 0x01
     a0e:	01 97       	sbiw	r24, 0x01	; 1
     a10:	f1 f7       	brne	.-4      	; 0xa0e <info_display+0x8ac>
     a12:	fe 01       	movw	r30, r28
     a14:	ef 58       	subi	r30, 0x8F	; 143
     a16:	ff 4f       	sbci	r31, 0xFF	; 255
     a18:	91 83       	std	Z+1, r25	; 0x01
     a1a:	80 83       	st	Z, r24
	data_write(data_06,40);	_delay_ms(256);
     a1c:	8a ef       	ldi	r24, 0xFA	; 250
     a1e:	91 e0       	ldi	r25, 0x01	; 1
     a20:	68 e2       	ldi	r22, 0x28	; 40
     a22:	0e 94 8d 00 	call	0x11a	; 0x11a <data_write>
     a26:	fe 01       	movw	r30, r28
     a28:	e3 59       	subi	r30, 0x93	; 147
     a2a:	ff 4f       	sbci	r31, 0xFF	; 255
     a2c:	80 e0       	ldi	r24, 0x00	; 0
     a2e:	90 e0       	ldi	r25, 0x00	; 0
     a30:	a0 e8       	ldi	r26, 0x80	; 128
     a32:	b3 e4       	ldi	r27, 0x43	; 67
     a34:	80 83       	st	Z, r24
     a36:	91 83       	std	Z+1, r25	; 0x01
     a38:	a2 83       	std	Z+2, r26	; 0x02
     a3a:	b3 83       	std	Z+3, r27	; 0x03
 */
void
_delay_ms(double __ms)
{
	uint16_t __ticks;
	double __tmp = ((F_CPU) / 4e3) * __ms;
     a3c:	8e 01       	movw	r16, r28
     a3e:	07 59       	subi	r16, 0x97	; 151
     a40:	1f 4f       	sbci	r17, 0xFF	; 255
     a42:	fe 01       	movw	r30, r28
     a44:	e3 59       	subi	r30, 0x93	; 147
     a46:	ff 4f       	sbci	r31, 0xFF	; 255
     a48:	20 e0       	ldi	r18, 0x00	; 0
     a4a:	30 e0       	ldi	r19, 0x00	; 0
     a4c:	4a e7       	ldi	r20, 0x7A	; 122
     a4e:	55 e4       	ldi	r21, 0x45	; 69
     a50:	60 81       	ld	r22, Z
     a52:	71 81       	ldd	r23, Z+1	; 0x01
     a54:	82 81       	ldd	r24, Z+2	; 0x02
     a56:	93 81       	ldd	r25, Z+3	; 0x03
     a58:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     a5c:	dc 01       	movw	r26, r24
     a5e:	cb 01       	movw	r24, r22
     a60:	f8 01       	movw	r30, r16
     a62:	80 83       	st	Z, r24
     a64:	91 83       	std	Z+1, r25	; 0x01
     a66:	a2 83       	std	Z+2, r26	; 0x02
     a68:	b3 83       	std	Z+3, r27	; 0x03
	if (__tmp < 1.0)
     a6a:	fe 01       	movw	r30, r28
     a6c:	e7 59       	subi	r30, 0x97	; 151
     a6e:	ff 4f       	sbci	r31, 0xFF	; 255
     a70:	20 e0       	ldi	r18, 0x00	; 0
     a72:	30 e0       	ldi	r19, 0x00	; 0
     a74:	40 e8       	ldi	r20, 0x80	; 128
     a76:	5f e3       	ldi	r21, 0x3F	; 63
     a78:	60 81       	ld	r22, Z
     a7a:	71 81       	ldd	r23, Z+1	; 0x01
     a7c:	82 81       	ldd	r24, Z+2	; 0x02
     a7e:	93 81       	ldd	r25, Z+3	; 0x03
     a80:	0e 94 d4 10 	call	0x21a8	; 0x21a8 <__ltsf2>
     a84:	88 23       	and	r24, r24
     a86:	44 f4       	brge	.+16     	; 0xa98 <info_display+0x936>
		__ticks = 1;
     a88:	fe 01       	movw	r30, r28
     a8a:	e9 59       	subi	r30, 0x99	; 153
     a8c:	ff 4f       	sbci	r31, 0xFF	; 255
     a8e:	81 e0       	ldi	r24, 0x01	; 1
     a90:	90 e0       	ldi	r25, 0x00	; 0
     a92:	91 83       	std	Z+1, r25	; 0x01
     a94:	80 83       	st	Z, r24
     a96:	64 c0       	rjmp	.+200    	; 0xb60 <info_display+0x9fe>
	else if (__tmp > 65535)
     a98:	fe 01       	movw	r30, r28
     a9a:	e7 59       	subi	r30, 0x97	; 151
     a9c:	ff 4f       	sbci	r31, 0xFF	; 255
     a9e:	20 e0       	ldi	r18, 0x00	; 0
     aa0:	3f ef       	ldi	r19, 0xFF	; 255
     aa2:	4f e7       	ldi	r20, 0x7F	; 127
     aa4:	57 e4       	ldi	r21, 0x47	; 71
     aa6:	60 81       	ld	r22, Z
     aa8:	71 81       	ldd	r23, Z+1	; 0x01
     aaa:	82 81       	ldd	r24, Z+2	; 0x02
     aac:	93 81       	ldd	r25, Z+3	; 0x03
     aae:	0e 94 74 10 	call	0x20e8	; 0x20e8 <__gtsf2>
     ab2:	18 16       	cp	r1, r24
     ab4:	0c f0       	brlt	.+2      	; 0xab8 <info_display+0x956>
     ab6:	43 c0       	rjmp	.+134    	; 0xb3e <info_display+0x9dc>
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
     ab8:	fe 01       	movw	r30, r28
     aba:	e3 59       	subi	r30, 0x93	; 147
     abc:	ff 4f       	sbci	r31, 0xFF	; 255
     abe:	20 e0       	ldi	r18, 0x00	; 0
     ac0:	30 e0       	ldi	r19, 0x00	; 0
     ac2:	40 e2       	ldi	r20, 0x20	; 32
     ac4:	51 e4       	ldi	r21, 0x41	; 65
     ac6:	60 81       	ld	r22, Z
     ac8:	71 81       	ldd	r23, Z+1	; 0x01
     aca:	82 81       	ldd	r24, Z+2	; 0x02
     acc:	93 81       	ldd	r25, Z+3	; 0x03
     ace:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     ad2:	dc 01       	movw	r26, r24
     ad4:	cb 01       	movw	r24, r22
     ad6:	8e 01       	movw	r16, r28
     ad8:	09 59       	subi	r16, 0x99	; 153
     ada:	1f 4f       	sbci	r17, 0xFF	; 255
     adc:	bc 01       	movw	r22, r24
     ade:	cd 01       	movw	r24, r26
     ae0:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     ae4:	dc 01       	movw	r26, r24
     ae6:	cb 01       	movw	r24, r22
     ae8:	f8 01       	movw	r30, r16
     aea:	91 83       	std	Z+1, r25	; 0x01
     aec:	80 83       	st	Z, r24
     aee:	1f c0       	rjmp	.+62     	; 0xb2e <info_display+0x9cc>
     af0:	fe 01       	movw	r30, r28
     af2:	eb 59       	subi	r30, 0x9B	; 155
     af4:	ff 4f       	sbci	r31, 0xFF	; 255
     af6:	80 e9       	ldi	r24, 0x90	; 144
     af8:	91 e0       	ldi	r25, 0x01	; 1
     afa:	91 83       	std	Z+1, r25	; 0x01
     afc:	80 83       	st	Z, r24
     afe:	fe 01       	movw	r30, r28
     b00:	eb 59       	subi	r30, 0x9B	; 155
     b02:	ff 4f       	sbci	r31, 0xFF	; 255
     b04:	80 81       	ld	r24, Z
     b06:	91 81       	ldd	r25, Z+1	; 0x01
     b08:	01 97       	sbiw	r24, 0x01	; 1
     b0a:	f1 f7       	brne	.-4      	; 0xb08 <info_display+0x9a6>
     b0c:	fe 01       	movw	r30, r28
     b0e:	eb 59       	subi	r30, 0x9B	; 155
     b10:	ff 4f       	sbci	r31, 0xFF	; 255
     b12:	91 83       	std	Z+1, r25	; 0x01
     b14:	80 83       	st	Z, r24
		while(__ticks)
		{
			// wait 1/10 ms
			_delay_loop_2(((F_CPU) / 4e3) / 10);
			__ticks --;
     b16:	de 01       	movw	r26, r28
     b18:	a9 59       	subi	r26, 0x99	; 153
     b1a:	bf 4f       	sbci	r27, 0xFF	; 255
     b1c:	fe 01       	movw	r30, r28
     b1e:	e9 59       	subi	r30, 0x99	; 153
     b20:	ff 4f       	sbci	r31, 0xFF	; 255
     b22:	80 81       	ld	r24, Z
     b24:	91 81       	ldd	r25, Z+1	; 0x01
     b26:	01 97       	sbiw	r24, 0x01	; 1
     b28:	11 96       	adiw	r26, 0x01	; 1
     b2a:	9c 93       	st	X, r25
     b2c:	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)
     b2e:	fe 01       	movw	r30, r28
     b30:	e9 59       	subi	r30, 0x99	; 153
     b32:	ff 4f       	sbci	r31, 0xFF	; 255
     b34:	80 81       	ld	r24, Z
     b36:	91 81       	ldd	r25, Z+1	; 0x01
     b38:	00 97       	sbiw	r24, 0x00	; 0
     b3a:	d1 f6       	brne	.-76     	; 0xaf0 <info_display+0x98e>
     b3c:	27 c0       	rjmp	.+78     	; 0xb8c <info_display+0xa2a>
			__ticks --;
		}
		return;
	}
	else
		__ticks = (uint16_t)__tmp;
   

⌨️ 快捷键说明

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