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

📄 printer.src

📁 单片机
💻 SRC
📖 第 1 页 / 共 3 页
字号:
			; SOURCE LINE # 176
	MOV  	A,R6
	XRL  	A,#0FCH
	JNZ  	$ + 5H
	LJMP 	?C0035
; 		{
			; SOURCE LINE # 177
; 			sccode=P1;
			; SOURCE LINE # 178
	MOV  	R6,P1
; 			sccode&=0xFC;
			; SOURCE LINE # 179
	ANL  	AR6,#0FCH
; 			
; 			switch(sccode)
			; SOURCE LINE # 181
	MOV  	A,R6
	ADD  	A,#044H
	JZ   	?C0041
	ADD  	A,#0E0H
	JZ   	?C0042
	ADD  	A,#0F0H
	JZ   	?C0043
	ADD  	A,#0F8H
	JZ   	?C0044
	ADD  	A,#0FCH
	JZ   	?C0045
	ADD  	A,#07CH
	JNZ  	?C0039
; 			{
			; SOURCE LINE # 182
; 				case 0x7C:
			; SOURCE LINE # 183
?C0040:
; 				recode=1;break;
			; SOURCE LINE # 184
	MOV  	recode?441,#01H
	SJMP 	?C0039
; 				case 0xBC:
			; SOURCE LINE # 185
?C0041:
; 				recode=2;break;
			; SOURCE LINE # 186
	MOV  	recode?441,#02H
	SJMP 	?C0039
; 				case 0xDC:
			; SOURCE LINE # 187
?C0042:
; 				recode=3;break;
			; SOURCE LINE # 188
	MOV  	recode?441,#03H
	SJMP 	?C0039
; 				case 0xEC:
			; SOURCE LINE # 189
?C0043:
; 				recode=4;break;
			; SOURCE LINE # 190
	MOV  	recode?441,#04H
	SJMP 	?C0039
; 				case 0xF4:
			; SOURCE LINE # 191
?C0044:
; 				recode=5;break;
			; SOURCE LINE # 192
	MOV  	recode?441,#05H
	SJMP 	?C0039
; 				case 0xF8:
			; SOURCE LINE # 193
?C0045:
; 				recode=6;break;
			; SOURCE LINE # 194
	MOV  	recode?441,#06H
; 				default:
			; SOURCE LINE # 195
; 				break;
			; SOURCE LINE # 196
; 			}
			; SOURCE LINE # 197
?C0039:
; 			return recode;
			; SOURCE LINE # 198
	MOV  	R7,recode?441
	RET  	
; 		}
			; SOURCE LINE # 199
; 	}
			; SOURCE LINE # 200
; }//end of if =0
			; SOURCE LINE # 201
?C0036:
; else if (i == 1)
			; SOURCE LINE # 202
	MOV  	A,i?442
	XRL  	A,#01H
	JNZ  	?C0049
