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

📄 main.lss

📁 使用Atmega8单片机开发的一个激光治疗仪的人机接口程序
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     6a0:	80 91 84 00 	lds	r24, 0x0084
     6a4:	80 74       	andi	r24, 0x40	; 64
     6a6:	80 93 84 00 	sts	0x0084, r24
     6aa:	90 91 7c 00 	lds	r25, 0x007C
     6ae:	99 0f       	add	r25, r25
     6b0:	99 0f       	add	r25, r25
     6b2:	99 0f       	add	r25, r25
     6b4:	80 91 62 00 	lds	r24, 0x0062
     6b8:	98 0f       	add	r25, r24
     6ba:	80 91 84 00 	lds	r24, 0x0084
     6be:	89 2b       	or	r24, r25
     6c0:	80 93 84 00 	sts	0x0084, r24
     6c4:	80 91 85 00 	lds	r24, 0x0085
     6c8:	88 23       	and	r24, r24
     6ca:	21 f0       	breq	.+8      	; 0x6d4 <main+0x56>
     6cc:	10 92 85 00 	sts	0x0085, r1
     6d0:	c8 dd       	rcall	.-1136   	; 0x262 <Voltage_Check>
     6d2:	94 dd       	rcall	.-1240   	; 0x1fc <Charge_Check>
     6d4:	28 de       	rcall	.-944    	; 0x326 <TaskTurn>
     6d6:	e4 cf       	rjmp	.-56     	; 0x6a0 <main+0x22>

000006d8 <putc>:
     6d8:	5d 9b       	sbis	0x0b, 5	; 11
     6da:	fe cf       	rjmp	.-4      	; 0x6d8 <putc>
     6dc:	8c b9       	out	0x0c, r24	; 12
     6de:	08 95       	ret

000006e0 <getc>:
     6e0:	5f 9b       	sbis	0x0b, 7	; 11
     6e2:	fe cf       	rjmp	.-4      	; 0x6e0 <getc>
     6e4:	8c b1       	in	r24, 0x0c	; 12
     6e6:	99 27       	eor	r25, r25
     6e8:	08 95       	ret

000006ea <puts>:
     6ea:	cf 93       	push	r28
     6ec:	df 93       	push	r29
     6ee:	ec 01       	movw	r28, r24
     6f0:	88 81       	ld	r24, Y
     6f2:	88 23       	and	r24, r24
     6f4:	29 f0       	breq	.+10     	; 0x700 <puts+0x16>
     6f6:	89 91       	ld	r24, Y+
     6f8:	ef df       	rcall	.-34     	; 0x6d8 <putc>
     6fa:	88 81       	ld	r24, Y
     6fc:	88 23       	and	r24, r24
     6fe:	d9 f7       	brne	.-10     	; 0x6f6 <puts+0xc>
     700:	df 91       	pop	r29
     702:	cf 91       	pop	r28
     704:	08 95       	ret

00000706 <read_adc>:
}

unsigned int read_adc (uchar r,uchar m)
{
     706:	26 2f       	mov	r18, r22
 unsigned int adc_rel;
 ADMUX=0;
     708:	17 b8       	out	0x07, r1	; 7
 ADMUX |=(m&0x0F);//选择通道
     70a:	2f 70       	andi	r18, 0x0F	; 15
     70c:	97 b1       	in	r25, 0x07	; 7
     70e:	92 2b       	or	r25, r18
     710:	97 b9       	out	0x07, r25	; 7
 ADMUX |=(r<<6);//选择基准
     712:	99 27       	eor	r25, r25
     714:	f6 e0       	ldi	r31, 0x06	; 6
     716:	88 0f       	add	r24, r24
     718:	99 1f       	adc	r25, r25
     71a:	fa 95       	dec	r31
     71c:	e1 f7       	brne	.-8      	; 0x716 <read_adc+0x10>
     71e:	27 b1       	in	r18, 0x07	; 7
     720:	28 2b       	or	r18, r24
     722:	27 b9       	out	0x07, r18	; 7
 ADCSRA|=(1<<ADSC);//启动AD转换
     724:	36 9a       	sbi	0x06, 6	; 6
 DelayUs(125);
     726:	8d e7       	ldi	r24, 0x7D	; 125
     728:	90 e0       	ldi	r25, 0x00	; 0
     72a:	4e d1       	rcall	.+668    	; 0x9c8 <DelayUs>
 adc_rel=ADC&0x3FF;
     72c:	84 b1       	in	r24, 0x04	; 4
     72e:	95 b1       	in	r25, 0x05	; 5
  return(adc_rel);
}
     730:	93 70       	andi	r25, 0x03	; 3
     732:	08 95       	ret

00000734 <BT_C>:

