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

📄 aa.inc

📁 关于单片机开发的一个实例
💻 INC
📖 第 1 页 / 共 3 页
字号:
	MOV  	R3,#020H
	MOV  	R5,#090H
	MOV  	R7,A
?C0115:
	LCALL	_LedShow
; 							 }
			; SOURCE LINE # 239
?C0054:
; 
; 						while(KEY_ZLG7289A==0);
			; SOURCE LINE # 241
	JNB  	KEY_ZLG7289A,$ + 6H
	LJMP 	?C0077
	SJMP 	?C0054
; 						break;
			; SOURCE LINE # 242
; 
; 				case(39): // 检测到按下   增加键  +
			; SOURCE LINE # 244
?C0056:
; 				       if(status==0)	  //处于设置状态 改变位置处的值大小
			; SOURCE LINE # 245
	JB   	status,?C0057
; 						 {
			; SOURCE LINE # 246
; 						   switch(set_position)
			; SOURCE LINE # 247
	MOV  	A,set_position
	JZ   	?C0065
	DEC  	A
	JZ   	?C0063
	DEC  	A
	JZ   	?C0061
	DEC  	A
	JNZ  	?C0068
; 			                 {
			; SOURCE LINE # 248
; 							  case(3):	
			; SOURCE LINE # 249
?C0059:
; 							     if(qianwei<=5)					 //千位
			; SOURCE LINE # 250
	MOV  	A,qianwei
	SETB 	C
	SUBB 	A,#05H
	JNC  	?C0060
; 								 {
			; SOURCE LINE # 251
; 		                           qianwei++;
			; SOURCE LINE # 252
	INC  	qianwei
; 					              }
			; SOURCE LINE # 253
?C0060:
; 								 LedShow(4,DownDataCom_0,qianwei,0);		 //显示千位
			; SOURCE LINE # 254
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,qianwei
	MOV  	R5,#080H
	MOV  	R7,#04H
; 			                     break;
			; SOURCE LINE # 255
	SJMP 	?C0118
; 			                 case(2):						 //百位
			; SOURCE LINE # 256
?C0061:
; 							     if(baiwei<=9)			
			; SOURCE LINE # 257
	MOV  	A,baiwei
	SETB 	C
	SUBB 	A,#09H
	JNC  	?C0062
; 								 {
			; SOURCE LINE # 258
; 		                           baiwei++;
			; SOURCE LINE # 259
	INC  	baiwei
; 					              }
			; SOURCE LINE # 260
?C0062:
; 								 LedShow(3,DownDataCom_0,baiwei,0);		 //显示百位
			; SOURCE LINE # 261
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,baiwei
	MOV  	R5,#080H
	MOV  	R7,#03H
?C0116:
;  				
; 					 
; 			                     break;
			; SOURCE LINE # 264
	SJMP 	?C0118
; 			                case(1):						//十位
			; SOURCE LINE # 265
?C0063:
; 							       if(shiwei<=9)			
			; SOURCE LINE # 266
	MOV  	A,shiwei
	SETB 	C
	SUBB 	A,#09H
	JNC  	?C0064
; 								    {
			; SOURCE LINE # 267
; 		                             shiwei++;
			; SOURCE LINE # 268
	INC  	shiwei
; 					                 }
			; SOURCE LINE # 269
?C0064:
; 								   	  LedShow(2,DownDataCom_0,shiwei,0);		 //显示十位
			; SOURCE LINE # 270
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,shiwei
	MOV  	R5,#080H
	MOV  	R7,#02H
?C0117:
; 			                        break;
			; SOURCE LINE # 271
	SJMP 	?C0118
; 							case(0):						  //个位
			; SOURCE LINE # 272
?C0065:
; 							         if(gewei<=9)					
			; SOURCE LINE # 273
	MOV  	A,gewei
	SETB 	C
	SUBB 	A,#09H
	JNC  	?C0066
; 								     {
			; SOURCE LINE # 274
; 		                               gewei++;
			; SOURCE LINE # 275
	INC  	gewei
; 					                  }
			; SOURCE LINE # 276
?C0066:
; 									 LedShow(1,DownDataCom_0,gewei,0);		 //显示个位
			; SOURCE LINE # 277
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,gewei
	MOV  	R5,#080H
	MOV  	R7,#01H
?C0118:
	LCALL	_LedShow
; 			                        break;
			; SOURCE LINE # 278
	SJMP 	?C0068
; 			                default: break;
			; SOURCE LINE # 279
; 							  }
			; SOURCE LINE # 280
; 						  }
			; SOURCE LINE # 281
