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

📄 display.s

📁 LED显示面板
💻 S
📖 第 1 页 / 共 3 页
字号:
	.dbline 264
; 		else 
; 		{
	.dbline 265
;   		  if(t2)
	tst R10
	breq L149
	.dbline 266
;    		  {
	.dbline 267
;    		  led7_display(12,2,0,1);                // t1=0
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	ldi R16,12
	xcall _led7_display
	.dbline 268
;     	  led7_display(t2,3,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,3
	mov R16,R10
	xcall _led7_display
	.dbline 269
;     	  led7_display(t3,4,1,1);
	ldi R24,1
	std y+2,R24
	std y+0,R24
	ldi R18,4
	mov R16,R12
	xcall _led7_display
	.dbline 270
;     	  led7_display(t4,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	mov R16,R22
	xcall _led7_display
	.dbline 271
;     	  }
	xjmp L150
L149:
	.dbline 273
;   		  else
;     	    {                                     // t1=0,t2=0
	.dbline 274
; 	   		if(t3)
	tst R12
	breq L151
	.dbline 275
; 	    	 {
	.dbline 276
;         	  led7_display(12,2,0,1);               //  t3!=0
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	ldi R16,12
	xcall _led7_display
	.dbline 277
;          	  led7_display(12,3,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,3
	ldi R16,12
	xcall _led7_display
	.dbline 278
;          	  led7_display(t3,4,1,1);
	ldi R24,1
	std y+2,R24
	std y+0,R24
	ldi R18,4
	mov R16,R12
	xcall _led7_display
	.dbline 279
;          	  led7_display(t4,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	mov R16,R22
	xcall _led7_display
	.dbline 280
;                }
	xjmp L152
L151:
	.dbline 282
; 	  	   else
; 	        {                               //t1=0,t2=0,t3=0
	.dbline 283
; 		       if(t4)  
	tst R22
	breq L153
	.dbline 284
; 			   {
	.dbline 285
; 			   led7_display(12,2,0,1);                 
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	ldi R16,12
	xcall _led7_display
	.dbline 286
;                led7_display(12,3,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,3
	ldi R16,12
	xcall _led7_display
	.dbline 287
;                led7_display(0,4,1,1);
	ldi R24,1
	std y+2,R24
	std y+0,R24
	ldi R18,4
	clr R16
	xcall _led7_display
	.dbline 288
;                led7_display(t4,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	mov R16,R22
	xcall _led7_display
	.dbline 289
; 			    } 
	xjmp L154
L153:
	.dbline 291
; 			  else
; 			   {
	.dbline 292
; 			   led7_display(12,2,0,1);        // t1=0,t2=0,t3=0,t4=0           
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	ldi R16,12
	xcall _led7_display
	.dbline 293
;                led7_display(12,3,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,3
	ldi R16,12
	xcall _led7_display
	.dbline 294
;                led7_display(12,4,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,4
	ldi R16,12
	xcall _led7_display
	.dbline 295
;                led7_display(0,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	clr R16
	xcall _led7_display
	.dbline 296
; 				} 
L154:
	.dbline 297
; 		     }		   
L152:
	.dbline 298
; 	     }	
L150:
	.dbline 299
;      }
L148:
	.dbline 301
; 
; SEI();
	sei
	.dbline 302
; }
	xjmp L141
L145:
	.dbline 304
; 
; else if(point_flag == 2)
	ldd R24,y+15
	cpi R24,2
	breq X10
	xjmp L141
X10:
	.dbline 305
;     {
	.dbline 306
; 	CLI();
	cli
	.dbline 307
; 	WDR();
	wdr
	.dbline 308
; 	t5 = data;
	ldd R20,y+17
	ldd R21,y+18
	.dbline 309
; 	t1 = t5/1000;
	ldi R18,1000
	ldi R19,3
	movw R16,R20
	xcall div16u
	mov R14,R16
	.dbline 310
; 	t2 = (t5%1000)/100;
	ldi R18,1000
	ldi R19,3
	movw R16,R20
	xcall mod16u
	ldi R18,100
	ldi R19,0
	xcall div16u
	mov R10,R16
	.dbline 311
; 	t3 = ((t5%1000)%100)/10;
	ldi R18,1000
	ldi R19,3
	movw R16,R20
	xcall mod16u
	ldi R18,100
	ldi R19,0
	xcall mod16u
	ldi R18,10
	ldi R19,0
	xcall div16u
	mov R12,R16
	.dbline 312
; 	t4 = ((t5%1000)%100)%10;
	ldi R18,1000
	ldi R19,3
	movw R16,R20
	xcall mod16u
	ldi R18,100
	ldi R19,0
	xcall mod16u
	ldi R18,10
	ldi R19,0
	xcall mod16u
	mov R22,R16
	.dbline 313
; 	if(t1)
	tst R14
	breq L157
	.dbline 314
; 	{
	.dbline 315
;    	 led7_display(t1,2,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	mov R16,R14
	xcall _led7_display
	.dbline 316
;    	 led7_display(t2,3,1,1);
	ldi R24,1
	std y+2,R24
	std y+0,R24
	ldi R18,3
	mov R16,R10
	xcall _led7_display
	.dbline 317
;   	  led7_display(t3,4,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,4
	mov R16,R12
	xcall _led7_display
	.dbline 318
;   	   led7_display(t4,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	mov R16,R22
	xcall _led7_display
	.dbline 319
;  	    }
	xjmp L158
L157:
	.dbline 321
; 	else 
; 	{
	.dbline 322
;   	 	  if(t2)
	tst R10
	breq L159
	.dbline 323
;    		  {
	.dbline 324
;     	  led7_display(12,2,0,1);               //  t1=0
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	ldi R16,12
	xcall _led7_display
	.dbline 325
;     	  led7_display(t2,3,1,1);
	ldi R24,1
	std y+2,R24
	std y+0,R24
	ldi R18,3
	mov R16,R10
	xcall _led7_display
	.dbline 326
;     	  led7_display(t3,4,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,4
	mov R16,R12
	xcall _led7_display
	.dbline 327
;     	  led7_display(t4,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	mov R16,R22
	xcall _led7_display
	.dbline 328
;    		   }
	xjmp L160
L159:
	.dbline 330
;   		    else
;      		 {                                     // t1=0,t2=0
	.dbline 331
; 	   		 if(t3)
	tst R12
	breq L161
	.dbline 332
; 	    	  {
	.dbline 333
;          	   led7_display(12,2,0,1);              //   t3!=0
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	ldi R16,12
	xcall _led7_display
	.dbline 334
;         	   led7_display(t2,3,1,1);
	ldi R24,1
	std y+2,R24
	std y+0,R24
	ldi R18,3
	mov R16,R10
	xcall _led7_display
	.dbline 335
;          	   led7_display(t3,4,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,4
	mov R16,R12
	xcall _led7_display
	.dbline 336
;          	   led7_display(t4,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	mov R16,R22
	xcall _led7_display
	.dbline 337
;                }
	xjmp L162
L161:
	.dbline 339
; 	 		   else
; 	      	   	   {                              // t1=0,t2=0,t3=0
	.dbline 340
; 		   		    if(t4)  
	tst R22
	breq L163
	.dbline 341
; 					{
	.dbline 342
; 					  led7_display(12,2,0,1);                 
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	ldi R16,12
	xcall _led7_display
	.dbline 343
;           			  led7_display(t2,3,1,1);
	ldi R24,1
	std y+2,R24
	std y+0,R24
	ldi R18,3
	mov R16,R10
	xcall _led7_display
	.dbline 344
;           			  led7_display(0,4,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,4
	clr R16
	xcall _led7_display
	.dbline 345
;           			  led7_display(t4,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	mov R16,R22
	xcall _led7_display
	.dbline 346
; 					    } 
	xjmp L164
L163:
	.dbline 348
; 				    else
; 					 {
	.dbline 349
; 			 		 led7_display(12,2,0,1);        // t1=0,t2=0,t3=0,t4=0           
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	ldi R16,12
	xcall _led7_display
	.dbline 350
;             		 led7_display(12,3,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,3
	ldi R16,12
	xcall _led7_display
	.dbline 351
;          		     led7_display(12,4,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,4
	ldi R16,12
	xcall _led7_display
	.dbline 352
;                      led7_display(0,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	clr R16
	xcall _led7_display
	.dbline 353
; 				     } 
L164:
	.dbline 354
; 		           }		   
L162:
	.dbline 355
; 	            }	
L160:
	.dbline 356
;               }
L158:
	.dbline 357
;      SEI();
	sei
	.dbline 358
;     }
	.dbline 359
;    }
	xjmp L141
L143:
	.dbline 361
;    
;  else if(pannel_led[channel].data==on)                              //开关量状态显示  ON
	ldi R24,20
	ldd R0,y+13
	mul R24,R0
	movw R30,R0
	ldi R24,<_pannel_led+11
	ldi R25,>_pannel_led+11
	add R30,R24
	adc R31,R25
	ldd R24,z+0
	ldd R25,z+1
	cpi R24,90
	ldi R30,0
	cpc R25,R30
	brne L165
	.dbline 362
;  {
	.dbline 363
;  WDR();
	wdr
	.dbline 364
;  led7_display(0,2,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	clr R16
	xcall _led7_display
	.dbline 365
;  led7_display(13,3,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,3
	ldi R16,13
	xcall _led7_display
	.dbline 366
;  led7_display(12,4,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,4
	ldi R16,12
	xcall _led7_display
	.dbline 367
;  led7_display(12,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	ldi R16,12
	xcall _led7_display
	.dbline 368
;      }
	xjmp L141
L165:
	.dbline 369
;  else if(pannel_led[channel].data == off)                         //OFF
	ldi R24,20
	ldd R0,y+13
	mul R24,R0
	movw R30,R0
	ldi R24,<_pannel_led+11
	ldi R25,>_pannel_led+11
	add R30,R24
	adc R31,R25
	ldd R24,z+0
	ldd R25,z+1
	cpi R24,165
	ldi R30,0
	cpc R25,R30
	breq X11
	xjmp L141
X11:
	.dbline 370
;  {
	.dbline 371
;  WDR();
	wdr
	.dbline 372
;  led7_display(0,2,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	clr R16
	xcall _led7_display
	.dbline 373
;  led7_display(14,3,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,3
	ldi R16,14
	xcall _led7_display
	.dbline 374
;  led7_display(14,4,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,4
	ldi R16,14
	xcall _led7_display
	.dbline 375
;  led7_display(12,5,0,1);
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	ldi R16,12
	xcall _led7_display
	.dbline 376
;       }
	.dbline 377
;     }	 
	xjmp L141
L140:
	.dbline 380
	.dbline 381
	wdr
	.dbline 382
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,2
	ldi R16,15
	xcall _led7_display
	.dbline 383
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,3
	ldi R16,17
	xcall _led7_display
	.dbline 384
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,4
	ldi R16,16
	xcall _led7_display
	.dbline 385
	ldi R24,1
	std y+2,R24
	clr R2
	std y+0,R2
	ldi R18,5
	ldi R16,16
	xcall _led7_display
	.dbline 386
L141:
	.dbline -2
L109:
	adiw R28,3
	xcall pop_gset5
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbsym r t4 22 c
	.dbsym r t3 12 c
	.dbsym r t5 20 i
	.dbsym r t2 10 c
	.dbsym r t1 14 c
	.dbsym l data 17 i
	.dbsym l point_flag 15 c
	.dbsym l channel 13 c
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\报警系统设计资料\报警系统软件\测量模块基于CAN的系统网程序\CAN网可配置型报警灯板程序\display.c
_sendmsg::
	.blkb 12
	.dbstruct 0 12 _VCI_CAN_OBJ
	.dbfield 0 ID L
	.dbfield 4 Data A[8:8]c
	.dbend
	.dbsym e sendmsg _sendmsg S[_VCI_CAN_OBJ]

⌨️ 快捷键说明

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