📄 printer.src
字号:
; 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 + -