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

📄 main.lss

📁 我学习AVR的代码例子
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     a1c:	28 17       	cp	r18, r24
     a1e:	40 f4       	brcc	.+16     	; 0xa30
     a20:	82 2f       	mov	r24, r18
     a22:	84 5c       	subi	r24, 0xC4	; 196
     a24:	80 93 7e 00 	sts	0x007E, r24
     a28:	83 2f       	mov	r24, r19
     a2a:	81 50       	subi	r24, 0x01	; 1
     a2c:	80 93 74 00 	sts	0x0074, r24
		   c=c-Old_senconds;
     a30:	90 91 7e 00 	lds	r25, 0x007E
     a34:	80 91 69 00 	lds	r24, 0x0069
     a38:	98 1b       	sub	r25, r24
     a3a:	90 93 7e 00 	sts	0x007E, r25
		   if(b<Old_minutes) {b+=60;a--;}
     a3e:	90 91 74 00 	lds	r25, 0x0074
     a42:	80 91 68 00 	lds	r24, 0x0068
     a46:	98 17       	cp	r25, r24
     a48:	48 f4       	brcc	.+18     	; 0xa5c
     a4a:	89 2f       	mov	r24, r25
     a4c:	84 5c       	subi	r24, 0xC4	; 196
     a4e:	80 93 74 00 	sts	0x0074, r24
     a52:	80 91 83 00 	lds	r24, 0x0083
     a56:	81 50       	subi	r24, 0x01	; 1
     a58:	80 93 83 00 	sts	0x0083, r24
		   b=b-Old_minutes;
     a5c:	90 91 74 00 	lds	r25, 0x0074
     a60:	80 91 68 00 	lds	r24, 0x0068
     a64:	98 1b       	sub	r25, r24
     a66:	90 93 74 00 	sts	0x0074, r25
		   if(a<Old_hours) a+=24;
     a6a:	90 91 83 00 	lds	r25, 0x0083
     a6e:	80 91 67 00 	lds	r24, 0x0067
     a72:	98 17       	cp	r25, r24
     a74:	20 f4       	brcc	.+8      	; 0xa7e
     a76:	89 2f       	mov	r24, r25
     a78:	88 5e       	subi	r24, 0xE8	; 232
     a7a:	80 93 83 00 	sts	0x0083, r24
		   a=a-Old_hours;
     a7e:	80 91 83 00 	lds	r24, 0x0083
     a82:	90 91 67 00 	lds	r25, 0x0067
     a86:	89 1b       	sub	r24, r25
     a88:	80 93 83 00 	sts	0x0083, r24
		   if(a==24) a=0;
     a8c:	88 31       	cpi	r24, 0x18	; 24
     a8e:	11 f4       	brne	.+4      	; 0xa94
     a90:	10 92 83 00 	sts	0x0083, r1
		   if(Tov1==0xff) Tov1=1;
     a94:	80 91 6f 00 	lds	r24, 0x006F
     a98:	8f 3f       	cpi	r24, 0xFF	; 255
     a9a:	19 f4       	brne	.+6      	; 0xaa2
     a9c:	81 e0       	ldi	r24, 0x01	; 1
     a9e:	80 93 6f 00 	sts	0x006F, r24
		   c=a/10;
     aa2:	2a e0       	ldi	r18, 0x0A	; 10
     aa4:	80 91 83 00 	lds	r24, 0x0083
     aa8:	62 2f       	mov	r22, r18
     aaa:	0e 94 ec 0d 	call	0x1bd8
     aae:	80 93 7e 00 	sts	0x007E, r24
		   if(c==0) c=10;
     ab2:	88 23       	and	r24, r24
     ab4:	11 f4       	brne	.+4      	; 0xaba
     ab6:	20 93 7e 00 	sts	0x007E, r18
		   SENDCOMB(0x2c);                           //Write address
     aba:	8c e2       	ldi	r24, 0x2C	; 44
     abc:	0e 94 a9 00 	call	0x152
           SendByte(pgm_read_byte(S+c)|(Fuse1<<4));     //write data
     ac0:	80 91 7e 00 	lds	r24, 0x007E
     ac4:	e8 2f       	mov	r30, r24
     ac6:	ff 27       	eor	r31, r31
     ac8:	ec 5a       	subi	r30, 0xAC	; 172
     aca:	ff 4f       	sbci	r31, 0xFF	; 255
     acc:	24 91       	lpm	r18, Z
     ace:	80 91 64 00 	lds	r24, 0x0064
     ad2:	99 27       	eor	r25, r25
     ad4:	82 95       	swap	r24
     ad6:	92 95       	swap	r25
     ad8:	90 7f       	andi	r25, 0xF0	; 240
     ada:	98 27       	eor	r25, r24
     adc:	80 7f       	andi	r24, 0xF0	; 240
     ade:	98 27       	eor	r25, r24
     ae0:	82 2b       	or	r24, r18
     ae2:	0e 94 98 00 	call	0x130
	       SendByte(pgm_read_byte(S+a%10)|(Fuse2<<4));     //write data
     ae6:	1a e0       	ldi	r17, 0x0A	; 10
     ae8:	80 91 83 00 	lds	r24, 0x0083
     aec:	61 2f       	mov	r22, r17
     aee:	0e 94 ec 0d 	call	0x1bd8
     af2:	e9 2f       	mov	r30, r25
     af4:	ff 27       	eor	r31, r31
     af6:	ec 5a       	subi	r30, 0xAC	; 172
     af8:	ff 4f       	sbci	r31, 0xFF	; 255
     afa:	24 91       	lpm	r18, Z
     afc:	80 91 65 00 	lds	r24, 0x0065
     b00:	99 27       	eor	r25, r25
     b02:	82 95       	swap	r24
     b04:	92 95       	swap	r25
     b06:	90 7f       	andi	r25, 0xF0	; 240
     b08:	98 27       	eor	r25, r24
     b0a:	80 7f       	andi	r24, 0xF0	; 240
     b0c:	98 27       	eor	r25, r24
     b0e:	82 2b       	or	r24, r18
     b10:	0e 94 98 00 	call	0x130
		   SendByte(pgm_read_byte(S+b/10)|(Tov1<<4)); 
     b14:	80 91 74 00 	lds	r24, 0x0074
     b18:	61 2f       	mov	r22, r17
     b1a:	0e 94 ec 0d 	call	0x1bd8
     b1e:	e8 2f       	mov	r30, r24
     b20:	ff 27       	eor	r31, r31
     b22:	ec 5a       	subi	r30, 0xAC	; 172
     b24:	ff 4f       	sbci	r31, 0xFF	; 255
     b26:	24 91       	lpm	r18, Z
     b28:	80 91 6f 00 	lds	r24, 0x006F
     b2c:	99 27       	eor	r25, r25
     b2e:	82 95       	swap	r24
     b30:	92 95       	swap	r25
     b32:	90 7f       	andi	r25, 0xF0	; 240
     b34:	98 27       	eor	r25, r24
     b36:	80 7f       	andi	r24, 0xF0	; 240
     b38:	98 27       	eor	r25, r24
     b3a:	82 2b       	or	r24, r18
     b3c:	0e 94 98 00 	call	0x130
	       SendByte(pgm_read_byte(S+b%10)); //write data	
     b40:	80 91 74 00 	lds	r24, 0x0074
     b44:	61 2f       	mov	r22, r17
     b46:	0e 94 ec 0d 	call	0x1bd8
     b4a:	e9 2f       	mov	r30, r25
     b4c:	ff 27       	eor	r31, r31
     b4e:	ec 5a       	subi	r30, 0xAC	; 172
     b50:	ff 4f       	sbci	r31, 0xFF	; 255
     b52:	84 91       	lpm	r24, Z
     b54:	0e 94 98 00 	call	0x130
		   if(Tov1==1) Tov1=0xff;
     b58:	80 91 6f 00 	lds	r24, 0x006F
     b5c:	81 30       	cpi	r24, 0x01	; 1
     b5e:	09 f0       	breq	.+2      	; 0xb62
     b60:	6b c0       	rjmp	.+214    	; 0xc38
     b62:	8f ef       	ldi	r24, 0xFF	; 255
     b64:	80 93 6f 00 	sts	0x006F, r24
		   return;
     b68:	67 c0       	rjmp	.+206    	; 0xc38
		 }
	   if(Sign1==1)
     b6a:	80 91 6a 00 	lds	r24, 0x006A
     b6e:	81 30       	cpi	r24, 0x01	; 1
     b70:	51 f4       	brne	.+20     	; 0xb86
		 {
	       Sign1=0;
     b72:	10 92 6a 00 	sts	0x006A, r1
		   Old_hours=a;
     b76:	80 91 83 00 	lds	r24, 0x0083
     b7a:	80 93 67 00 	sts	0x0067, r24
	       Old_minutes=b;
     b7e:	80 91 74 00 	lds	r24, 0x0074
     b82:	80 93 68 00 	sts	0x0068, r24
		 }
	   a=Old_hours/10;
     b86:	3a e0       	ldi	r19, 0x0A	; 10
     b88:	80 91 67 00 	lds	r24, 0x0067
     b8c:	63 2f       	mov	r22, r19
     b8e:	0e 94 ec 0d 	call	0x1bd8
     b92:	28 2f       	mov	r18, r24
     b94:	80 93 83 00 	sts	0x0083, r24
	   b=Old_minutes/10;
     b98:	80 91 68 00 	lds	r24, 0x0068
     b9c:	0e 94 ec 0d 	call	0x1bd8
     ba0:	80 93 74 00 	sts	0x0074, r24
	   if(a==0) a=10;
     ba4:	22 23       	and	r18, r18
     ba6:	11 f4       	brne	.+4      	; 0xbac
     ba8:	30 93 83 00 	sts	0x0083, r19
	  // if(b==0) b=10;	            
	   SENDCOMB(0x2c); /*                         //Write address
     bac:	8c e2       	ldi	r24, 0x2C	; 44
     bae:	0e 94 a9 00 	call	0x152
       SendByte(S[a]|(Fuse1<<4));   //write data
	   SendByte(S[Old_hours%10]|(Fuse2<<4));   //write data
	   SendByte(S[Old_minutes/10]|(1<<4)); //write data
	   SendByte(S[Old_minutes%10]);        //write data*/
	   SendByte(pgm_read_byte(S+a)|(Fuse1<<4));   //write data
     bb2:	80 91 83 00 	lds	r24, 0x0083
     bb6:	e8 2f       	mov	r30, r24
     bb8:	ff 27       	eor	r31, r31
     bba:	ec 5a       	subi	r30, 0xAC	; 172
     bbc:	ff 4f       	sbci	r31, 0xFF	; 255
     bbe:	24 91       	lpm	r18, Z
     bc0:	80 91 64 00 	lds	r24, 0x0064
     bc4:	99 27       	eor	r25, r25
     bc6:	82 95       	swap	r24
     bc8:	92 95       	swap	r25
     bca:	90 7f       	andi	r25, 0xF0	; 240
     bcc:	98 27       	eor	r25, r24
     bce:	80 7f       	andi	r24, 0xF0	; 240
     bd0:	98 27       	eor	r25, r24
     bd2:	82 2b       	or	r24, r18
     bd4:	0e 94 98 00 	call	0x130
	   SendByte(pgm_read_byte(S+Old_hours%10)|(Fuse2<<4));   //write data
     bd8:	1a e0       	ldi	r17, 0x0A	; 10
     bda:	80 91 67 00 	lds	r24, 0x0067
     bde:	61 2f       	mov	r22, r17
     be0:	0e 94 ec 0d 	call	0x1bd8
     be4:	e9 2f       	mov	r30, r25
     be6:	ff 27       	eor	r31, r31
     be8:	ec 5a       	subi	r30, 0xAC	; 172
     bea:	ff 4f       	sbci	r31, 0xFF	; 255
     bec:	24 91       	lpm	r18, Z
     bee:	80 91 65 00 	lds	r24, 0x0065
     bf2:	99 27       	eor	r25, r25
     bf4:	82 95       	swap	r24
     bf6:	92 95       	swap	r25
     bf8:	90 7f       	andi	r25, 0xF0	; 240
     bfa:	98 27       	eor	r25, r24
     bfc:	80 7f       	andi	r24, 0xF0	; 240
     bfe:	98 27       	eor	r25, r24
     c00:	82 2b       	or	r24, r18
     c02:	0e 94 98 00 	call	0x130
	   SendByte(pgm_read_byte(S+Old_minutes/10)|(1<<4)); //write data
     c06:	80 91 68 00 	lds	r24, 0x0068
     c0a:	61 2f       	mov	r22, r17
     c0c:	0e 94 ec 0d 	call	0x1bd8
     c10:	e8 2f       	mov	r30, r24
     c12:	ff 27       	eor	r31, r31
     c14:	ec 5a       	subi	r30, 0xAC	; 172
     c16:	ff 4f       	sbci	r31, 0xFF	; 255
     c18:	84 91       	lpm	r24, Z
     c1a:	80 61       	ori	r24, 0x10	; 16
     c1c:	0e 94 98 00 	call	0x130
	   SendByte(pgm_read_byte(S+Old_minutes%10));        //write data
     c20:	80 91 68 00 	lds	r24, 0x0068
     c24:	61 2f       	mov	r22, r17
     c26:	0e 94 ec 0d 	call	0x1bd8
     c2a:	e9 2f       	mov	r30, r25
     c2c:	ff 27       	eor	r31, r31
     c2e:	ec 5a       	subi	r30, 0xAC	; 172
     c30:	ff 4f       	sbci	r31, 0xFF	; 255
     c32:	84 91       	lpm	r24, Z
     c34:	0e 94 98 00 	call	0x130
     c38:	1f 91       	pop	r17
     c3a:	08 95       	ret

