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

📄 change.lss

📁 基于AVR单片机的程近期电话交换机源程序,可实现一拖四(一外线,四内线).
💻 LSS
📖 第 1 页 / 共 4 页
字号:
          hu[1]=0; 
 20a:	10 92 79 00 	sts	0x0079, r1
 20e:	26 c0       	rjmp	.+76     	; 0x25c <__vector_14+0x19c>
	   }
     else if(adcou==110)	//开始记录ADC1
 210:	80 91 62 00 	lds	r24, 0x0062
 214:	8e 36       	cpi	r24, 0x6E	; 110
 216:	d9 f0       	breq	.+54     	; 0x24e <__vector_14+0x18e>
       {
	    adadd=0;
	   }
     else if(adcou==60)	//完成ADC1, 切换到ADC0
 218:	80 91 62 00 	lds	r24, 0x0062
 21c:	8c 33       	cpi	r24, 0x3C	; 60
 21e:	99 f4       	brne	.+38     	; 0x246 <__vector_14+0x186>
       {
	    ADMUX=0xc0;
 220:	80 ec       	ldi	r24, 0xC0	; 192
 222:	87 b9       	out	0x07, r24	; 7
	    if((adadd/50)>GATE)
 224:	80 91 7c 00 	lds	r24, 0x007C
 228:	90 91 7d 00 	lds	r25, 0x007D
 22c:	62 e3       	ldi	r22, 0x32	; 50
 22e:	70 e0       	ldi	r23, 0x00	; 0
 230:	ee d2       	rcall	.+1500   	; 0x80e <__udivmodhi4>
 232:	65 31       	cpi	r22, 0x15	; 21
 234:	71 05       	cpc	r23, r1
 236:	20 f0       	brcs	.+8      	; 0x240 <__vector_14+0x180>
	       hu[2]=1;
 238:	81 e0       	ldi	r24, 0x01	; 1
 23a:	80 93 7a 00 	sts	0x007A, r24
 23e:	0e c0       	rjmp	.+28     	; 0x25c <__vector_14+0x19c>
	    else
	       hu[2]=0;
 240:	10 92 7a 00 	sts	0x007A, r1
 244:	0b c0       	rjmp	.+22     	; 0x25c <__vector_14+0x19c>
	   }
     else if(adcou==50)	//开始记录ADC0
 246:	80 91 62 00 	lds	r24, 0x0062
 24a:	82 33       	cpi	r24, 0x32	; 50
 24c:	39 f4       	brne	.+14     	; 0x25c <__vector_14+0x19c>
       {
	    adadd=0;
 24e:	10 92 7d 00 	sts	0x007D, r1
 252:	10 92 7c 00 	sts	0x007C, r1
 256:	02 c0       	rjmp	.+4      	; 0x25c <__vector_14+0x19c>
	   }
  }
 else
   tmp=ADC;		
 258:	84 b1       	in	r24, 0x04	; 4
 25a:	95 b1       	in	r25, 0x05	; 5
 25c:	bf 91       	pop	r27
 25e:	af 91       	pop	r26
 260:	9f 91       	pop	r25
 262:	8f 91       	pop	r24
 264:	7f 91       	pop	r23
 266:	6f 91       	pop	r22
 268:	5f 91       	pop	r21
 26a:	3f 91       	pop	r19
 26c:	2f 91       	pop	r18
 26e:	0f 90       	pop	r0
 270:	0f be       	out	0x3f, r0	; 63
 272:	0f 90       	pop	r0
 274:	1f 90       	pop	r1
 276:	18 95       	reti

00000278 <__vector_3>:
}

