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

📄 12-1.src

📁 C51.rar
💻 SRC
📖 第 1 页 / 共 2 页
字号:
			; SOURCE LINE # 143
	LCALL	L?0058
; if(PinScanKey2==TRUE)
			; SOURCE LINE # 144
	JNB  	P1_5,?C0020
; 	return 6;}					    //确认确实有按键信号,返回键值
			; SOURCE LINE # 145
	MOV  	R7,#06H
	RET  	
?C0020:
; if(PinScanKey3==TRUE)
			; SOURCE LINE # 146
	JNB  	P1_6,?C0022
; 	PinLamp=FALSE;
			; SOURCE LINE # 147
	CLR  	P0_0
?C0022:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 148
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 149
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 150
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 151
	SETB 	P0_1
; if(PinScanKey3==TRUE)
			; SOURCE LINE # 152
	JNB  	P1_6,?C0023
; { 
			; SOURCE LINE # 153
; delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 154
	LCALL	L?0058
; if(PinScanKey3==TRUE)
			; SOURCE LINE # 155
	JNB  	P1_6,?C0023
; 	return 0;}					   //确认确实有按键信号,返回键值
			; SOURCE LINE # 156
	MOV  	R7,#00H
	RET  	
?C0023:
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 157
	JNB  	P1_7,?C0025
; 	PinLamp=FALSE;
			; SOURCE LINE # 158
	CLR  	P0_0
?C0025:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 159
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 160
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 161
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 162
	SETB 	P0_1
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 163
	JNB  	P1_7,?C0026
; { 
			; SOURCE LINE # 164
; delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 165
	LCALL	L?0058
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 166
	JNB  	P1_7,?C0026
; 	return 13;}					//确认确实有按键信号,返回键值
			; SOURCE LINE # 167
	MOV  	R7,#0DH
	RET  	
?C0026:
; PinDrvKey2=FALSE;				//以上语句扫描第二列
			; SOURCE LINE # 168
	CLR  	P1_1
; PinDrvKey3=TRUE;
			; SOURCE LINE # 169
	SETB 	P1_2
; if(PinScanKey1==TRUE)
			; SOURCE LINE # 170
	JNB  	P1_4,?C0028
; 	PinLamp=FALSE;
			; SOURCE LINE # 171
	CLR  	P0_0
?C0028:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 172
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 173
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 174
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 175
	SETB 	P0_1
; if(PinScanKey1==TRUE)
			; SOURCE LINE # 176
	JNB  	P1_4,?C0029
; {
			; SOURCE LINE # 177
;  delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 178
	LCALL	L?0058
; if(PinScanKey1==TRUE)
			; SOURCE LINE # 179
	JNB  	P1_4,?C0029
; 	return 3;}					    //确认确实有按键信号,返回键值
			; SOURCE LINE # 180
	MOV  	R7,#03H
	RET  	
?C0029:
; if(PinScanKey2==TRUE)
			; SOURCE LINE # 181
	JNB  	P1_5,?C0031
; 	PinLamp=FALSE;
			; SOURCE LINE # 182
	CLR  	P0_0
?C0031:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 183
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 184
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 185
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 186
	SETB 	P0_1
; if(PinScanKey2==TRUE)
			; SOURCE LINE # 187
	JNB  	P1_5,?C0032
; {
			; SOURCE LINE # 188
;  delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 189
	LCALL	L?0058
; if(PinScanKey2==TRUE)
			; SOURCE LINE # 190
	JNB  	P1_5,?C0032
; 	return 7;}					   //确认确实有按键信号,返回键值
			; SOURCE LINE # 191
	MOV  	R7,#07H
	RET  	
?C0032:
; if(PinScanKey3==TRUE)
			; SOURCE LINE # 192
	JNB  	P1_6,?C0034
; 	PinLamp=FALSE;
			; SOURCE LINE # 193
	CLR  	P0_0
?C0034:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 194
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 195
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 196
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 197
	SETB 	P0_1
; if(PinScanKey3==TRUE)
			; SOURCE LINE # 198
	JNB  	P1_6,?C0035
; { 
			; SOURCE LINE # 199
; delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 200
	LCALL	L?0058
; if(PinScanKey3==TRUE)
			; SOURCE LINE # 201
	JNB  	P1_6,?C0035
; 	return 10;}					//确认确实有按键信号,返回键值
			; SOURCE LINE # 202
	MOV  	R7,#0AH
	RET  	
?C0035:
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 203
	JNB  	P1_7,?C0037
; 	PinLamp=FALSE;
			; SOURCE LINE # 204
	CLR  	P0_0
?C0037:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 205
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 206
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 207
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 208
	SETB 	P0_1
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 209
	JNB  	P1_7,?C0038
; {
			; SOURCE LINE # 210
;  delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 211
	LCALL	L?0058
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 212
	JNB  	P1_7,?C0038
; 	return 14;}					//确认确实有按键信号,返回键值
			; SOURCE LINE # 213
	MOV  	R7,#0EH
	RET  	
?C0038:
; PinDrvKey3=FALSE;				//以上语句扫描第三列
			; SOURCE LINE # 214
	CLR  	P1_2
; PinDrvKey4=TRUE;
			; SOURCE LINE # 215
	SETB 	P1_3
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 216
	JNB  	P1_7,?C0040