00000c3c <disp1>:
	   return;
     }
 }
void disp1(void)
  {
     c3c:	0f 93       	push	r16
     c3e:	1f 93       	push	r17
    SENDCOMB(0x1c);                            //write address
     c40:	8c e1       	ldi	r24, 0x1C	; 28
     c42:	0e 94 a9 00 	call	0x152
    SendByte(pgm_read_byte(S+tmp_old[0]/10));            //write data
     c46:	0a e0       	ldi	r16, 0x0A	; 10
     c48:	10 e0       	ldi	r17, 0x00	; 0
     c4a:	80 91 70 00 	lds	r24, 0x0070
     c4e:	90 91 71 00 	lds	r25, 0x0071
     c52:	b8 01       	movw	r22, r16
     c54:	0e 94 f8 0d 	call	0x1bf0
     c58:	fb 01       	movw	r30, r22
     c5a:	ec 5a       	subi	r30, 0xAC	; 172
     c5c:	ff 4f       	sbci	r31, 0xFF	; 255
     c5e:	84 91       	lpm	r24, Z
     c60:	0e 94 98 00 	call	0x130
    SendByte(pgm_read_byte(S+tmp_old[0]%10));            //write data
     c64:	80 91 70 00 	lds	r24, 0x0070
     c68:	90 91 71 00 	lds	r25, 0x0071
     c6c:	b8 01       	movw	r22, r16
     c6e:	0e 94 f8 0d 	call	0x1bf0
     c72:	fc 01       	movw	r30, r24
     c74:	ec 5a       	subi	r30, 0xAC	; 172
     c76:	ff 4f       	sbci	r31, 0xFF	; 255
     c78:	84 91       	lpm	r24, Z
     c7a:	0e 94 98 00 	call	0x130
	
	SENDCOMB(0x0c);                            //write address
     c7e:	8c e0       	ldi	r24, 0x0C	; 12
     c80:	0e 94 a9 00 	call	0x152
    SendByte(pgm_read_byte(S+tmp_old[1]/10)|(sign2<<4)); //write data
     c84:	80 91 72 00 	lds	r24, 0x0072
     c88:	90 91 73 00 	lds	r25, 0x0073
     c8c:	b8 01       	movw	r22, r16
     c8e:	0e 94 f8 0d 	call	0x1bf0
     c92:	fb 01       	movw	r30, r22
     c94:	ec 5a       	subi	r30, 0xAC	; 172
     c96:	ff 4f       	sbci	r31, 0xFF	; 255
     c98:	24 91       	lpm	r18, Z
     c9a:	80 91 7d 00 	lds	r24, 0x007D
     c9e:	99 27       	eor	r25, r25
     ca0:	82 95       	swap	r24
     ca2:	92 95       	swap	r25
     ca4:	90 7f       	andi	r25, 0xF0	; 240
     ca6:	98 27       	eor	r25, r24
     ca8:	80 7f       	andi	r24, 0xF0	; 240
     caa:	98 27       	eor	r25, r24
     cac:	82 2b       	or	r24, r18
     cae:	0e 94 98 00 	call	0x130
    SendByte(pgm_read_byte(S+tmp_old[1]%10));          //write data 
     cb2:	80 91 72 00 	lds	r24, 0x0072
     cb6:	90 91 73 00 	lds	r25, 0x0073
     cba:	b8 01       	movw	r22, r16
     cbc:	0e 94 f8 0d 	call	0x1bf0
     cc0:	fc 01       	movw	r30, r24
     cc2:	ec 5a       	subi	r30, 0xAC	; 172
     cc4:	ff 4f       	sbci	r31, 0xFF	; 255
     cc6:	84 91       	lpm	r24, Z
     cc8:	0e 94 98 00 	call	0x130
     ccc:	1f 91       	pop	r17
     cce:	0f 91       	pop	r16
     cd0:	08 95       	ret

00000cd2 <Done_adc1>:
  }