; {
			; SOURCE LINE # 203
; 	/*扫描第2行*/
; 	P1 = 0xFF;
			; SOURCE LINE # 205
	MOV  	P1,#0FFH
; 	line1 = 1;// 发1行扫描。
			; SOURCE LINE # 206
	SETB 	line1
; 	line2 = 0;
			; SOURCE LINE # 207
	CLR  	line2
; 	line3 = 1;
			; SOURCE LINE # 208
	SETB 	line3
; 	line4 = 1;
			; SOURCE LINE # 209
	SETB 	line4
; 	sccode= P1;
			; SOURCE LINE # 210
	MOV  	R6,P1
; 	sccode&= 0xFC;
			; SOURCE LINE # 211
	ANL  	AR6,#0FCH
; 
; 	//本行有键按下
; 	if(sccode != 0xFC)
			; SOURCE LINE # 214
	MOV  	A,R6
	XRL  	A,#0FCH
	JNZ  	$ + 5H
	LJMP 	?C0035
; 	{
			; SOURCE LINE # 215
; 		delay10ms();
			; SOURCE LINE # 216
	LCALL	delay10ms
; 
; 		sccode = P1;
			; SOURCE LINE # 218
	MOV  	R6,P1
; 		sccode&=0xFC;
			; SOURCE LINE # 219
	ANL  	AR6,#0FCH
; 
; 		if(sccode !=0xFC)
			; SOURCE LINE # 221
	MOV  	A,R6
	XRL  	A,#0FCH
	JNZ  	$ + 5H
	LJMP 	?C0035
; 		{
			; SOURCE LINE # 222
; 			sccode=P1;
			; SOURCE LINE # 223
	MOV  	R6,P1
; 			sccode&=0xFC;
			; SOURCE LINE # 224
	ANL  	AR6,#0FCH
; 			
; 			switch(sccode)
			; SOURCE LINE # 226
	MOV  	A,R6
	ADD  	A,#044H
	JZ   	?C0054
	ADD  	A,#0E0H
	JZ   	?C0055
	ADD  	A,#0F0H
	JZ   	?C0056
	ADD  	A,#0F8H
	JZ   	?C0057
	ADD  	A,#0FCH
	JZ   	?C0058
	ADD  	A,#07CH
	JNZ  	?C0052
; 			{
			; SOURCE LINE # 227
; 				case 0x7C:
			; SOURCE LINE # 228
?C0053:
; 				recode=7;break;
			; SOURCE LINE # 229
	MOV  	recode?441,#07H
	SJMP 	?C0052
; 				case 0xBC:
			; SOURCE LINE # 230
?C0054:
; 				recode=8;break;
			; SOURCE LINE # 231
	MOV  	recode?441,#08H
	SJMP 	?C0052
; 				case 0xDC:
			; SOURCE LINE # 232
?C0055:
; 				recode=9;break;
			; SOURCE LINE # 233
	MOV  	recode?441,#09H
	SJMP 	?C0052
; 				case 0xEC:
			; SOURCE LINE # 234
?C0056:
; 				recode=10;break;
			; SOURCE LINE # 235
	MOV  	recode?441,#0AH
	SJMP 	?C0052
; 				case 0xF4:
			; SOURCE LINE # 236
?C0057:
; 				recode=11;break;
			; SOURCE LINE # 237
	MOV  	recode?441,#0BH
	SJMP 	?C0052
; 				case 0xF8:
			; SOURCE LINE # 238
?C0058:
; 				recode=12;break;
			; SOURCE LINE # 239
	MOV  	recode?441,#0CH
; 				default:
			; SOURCE LINE # 240
; 				break;
			; SOURCE LINE # 241
; 			}
			; SOURCE LINE # 242
?C0052:
; 			return recode;
			; SOURCE LINE # 243
	MOV  	R7,recode?441
	RET  	
; 		}
			; SOURCE LINE # 244
; 	}
			; SOURCE LINE # 245
; } //  end of if i =1;
			; SOURCE LINE # 246
?C0049:
; else if (i ==2)
			; SOURCE LINE # 247
	MOV  	A,i?442
	XRL  	A,#02H
	JNZ  	?C0061
