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

📄 keypaddrive.src

📁 这是用proteus做的基于51核的一个菜单仿真的程序开发环境keil 没有使用os在裸机上跑
💻 SRC
📖 第 1 页 / 共 2 页
字号:
			; SOURCE LINE # 213
	MOV  	DPTR,#KeyElement3+01H
?C0078:
; 
;                           KeyPadStatus=1;
			; SOURCE LINE # 215
;                           break;
			; SOURCE LINE # 216
	SJMP 	?C0080
; 					      }
			; SOURCE LINE # 217
?C0026:
;                       if  (Vertical2)
			; SOURCE LINE # 218
	JNB  	Vertical2,?C0027
;                           {
			; SOURCE LINE # 219
;                           Temp=KeyElement3[2];
			; SOURCE LINE # 220
	MOV  	DPTR,#KeyElement3+02H
?C0079:
; 
;                           KeyPadStatus=1;
			; SOURCE LINE # 222
;                           break;
			; SOURCE LINE # 223
	SJMP 	?C0080
; 					      }
			; SOURCE LINE # 224
?C0027:
; 					 if  (Vertical3)
			; SOURCE LINE # 225
	JB   	Vertical3,$ + 6H
	LJMP 	?C0065
;                           {
			; SOURCE LINE # 226
;                           Temp=KeyElement3[3];
			; SOURCE LINE # 227
	MOV  	DPTR,#KeyElement3+03H
?C0080:
	MOVX 	A,@DPTR
	MOV  	DPTR,#Temp
	MOVX 	@DPTR,A
; 
;                           KeyPadStatus=1;
			; SOURCE LINE # 229
	MOV  	R0,#LOW (KeyPadStatus)
	MOV  	@R0,#01H
;                           break;
			; SOURCE LINE # 230
	RET  	
; 					      }
			; SOURCE LINE # 231
; 						}
			; SOURCE LINE # 232
; 					///FirstScan();
; 
; 					 break; 
			; SOURCE LINE # 235
;     case   1:
			; SOURCE LINE # 236
?C0029:
;      				if (Temp!=0)
			; SOURCE LINE # 237
	MOV  	DPTR,#Temp
	MOVX 	A,@DPTR
	JNZ  	$ + 5H
	LJMP 	?C0065
; 						{
			; SOURCE LINE # 238
; 						Delay10ms=0;
			; SOURCE LINE # 239
	CLR  	A
	MOV  	DPTR,#Delay10ms
	MOVX 	@DPTR,A
; 						KeyPadStatus=2;
			; SOURCE LINE # 240
	MOV  	R0,#LOW (KeyPadStatus)
	MOV  	@R0,#02H
; 
; 						}
			; SOURCE LINE # 242
; 						break;
			; SOURCE LINE # 243
	RET  	
;    case  2:
			; SOURCE LINE # 244
?C0031:
; 					if (Delay10ms>=1)
			; SOURCE LINE # 245
	MOV  	DPTR,#Delay10ms
	MOVX 	A,@DPTR
	CLR  	C
	SUBB 	A,#01H
	JNC  	$ + 5H
	LJMP 	?C0053
