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

📄 elevator.lst

📁 MAGE128下用RS485进行通讯并进行CRC校验以及中断的处理
💻 LST
📖 第 1 页 / 共 5 页
字号:
 255:elevator.c    ****        				send_buf1[3]=0x6a;
 256:elevator.c    ****     				byt1[2]=send_buf1[3];
 257:elevator.c    **** 
 258:elevator.c    ****        				}
 259:elevator.c    ****        			else
 260:elevator.c    ****        				{
 261:elevator.c    ****        				send_buf1[3]=0x4a;
 262:elevator.c    ****        				byt1[2]=send_buf1[3];
 263:elevator.c    ****        				}
 264:elevator.c    ****        			send_buf1[2]=0xcc;
 265:elevator.c    ****        			byt1[1]=send_buf1[2];
 266:elevator.c    **** 			send_buf1[4]=crc_gen(byt1,3);
 267:elevator.c    ****        			USART_Transmit1(send_buf1,6);
 268:elevator.c    ****        			}
 269:elevator.c    ****        		else if(err1==1)
 270:elevator.c    ****        			{
 271:elevator.c    ****        			wrong1++;
 272:elevator.c    **** 			if(wrong1<=3)
 273:elevator.c    ****        				{
 274:elevator.c    ****        				USART_Transmit1(send_buf1,6);
 275:elevator.c    ****        				err1=0;
 276:elevator.c    ****        				}
 277:elevator.c    ****        			else
 278:elevator.c    ****        				{
 279:elevator.c    ****        				wrong1=0;
 280:elevator.c    ****        				err1=0;
 281:elevator.c    ****        				}
 282:elevator.c    ****        			}
 283:elevator.c    ****        		else 
 284:elevator.c    ****        			{
 285:elevator.c    ****        			ok1=0;
 286:elevator.c    ****        			wrong1=0;
 287:elevator.c    ****        			}       		
 288:elevator.c    ****        		}
 289:elevator.c    ****        	}
 290:elevator.c    **** else
 291:elevator.c    **** 	{
 292:elevator.c    **** 	led[0]=0;
 663               		.stabn 68,0,292,.LM73-__vector_30
 664               	.LM73:
 665 0204 1092 0000 		sts led,__zero_reg__
 293:elevator.c    **** 	ok1=0;
 666               		.stabn 68,0,293,.LM74-__vector_30
 667               	.LM74:
 668 0208 1092 0000 		sts ok1,__zero_reg__
 294:elevator.c    **** 	err1=0;
 669               		.stabn 68,0,294,.LM75-__vector_30
 670               	.LM75:
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s 			page 18


 671 020c 1092 0000 		sts err1,__zero_reg__
 295:elevator.c    **** 	k=0;
 672               		.stabn 68,0,295,.LM76-__vector_30
 673               	.LM76:
 674 0210 1092 0000 		sts k,__zero_reg__
 296:elevator.c    **** 	wrong1=0;
 675               		.stabn 68,0,296,.LM77-__vector_30
 676               	.LM77:
 677 0214 1092 0000 		sts wrong1,__zero_reg__
 678 0218 35C0      		rjmp .L46
 679               		.stabn 68,0,200,.LM78-__vector_30
 680               	.LM78:
 681               	.L89:
 682 021a 1092 0000 		sts k,__zero_reg__
 683               		.stabn 68,0,201,.LM79-__vector_30
 684               	.LM79:
 685 021e 1092 0000 		sts led,__zero_reg__
 686               		.stabn 68,0,202,.LM80-__vector_30
 687               	.LM80:
 688 0222 30C0      		rjmp .L46
 689               		.stabn 68,0,191,.LM81-__vector_30
 690               	.LM81:
 691               	.L88:
 692 0224 8091 0000 		lds r24,led+1
 693 0228 8093 0000 		sts byt1,r24
 694               		.stabn 68,0,192,.LM82-__vector_30
 695               	.LM82:
 696 022c 8091 0000 		lds r24,led+2
 697 0230 8093 0000 		sts byt1+1,r24
 698               		.stabn 68,0,193,.LM83-__vector_30
 699               	.LM83:
 700 0234 8091 0000 		lds r24,led+3
 701 0238 8093 0000 		sts byt1+2,r24
 702               		.stabn 68,0,194,.LM84-__vector_30
 703               	.LM84:
 704 023c 8091 0000 		lds r24,led+4
 705 0240 8093 0000 		sts byt1+3,r24
 706               		.stabn 68,0,195,.LM85-__vector_30
 707               	.LM85:
 708 0244 64E0      		ldi r22,lo8(4)
 709 0246 70E0      		ldi r23,hi8(4)
 710 0248 80E0      		ldi r24,lo8(byt1)
 711 024a 90E0      		ldi r25,hi8(byt1)
 712 024c 0E94 0000 		call crc_gen
 713 0250 8093 0000 		sts d1,r24
 714               		.stabn 68,0,196,.LM86-__vector_30
 715               	.LM86:
 716 0254 8091 0000 		lds r24,k
 717 0258 C7CF      		rjmp .L86
 718               		.stabn 68,0,174,.LM87-__vector_30
 719               	.LM87:
 720               	.L87:
 721 025a 8F5F      		subi r24,lo8(-(1))
 722 025c 8093 0000 		sts k,r24
 723               		.stabn 68,0,175,.LM88-__vector_30
 724               	.LM88:
 725 0260 8091 0000 		lds r24,led+3
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s 			page 19


 726 0264 8A36      		cpi r24,lo8(106)
 727 0266 59F0      		breq .L90
 728               		.stabn 68,0,179,.LM89-__vector_30
 729               	.LM89:
 730 0268 8A34      		cpi r24,lo8(74)
 731 026a 29F0      		breq .L91
 732               		.stabn 68,0,185,.LM90-__vector_30
 733               	.LM90:
 734 026c 1092 0000 		sts ok1,__zero_reg__
 735               		.stabn 68,0,186,.LM91-__vector_30
 736               	.LM91:
 737 0270 1092 0000 		sts err1,__zero_reg__
 738 0274 07C0      		rjmp .L46
 739               		.stabn 68,0,181,.LM92-__vector_30
 740               	.LM92:
 741               	.L91:
 742 0276 81E0      		ldi r24,lo8(1)
 743 0278 8093 0000 		sts err1,r24
 744 027c 03C0      		rjmp .L46
 745               		.stabn 68,0,177,.LM93-__vector_30
 746               	.LM93:
 747               	.L90:
 748 027e 81E0      		ldi r24,lo8(1)
 749 0280 8093 0000 		sts ok1,r24
 297:elevator.c    **** 	}
 298:elevator.c    **** }
 750               		.stabn 68,0,298,.LM94-__vector_30
 751               	.LM94:
 752               	.L46:
 753               	/* epilogue: frame size=0 */
 754 0284 FF91      		pop r31
 755 0286 EF91      		pop r30
 756 0288 BF91      		pop r27
 757 028a AF91      		pop r26
 758 028c 9F91      		pop r25
 759 028e 8F91      		pop r24
 760 0290 7F91      		pop r23
 761 0292 6F91      		pop r22
 762 0294 5F91      		pop r21
 763 0296 4F91      		pop r20
 764 0298 3F91      		pop r19
 765 029a 2F91      		pop r18
 766 029c 0F90      		pop __tmp_reg__
 767 029e 0FBE      		out __SREG__,__tmp_reg__
 768 02a0 0F90      		pop __tmp_reg__
 769 02a2 1F90      		pop __zero_reg__
 770 02a4 1895      		reti
 771               	/* epilogue end (size=17) */
 772               	/* function __vector_30 size 126 (92) */
 773               	.Lfe12:
 774               		.size	__vector_30,.Lfe12-__vector_30
 775               	.Lscope11:
 776               		.stabs	"",36,0,0,.Lscope11-__vector_30
 777               		.stabs	"__vector_18:F(0,20)",36,0,302,__vector_18
 778               	.global	__vector_18
 779               		.type	__vector_18,@function
 780               	__vector_18:
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s 			page 20


 299:elevator.c    **** 
 300:elevator.c    **** 
 301:elevator.c    **** SIGNAL(SIG_UART0_RECV)
 302:elevator.c    **** {
 781               		.stabn 68,0,302,.LM95-__vector_18
 782               	.LM95:
 783               	/* prologue: frame size=0 */
 784 02a6 1F92      		push __zero_reg__
 785 02a8 0F92      		push __tmp_reg__
 786 02aa 0FB6      		in __tmp_reg__,__SREG__
 787 02ac 0F92      		push __tmp_reg__
 788 02ae 1124      		clr __zero_reg__
 789 02b0 2F93      		push r18
 790 02b2 3F93      		push r19
 791 02b4 4F93      		push r20
 792 02b6 5F93      		push r21
 793 02b8 6F93      		push r22
 794 02ba 7F93      		push r23
 795 02bc 8F93      		push r24
 796 02be 9F93      		push r25
 797 02c0 AF93      		push r26
 798 02c2 BF93      		push r27
 799 02c4 EF93      		push r30
 800 02c6 FF93      		push r31
 801               	/* prologue end (size=17) */
 303:elevator.c    **** lck[l]= inp(UDR0); 
 802               		.stabn 68,0,303,.LM96-__vector_18
 803               	.LM96:
 804 02c8 9091 0000 		lds r25,l
 805 02cc E0E0      		ldi r30,lo8(lck)
 806 02ce F0E0      		ldi r31,hi8(lck)
 807 02d0 E90F      		add r30,r25
 808 02d2 F11D      		adc r31,__zero_reg__
 809 02d4 8CB1      		in r24,44-0x20
 810 02d6 8083      		st Z,r24
 304:elevator.c    **** if(l==0)
 811               		.stabn 68,0,304,.LM97-__vector_18
 812               	.LM97:
 813 02d8 9923      		tst r25
 814 02da 39F4      		brne .L93
 305:elevator.c    **** 	{
 306:elevator.c    ****         if(lck[l]==0x55)
 815               		.stabn 68,0,306,.LM98-__vector_18
 816               	.LM98:
 817 02dc 8535      		cpi r24,lo8(85)
 818 02de 09F0      		breq _PC_+2
 819 02e0 5DC0      		rjmp .L92
 307:elevator.c    ****         	l++;
 308:elevator.c    ****         }
 309:elevator.c    **** else if(l==1)
 310:elevator.c    **** 	{
 311:elevator.c    ****         if(led[l]!=0xcc)
 312:elevator.c    ****         	{
 313:elevator.c    ****         	k=0;
 314:elevator.c    ****         	lck[0]=0;
 315:elevator.c    ****         	}
 316:elevator.c    ****         else
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s 			page 21


 317:elevator.c    ****         	l++;
 318:elevator.c    ****         }
 319:elevator.c    **** else if(l==2)
 320:elevator.c    **** 	{
 321:elevator.c    ****         l++;
 820               		.stabn 68,0,321,.LM99-__vector_18
 821               	.LM99:
 822               	.L123:
 823 02e2 9F5F      		subi r25,lo8(-(1))
 824 02e4 9093 0000 		sts l,r25
 825 02e8 59C0      		rjmp .L92
 826               	.L93:
 827               		.stabn 68,0,309,.LM100-__vector_18
 828               	.LM100:
 829 02ea 9130      		cpi r25,lo8(1)
 830 02ec 09F4      		brne _PC_+2
 831 02ee 4EC0      		rjmp .L125
 832               		.stabn 68,0,319,.LM101-__vector_18
 833               	.LM101:
 834 02f0 9230      		cpi r25,lo8(2)
 835 02f2 B9F3      		breq .L123
 322:elevator.c    **** 	}
 323:elevator.c    **** else if(l==3)
 836               		.stabn 68,0,323,.LM102-__vector_18
 837               	.LM102:
 838 02f4 9330      		cpi r25,lo8(3)
 839 02f6 91F1      		breq .L126
 324:elevator.c    **** 	{
 325:elevator.c    ****         l++;
 326:elevator.c    ****         if(lck[3]==0x6a)  //&&led[1]=0xcc
 327:elevator.c    ****         	{
 328:elevator.c    ****         	ok0=1;
 329:elevator.c    ****         	}
 330:elevator.c    ****         else if(led[3]==0x4a)  //&&led[1]=0xcc
 331:elevator.c    ****         	{
 332:elevator.c    ****         	err0=1;
 333:elevator.c    ****         	}
 334:elevator.c    ****         else
 335:elevator.c    ****         	{
 336:elevator.c    ****         	ok0=0;
 337:elevator.c    ****         	err0=0;
 338:elevator.c    ****         	}
 339:elevator.c    ****         }
 340:elevator.c    **** else if(l==4)
 840               		.stabn 68,0,340,.LM103-__vector_18
 841               	.LM103:
 842 02f8 9430      		cpi r25,lo8(4)
 843 02fa 91F0      		breq .L127
 341:elevator.c    ****         {
 342:elevator.c    ****         byt0[0]=lck[1];
 343:elevator.c    ****         byt0[1]=lck[2];
 344:elevator.c    ****         byt0[2]=lck[3];
 345:elevator.c    ****         byt0[3]=lck[4];
 346:elevator.c    ****         d0=crc_gen(byt0,4);//CRC校验
 347:elevator.c    ****         l++;
 348:elevator.c    ****         }
 349:elevator.c    **** else if(l==5)
GAS LISTING C:\DOCUME~1\zhang\LOCALS~1\Temp/cckDaaaa.s 			page 22


 844               		.stabn 68,0,349,.LM104-__vector_18
 845               	.LM104:
 846 02fc 9530      		cpi r25,lo8(5)
 847 02fe 59F0      		breq .L128
 350:elevator.c    ****         {
 351:elevator.c    ****         l=0;
 352:elevator.c    ****        	lck[0]=0;
 353:elevator.c    ****        	if(lck[l]==0xaa)
 354:elevator.c    ****        		{
 355:elevator.c    ****        		if(ok0!=1&&err0!=1)
 356:elevator.c    ****        			{
 357:elevator.c    ****        			byt0[0]=lck[2];
 358:elevator.c    ****        			if(d0==0)
 359:elevator.c    ****        				{
 360:elevator.c    ****     				   	
 361:elevator.c    ****        				if(state==0)
 362:elevator.c    ****        					{
 363:elevator.c    ****        					chain0(lck[3]);
 364:elevator.c    **** 	       				instruction0++;	
 365:elevator.c    ****       	                               	}						
 366:elevator.c    ****        				else                     //此处要检查屏蔽层
 367:elevator.c    ****        					{
 368:elevator.c    ****        					/**(*putin0+0)=lck[1];
 369:elevator.c    ****        					*(*putin0+1)=lck[3];
 370:elevator.c    ****        					putin0++;
 371:elevator.c    ****        					r0++;
 372:elevator.c    ****        					if(r1>=50)
 373:elevator.c    ****        						{
 374:elevator.c    ****        						r1=0;
 375:elevator.c    ****        						putin1=store2;
 376:elevator.c    ****        						}
 377:elevator.c    ****        					*/
 378:elevator.c    ****        					send_buf0[1]=lck[2];

⌨️ 快捷键说明

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