; {	/*扫描第3行*/
			; SOURCE LINE # 248
; 	P1 = 0xFF;
			; SOURCE LINE # 249
	MOV  	P1,#0FFH
; 	line1 = 1;// 发3行扫描。
			; SOURCE LINE # 250
	SETB 	line1
; 	line2 = 1;
			; SOURCE LINE # 251
	SETB 	line2
; 	line3 = 0;
			; SOURCE LINE # 252
	CLR  	line3
; 	line4 = 1;
			; SOURCE LINE # 253
	SETB 	line4
; 	sccode= P1;
			; SOURCE LINE # 254
	MOV  	R6,P1
; 	sccode&= 0xFC;
			; SOURCE LINE # 255
	ANL  	AR6,#0FCH
; 
; 	//本行有键按下
; 	if(sccode != 0xFC)
			; SOURCE LINE # 258
	MOV  	A,R6
	XRL  	A,#0FCH
	JNZ  	$ + 5H
	LJMP 	?C0035
; 	{
			; SOURCE LINE # 259
; 		delay10ms();
			; SOURCE LINE # 260
	LCALL	delay10ms
; 
; 		sccode = P1;
			; SOURCE LINE # 262
	MOV  	R6,P1
; 		sccode&=0xFC;
			; SOURCE LINE # 263
	ANL  	AR6,#0FCH
; 
; 		if(sccode !=0xFC)
			; SOURCE LINE # 265
	MOV  	A,R6
	XRL  	A,#0FCH
	JNZ  	$ + 5H
	LJMP 	?C0035
; 		{
			; SOURCE LINE # 266
; 			sccode=P1;
			; SOURCE LINE # 267
	MOV  	R6,P1
; 			sccode&=0xFC;
			; SOURCE LINE # 268
	ANL  	AR6,#0FCH
; 			
; 			switch(sccode)
			; SOURCE LINE # 270
	MOV  	A,R6
	ADD  	A,#044H
	JZ   	?C0066
	ADD  	A,#0E0H
	JZ   	?C0067
	ADD  	A,#0F0H
	JZ   	?C0068
	ADD  	A,#0F8H
	JZ   	?C0069
	ADD  	A,#0FCH
	JZ   	?C0070
	ADD  	A,#07CH
	JNZ  	?C0064
; 			{
			; SOURCE LINE # 271
; 				case 0x7C:
			; SOURCE LINE # 272
?C0065:
; 				recode=13;break;
			; SOURCE LINE # 273
	MOV  	recode?441,#0DH
	SJMP 	?C0064
; 				case 0xBC:
			; SOURCE LINE # 274
?C0066:
; 				recode=14;break;
			; SOURCE LINE # 275
	MOV  	recode?441,#0EH
	SJMP 	?C0064
; 				case 0xDC:
			; SOURCE LINE # 276
?C0067:
; 				recode=15;break;
			; SOURCE LINE # 277
	MOV  	recode?441,#0FH
	SJMP 	?C0064
; 				case 0xEC:
			; SOURCE LINE # 278
?C0068:
; 				recode=16;break;
			; SOURCE LINE # 279
	MOV  	recode?441,#010H
	SJMP 	?C0064
; 				case 0xF4:
			; SOURCE LINE # 280
?C0069:
; 				recode=17;break;
			; SOURCE LINE # 281
	MOV  	recode?441,#011H
	SJMP 	?C0064
; 				case 0xF8:
			; SOURCE LINE # 282
?C0070:
; 				recode=18;break;
			; SOURCE LINE # 283
	MOV  	recode?441,#012H
; 				default:
			; SOURCE LINE # 284
; 				break;
			; SOURCE LINE # 285
; 			}
			; SOURCE LINE # 286
?C0064:
; 			return recode;
			; SOURCE LINE # 287
	MOV  	R7,recode?441
	RET  	
; 		}
			; SOURCE LINE # 288
; 	}
			; SOURCE LINE # 289
; }  // end of if  i ==2;
			; SOURCE LINE # 290
?C0061:
; else if (i ==3)
			; SOURCE LINE # 291
	MOV  	A,i?442
	XRL  	A,#03H
	JNZ  	?C0073
