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

📄 function.s

📁 LED显示面板
💻 S
📖 第 1 页 / 共 5 页
字号:
	.dbline 286
;  asm("nop");
	nop
	.dbline 287
;  asm("nop");
	nop
	.dbline 288
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L84:
	.dbline 0 ; func end
	ret
	.dbsym l temp 1 c
	.dbend
	.dbfunc e relay1_on _relay1_on fV
;           temp -> <dead>
	.even
_relay1_on::
	.dbline -1
	.dbline 292
; }
; 
; void relay1_on(void)
; {
	.dbline 294
; unsigned char temp;
; WDR();
	wdr
	.dbline 295
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 296
; out_state|=0x02;
	lds R24,_out_state
	ori R24,2
	sts _out_state,R24
	.dbline 297
;  PORTE = (out_state<<2);
	mov R2,R24
	lsl R2
	lsl R2
	out 0xe,R2
	.dbline 298
;  PORTD |= 0x80;
	sbi 0xb,7
	.dbline 299
;  asm("nop");
	nop
	.dbline 300
;  asm("nop");
	nop
	.dbline 301
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L85:
	.dbline 0 ; func end
	ret
	.dbsym l temp 1 c
	.dbend
	.dbfunc e relay1_off _relay1_off fV
;           temp -> <dead>
	.even
_relay1_off::
	.dbline -1
	.dbline 305
; }
; 
; void relay1_off(void)
; {
	.dbline 307
; unsigned char temp;
; WDR();
	wdr
	.dbline 308
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 309
; out_state&=0xfd;;
	lds R24,_out_state
	andi R24,253
	sts _out_state,R24
	.dbline 309
	.dbline 310
; PORTE = (out_state<<2);
	mov R2,R24
	lsl R2
	lsl R2
	out 0xe,R2
	.dbline 311
; PORTD |= 0x80;
	sbi 0xb,7
	.dbline 312
;  asm("nop");
	nop
	.dbline 313
;  asm("nop");
	nop
	.dbline 314
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L86:
	.dbline 0 ; func end
	ret
	.dbsym l temp 1 c
	.dbend
	.dbfunc e relay2_on _relay2_on fV
	.even
_relay2_on::
	.dbline -1
	.dbline 318
; }
; 
; void relay2_on(void)
; {WDR();
	.dbline 318
	wdr
	.dbline 319
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 320
;  asm("nop");
	nop
	.dbline 321
;  asm("nop");
	nop
	.dbline 322
; PORTD |= 0x80;
	sbi 0xb,7
	.dbline 323
;  asm("nop");
	nop
	.dbline 324
;  asm("nop");
	nop
	.dbline 325
;  asm("nop");
	nop
	.dbline 326
;  asm("nop");
	nop
	.dbline 327
; PORTE |= 0x10;
	sbi 0xe,4
	.dbline 328
;  asm("nop");
	nop
	.dbline 329
;  asm("nop");
	nop
	.dbline 330
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L87:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e relay2_off _relay2_off fV
	.even
_relay2_off::
	.dbline -1
	.dbline 334
; }
; 
; void relay2_off(void)
; {WDR();
	.dbline 334
	wdr
	.dbline 335
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 336
;  asm("nop");
	nop
	.dbline 337
;  asm("nop");
	nop
	.dbline 338
; PORTD |= 0x80;
	sbi 0xb,7
	.dbline 339
;  asm("nop");
	nop
	.dbline 340
;  asm("nop");
	nop
	.dbline 341
;  asm("nop");
	nop
	.dbline 342
;  asm("nop");
	nop
	.dbline 343
; PORTE &= ~(0x10);
	cbi 0xe,4
	.dbline 344
;  asm("nop");
	nop
	.dbline 345
;  asm("nop");
	nop
	.dbline 346
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L88:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e relay3_on _relay3_on fV
	.even
_relay3_on::
	.dbline -1
	.dbline 350
; }
; 
; void relay3_on(void)
; {WDR();
	.dbline 350
	wdr
	.dbline 351
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 352
;  asm("nop");
	nop
	.dbline 353
;  asm("nop");
	nop
	.dbline 354
; PORTD |= 0x80;
	sbi 0xb,7
	.dbline 355
;  asm("nop");
	nop
	.dbline 356
;  asm("nop");
	nop
	.dbline 357
;  asm("nop");
	nop
	.dbline 358
;  asm("nop");
	nop
	.dbline 359
; PORTE |= 0x20;
	sbi 0xe,5
	.dbline 360
;  asm("nop");
	nop
	.dbline 361
;  asm("nop");
	nop
	.dbline 362
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L89:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e relay3_off _relay3_off fV
	.even
_relay3_off::
	.dbline -1
	.dbline 366
; }
; 
; void relay3_off(void)
; {WDR();
	.dbline 366
	wdr
	.dbline 367
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 368
;  asm("nop");
	nop
	.dbline 369
;  asm("nop");
	nop
	.dbline 370
; PORTD |= 0x80;
	sbi 0xb,7
	.dbline 371
;  asm("nop");
	nop
	.dbline 372
;  asm("nop");
	nop
	.dbline 373
;  asm("nop");
	nop
	.dbline 374
;  asm("nop");
	nop
	.dbline 375
; PORTE &= ~(0x20);
	cbi 0xe,5
	.dbline 376
;  asm("nop");
	nop
	.dbline 377
;  asm("nop");
	nop
	.dbline 378
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L90:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e relay4_on _relay4_on fV
	.even
_relay4_on::
	.dbline -1
	.dbline 382
; }
; 
; void relay4_on(void)
; {WDR();
	.dbline 382
	wdr
	.dbline 383
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 384
;  asm("nop");
	nop
	.dbline 385
;  asm("nop");
	nop
	.dbline 386
; PORTD |= 0x80;
	sbi 0xb,7
	.dbline 387
;  asm("nop");
	nop
	.dbline 388
;  asm("nop");
	nop
	.dbline 389
;  asm("nop");
	nop
	.dbline 390
;  asm("nop");
	nop
	.dbline 391
; PORTE |= 0x40;
	sbi 0xe,6
	.dbline 392
;  asm("nop");
	nop
	.dbline 393
;  asm("nop");
	nop
	.dbline 394
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L91:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e relay4_off _relay4_off fV
	.even
_relay4_off::
	.dbline -1
	.dbline 398
; }
; 
; void relay4_off(void)
; {
	.dbline 399
; WDR();
	wdr
	.dbline 400
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 401
;  asm("nop");
	nop
	.dbline 402
;  asm("nop");
	nop
	.dbline 403
; PORTD |= 0x80;
	sbi 0xb,7
	.dbline 404
;  asm("nop");
	nop
	.dbline 405
;  asm("nop");
	nop
	.dbline 406
;  asm("nop");
	nop
	.dbline 407
;  asm("nop");
	nop
	.dbline 408
; PORTE &= ~(0x40);
	cbi 0xe,6
	.dbline 409
;  asm("nop");
	nop
	.dbline 410
;  asm("nop");
	nop
	.dbline 411
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L92:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e relay5_on _relay5_on fV
	.even
_relay5_on::
	.dbline -1
	.dbline 415
; }
; 
; void relay5_on(void)
; {
	.dbline 416
; WDR();
	wdr
	.dbline 417
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 418
;  asm("nop");
	nop
	.dbline 419
;  asm("nop");
	nop
	.dbline 420
; PORTD |= 0x80;
	sbi 0xb,7
	.dbline 421
;  asm("nop");
	nop
	.dbline 422
;  asm("nop");
	nop
	.dbline 423
;  asm("nop");
	nop
	.dbline 424
;  asm("nop");
	nop
	.dbline 425
; PORTE |= 0x80;
	sbi 0xe,7
	.dbline 426
;  asm("nop");
	nop
	.dbline 427
;  asm("nop");
	nop
	.dbline 428
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L93:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e relay5_off _relay5_off fV
;           temp -> R16
	.even
_relay5_off::
	.dbline -1
	.dbline 432
; }
; 
; void relay5_off(void)
; {
	.dbline 434
; unsigned char temp;
; WDR();
	wdr
	.dbline 435
; PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 436
;  asm("nop");
	nop
	.dbline 437
;  asm("nop");
	nop
	.dbline 438
; PORTD |= 0x80;
	sbi 0xb,7
	.dbline 439
;  asm("nop");
	nop
	.dbline 440
;  asm("nop");
	nop
	.dbline 441
;  DDRE=0;
	clr R2
	out 0xd,R2
	.dbline 442
;  asm("nop");
	nop
	.dbline 443
;  asm("nop");
	nop
	.dbline 444
;  temp = PINE;
	in R16,0xc
	.dbline 445
;  asm("nop");
	nop
	.dbline 446
;  asm("nop");
	nop
	.dbline 447
;  DDRE=0xfc;
	ldi R24,252
	out 0xd,R24
	.dbline 448
;   asm("nop");
	nop
	.dbline 449
;   asm("nop");
	nop
	.dbline 450
;  PORTE=temp;
	out 0xe,R16
	.dbline 452
;  
; PORTE &= ~(0x80);
	cbi 0xe,7
	.dbline 453
;  asm("nop");
	nop
	.dbline 454
;  asm("nop");
	nop
	.dbline 455
; PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L94:
	.dbline 0 ; func end
	ret
	.dbsym r temp 16 c
	.dbend
	.dbfunc e relay_out_reset _relay_out_reset fV
	.even
_relay_out_reset::
	.dbline -1
	.dbline 459
; }
; 
; void relay_out_reset(void)
; {
	.dbline 460
; WDR();
	wdr
	.dbline 461
;  PORTC&=0xef;
	in R24,0x8
	andi R24,239
	out 0x8,R24
	.dbline 462
;  PORTE = 0x00;
	clr R2
	out 0xe,R2
	.dbline 463
;  asm("nop");
	nop
	.dbline 464
;  asm("nop");
	nop
	.dbline 465
;  PORTG = 0x00;
	out 0x14,R2
	.dbline 466
;  asm("nop");
	nop
	.dbline 467
;  asm("nop");
	nop
	.dbline 468
;  PORTD |= 0x80;
	sbi 0xb,7
	.dbline 469
;  asm("nop");
	nop
	.dbline 470
;  asm("nop");
	nop
	.dbline 471
;  asm("nop");
	nop
	.dbline 472
;  asm("nop");
	nop
	.dbline 473
;  asm("nop");
	nop
	.dbline 474
;  asm("nop");
	nop
	.dbline 475
;  PORTD &= 0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline -2
L95:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e led_off _led_off fV
;       tempdata -> R20
;           temp -> R22
;              i -> R20
	.even
_led_off::
	xcall push_gset3
	mov R20,R16
	.dbline -1
	.dbline 479
; }
; 
; void led_off(unsigned char i)
; {
	.dbline 481
; unsigned char temp,tempdata;
; WDR();
	wdr
	.dbline 482
; temp = i>>3;
	mov R22,R20
	lsr R22
	lsr R22
	lsr R22
	.dbline 483
; PORTD&=0x7f;
	in R24,0xb
	andi R24,127
	out 0xb,R24
	.dbline 484
; asm("nop");
	nop
	.dbline 485
; asm("nop");
	nop
	.dbline 486
; asm("nop");
	nop
	.dbline 487
; switch(temp)
	mov R10,R22
	clr R11
	tst R10
	brne X7
	tst R11
	breq L100
X7:
	movw R24,R10
	cpi R24,1
	ldi R30,0
	cpc R25,R30
	breq L101
	cpi R24,2
	ldi R30,0
	cpc R25,R30
	breq L102
	cpi R24,3
	ldi R30,0
	cpc R25,R30
	breq L103
	cpi R24,4
	ldi R30,0
	cpc R25,R30
	breq L104
	cpi R24,5
	ldi R30,0
	cpc R25,R30
	breq L105
	xjmp L97
X8:
	.dbline 488
; {
L100:
	.dbline 489
; case 0: PORTC=0x10; break;
	ldi R24,16
	out 0x8,R24
	.dbline 489
	xjmp L98
L101:
	.dbline 490
; case 1: PORTC=0x90; break;
	ldi R24,144
	out 0x8,R24
	.dbline 490
	xjmp L98
L102:
	.dbline 491
; case 2: PORTC=0x50; break;
	ldi R24,80
	out 0x8,R24
	.dbline 491
	xjmp L98
L103:
	.dbline 492
; case 3: PORTC=0xd0; break;
	ldi R24,208
	out 0x8,R24
	.dbline 492
	xjmp L98
L104:
	.dbline 493
; case 4: PORTC=0x30; break;
	ldi R24,48
	out 0x8,R24
	.dbline 493
	xjmp L98
L105:
	.dbline 494
; case 5: PORTC=0xb0; break;
	ldi R24,176
	out 0x8,R24
	.dbline 494
	xjmp L98
L97:
	.dbline 495
; default:RESET;
	jmp 0x000
	.dbline 496
; }
L98:
	.dbline 497
; asm("nop");
	nop
	.dbline 498
; asm("nop");
	nop
	.dbline 499
; temp = i%8;
	ldi R17,8
	mov R16,R20
	xcall mod8u
	mov R22,R16
	.dbline 500
; if(temp<6) 
	cpi R16,6
	brsh L106
	.dbline 501
; {
	.dbline 502
; tempdata = 1<<(temp+2);
	mov R17,R22
	subi R17,254    ; addi 2
	ldi R16,1
	xcall lsl8
	mov R20,R16
	.dbline 503
; PORTE |= tempdata;
	in R2,0xe
	or R2,R16
	out 0xe,R2
	.dbline 504
; }
	xjmp L107
L106:
	.dbline 506
; else
; {
	.dbline 507
; tempdata = 1<< (temp-3);
	mov R17,R22
	subi R17,3
	ldi R16,1
	xcall lsl8
	mov R20,R16
	.dbline 508
; PORTG |= tempdata;
	in R2,0x14
	or R2,R16
	out 0x14,R2
	.dbline 509
; }
L107:

⌨️ 快捷键说明

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