SIGNAL(SIG_OUTPUT_COMPARE2)		//time 2 compare interrupt  for display 10mS
{
 278:	1f 92       	push	r1
 27a:	0f 92       	push	r0
 27c:	0f b6       	in	r0, 0x3f	; 63
 27e:	0f 92       	push	r0
 280:	11 24       	eor	r1, r1
 282:	2f 93       	push	r18
 284:	5f 93       	push	r21
 286:	6f 93       	push	r22
 288:	7f 93       	push	r23
 28a:	8f 93       	push	r24
 28c:	9f 93       	push	r25
 28e:	af 93       	push	r26
 290:	bf 93       	push	r27
 if(ringcoutime)		//外线振铃计时器
 292:	80 91 65 00 	lds	r24, 0x0065
 296:	90 91 66 00 	lds	r25, 0x0066
 29a:	89 2b       	or	r24, r25
 29c:	99 f0       	breq	.+38     	; 0x2c4 <__vector_3+0x4c>
    {
	 ringcoutime--;
 29e:	80 91 65 00 	lds	r24, 0x0065
 2a2:	90 91 66 00 	lds	r25, 0x0066
 2a6:	01 97       	sbiw	r24, 0x01	; 1
 2a8:	90 93 66 00 	sts	0x0066, r25
 2ac:	80 93 65 00 	sts	0x0065, r24
	 if(ringcoutime==0)		//时间到
 2b0:	80 91 65 00 	lds	r24, 0x0065
 2b4:	90 91 66 00 	lds	r25, 0x0066
 2b8:	89 2b       	or	r24, r25
 2ba:	21 f4       	brne	.+8      	; 0x2c4 <__vector_3+0x4c>
	    {
	     ringcou=0;
 2bc:	10 92 67 00 	sts	0x0067, r1
		 out_ringflag=0;
 2c0:	10 92 64 00 	sts	0x0064, r1
		}
	}
	
 ringtime--;
 2c4:	80 91 60 00 	lds	r24, 0x0060
 2c8:	90 91 61 00 	lds	r25, 0x0061
 2cc:	01 97       	sbiw	r24, 0x01	; 1
 2ce:	90 93 61 00 	sts	0x0061, r25
 2d2:	80 93 60 00 	sts	0x0060, r24
 if(ringtime==0)
 2d6:	80 91 60 00 	lds	r24, 0x0060
 2da:	90 91 61 00 	lds	r25, 0x0061
 2de:	89 2b       	or	r24, r25
 2e0:	31 f4       	brne	.+12     	; 0x2ee <__vector_3+0x76>
   {
    ringtime=500;
 2e2:	84 ef       	ldi	r24, 0xF4	; 244
 2e4:	91 e0       	ldi	r25, 0x01	; 1
 2e6:	90 93 61 00 	sts	0x0061, r25
 2ea:	80 93 60 00 	sts	0x0060, r24
   }
 if((ringtime==500)||(ringtime==440))	//内线振铃,响0.4S,停0.2S, 响0.4S 停4S
 2ee:	80 91 60 00 	lds	r24, 0x0060
 2f2:	90 91 61 00 	lds	r25, 0x0061
 2f6:	84 5f       	subi	r24, 0xF4	; 244
 2f8:	91 40       	sbci	r25, 0x01	; 1
 2fa:	39 f0       	breq	.+14     	; 0x30a <__vector_3+0x92>
 2fc:	80 91 60 00 	lds	r24, 0x0060
 300:	90 91 61 00 	lds	r25, 0x0061
 304:	88 5b       	subi	r24, 0xB8	; 184
 306:	91 40       	sbci	r25, 0x01	; 1
 308:	c9 f4       	brne	.+50     	; 0x33c <__vector_3+0xc4>
   {
    if(ringflag[0])		//查标志位,看是否需要响铃
 30a:	80 91 74 00 	lds	r24, 0x0074
 30e:	88 23       	and	r24, r24
 310:	11 f0       	breq	.+4      	; 0x316 <__vector_3+0x9e>
	    RG1_s;
 312:	ad 98       	cbi	0x15, 5	; 21
 314:	ac 9a       	sbi	0x15, 4	; 21
    if(ringflag[1])
 316:	80 91 75 00 	lds	r24, 0x0075
 31a:	88 23       	and	r24, r24
 31c:	11 f0       	breq	.+4      	; 0x322 <__vector_3+0xaa>
	    RG2_s;
 31e:	c5 98       	cbi	0x18, 5	; 24
 320:	c4 9a       	sbi	0x18, 4	; 24
	if(ringflag[2])
 322:	80 91 76 00 	lds	r24, 0x0076
 326:	88 23       	and	r24, r24
 328:	11 f0       	breq	.+4      	; 0x32e <__vector_3+0xb6>
	    RG3_s;
 32a:	c3 98       	cbi	0x18, 3	; 24
 32c:	c2 9a       	sbi	0x18, 2	; 24
	if(ringflag[3])
 32e:	80 91 77 00 	lds	r24, 0x0077
 332:	88 23       	and	r24, r24
 334:	49 f1       	breq	.+82     	; 0x388 <__vector_3+0x110>
	    RG4_s;
 336:	c1 98       	cbi	0x18, 1	; 24
 338:	c0 9a       	sbi	0x18, 0	; 24
 33a:	26 c0       	rjmp	.+76     	; 0x388 <__vector_3+0x110>
   }
 else if((ringtime==460)||(ringtime==400))	//关闭所有振铃
 33c:	80 91 60 00 	lds	r24, 0x0060
 340:	90 91 61 00 	lds	r25, 0x0061
 344:	8c 5c       	subi	r24, 0xCC	; 204
 346:	91 40       	sbci	r25, 0x01	; 1
 348:	39 f0       	breq	.+14     	; 0x358 <__vector_3+0xe0>
 34a:	80 91 60 00 	lds	r24, 0x0060
 34e:	90 91 61 00 	lds	r25, 0x0061
 352:	80 59       	subi	r24, 0x90	; 144
 354:	91 40       	sbci	r25, 0x01	; 1
 356:	c1 f4       	brne	.+48     	; 0x388 <__vector_3+0x110>
    {
	 if(ringflag[0])		//只有启动了的振铃才关, 
 358:	80 91 74 00 	lds	r24, 0x0074
 35c:	88 23       	and	r24, r24
 35e:	11 f0       	breq	.+4      	; 0x364 <__vector_3+0xec>
	    RG1_c;
 360:	ac 98       	cbi	0x15, 4	; 21
 362:	ad 9a       	sbi	0x15, 5	; 21
     if(ringflag[1])
 364:	80 91 75 00 	lds	r24, 0x0075
 368:	88 23       	and	r24, r24
 36a:	11 f0       	breq	.+4      	; 0x370 <__vector_3+0xf8>
	    RG2_c;
 36c:	c4 98       	cbi	0x18, 4	; 24
 36e:	c5 9a       	sbi	0x18, 5	; 24
	 if(ringflag[2])
 370:	80 91 76 00 	lds	r24, 0x0076
 374:	88 23       	and	r24, r24
 376:	11 f0       	breq	.+4      	; 0x37c <__vector_3+0x104>
	    RG3_c;
 378:	c2 98       	cbi	0x18, 2	; 24
 37a:	c3 9a       	sbi	0x18, 3	; 24
	 if(ringflag[3])
 37c:	80 91 77 00 	lds	r24, 0x0077
 380:	88 23       	and	r24, r24
 382:	11 f0       	breq	.+4      	; 0x388 <__vector_3+0x110>
	    RG4_c;
 384:	c0 98       	cbi	0x18, 0	; 24
 386:	c1 9a       	sbi	0x18, 1	; 24
    }
 if(out_ringflag)		//外线振铃标志
 388:	80 91 64 00 	lds	r24, 0x0064
 38c:	88 23       	and	r24, r24
 38e:	09 f4       	brne	.+2      	; 0x392 <__vector_3+0x11a>
 390:	4e c0       	rjmp	.+156    	; 0x42e <__vector_3+0x1b6>
    {
	 if(ringtime==500)		//#1响铃
 392:	80 91 60 00 	lds	r24, 0x0060
 396:	90 91 61 00 	lds	r25, 0x0061
 39a:	84 5f       	subi	r24, 0xF4	; 244
 39c:	91 40       	sbci	r25, 0x01	; 1
 39e:	19 f4       	brne	.+6      	; 0x3a6 <__vector_3+0x12e>
	    {
		 RG1_s;
 3a0:	ad 98       	cbi	0x15, 5	; 21
 3a2:	ac 9a       	sbi	0x15, 4	; 21
 3a4:	44 c0       	rjmp	.+136    	; 0x42e <__vector_3+0x1b6>
		}
	 else if(ringtime==400)	//#1关闭响铃
 3a6:	80 91 60 00 	lds	r24, 0x0060
 3aa:	90 91 61 00 	lds	r25, 0x0061
 3ae:	80 59       	subi	r24, 0x90	; 144
 3b0:	91 40       	sbci	r25, 0x01	; 1
 3b2:	19 f4       	brne	.+6      	; 0x3ba <__vector_3+0x142>
	    {
		 RG1_c;
 3b4:	ac 98       	cbi	0x15, 4	; 21
 3b6:	ad 9a       	sbi	0x15, 5	; 21
 3b8:	3a c0       	rjmp	.+116    	; 0x42e <__vector_3+0x1b6>
		}
     else if(ringtime==375)	//#2响铃
 3ba:	80 91 60 00 	lds	r24, 0x0060
 3be:	90 91 61 00 	lds	r25, 0x0061
 3c2:	87 57       	subi	r24, 0x77	; 119
 3c4:	91 40       	sbci	r25, 0x01	; 1
 3c6:	19 f4       	brne	.+6      	; 0x3ce <__vector_3+0x156>
	    {
		 RG2_s;
 3c8:	c5 98       	cbi	0x18, 5	; 24
 3ca:	c4 9a       	sbi	0x18, 4	; 24
 3cc:	30 c0       	rjmp	.+96     	; 0x42e <__vector_3+0x1b6>
		}
	 else if(ringtime==275)	//#2关闭响铃
 3ce:	80 91 60 00 	lds	r24, 0x0060
 3d2:	90 91 61 00 	lds	r25, 0x0061
 3d6:	83 51       	subi	r24, 0x13	; 19
 3d8:	91 40       	sbci	r25, 0x01	; 1
 3da:	19 f4       	brne	.+6      	; 0x3e2 <__vector_3+0x16a>
	    {
		 RG2_c;
 3dc:	c4 98       	cbi	0x18, 4	; 24
 3de:	c5 9a       	sbi	0x18, 5	; 24
 3e0:	26 c0       	rjmp	.+76     	; 0x42e <__vector_3+0x1b6>
		}
	 else if(ringtime==250)	//#3响铃
 3e2:	80 91 60 00 	lds	r24, 0x0060
 3e6:	90 91 61 00 	lds	r25, 0x0061
 3ea:	8a 3f       	cpi	r24, 0xFA	; 250
 3ec:	91 05       	cpc	r25, r1
 3ee:	19 f4       	brne	.+6      	; 0x3f6 <__vector_3+0x17e>
	    {
		 RG3_s;
 3f0:	c3 98       	cbi	0x18, 3	; 24
 3f2:	c2 9a       	sbi	0x18, 2	; 24
 3f4:	1c c0       	rjmp	.+56     	; 0x42e <__vector_3+0x1b6>
		}
	 else if(ringtime==150)	//#3关闭响铃
 3f6:	80 91 60 00 	lds	r24, 0x0060
 3fa:	90 91 61 00 	lds	r25, 0x0061
 3fe:	86 39       	cpi	r24, 0x96	; 150
 400:	91 05       	cpc	r25, r1
 402:	19 f4       	brne	.+6      	; 0x40a <__vector_3+0x192>
	    {
		 RG3_c;
 404:	c2 98       	cbi	0x18, 2	; 24
 406:	c3 9a       	sbi	0x18, 3	; 24
 408:	12 c0       	rjmp	.+36     	; 0x42e <__vector_3+0x1b6>
		}
	 else if(ringtime==125)	//#4响铃
 40a:	80 91 60 00 	lds	r24, 0x0060
 40e:	90 91 61 00 	lds	r25, 0x0061
 412:	8d 37       	cpi	r24, 0x7D	; 125
 414:	91 05       	cpc	r25, r1
 416:	19 f4       	brne	.+6      	; 0x41e <__vector_3+0x1a6>
	    {
		 RG4_s;
 418:	c1 98       	cbi	0x18, 1	; 24
 41a:	c0 9a       	sbi	0x18, 0	; 24
 41c:	08 c0       	rjmp	.+16     	; 0x42e <__vector_3+0x1b6>
		}
	 else if(ringtime==25)		//#4关闭响铃
 41e:	80 91 60 00 	lds	r24, 0x0060
 422:	90 91 61 00 	lds	r25, 0x0061
 426:	49 97       	sbiw	r24, 0x19	; 25
 428:	11 f4       	brne	.+4      	; 0x42e <__vector_3+0x1b6>
	    {
		 RG4_c;
 42a:	c0 98       	cbi	0x18, 0	; 24
 42c:	c1 9a       	sbi	0x18, 1	; 24
		}
	}
 
 
 
 if(L_flash==0)			//L2 flash	电源指示
 42e:	80 91 68 00 	lds	r24, 0x0068
 432:	88 23       	and	r24, r24
 434:	b9 f4       	brne	.+46     	; 0x464 <__stack+0x5>
     {
	  if(ringtime%100==0)
 436:	80 91 60 00 	lds	r24, 0x0060
 43a:	90 91 61 00 	lds	r25, 0x0061
 43e:	64 e6       	ldi	r22, 0x64	; 100
 440:	70 e0       	ldi	r23, 0x00	; 0
 442:	e5 d1       	rcall	.+970    	; 0x80e <__udivmodhi4>
 444:	89 2b       	or	r24, r25
 446:	11 f4       	brne	.+4      	; 0x44c <__vector_3+0x1d4>
	      L2_s;
 448:	c7 9a       	sbi	0x18, 7	; 24
 44a:	28 c0       	rjmp	.+80     	; 0x49c <__stack+0x3d>
	  else if(ringtime%100==80)
 44c:	80 91 60 00 	lds	r24, 0x0060
 450:	90 91 61 00 	lds	r25, 0x0061
 454:	64 e6       	ldi	r22, 0x64	; 100
 456:	70 e0       	ldi	r23, 0x00	; 0
 458:	da d1       	rcall	.+948    	; 0x80e <__udivmodhi4>
 45a:	80 35       	cpi	r24, 0x50	; 80
 45c:	91 05       	cpc	r25, r1
 45e:	f1 f4       	brne	.+60     	; 0x49c <__stack+0x3d>
	      L2_c;
 460:	c7 98       	cbi	0x18, 7	; 24
 462:	1c c0       	rjmp	.+56     	; 0x49c <__stack+0x3d>
     }		
 else if(L_flash==1)		//LED flash fast

⌨️ 快捷键说明

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