void Done_adc1(void)//温度采集数据处理
 {   
     cd2:	af 92       	push	r10
     cd4:	bf 92       	push	r11
     cd6:	cf 92       	push	r12
     cd8:	df 92       	push	r13
     cda:	ef 92       	push	r14
     cdc:	ff 92       	push	r15
     cde:	0f 93       	push	r16
     ce0:	1f 93       	push	r17
     ce2:	cf 93       	push	r28
     ce4:	df 93       	push	r29
     ce6:	cd b7       	in	r28, 0x3d	; 61
     ce8:	de b7       	in	r29, 0x3e	; 62
     cea:	21 97       	sbiw	r28, 0x01	; 1
     cec:	0f b6       	in	r0, 0x3f	; 63
     cee:	f8 94       	cli
     cf0:	de bf       	out	0x3e, r29	; 62
     cf2:	0f be       	out	0x3f, r0	; 63
     cf4:	cd bf       	out	0x3d, r28	; 61
   float r1;
   volatile signed char Tmp;                      //温度值                                         
   if(ADC_rel>=949) Tmp=-30;
     cf6:	80 91 81 00 	lds	r24, 0x0081
     cfa:	90 91 82 00 	lds	r25, 0x0082
     cfe:	85 5b       	subi	r24, 0xB5	; 181
     d00:	93 40       	sbci	r25, 0x03	; 3
     d02:	18 f0       	brcs	.+6      	; 0xd0a
     d04:	82 ee       	ldi	r24, 0xE2	; 226
     d06:	89 83       	std	Y+1, r24	; 0x01
     d08:	6c c1       	rjmp	.+728    	; 0xfe2
   else if(ADC_rel<=181) Tmp=70;
     d0a:	80 91 81 00 	lds	r24, 0x0081
     d0e:	90 91 82 00 	lds	r25, 0x0082
     d12:	86 3b       	cpi	r24, 0xB6	; 182
     d14:	91 05       	cpc	r25, r1
     d16:	18 f4       	brcc	.+6      	; 0xd1e
     d18:	86 e4       	ldi	r24, 0x46	; 70
     d1a:	89 83       	std	Y+1, r24	; 0x01
     d1c:	62 c1       	rjmp	.+708    	; 0xfe2
   else 
     {
	   r1=(float)10/((float)1024/ADC_rel-1);
     d1e:	00 91 81 00 	lds	r16, 0x0081
     d22:	10 91 82 00 	lds	r17, 0x0082
     d26:	c8 01       	movw	r24, r16
     d28:	aa 27       	eor	r26, r26
     d2a:	97 fd       	sbrc	r25, 7
     d2c:	a0 95       	com	r26
     d2

⌨️ 快捷键说明

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