; 	PinLamp=FALSE;
			; SOURCE LINE # 217
	CLR  	P0_0
?C0040:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 218
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 219
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 220
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 221
	SETB 	P0_1
; if(PinScanKey1==TRUE)
			; SOURCE LINE # 222
	JNB  	P1_4,?C0041
; { 
			; SOURCE LINE # 223
; delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 224
	LCALL	L?0058
; if(PinScanKey1==TRUE)
			; SOURCE LINE # 225
	JNB  	P1_4,?C0041
; 	return 4;}					    //确认确实有按键信号,返回键值
			; SOURCE LINE # 226
	MOV  	R7,#04H
	RET  	
?C0041:
; if(PinScanKey2==TRUE)
			; SOURCE LINE # 227
	JNB  	P1_5,?C0043
; 	PinLamp=FALSE;
			; SOURCE LINE # 228
	CLR  	P0_0
?C0043:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 229
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 230
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 231
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 232
	SETB 	P0_1
; if(PinScanKey2==TRUE)
			; SOURCE LINE # 233
	JNB  	P1_5,?C0044
; { delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 234
	LCALL	L?0058
; if(PinScanKey2==TRUE)
			; SOURCE LINE # 235
	JNB  	P1_5,?C0044
; 	return 8;}					    //确认确实有按键信号,返回键值
			; SOURCE LINE # 236
	MOV  	R7,#08H
	RET  	
?C0044:
; if(PinScanKey3==TRUE)
			; SOURCE LINE # 237
	JNB  	P1_6,?C0046
; 	PinLamp=FALSE;
			; SOURCE LINE # 238
	CLR  	P0_0
?C0046:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 239
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 240
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 241
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 242
	SETB 	P0_1
; if(PinScanKey3==TRUE)
			; SOURCE LINE # 243
	JNB  	P1_6,?C0047
; { 
			; SOURCE LINE # 244
; delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 245
	LCALL	L?0058
; if(PinScanKey3==TRUE)
			; SOURCE LINE # 246
	JNB  	P1_6,?C0047
; 	return 11;}					//确认确实有按键信号,返回键值
			; SOURCE LINE # 247
	MOV  	R7,#0BH
	RET  	
?C0047:
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 248
	JNB  	P1_7,?C0049
; 	PinLamp=FALSE;
			; SOURCE LINE # 249
	CLR  	P0_0
?C0049:
; 	PinSpeaker=FALSE;
			; SOURCE LINE # 250
; 	delay(DELAY_VALUE);		//如果判断有信号,则延时一次
			; SOURCE LINE # 251
	LCALL	L?0057
; 	PinLamp=TRUE;
			; SOURCE LINE # 252
	SETB 	P0_0
; 	PinSpeaker=TRUE; 
			; SOURCE LINE # 253
	SETB 	P0_1
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 254
	JNB  	P1_7,?C0050
; {
			; SOURCE LINE # 255
;  delay(DELAY_VALUE);			//假如判断还有信号,则再延时
			; SOURCE LINE # 256
	LCALL	L?0058
; if(PinScanKey4==TRUE)
			; SOURCE LINE # 257
	JNB  	P1_7,?C0050
; 	return 15;}					//假如判断还有信号,则再延时
			; SOURCE LINE # 258
	MOV  	R7,#0FH
	RET  	
?C0050:
; PinDrvKey3=FALSE;				//以上语句扫描第四列
			; SOURCE LINE # 259
	CLR  	P1_2
; return 16;
			; SOURCE LINE # 260
	MOV  	R7,#010H
; }
			; SOURCE LINE # 261
?C0006:
	RET  	
; END OF keyscan

; 
; void delay(short i)

	RSEG  ?PR?_delay?12_1
L?0056:
	USING	0
L?0057:
	CLR  	P0_1
L?0058:
	MOV  	R7,#03H
	MOV  	R6,#00H
_delay:
	USING	0
			; SOURCE LINE # 263
;---- Variable 'i?341' assigned to Register 'R6/R7' ----
; {
			; SOURCE LINE # 264
; 	int j=0;
			; SOURCE LINE # 265
;---- Variable 'j?342' assigned to Register 'R2/R3' ----
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
; 	int k=0;
			; SOURCE LINE # 266
;---- Variable 'k?343' assigned to Register 'R4/R5' ----
	MOV  	R4,A
; 	k=i*DELAY_VALUE;
			; SOURCE LINE # 267
	MOV  	R5,#03H
	LCALL	?C?IMUL
	MOV  	R4,AR6
	MOV  	R5,AR7
?C0052:
; 	while (j<k)j++;
			; SOURCE LINE # 268
	CLR  	C
	MOV  	A,R3
	SUBB 	A,R5
	MOV  	A,R4
	XRL  	A,#080H
	MOV  	R0,A
	MOV  	A,R2
	XRL  	A,#080H
	SUBB 	A,R0
	JNC  	?C0054
	INC  	R3
	CJNE 	R3,#00H,?C0055
	INC  	R2
?C0055:
	SJMP 	?C0052
; }
			; SOURCE LINE # 269
?C0054:
	RET  	
; END OF _delay

	END

⌨️ 快捷键说明

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