; {
			; SOURCE LINE # 292
; 	/*扫描第4行*/
; 	P1 = 0xFF;
			; SOURCE LINE # 294
	MOV  	P1,#0FFH
; 	line1 = 1;// 发4行扫描。
			; SOURCE LINE # 295
	SETB 	line1
; 	line2 = 1;
			; SOURCE LINE # 296
	SETB 	line2
; 	line3 = 1;
			; SOURCE LINE # 297
	SETB 	line3
; 	line4 = 0;
			; SOURCE LINE # 298
	CLR  	line4
; 	sccode= P1;
			; SOURCE LINE # 299
	MOV  	R6,P1
; 	sccode&= 0xFC;
			; SOURCE LINE # 300
	ANL  	AR6,#0FCH
; 
; 	//本行有键按下
; 	if(sccode != 0xFC)
			; SOURCE LINE # 303
	MOV  	A,R6
	XRL  	A,#0FCH
	JZ   	?C0035
; 	{
			; SOURCE LINE # 304
; 		delay10ms();
			; SOURCE LINE # 305
	LCALL	delay10ms
; 
; 		sccode = P1;
			; SOURCE LINE # 307
	MOV  	R6,P1
; 		sccode&=0xFC;
			; SOURCE LINE # 308
	ANL  	AR6,#0FCH
; 
; 		if(sccode !=0xFC)
			; SOURCE LINE # 310
	MOV  	A,R6
	XRL  	A,#0FCH
	JZ   	?C0035
; 		{
			; SOURCE LINE # 311
; 			sccode=P1;
			; SOURCE LINE # 312
	MOV  	R6,P1
; 			sccode&=0xFC;
			; SOURCE LINE # 313
	ANL  	AR6,#0FCH
; 			
; 			switch(sccode)
			; SOURCE LINE # 315
	MOV  	A,R6
	ADD  	A,#044H
	JZ   	?C0078
	ADD  	A,#0E0H
	JZ   	?C0079
	ADD  	A,#0F0H
	JZ   	?C0080
	ADD  	A,#0F8H
	JZ   	?C0081
	ADD  	A,#0FCH
	JZ   	?C0082
	ADD  	A,#07CH
	JNZ  	?C0076
; 			{
			; SOURCE LINE # 316
; 				case 0x7C:
			; SOURCE LINE # 317
?C0077:
; 				recode=19;break;
			; SOURCE LINE # 318
	MOV  	recode?441,#013H
	SJMP 	?C0076
; 				case 0xBC:
			; SOURCE LINE # 319
?C0078:
; 				recode=20;break;
			; SOURCE LINE # 320
	MOV  	recode?441,#014H
	SJMP 	?C0076
; 				case 0xDC:
			; SOURCE LINE # 321
?C0079:
; 				recode=21;break;
			; SOURCE LINE # 322
	MOV  	recode?441,#015H
	SJMP 	?C0076
; 				case 0xEC:
			; SOURCE LINE # 323
?C0080:
; 				recode=22;break;
			; SOURCE LINE # 324
	MOV  	recode?441,#016H
	SJMP 	?C0076
; 				case 0xF4:
			; SOURCE LINE # 325
?C0081:
; 				recode=23;break;
			; SOURCE LINE # 326
	MOV  	recode?441,#017H
	SJMP 	?C0076
; 				case 0xF8:
			; SOURCE LINE # 327
?C0082:
; 				recode=24;break;
			; SOURCE LINE # 328
	MOV  	recode?441,#018H
; 				default:
			; SOURCE LINE # 329
; 				break;
			; SOURCE LINE # 330
; 			}
			; SOURCE LINE # 331
?C0076:
; 			return recode;
			; SOURCE LINE # 332
	MOV  	R7,recode?441
	RET  	
; 		}
			; SOURCE LINE # 333
; 	}
			; SOURCE LINE # 334
; } //  end of if  i =3;
			; SOURCE LINE # 335
?C0073:
; else {
			; SOURCE LINE # 336
; 	return 0;//没有键被按下
			; SOURCE LINE # 337
	MOV  	R7,#00H
	RET  	
; 	}
			; SOURCE LINE # 338
; 	}//  end of for . 
			; SOURCE LINE # 339
?C0035:
	INC  	i?442
	MOV  	A,i?442
	CLR  	C
	SUBB 	A,#04H
	JNC  	$ + 5H
	LJMP 	?C0033
?C0034:
;  
; 	line1 = 1;// 发0行扫描。
			; SOURCE LINE # 341
	SETB 	line1
; 	line2 = 1;
			; SOURCE LINE # 342
	SETB 	line2
; 	line3 = 1;
			; SOURCE LINE # 343
	SETB 	line3
; 	line4 = 1;
			; SOURCE LINE # 344
	SETB 	line4
; }//  键盘延时子程序
			; SOURCE LINE # 345
?C0047:
	RET  	
; END OF kbscan

; void delay10ms()

	RSEG  ?PR?delay10ms?PRINTER
delay10ms:
	USING	0
			; SOURCE LINE # 346
; {
			; SOURCE LINE # 347
;     unsigned char i;
; 	unsigned char j;
; 	
; 
; 	for (j=0xff; j>0; j--)
			; SOURCE LINE # 352
;---- Variable 'j?544' assigned to Register 'R7' ----
	MOV  	R7,#0FFH
?C0085:
; 	{
			; SOURCE LINE # 353
; 	  for(i=0xff;i>0;i--)
			; SOURCE LINE # 354
;---- Variable 'i?543' assigned to Register 'R6' ----
	MOV  	R6,#0FFH
?C0088:
	DJNZ 	R6,?C0088
; 	   ;
; 	}
			; SOURCE LINE # 356
?C0087:
	DJNZ 	R7,?C0085
; } //液晶显示子程序
			; SOURCE LINE # 357
?C0091:
	RET  	
; END OF delay10ms

; void showLcd(unsigned int i)

	RSEG  ?PR?_showLcd?PRINTER