; 						{
			; SOURCE LINE # 246
; 						  Delay10ms=0;
			; SOURCE LINE # 247
	CLR  	A
	MOVX 	@DPTR,A
; //--------------------------------------------------------------------------
; // scan the first row
; //--------------------------------------------------------------------------
;                       KEY_ROW = Row[0];
			; SOURCE LINE # 251
	MOV  	DPTR,#Row
	MOVC 	A,@A+DPTR
	MOV  	DPTR,#02000H
	MOVX 	@DPTR,A
;                       Key=KEY_VERTICAL;
			; SOURCE LINE # 252
	MOV  	DPTR,#0A000H
	MOVX 	A,@DPTR
	MOV  	Key,A
; 					if (Key)
			; SOURCE LINE # 253
	JZ   	?C0033
; 						{
			; SOURCE LINE # 254
; 					  if (Vertical0)
			; SOURCE LINE # 255
	JNB  	Vertical0,?C0034
; 						  {
			; SOURCE LINE # 256
;                           Temp1=KeyElement0[0];
			; SOURCE LINE # 257
	MOV  	DPTR,#KeyElement0
; 						   KeyPadStatus=3;
			; SOURCE LINE # 258
;                           break;
			; SOURCE LINE # 259
	LJMP 	?C0095
; 					      }
			; SOURCE LINE # 260
?C0034:
; 						    
; 					  if  (Vertical1)
			; SOURCE LINE # 262
	JNB  	Vertical1,?C0035
;                           {
			; SOURCE LINE # 263
;                           Temp1=KeyElement0[1];
			; SOURCE LINE # 264
	MOV  	DPTR,#KeyElement0+01H
?C0081:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 266
;                           break;
			; SOURCE LINE # 267
	LJMP 	?C0095
; 					      }
			; SOURCE LINE # 268
?C0035:
;                       if  (Vertical2)
			; SOURCE LINE # 269
	JNB  	Vertical2,?C0036
;                           {
			; SOURCE LINE # 270
;                           Temp1=KeyElement0[2];
			; SOURCE LINE # 271
	MOV  	DPTR,#KeyElement0+02H
?C0082:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 273
;                           break;
			; SOURCE LINE # 274
	LJMP 	?C0095
; 					      }
			; SOURCE LINE # 275
?C0036:
; 					 if  (Vertical3)
			; SOURCE LINE # 276
	JNB  	Vertical3,?C0033
;                           {
			; SOURCE LINE # 277
;                           Temp1=KeyElement0[3];
			; SOURCE LINE # 278
	MOV  	DPTR,#KeyElement0+03H
?C0083:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 280
;                           break;
			; SOURCE LINE # 281
	LJMP 	?C0095
; 					      }
			; SOURCE LINE # 282
; 						}
			; SOURCE LINE # 283
?C0033:
; 						 
; //------------------------------------------------------------------------------
; // scan the secend  row
; //------------------------------------------------------------------------------
; 					  KEY_ROW = Row[1];    
			; SOURCE LINE # 288
	MOV  	DPTR,#Row+01H
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	DPTR,#02000H
	MOVX 	@DPTR,A
;                       Key=KEY_VERTICAL;
			; SOURCE LINE # 289
	MOV  	DPTR,#0A000H
	MOVX 	A,@DPTR
	MOV  	Key,A
; 					if (Key)
			; SOURCE LINE # 290
	JZ   	?C0038
; 						{
			; SOURCE LINE # 291
; 
; 					  if (Vertical0)
			; SOURCE LINE # 293
	JNB  	Vertical0,?C0039
; 						  {
			; SOURCE LINE # 294
;                           Temp1=KeyElement1[0];
			; SOURCE LINE # 295
	MOV  	DPTR,#KeyElement1
?C0084:
; 						  KeyPadStatus=3;
			; SOURCE LINE # 296
;                           break;
			; SOURCE LINE # 297
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 298
?C0039:
; 						    
; 					  if  (Vertical1)
			; SOURCE LINE # 300
	JNB  	Vertical1,?C0040
;                           {
			; SOURCE LINE # 301
;                           Temp1=KeyElement1[1];
			; SOURCE LINE # 302
	MOV  	DPTR,#KeyElement1+01H
?C0085:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 304
;                           break;
			; SOURCE LINE # 305
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 306
?C0040:
;                       if  (Vertical2)
			; SOURCE LINE # 307
	JNB  	Vertical2,?C0041
;                           {
			; SOURCE LINE # 308
;                           Temp1=KeyElement1[2];
			; SOURCE LINE # 309
	MOV  	DPTR,#KeyElement1+02H
?C0086:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 311
;                           break;
			; SOURCE LINE # 312
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 313
?C0041:
; 					 if  (Vertical3)
			; SOURCE LINE # 314
	JNB  	Vertical3,?C0038
;                           {
			; SOURCE LINE # 315
;                           Temp1=KeyElement1[3];
			; SOURCE LINE # 316
	MOV  	DPTR,#KeyElement1+03H
?C0087:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 318
;                           break;
			; SOURCE LINE # 319
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 320
; 						}
			; SOURCE LINE # 321
?C0038:
; //------------------------------------------------------------------------------
; // scan the third  row
; //------------------------------------------------------------------------------
; 					  KEY_ROW = Row[2];    
			; SOURCE LINE # 325
	MOV  	DPTR,#Row+02H
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	DPTR,#02000H
	MOVX 	@DPTR,A
;                       Key=KEY_VERTICAL;
			; SOURCE LINE # 326
	MOV  	DPTR,#0A000H
	MOVX 	A,@DPTR
	MOV  	Key,A
; 					if (Key)
			; SOURCE LINE # 327
	JZ   	?C0043
; 						{
			; SOURCE LINE # 328
; 					  if (Vertical0)
			; SOURCE LINE # 329
	JNB  	Vertical0,?C0044
; 						  {
			; SOURCE LINE # 330
;                           Temp1=KeyElement2[0];
			; SOURCE LINE # 331
	MOV  	DPTR,#KeyElement2
?C0088:
; 						  KeyPadStatus=3;
			; SOURCE LINE # 332
;                           break;
			; SOURCE LINE # 333
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 334
?C0044:
; 						    
; 					  if  (Vertical1)
			; SOURCE LINE # 336
	JNB  	Vertical1,?C0045
;                           {
			; SOURCE LINE # 337
;                           Temp1=KeyElement2[1];
			; SOURCE LINE # 338
	MOV  	DPTR,#KeyElement2+01H
?C0089:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 340
;                           break;
			; SOURCE LINE # 341
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 342
?C0045:
;                       if  (Vertical2)
			; SOURCE LINE # 343
	JNB  	Vertical2,?C0046
;                           {
			; SOURCE LINE # 344
;                           Temp1=KeyElement2[2];
			; SOURCE LINE # 345
	MOV  	DPTR,#KeyElement2+02H
?C0090:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 347
;                           break;
			; SOURCE LINE # 348
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 349
?C0046:
; 					 if  (Vertical3)
			; SOURCE LINE # 350
	JNB  	Vertical3,?C0043
;                           {
			; SOURCE LINE # 351
;                           Temp1=KeyElement2[3];
			; SOURCE LINE # 352
	MOV  	DPTR,#KeyElement2+03H
?C0091:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 354
;                           break;
			; SOURCE LINE # 355
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 356
; 						}
			; SOURCE LINE # 357
?C0043:
; //------------------------------------------------------------------------------
; // scan the fourth  row
; //------------------------------------------------------------------------------
; 					  KEY_ROW = Row[3];    
			; SOURCE LINE # 361
	MOV  	DPTR,#Row+03H
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	DPTR,#02000H
	MOVX 	@DPTR,A
;                       Key=KEY_VERTICAL;
			; SOURCE LINE # 362
	MOV  	DPTR,#0A000H
	MOVX 	A,@DPTR
	MOV  	Key,A
; 					if (Key)
			; SOURCE LINE # 363
	JZ   	?C0096
; 						{
			; SOURCE LINE # 364
; 					  if (Vertical0)
			; SOURCE LINE # 365
	JNB  	Vertical0,?C0049
; 						  {
			; SOURCE LINE # 366
;                           Temp1=KeyElement3[0];
			; SOURCE LINE # 367
	MOV  	DPTR,#KeyElement3
?C0092:
; 						  KeyPadStatus=3;
			; SOURCE LINE # 368
;                           break;
			; SOURCE LINE # 369
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 370
?C0049:
; 						    
; 					  if  (Vertical1)
			; SOURCE LINE # 372
	JNB  	Vertical1,?C0050
;                           {
			; SOURCE LINE # 373
;                           Temp1=KeyElement3[1];
			; SOURCE LINE # 374
	MOV  	DPTR,#KeyElement3+01H
?C0093:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 376
;                           break;
			; SOURCE LINE # 377
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 378
?C0050:
;                       if  (Vertical2)
			; SOURCE LINE # 379
	JNB  	Vertical2,?C0051
;                           {
			; SOURCE LINE # 380
;                           Temp1=KeyElement3[2];
			; SOURCE LINE # 381
	MOV  	DPTR,#KeyElement3+02H
?C0094:
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 383
;                           break;
			; SOURCE LINE # 384
	SJMP 	?C0095
; 					      }
			; SOURCE LINE # 385
?C0051:
; 					 if  (Vertical3)
			; SOURCE LINE # 386
	JNB  	Vertical3,?C0096
;                           {
			; SOURCE LINE # 387
;                           Temp1=KeyElement3[3];
			; SOURCE LINE # 388
	MOV  	DPTR,#KeyElement3+03H
?C0095:
	MOVX 	A,@DPTR
	MOV  	DPTR,#Temp1
	MOVX 	@DPTR,A
; 
;                           KeyPadStatus=3;
			; SOURCE LINE # 390
	MOV  	R0,#LOW (KeyPadStatus)
	MOV  	@R0,#03H
;                           break;
			; SOURCE LINE # 391
	RET  	
; 					      }
			; SOURCE LINE # 392
; 					     }
			; SOURCE LINE # 393
; 					KeyPadStatus=0;
; 					Temp=0;
; 					break;
; 					 }
			; SOURCE LINE # 397
; //---------------------------------------------------------------------------
;     case    3:  
			; SOURCE LINE # 399
?C0053:
; 				  if (Temp==Temp1)
			; SOURCE LINE # 400
	MOV  	DPTR,#Temp1
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#Temp
	MOVX 	A,@DPTR
	CJNE 	A,AR7,?C0054
; 						{
			; SOURCE LINE # 401
; 						  PutInBuf(Temp1);
			; SOURCE LINE # 402
	LCALL	_PutInBuf
; 						  KeyPadStatus=4;
			; SOURCE LINE # 403
	MOV  	R0,#LOW (KeyPadStatus)
	MOV  	@R0,#04H
; 						  break;
			; SOURCE LINE # 404
	RET  	
; 						 
; 						}
			; SOURCE LINE # 406
?C0054:
; 
;  
; 						KeyPadStatus=0;
			; SOURCE LINE # 409
?C0096:
; 						Temp=0;
			; SOURCE LINE # 410
; 						break;
			; SOURCE LINE # 411
	SJMP 	?C0097
;    case 4:           
			; SOURCE LINE # 412
?C0055:
; 					  KEY_ROW = Row[0];    
			; SOURCE LINE # 413
	MOV  	DPTR,#Row
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	DPTR,#02000H
	MOVX 	@DPTR,A
;                       x0=KEY_VERTICAL&0x0f;
			; SOURCE LINE # 414
	MOV  	DPTR,#0A000H
	MOVX 	A,@DPTR
	ANL  	A,#0FH
	MOV  	R7,A
;---- Variable 'x0?242' assigned to Register 'R7' ----
; 					  KEY_ROW = Row[1];    
			; SOURCE LINE # 415
	MOV  	DPTR,#Row+01H
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	DPTR,#02000H
	MOVX 	@DPTR,A
;                       x1=KEY_VERTICAL&0x0f;
			; SOURCE LINE # 416
	MOV  	DPTR,#0A000H
	MOVX 	A,@DPTR
	ANL  	A,#0FH
	MOV  	R6,A
;---- Variable 'x1?243' assigned to Register 'R6' ----
; 				      KEY_ROW = Row[2];    
			; SOURCE LINE # 417
	MOV  	DPTR,#Row+02H
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	DPTR,#02000H
	MOVX 	@DPTR,A
;                       x2=KEY_VERTICAL&0x0f;
			; SOURCE LINE # 418
	MOV  	DPTR,#0A000H
	MOVX 	A,@DPTR
	ANL  	A,#0FH
	MOV  	R5,A
;---- Variable 'x2?244' assigned to Register 'R5' ----
; 					  KEY_ROW = Row[3];    
			; SOURCE LINE # 419
	MOV  	DPTR,#Row+03H
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	DPTR,#02000H
	MOVX 	@DPTR,A
;                       x3=KEY_VERTICAL&0x0f;
			; SOURCE LINE # 420
	MOV  	DPTR,#0A000H
	MOVX 	A,@DPTR
	ANL  	A,#0FH
	MOV  	R4,A
;---- Variable 'x3?245' assigned to Register 'R4' ----
; 					   if ((x0==0)&(x1==0)&(x2==0)&(x3==0))
			; SOURCE LINE # 421
	MOV  	A,R6
	JNZ  	?C0057
	MOV  	R6,#01H
	SJMP 	?C0058
?C0057:
	MOV  	R6,#00H
?C0058:
	MOV  	A,R7
	JNZ  	?C0059
	MOV  	R7,#01H
	SJMP 	?C0060
?C0059:
	MOV  	R7,#00H
?C0060:
	MOV  	A,R7
	ANL  	A,R6
	MOV  	R7,A
	MOV  	R6,AR5
	MOV  	A,R5
	JNZ  	?C0061
	MOV  	R6,#01H
	SJMP 	?C0062
?C0061:
	MOV  	R6,#00H
?C0062:
	MOV  	A,R6
	ANL  	A,R7
	MOV  	R7,A
	MOV  	R6,AR4
	MOV  	A,R4
	JNZ  	?C0063
	MOV  	R6,#01H
	SJMP 	?C0064
?C0063:
	MOV  	R6,#00H
?C0064:
	MOV  	A,R6
	ANL  	A,R7
	JZ   	?C0065
; 					      {
			; SOURCE LINE # 422
; 							KeyPadStatus=0;
			; SOURCE LINE # 423
?C0097:
	CLR  	A
	MOV  	R0,#LOW (KeyPadStatus)
	MOV  	@R0,A
; 							Temp=0;
			; SOURCE LINE # 424
	MOV  	DPTR,#Temp
	MOVX 	@DPTR,A
; 							
; 					      }
			; SOURCE LINE # 426
; 						break;
			; SOURCE LINE # 427
;    
; 						
; 	}
			; SOURCE LINE # 430
;    }
			; SOURCE LINE # 431
?C0065:
	RET  	
; END OF KeyScan

	END

⌨️ 快捷键说明

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