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

📄 keytask.lst

📁 cs5460a做功率表用 cs5460a做功率表用 cs5460a做功率表
💻 LST
📖 第 1 页 / 共 4 页
字号:
 222:task/KeyTask.c ****      if ((ValTemp += ValCount) >= MaxVal)   //参数递增函数
 174               	.LM2:
 175 0000 860F      		add r24,r22
 176 0002 911D      		adc r25,__zero_reg__
 177 0004 8417      		cp r24,r20
 178 0006 9507      		cpc r25,r21
 179 0008 10F0      		brlo .L2
 223:task/KeyTask.c **** 	     {  ValTemp = 1; }
 181               	.LM3:
 182 000a 81E0      		ldi r24,lo8(1)
 183 000c 90E0      		ldi r25,hi8(1)
 184               	.L2:
 224:task/KeyTask.c ****      return (ValTemp);
 225:task/KeyTask.c ****    }
 186               	.LM4:
 187 000e 0895      		ret
 188               	/* epilogue: frame size=0 */
 189               	/* epilogue: noreturn */
 190               	/* epilogue end (size=0) */
 191               	/* function ValAdd size 8 (8) */
 193               	.Lscope0:
 198               	.global	ValDec
 200               	ValDec:
 226:task/KeyTask.c ****  
 227:task/KeyTask.c ****  //---------------------------------------------------------    
 228:task/KeyTask.c **** uint16    ValDec(uint16 ValTemp,uint8 ValCount,uint16 MaxVal)
 229:task/KeyTask.c ****   {
 202               	.LM5:
 203               	/* prologue: frame size=0 */
 204               	/* prologue end (size=0) */
 205 0010 262F      		mov r18,r22
 230:task/KeyTask.c ****      if (((ValTemp -= ValCount) == 0) || (ValTemp < ValCount))     //参数递减函数
 207               	.LM6:
 208 0012 3327      		clr r19
 209 0014 821B      		sub r24,r18
 210 0016 930B      		sbc r25,r19
 211 0018 19F0      		breq .L5
 213               	.LM7:
 214 001a 8217      		cp r24,r18
 215 001c 9307      		cpc r25,r19
 216 001e 10F4      		brsh .L4
 217               	.L5:
 231:task/KeyTask.c ****         {  ValTemp = MaxVal - 1; }
 219               	.LM8:
 220 0020 CA01      		movw r24,r20
 221 0022 0197      		sbiw r24,1
 222               	.L4:
 232:task/KeyTask.c ****      return (ValTemp);
 233:task/KeyTask.c ****    } 
 224               	.LM9:
 225 0024 0895      		ret
 226               	/* epilogue: frame size=0 */
 227               	/* epilogue: noreturn */
 228               	/* epilogue end (size=0) */
 229               	/* function ValDec size 12 (12) */
 231               	.Lscope1:
 235               	.global	Dis_info
 237               	Dis_info:
 234:task/KeyTask.c ****      
 235:task/KeyTask.c ****  //-----------------------------------------------------------
 236:task/KeyTask.c **** 
 237:task/KeyTask.c **** void MenuDis(uint8 DisNum)           //菜单显示函数
 238:task/KeyTask.c **** {
 239:task/KeyTask.c ****    DispBuf[ROW_5] = HIDE;
 240:task/KeyTask.c ****    switch (DisNum)
 241:task/KeyTask.c ****    {                                                  
 242:task/KeyTask.c ****     case 0x00:
 243:task/KeyTask.c ****       	/* DoPot(&DispBuf[ROW_1],Ps);
 244:task/KeyTask.c ****       	 if (Ps_Neg == 1) DispBuf[ROW_5] = 0; */
 245:task/KeyTask.c ****       break;            
 246:task/KeyTask.c **** //----------------------------------------------------     
 247:task/KeyTask.c ****     case 0x10 ... 0x16:      	             
 248:task/KeyTask.c ****       Dis_info(&DispBuf[ROW_5],(char *)pgm_read_word(&first_menu[DisNum & 0x0f])); 
 249:task/KeyTask.c ****       break;            
 250:task/KeyTask.c **** 			
 251:task/KeyTask.c **** //--------------------------------------------------------- 
 252:task/KeyTask.c ****     case 0x20:                      //系统菜单下的二级菜单          
 253:task/KeyTask.c ****         if (PtVal == 0)
 254:task/KeyTask.c **** 		    { PtVal = 1;}
 255:task/KeyTask.c ****         HexToBcd(&DispBuf[ROW_1],PtVal);
 256:task/KeyTask.c ****         DealZero(&DispBuf[ROW_1]);
 257:task/KeyTask.c **** 		break;
 258:task/KeyTask.c **** 
 259:task/KeyTask.c ****     case 0x21:                      //系统菜单下的二级菜单          
 260:task/KeyTask.c ****         if (CtVal == 0)
 261:task/KeyTask.c **** 		    { CtVal = 1;}
 262:task/KeyTask.c ****         HexToBcd(&DispBuf[ROW_1],CtVal);
 263:task/KeyTask.c ****         DealZero(&DispBuf[ROW_1]);
 264:task/KeyTask.c **** 
 265:task/KeyTask.c ****       break;     
 266:task/KeyTask.c **** 
 267:task/KeyTask.c ****       case 0x22: 
 268:task/KeyTask.c **** 	     if (H_Alarm == 0)
 269:task/KeyTask.c **** 		    { H_Alarm = 1;}
 270:task/KeyTask.c ****          HexToBcd(&DispBuf[ROW_1],H_Alarm);
 271:task/KeyTask.c ****         DealZero(&DispBuf[ROW_1]);
 272:task/KeyTask.c **** 
 273:task/KeyTask.c ****       break;
 274:task/KeyTask.c **** 
 275:task/KeyTask.c ****       case 0x23:
 276:task/KeyTask.c **** 	     if (L_Alarm == 0)
 277:task/KeyTask.c **** 		    { L_Alarm = 1;}
 278:task/KeyTask.c ****          HexToBcd(&DispBuf[ROW_1],L_Alarm);
 279:task/KeyTask.c ****         DealZero(&DispBuf[ROW_1]);
 280:task/KeyTask.c **** 
 281:task/KeyTask.c **** 
 282:task/KeyTask.c ****       break;
 283:task/KeyTask.c ****       
 284:task/KeyTask.c ****       case 0x24:               //波特率值显示           	       
 285:task/KeyTask.c ****         if ((BaudAndData & 0x10) == 0x00)
 286:task/KeyTask.c **** 		   {  Dis_info(&DispBuf[ROW_4],"4800"); } 
 287:task/KeyTask.c **** 		else
 288:task/KeyTask.c **** 		   { Dis_info(&DispBuf[ROW_4],"9600");  }       
 289:task/KeyTask.c ****         break;        
 290:task/KeyTask.c ****         
 291:task/KeyTask.c ****       case 0x25:                             
 292:task/KeyTask.c ****         if (AddrVal == 0) 
 293:task/KeyTask.c **** 		   { AddrVal = 1; }
 294:task/KeyTask.c ****         HexToBcd(&DispBuf[ROW_1],AddrVal);
 295:task/KeyTask.c ****         DealZero(&DispBuf[ROW_1]);
 296:task/KeyTask.c ****         break;
 297:task/KeyTask.c ****             
 298:task/KeyTask.c ****       case 0x26:
 299:task/KeyTask.c ****       	if (AlarmSwitch & 0x01) 
 300:task/KeyTask.c ****            {  Dis_info(&DispBuf[ROW_4]," off"); } 
 301:task/KeyTask.c **** 		else 
 302:task/KeyTask.c **** 		   {  Dis_info(&DispBuf[ROW_4]," on "); }
 303:task/KeyTask.c ****       	break;
 304:task/KeyTask.c ****       	
 305:task/KeyTask.c ****       default:
 306:task/KeyTask.c ****       break;
 307:task/KeyTask.c ****     }
 308:task/KeyTask.c **** }
 309:task/KeyTask.c **** //---------------------------------------------------------
 310:task/KeyTask.c **** void   Dis_info(uint8 *LedBuf,uint8 *pLed)
 311:task/KeyTask.c **** {
 239               	.LM10:
 240               	/* prologue: frame size=0 */
 241               	/* prologue end (size=0) */
 242 0026 FC01      		movw r30,r24
 243 0028 DB01      		movw r26,r22
 312:task/KeyTask.c ****     for (;*pLed;LedBuf--,pLed++)
 245               	.LM11:
 246 002a 8C91      		ld r24,X
 247 002c 8823      		tst r24
 248 002e D1F0      		breq .L18
 249 0030 3EE2      		ldi r19,lo8(46)
 250 0032 2FE2      		ldi r18,lo8(47)
 251               	.L16:
 313:task/KeyTask.c ****       {       
 314:task/KeyTask.c ****          if      ((*pLed) == 0x2d)
 253               	.LM12:
 254 0034 9C91      		ld r25,X
 255 0036 9D32      		cpi r25,lo8(45)
 256 0038 11F4      		brne .L10
 315:task/KeyTask.c ****               {  (*LedBuf) = 46; }		        
 258               	.LM13:
 259 003a 3083      		st Z,r19
 260 003c 0EC0      		rjmp .L9
 261               	.L10:
 316:task/KeyTask.c **** 
 317:task/KeyTask.c ****          else if ((*pLed) >= 0x30&&0x39 >= (*pLed))			 
 263               	.LM14:
 264 003e 892F      		mov r24,r25
 265 0040 8053      		subi r24,lo8(-(-48))
 266 0042 8A30      		cpi r24,lo8(10)
 267 0044 10F4      		brsh .L12
 318:task/KeyTask.c ****               {  (*LedBuf) = (*pLed) - 0x30; }	
 269               	.LM15:
 270 0046 8083      		st Z,r24
 271 0048 08C0      		rjmp .L9
 272               	.L12:
 319:task/KeyTask.c **** 
 320:task/KeyTask.c **** 
 321:task/KeyTask.c **** 	     else if ((*pLed) >= 0x61&&0x7A >=(*pLed))
 274               	.LM16:
 275 004a 892F      		mov r24,r25
 276 004c 8156      		subi r24,lo8(-(-97))
 277 004e 8A31      		cpi r24,lo8(26)
 278 0050 18F4      		brsh .L14
 322:task/KeyTask.c ****               {  (*LedBuf) = (*pLed) - 0x4d; }      
 280               	.LM17:
 281 0052 9D54      		subi r25,lo8(-(-77))
 282 0054 9083      		st Z,r25
 283 0056 01C0      		rjmp .L9
 284               	.L14:
 323:task/KeyTask.c **** 		
 324:task/KeyTask.c **** 	     else 
 325:task/KeyTask.c **** 		       { (*LedBuf) = 47  ;}
 286               	.LM18:
 287 0058 2083      		st Z,r18
 288               	.L9:
 290               	.LM19:
 291 005a 3197      		sbiw r30,1
 292 005c 1196      		adiw r26,1
 293 005e 8C91      		ld r24,X
 294 0060 8823      		tst r24
 295 0062 41F7      		brne .L16
 296               	.L18:
 297 0064 0895      		ret
 298               	/* epilogue: frame size=0 */
 299               	/* epilogue: noreturn */
 300               	/* epilogue end (size=0) */
 301               	/* function Dis_info size 32 (32) */
 303               	.Lscope2:
 304               		.data
 305               	.LC7:
 306 002a 3438 3030 		.string	"4800"
 306      00
 307               	.LC8:
 308 002f 3936 3030 		.string	"9600"
 308      00
 309               	.LC9:
 310 0034 206F 6666 		.string	" off"
 310      00
 311               	.LC10:
 312 0039 206F 6E20 		.string	" on "
 312      00
 313               		.text
 316               	.global	MenuDis
 318               	MenuDis:
 320               	.LM20:
 321               	/* prologue: frame size=0 */
 322               	/* prologue end (size=0) */
 323 0066 282F      		mov r18,r24
 325               	.LM21:
 326 0068 8FE2      		ldi r24,lo8(47)
 327 006a 8093 0000 		sts DispBuf+4,r24
 329               	.LM22:
 330 006e 822F      		mov r24,r18
 331 0070 9927      		clr r25
 332 0072 AA27      		clr r26
 333 0074 BB27      		clr r27
 334 0076 FC01      		movw r30,r24
 335 0078 7097      		sbiw r30,16
 336 007a E731      		cpi r30,23
 337 007c F105      		cpc r31,__zero_reg__
 338 007e 08F0      		brlo .+2
 339 0080 80C0      		rjmp .L19
 341               	.LM23:
 342 0082 E050      		subi r30,lo8(-(pm(.L40)))
 343 0084 F040      		sbci r31,hi8(-(pm(.L40)))
 344 0086 0994      		ijmp
 345               		.data
 346               		.section .progmem.gcc_sw_table, "ax", @progbits
 347               		.p2align 1
 348               	.L40:
 349 0000 00C0      		rjmp .L22
 350 0002 00C0      		rjmp .L22
 351 0004 00C0      		rjmp .L22
 352 0006 00C0      		rjmp .L22
 353 0008 00C0      		rjmp .L22
 354 000a 00C0      		rjmp .L22
 355 000c 00C0      		rjmp .L22
 356 000e 00C0      		rjmp .L19
 357 0010 00C0      		rjmp .L19
 358 0012 00C0      		rjmp .L19
 359 0014 00C0      		rjmp .L19
 360 0016 00C0      		rjmp .L19
 361 0018 00C0      		rjmp .L19
 362 001a 00C0      		rjmp .L19
 363 001c 00C0      		rjmp .L19
 364 001e 00C0      		rjmp .L19
 365 0020 00C0      		rjmp .L23
 366 0022 00C0      		rjmp .L25
 367 0024 00C0      		rjmp .L27
 368 0026 00C0      		rjmp .L29
 369 0028 00C0      		rjmp .L31
 370 002a 00C0      		rjmp .L34
 371 002c 00C0      		rjmp .L36
 372               		.text
 373               	.L22:
 374               	.LBB2:
 376               	.LM24:
 377 0088 E22F      		mov r30,r18
 378 008a FF27      		clr r31
 379 008c EF70      		andi r30,lo8(15)
 380 008e F070      		andi r31,hi8(15)
 381 0090 EE0F      		add r30,r30
 382 0092 FF1F      		adc r31,r31
 383 0094 E050      		subi r30,lo8(-(first_menu))
 384 0096 F040      		sbci r31,hi8(-(first_menu))
 385               	/* #APP */
 386 0098 8591      		lpm r24, Z+
 387 009a 9491      		lpm r25, Z
 388               		
 389               	/* #NOAPP */
 390               	.LBE2:
 391 009c BC01      		movw r22,r24
 392 009e 80E0      		ldi r24,lo8(DispBuf+4)
 393 00a0 90E0      		ldi r25,hi8(DispBuf+4)
 394 00a2 52C0      		rjmp .L41
 395               	.L23:
 397               	.LM25:
 398 00a4 8091 0000 		lds r24,PtVal
 399 00a8 9091 0000 		lds r25,(PtVal)+1
 400 00ac 892B      		or r24,r25
 401 00ae 31F4      		brne .L24
 403               	.LM26:

⌨️ 快捷键说明

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