?C0057:
; 						 else          //处于测试时改变通道号
; 							{
			; SOURCE LINE # 283
; 							   if(realtime_channel>2)		   //?????
			; SOURCE LINE # 284
	MOV  	A,realtime_channel
	SETB 	C
	SUBB 	A,#02H
	JC   	?C0069
; 						          {
			; SOURCE LINE # 285
; 						            realtime_channel++;
			; SOURCE LINE # 286
	INC  	realtime_channel
; 						           }
			; SOURCE LINE # 287
	SJMP 	?C0068
?C0069:
; 						       else
; 						           {
			; SOURCE LINE # 289
; 							         realtime_channel=2;  //从二通道开始
			; SOURCE LINE # 290
	MOV  	realtime_channel,#02H
; 							       }
			; SOURCE LINE # 291
; 
; 							 }
			; SOURCE LINE # 293
?C0068:
; 						   LedShow(0,DownDataCom,0x20,0);		 //测量灯点亮
			; SOURCE LINE # 294
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,#020H
	MOV  	R5,#090H
	MOV  	R7,A
	LCALL	_LedShow
?C0071:
; 						
; 						while(KEY_ZLG7289A==0);
			; SOURCE LINE # 296
	JNB  	KEY_ZLG7289A,$ + 6H
	LJMP 	?C0077
	SJMP 	?C0071
; 						break;
			; SOURCE LINE # 297
; 
; 				case(47): // 检测到按下   设置键 OPTION
			; SOURCE LINE # 299
?C0073:
; 						LedShow(0,DownDataCom,0x40,0);		 //设置灯点亮
			; SOURCE LINE # 300
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,#040H
	MOV  	R5,#090H
	MOV  	R7,A
	LCALL	_LedShow
; 						status=0;
			; SOURCE LINE # 301
	CLR  	status
?C0074:
; 						while(KEY_ZLG7289A==0);
			; SOURCE LINE # 302
	JNB  	KEY_ZLG7289A,$ + 6H
	LJMP 	?C0077
	SJMP 	?C0074
; 						break;
			; SOURCE LINE # 303
; 				default: break;
			; SOURCE LINE # 304
; 			 }
			; SOURCE LINE # 305
;         }
			; SOURCE LINE # 306