unsigned int BT_V(void)
{
 unsigned char i;
 unsigned int a=0;
 unsigned int BT_V;//电池电压
     i=read_adc(1,6);//第一次转换,不要
     for (i=0;i<16;i++)
		    {
			  a+=read_adc(1,6);//内部基准(3.3V),ADC6		 
			}
	  BT_V=(a>>4);
	  if(BT_V>65530)
	    BT_V=0;
		return BT_V;
}

unsigned int BT_C(void)
{
     734:	1f 93       	push	r17
     736:	cf 93       	push	r28
     738:	df 93       	push	r29
 unsigned char i;
 unsigned int a=0;
     73a:	c0 e0       	ldi	r28, 0x00	; 0
     73c:	d0 e0       	ldi	r29, 0x00	; 0
 unsigned int BT_C;//电池电压
     i=read_adc(1,7);//第一次转换,不要
     73e:	67 e0       	ldi	r22, 0x07	; 7
     740:	81 e0       	ldi	r24, 0x01	; 1
     742:	e1 df       	rcall	.-62     	; 0x706 <read_adc>
     744:	1f e0       	ldi	r17, 0x0F	; 15
     for (i=0;i<16;i++)
		    {
			  a+=read_adc(1,7);//内部基准(3.3V),ADC7		 
     746:	67 e0       	ldi	r22, 0x07	; 7
     748:	81 e0       	ldi	r24, 0x01	; 1
     74a:	dd df       	rcall	.-70     	; 0x706 <read_adc>
     74c:	c8 0f       	add	r28, r24
     74e:	d9 1f       	adc	r29, r25
     750:	11 50       	subi	r17, 0x01	; 1
     752:	17 ff       	sbrs	r17, 7
     754:	f8 cf       	rjmp	.-16     	; 0x746 <BT_C+0x12>
			}
	  BT_C=(a>>4);
     756:	ce 01       	movw	r24, r28
     758:	a4 e0       	ldi	r26, 0x04	; 4
     75a:	96 95       	lsr	r25
     75c:	87 95       	ror	r24
     75e:	aa 95       	dec	r26
     760:	e1 f7       	brne	.-8      	; 0x75a <BT_C+0x26>
	  if(BT_C>65530)
     762:	2f ef       	ldi	r18, 0xFF	; 255
     764:	8b 3f       	cpi	r24, 0xFB	; 251
     766:	92 07       	cpc	r25, r18
     768:	10 f0       	brcs	.+4      	; 0x76e <BT_C+0x3a>
	    BT_C=0;
     76a:	80 e0       	ldi	r24, 0x00	; 0
     76c:	90 e0       	ldi	r25, 0x00	; 0
     76e:	df 91       	pop	r29
     770:	cf 91       	pop	r28
     772:	1f 91       	pop	r17
     774:	08 95       	ret

00000776 <BT_V>:
     776:	1f 93       	push	r17
     778:	cf 93       	push	r28
     77a:	df 93       	push	r29
     77c:	c0 e0       	ldi	r28, 0x00	; 0
     77e:	d0 e0       	ldi	r29, 0x00	; 0
     780:	66 e0       	ldi	r22, 0x06	; 6
     782:	81 e0       	ldi	r24, 0x01	; 1
     784:	c0 df       	rcall	.-128    	; 0x706 <read_adc>
     786:	1f e0       	ldi	r17, 0x0F	; 15
     788:	66 e0       	ldi	r22, 0x06	; 6
     78a:	81 e0       	ldi	r24, 0x01	; 1
     78c:	bc df       	rcall	.-136    	; 0x706 <read_adc>
     78e:	c8 0f       	add	r28, r24
     790:	d9 1f       	adc	r29, r25
     792:	11 50       	subi	r17, 0x01	; 1
     794:	17 ff       	sbrs	r17, 7
     796:	f8 cf       	rjmp	.-16     	; 0x788 <BT_V+0x12>
     798:	ce 01       	movw	r24, r28
     79a:	b4 e0       	ldi	r27, 0x04	; 4
     79c:	96 95       	lsr	r25
     79e:	87 95       	ror	r24
     7a0:	ba 95       	dec	r27
     7a2:	e1 f7       	brne	.-8      	; 0x79c <BT_V+0x26>
     7a4:	2f ef       	ldi	r18, 0xFF	; 255
     7a6:	8b 3f       	cpi	r24, 0xFB	; 251
     7a8:	92 07       	cpc	r25, r18
     7aa:	10 f0       	brcs	.+4      	; 0x7b0 <BT_V+0x3a>
     7ac:	80 e0       	ldi	r24, 0x00	; 0
     7ae:	90 e0       	ldi	r25, 0x00	; 0
     7b0:	df 91       	pop	r29
     7b2:	cf 91       	pop	r28
     7b4:	1f 91       	pop	r17
     7b6:	08 95       	ret

000007b8 <AD_Shift>:
     7b8:	19 dd       	rcall	.-1486   	; 0x1ec <AD_init>
     7ba:	dd df       	rcall	.-70     	; 0x776 <BT_V>
     7bc:	90 93 67 00 	sts	0x0067, r25
     7c0:	80 93 66 00 	sts	0x0066, r24
     7c4:	b7 df       	rcall	.-146    	; 0x734 <BT_C>
     7c6:	90 93 65 00 	sts	0x0065, r25
     7ca:	80 93 64 00 	sts	0x0064, r24
     7ce:	81 e0       	ldi	r24, 0x01	; 1
     7d0:	80 93 85 00 	sts	0x0085, r24
     7d4:	08 95       	ret

000007d6 <__vector_6>:
     7d6:	1f 92       	push	r1
     7d8:	0f 92       	push	r0
     7da:	0f b6       	in	r0, 0x3f	; 63
     7dc:	0f 92       	push	r0
     7de:	11 24       	eor	r1, r1
     7e0:	2f 93       	push	r18
     7e2:	3f 93       	push	r19
     7e4:	4f 93       	push	r20
     7e6:	5f 93       	push	r21
     7e8:	6f 93       	push	r22
     7ea:	7f 93       	push	r23
     7ec:	8f 93       	push	r24
     7ee:	9f 93       	push	r25
     7f0:	af 93       	push	r26
     7f2:	bf 93       	push	r27
     7f4:	ef 93       	push	r30
     7f6:	ff 93       	push	r31
     7f8:	1d bc       	out	0x2d, r1	; 45
     7fa:	1c bc       	out	0x2c, r1	; 44
     7fc:	80 91 6a 00 	lds	r24, 0x006A
     800:	90 91 6b 00 	lds	r25, 0x006B
     804:	01 96       	adiw	r24, 0x01	; 1
     806:	90 93 6b 00 	sts	0x006B, r25
     80a:	80 93 6a 00 	sts	0x006A, r24
     80e:	80 91 6a 00 	lds	r24, 0x006A
     812:	90 91 6b 00 	lds	r25, 0x006B
     816:	84 5f       	subi	r24, 0xF4	; 244
     818:	91 40       	sbci	r25, 0x01	; 1
     81a:	c8 f0       	brcs	.+50     	; 0x84e <__vector_6+0x78>
     81c:	80 91 7b 00 	lds	r24, 0x007B
     820:	8f 5f       	subi	r24, 0xFF	; 255
     822:	80 93 7b 00 	sts	0x007B, r24
     826:	80 91 7b 00 	lds	r24, 0x007B
     82a:	6a e0       	ldi	r22, 0x0A	; 10
     82c:	ef d6       	rcall	.+3550   	; 0x160c <__udivmodqi4>
     82e:	80 93 7f 00 	sts	0x007F, r24
     832:	80 91 7b 00 	lds	r24, 0x007B
     836:	ea d6       	rcall	.+3540   	; 0x160c <__udivmodqi4>
     838:	90 93 7e 00 	sts	0x007E, r25
     83c:	10 92 6b 00 	sts	0x006B, r1
     840:	10 92 6a 00 	sts	0x006A, r1
     844:	80 91 81 00 	lds	r24, 0x0081
     848:	8f 5f       	subi	r24, 0xFF	; 255
     84a:	80 93 81 00 	sts	0x0081, r24
     84e:	80 91 7b 00 	lds	r24, 0x007B
     852:	8c 33       	cpi	r24, 0x3C	; 60
     854:	68 f0       	brcs	.+26     	; 0x870 <__vector_6+0x9a>
     856:	10 92 7b 00 	sts	0x007B, r1
     85a:	80 91 80 00 	lds	r24, 0x0080
     85e:	8f 5f       	subi	r24, 0xFF	; 255
     860:	80 93 80 00 	sts	0x0080, r24
     864:	80 91 80 00 	lds	r24, 0x0080
     868:	8e 31       	cpi	r24, 0x1E	; 30
     86a:	10 f0       	brcs	.+4      	; 0x870 <__vector_6+0x9a>
     86c:	10 92 80 00 	sts	0x0080, r1
     870:	e1 d0       	rcall	.+450    	; 0xa34 <Show_State>
     872:	80 91 72 00 	lds	r24, 0x0072
     876:	8f 5f       	subi	r24, 0xFF	; 255
     878:	80 93 72 00 	sts	0x0072, r24
     87c:	80 91 72 00 	lds	r24, 0x0072
     880:	8a 30       	cpi	r24, 0x0A	; 10
     882:	38 f0       	brcs	.+14     	; 0x892 <__vector_6+0xbc>
     884:	10 92 72 00 	sts	0x0072, r1
     888:	80 91 78 00 	lds	r24, 0x0078
     88c:	4d dc       	rcall	.-1894   	; 0x128 <KeyScan>
     88e:	80 93 78 00 	sts	0x0078, r24
     892:	80 91 68 00 	lds	r24, 0x0068
     896:	90 91 69 00 	lds	r25, 0x0069
     89a:	01 96       	adiw	r24, 0x01	; 1
     89c:	90 93 69 00 	sts	0x0069, r25
     8a0:	80 93 68 00 	sts	0x0068, r24
     8a4:	80 91 68 00 	lds	r24, 0x0068
     8a8:	90 91 69 00 	lds	r25, 0x0069
     8ac:	84 36       	cpi	r24, 0x64	; 100
     8ae:	91 05       	cpc	r25, r1
     8b0:	28 f0       	brcs	.+10     	; 0x8bc <__vector_6+0xe6>
     8b2:	82 df       	rcall	.-252    	; 0x7b8 <AD_Shift>
     8b4:	10 92 69 00 	sts	0x0069, r1
     8b8:	10 92 68 00 	sts	0x0068, r1
     8bc:	ff 91       	pop	r31
     8be:	ef 91       	pop	r30
     8c0:	bf 91       	pop	r27
     8c2:	af 91       	pop	r26
     8c4:	9f 91       	pop	r25
     8c6:	8f 91       	pop	r24
     8c8:	7f 91       	pop	r23
     8ca:	6f 91       	pop	r22
     8cc:	5f 91       	pop	r21
     8ce:	4f 91       	pop	r20
     8d0:	3f 91       	pop	r19
     8d2:	2f 91       	pop	r18
     8d4:	0f 90       	pop	r0
     8d6:	0f be       	out	0x3f, r0	; 63
     8d8:	0f 90       	pop	r0
     8da:	1f 90       	pop	r1
     8dc:	18 95       	reti

000008de <Reg_Init>:
// Peripheral specific initialization functions,
// Called from the Init_Device() function
void Reg_Init(void)
{
	SREG;
     8de:	8f b7       	in	r24, 0x3f	; 63
	SP;
     8e0:	8d b7       	in	r24, 0x3d	; 61
     8e2:	9e b7       	in	r25, 0x3e	; 62
//	SPL;
//	SPH;
	SFIOR=0x00;//[--,--,--,ADHSM,ACME,PUD,PSR2,PSR10]//SFIOR=0x04;
     8e4:	10 be       	out	0x30, r1	; 48
	SPMCR;//[SPMIE,RWWSB,--,RWWSRE,BLBSET,PGWRT,PGERS,SPMEN]
     8e6:	87 b7       	in	r24, 0x37	; 55
	MCUCSR;//[--,--,--,--,WDFR,BORF,EXTRF,PORF]
     8e8:	84 b7       	in	r24, 0x34	; 52
     8ea:	08 95       	ret

000008ec <Oscillator_Init>:
}

void Oscillator_Init(void)
{
	OSCCAL=0xC0;
     8ec:	80 ec       	ldi	r24, 0xC0	; 192
     8ee:	81 bf       	out	0x31, r24	; 49
     8f0:	08 95       	ret

000008f2 <Port_Init>:
}

void Port_Init(void)
{
/*****
	PINB;
	DDRB=0xBD;//DDRB=0xBF;
	PORTB=0B10100000;//PORTB=0x66;   //0B01100110
	PINC;
	DDRC=0x4F;//DDRC=0x0F;
	PORTC=0x00;
	PIND;
	DDRD=0xFF;
	PORTD=0x00;

	DelayMs(200);
***********/
	PINB;
     8f2:	86 b3       	in	r24, 0x16	; 22
	DDRB=0xBD;//DDRB=0xBF;
     8f4:	8d eb       	ldi	r24, 0xBD	; 189
     8f6:	87 bb       	out	0x17, r24	; 23
	PORTB=0B11100010;//PORTB=0x66;   //0B01100110
     8f8:	82 ee       	ldi	r24, 0xE2	; 226
     8fa:	88 bb       	out	0x18, r24	; 24
	PINC;
     8fc:	83 b3       	in	r24, 0x13	; 19
	DDRC=0x4F;//DDRC=0x0F;
     8fe:	8f e4       	ldi	r24, 0x4F	; 79
     900:	84 bb       	out	0x14, r24	; 20
	PORTC=0xF0;
     902:	80 ef       	ldi	r24, 0xF0	; 240
     904:	85 bb       	out	0x15, r24	; 21
	PIND;
     906:	80 b3       	in	r24, 0x10	; 16
	DDRD=0xFF;
     908:	8f ef       	ldi	r24, 0xFF	; 255
     90a:	81 bb       	out	0x11, r24	; 17
	PORTD=0x00;

⌨️ 快捷键说明

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