_showLcd:
	USING	0
			; SOURCE LINE # 358
;---- Variable 'i?645' assigned to Register 'R6/R7' ----
; {	
			; SOURCE LINE # 359
; 	unsigned char length;
; 	unsigned char m;
; switch (i)
			; SOURCE LINE # 362
	MOV  	A,R6
	JZ   	$ + 5H
	LJMP 	?C0128
	MOV  	A,R7
	DEC  	A
	JNZ  	$ + 5H
	LJMP 	?C0094
	DEC  	A
	JNZ  	$ + 5H
	LJMP 	?C0107
	DEC  	A
	JNZ  	$ + 5H
	LJMP 	?C0120
	ADD  	A,#03H
	JZ   	$ + 5H
	LJMP 	?C0128
; 	{ case 0: 	 //  显示主屏 	 
			; SOURCE LINE # 363
?C0093:
; 				screen =0;
			; SOURCE LINE # 364
	CLR  	A
	MOV  	screen,A
; 				Delay(20); //等待复位 
			; SOURCE LINE # 365
	MOV  	R7,#014H
	MOV  	R6,A
	LCALL	_Delay
; 			//	LcmInit(); 
; 				LcmClear(); 
			; SOURCE LINE # 367
	LCALL	LcmClear
; 				Page =0;
			; SOURCE LINE # 368
	CLR  	A
	MOV  	Page?,A
; 				Col =16;
			; SOURCE LINE # 369
	MOV  	Col,#010H
; 				LcmPutHZ(18);    // input 
			; SOURCE LINE # 370
	MOV  	R7,#012H
	LCALL	_LcmPutHZ
; 				LcmPutHZ(23);				
			; SOURCE LINE # 371
	MOV  	R7,#017H
	LCALL	_LcmPutHZ
; 				LcmPutHZ(25);			
			; SOURCE LINE # 372
	MOV  	R7,#019H
	LCALL	_LcmPutHZ
; 				LcmPutHZ(30);				
			; SOURCE LINE # 373
	MOV  	R7,#01EH
	LCALL	_LcmPutHZ
; 				LcmPutHZ(29);	
			; SOURCE LINE # 374
	MOV  	R7,#01DH
	LCALL	_LcmPutHZ
; 
; 				Page =Page +2;              //换行
			; SOURCE LINE # 376
	INC  	Page?
	INC  	Page?
; 				Col=Col-40;
			; SOURCE LINE # 377
	MOV  	A,#0D8H
	ADD  	A,Col
	MOV  	Col,A
; 				LcmPutHZ(28);	  // set 1		
			; SOURCE LINE # 378
	MOV  	R7,#01CH
	LCALL	_LcmPutHZ
; 				LcmPutHZ(14);				
			; SOURCE LINE # 379
	MOV  	R7,#0EH
	LCALL	_LcmPutHZ
; 				LcmPutHZ(29);
			; SOURCE LINE # 380
	MOV  	R7,#01DH
	LCALL	_LcmPutHZ
; 				LcmPutHZ(1);
			; SOURCE LINE # 381
	MOV  	R7,#01H
	LCALL	_LcmPutHZ
; 
; 				Page =Page +2;              //换行
			; SOURCE LINE # 383
	INC  	Page?
	INC  	Page?
; 				Col=Col-32;
			; SOURCE LINE # 384
	MOV  	A,#0E0H
	ADD  	A,Col
	MOV  	Col,A
; 				LcmPutHZ(28);	  // set 2		
			; SOURCE LINE # 385
	MOV  	R7,#01CH
	LCALL	_LcmPutHZ
; 				LcmPutHZ(14);				
			; SOURCE LINE # 386
	MOV  	R7,#0EH
	LCALL	_LcmPutHZ
; 				LcmPutHZ(29);
			; SOURCE LINE # 387
	MOV  	R7,#01DH
	LCALL	_LcmPutHZ
; 				LcmPutHZ(2);
			; SOURCE LINE # 388
	MOV  	R7,#02H
	LCALL	_LcmPutHZ
; 				
; 				Page=0;
			; SOURCE LINE # 390
	CLR  	A
	MOV  	Page?,A
; 				Col =0;
			; SOURCE LINE # 391
	MOV  	Col,A
; 				LcmPutHZ(39);     //维护光标的位置,显示光标

⌨️ 快捷键说明

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