?C0019:
;      else
; 	  { 
			; SOURCE LINE # 308
; 	    // 没有按键按下
; 	   if(status==0)  //处于设置状态
			; SOURCE LINE # 310
	JB   	status,$ + 6H
	LJMP 	?C0077
; 	     {
			; SOURCE LINE # 311
; 		  
; 		  }
			; SOURCE LINE # 313
?C0078:
; 	    else if(status==1)  //处于测量状态
			; SOURCE LINE # 314
	JB   	status,$ + 6H
	LJMP 	?C0077
; 	         {
			; SOURCE LINE # 315
; 		  	   switch(realtime_channel)
			; SOURCE LINE # 316
	MOV  	A,realtime_channel
	DEC  	A
	JZ   	?C0083
	DEC  	A
	JZ   	?C0084
	ADD  	A,#02H
	JNZ  	?C0081
; 			   {
			; SOURCE LINE # 317
; 			   case(0):
			; SOURCE LINE # 318
?C0082:
; 		              tempeture_variable=Read_TLC0834(realtime_channel);
			; SOURCE LINE # 319
	MOV  	R7,realtime_channel
	LCALL	_Read_TLC0834
	MOV  	tempeture_variable,R7
; 					  i=tempeture_variable;
			; SOURCE LINE # 320
; 			          break;
			; SOURCE LINE # 321
	SJMP 	?C0120
; 			   case(1):
			; SOURCE LINE # 322
?C0083:
; 		              preasure_variable=Read_TLC0834(realtime_channel);
			; SOURCE LINE # 323
	MOV  	R7,realtime_channel
	LCALL	_Read_TLC0834
	MOV  	preasure_variable,R7
; 					  i= preasure_variable;
			; SOURCE LINE # 324
?C0119:
; 			          break;
			; SOURCE LINE # 325
	SJMP 	?C0120
; 			   case(2):
			; SOURCE LINE # 326
?C0084:
; 		              flux_variable=Read_TLC0834(realtime_channel);
			; SOURCE LINE # 327
	MOV  	R7,realtime_channel
	LCALL	_Read_TLC0834
	MOV  	flux_variable,R7
; 					  i=flux_variable;
			; SOURCE LINE # 328
?C0120:
	MOV  	i?346,#00H
	MOV  	i?346+01H,R7
; 			          break;
			; SOURCE LINE # 329
; 			   default: break;
			; SOURCE LINE # 330
; 			    }
			; SOURCE LINE # 331
?C0081:
; 				      i=i*transform_value; 
			; SOURCE LINE # 332
	MOV  	R4,i?346
	MOV  	R5,i?346+01H
	CLR  	A
	LCALL	?C?FCASTI
	MOV  	R3,transform_value+03H
	MOV  	R2,transform_value+02H
	MOV  	R1,transform_value+01H
	MOV  	R0,transform_value
	LCALL	?C?FPMUL
	LCALL	?C?CASTF
	MOV  	i?346,R6
	MOV  	i?346+01H,R7
;                       qianwei=i/1000;
			; SOURCE LINE # 333
	MOV  	R4,#03H
	MOV  	R5,#0E8H
	LCALL	?C?UIDIV
	MOV  	qianwei,R7
;                       baiwei=(i/100)%10;
			; SOURCE LINE # 334
	MOV  	R6,i?346
	MOV  	R7,i?346+01H
	MOV  	R4,#00H
	MOV  	R5,#064H
	LCALL	?C?UIDIV
	MOV  	R4,#00H
	MOV  	R5,#0AH
	LCALL	?C?UIDIV
	MOV  	baiwei,R5
;                       shiwei=(i/10)%10;
			; SOURCE LINE # 335
	MOV  	R6,i?346
	MOV  	R7,i?346+01H
	MOV  	R4,#00H
	MOV  	R5,#0AH
	LCALL	?C?UIDIV
	MOV  	R4,#00H
	MOV  	R5,#0AH
	LCALL	?C?UIDIV
	MOV  	shiwei,R5
;                       gewei=i%10;
			; SOURCE LINE # 336
	MOV  	R6,i?346
	MOV  	R7,i?346+01H
	MOV  	R4,#00H
	MOV  	R5,#0AH
	LCALL	?C?UIDIV
	MOV  	gewei,R5
; 					  LedShow(5,DownDataCom_0,realtime_channel,1);		        //显示通道"*."	 温度通道  下限
			; SOURCE LINE # 337
	MOV  	?_LedShow?BYTE+03H,#01H
	MOV  	R3,realtime_channel
	MOV  	R5,#080H
	MOV  	R7,#05H
	LCALL	_LedShow
;   					  LedShow(4,DownDataCom_0,qianwei,0);		 //显示千位
			; SOURCE LINE # 338
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,qianwei
	MOV  	R5,#080H
	MOV  	R7,#04H
	LCALL	_LedShow
;   				      LedShow(3,DownDataCom_0,baiwei,0);		 //显示百位
			; SOURCE LINE # 339
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,baiwei
	MOV  	R5,#080H
	MOV  	R7,#03H
	LCALL	_LedShow
;  					  LedShow(2,DownDataCom_0,shiwei,0);		 //显示十位
			; SOURCE LINE # 340
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,shiwei
	MOV  	R5,#080H
	MOV  	R7,#02H
	LCALL	_LedShow
; 					  LedShow(1,DownDataCom_0,gewei,0);		 //显示个位
			; SOURCE LINE # 341
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,gewei
	MOV  	R5,#080H
	MOV  	R7,#01H
	LCALL	_LedShow
; 					  if(limit_data[realtime_channel*2]>i)	 //低于下限报警
			; SOURCE LINE # 342
	MOV  	A,realtime_channel
	ADD  	A,ACC
	ADD  	A,#LOW (limit_data)
	MOV  	R0,A
	MOV  	A,@R0
	SETB 	C
	SUBB 	A,i?346+01H
	CLR  	A
	SUBB 	A,i?346
	JC   	?C0086
; 					  { 
			; SOURCE LINE # 343
; 					   	CONTROL_SPEAKER=0;					//
			; SOURCE LINE # 344
	CLR  	CONTROL_SPEAKER
; 						  LedShow(0,DownDataCom,0x10|0x20,0);		 //下限报警灯点亮
			; SOURCE LINE # 345
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,#030H
; 					  	}
			; SOURCE LINE # 346
	SJMP 	?C0121
?C0086:
; 					   else	if(limit_data[realtime_channel*2+1]<i) //高于上限报警
			; SOURCE LINE # 347
	MOV  	A,realtime_channel
	ADD  	A,ACC
	ADD  	A,#LOW (limit_data+01H)
	MOV  	R0,A
	MOV  	A,@R0
	CLR  	C
	SUBB 	A,i?346+01H
	CLR  	A
	SUBB 	A,i?346
	JNC  	?C0077
; 					        {
			; SOURCE LINE # 348
; 							 CONTROL_SPEAKER=0;
			; SOURCE LINE # 349
	CLR  	CONTROL_SPEAKER
; 							   LedShow(0,DownDataCom,0x8|0x20,0);		 //上限报警灯点亮
			; SOURCE LINE # 350
	CLR  	A
	MOV  	?_LedShow?BYTE+03H,A
	MOV  	R3,#028H
?C0121:
	MOV  	R5,#090H
	MOV  	R7,A
	LCALL	_LedShow
; 							 }
			; SOURCE LINE # 351
; 					   
; 		      }
			; SOURCE LINE # 353
; 
; 	 
;         }
			; SOURCE LINE # 356
?C0077:
; 	  if(RI==1)	 //判断接收中断标志
			; SOURCE LINE # 357
	JB   	RI,$ + 6H
	LJMP 	?C0018
; 	    {
			; SOURCE LINE # 358
; 		  bsbuf=SBUF;
			; SOURCE LINE # 359
	MOV  	bsbuf?349,SBUF
; 		  RI=0;
			; SOURCE LINE # 360
	CLR  	RI
; 		  if(bsbuf==0xAA)	// 向上位机发送实时测量结果和报警状态
			; SOURCE LINE # 361
	MOV  	A,bsbuf?349
	CJNE 	A,#0AAH,?C0090
; 
; 		   {
			; SOURCE LINE # 363
; 		      
; 		       
; 			   if(TI==1){;}
			; SOURCE LINE # 366
?C0091:
; 			    TI=0;
			; SOURCE LINE # 367
	CLR  	TI
; 		              SBUF=tempeture_variable; //发测量结果
			; SOURCE LINE # 368
	MOV  	SBUF,tempeture_variable
; 					  if(TI==1){;}
			; SOURCE LINE # 369
?C0092:
; 			          TI=0;
			; SOURCE LINE # 370
	CLR  	TI
; 		              SBUF=preasure_variable;
			; SOURCE LINE # 371
	MOV  	SBUF,preasure_variable
; 					  if(TI==1){;}
			; SOURCE LINE # 372
?C0093:
; 			          TI=0;
			; SOURCE LINE # 373
	CLR  	TI
; 		              SBUF=flux_variable;
			; SOURCE LINE # 374
	MOV  	SBUF,flux_variable
; 					  if(TI==1){;}
			; SOURCE LINE # 375
?C0094:
; 			          TI=0;
			; SOURCE LINE # 376
	CLR  	TI
; 			          break;
			; SOURCE LINE # 377
	RET  	
;  		     if(TI==1){;}
			; SOURCE LINE # 378
?C0090:
; 			 TI=0;				//清发送标志
; 			 SBUF= waring_status;	  //发报警状态
; 			   if(TI==1){;}
; 			    TI=0;
; 		     
; 
; 			 }
; 
; 		  else if(bsbuf==0x55)//向上位机发送设置的上下限报警值
			; SOURCE LINE # 387
	MOV  	A,bsbuf?349
	XRL  	A,#055H
	JZ   	$ + 5H
	LJMP 	?C0018
; 		       {
			; SOURCE LINE # 388
; 			    for(j=0;j>=5;j--)
			; SOURCE LINE # 389
	MOV  	j?348,A
?C0099:
	MOV  	A,j?348
	CLR  	C
	SUBB 	A,#05H
	JNC  	$ + 5H
	LJMP 	?C0018
; 				 {
			; SOURCE LINE # 390
; 			    SBUF=limit_data[j];
			; SOURCE LINE # 391
	MOV  	A,#LOW (limit_data)
	ADD  	A,j?348
	MOV  	R0,A
	MOV  	A,@R0
	MOV  	SBUF,A
; 				if(TI==1){;}
			; SOURCE LINE # 392
?C0102:
; 				TI=0;
			; SOURCE LINE # 393
	CLR  	TI
; 				 
; 				 }
			; SOURCE LINE # 395
	DEC  	j?348
	SJMP 	?C0099
; END OF main

	END

⌨️ 快捷键说明

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