📄 disp.lst
字号:
234 /***********************************************************************
235 * 功能:LCD1小数点
236 ***********************************************************************/
237 void disp_dot1(uchar dotdata)
238 {
239 1 uchar temp;
240 1 uchar j;
241 1 bit bymem;
C51 COMPILER V7.00 DISP 09/14/2006 16:35:48 PAGE 5
242 1 AUXR |=0x02;
243 1 //ACC=0x38;
244 1 //XBYTE[LCDAADD]=ACC; //ST
245 1 if(state1==2) bbyte=dotdata;
246 1 else bbyte=dotmode[dotdata];
247 1 bbyte &= 0x07; //1,3,5
248 1 bbyte=dotmem[bbyte];
249 1 temp=bbyte;
250 1 if(state1==2) bbyte=dotdata;
251 1 else bbyte=dotmode[dotdata];
252 1 bbyte &= 0x38; //2,4,6
253 1 bbyte>>=3;
254 1 bbyte=dotmem[bbyte];
255 1 bbyte<<=4;
256 1 temp |=bbyte;
257 1 for(j=12;j>0;j--)
258 1 { bbyte=temp;
259 2 bymem=(bit)(bbyte&0x80);
260 2 temp<<=1;
261 2 bbyte=0x38;
262 2 a1= bymem;
263 2 XBYTE[LCDAADD]=bbyte;
264 2 bbyte|=0x01; _nop_();
265 2 XBYTE[LCDAADD]=bbyte; //CLK ↑
266 2 bbyte&=0xfe;
267 2 _nop_();_nop_();_nop_();
268 2 XBYTE[LCDAADD]=bbyte; //;CLK ↓
269 2 if (j==5)
270 2 {
271 3 ACC=0xb8;
272 3 XBYTE[LCDAADD]=ACC; //ST
273 3 }
274 2 }
275 1 ACC=0x78;
276 1 XBYTE[LCDAADD]=ACC; //ST
277 1 AUXR &=0xfd;
278 1 }
279 /***********************************************************************
280 * 功能:LCD2小数点
281 ***********************************************************************/
282 void disp_dot2(uchar dotdata)
283 { uchar temp;
284 1 uchar j;
285 1 bit bymem;
286 1 AUXR |=0x02;
287 1 //ACC=0x38;
288 1 //XBYTE[LCDBADD]=ACC; //ST
289 1 if(state2==2) bbyte=dotdata;
290 1 else bbyte=dotmode[dotdata];
291 1 bbyte &= 0x07; //1,3,5
292 1 bbyte=dotmem[bbyte];
293 1 temp=bbyte;
294 1 if(state2==2) bbyte=dotdata;
295 1 else bbyte=dotmode[dotdata];
296 1 bbyte &= 0x38; //2,4,6
297 1 bbyte>>=3;
298 1 bbyte=dotmem[bbyte];
299 1 bbyte<<=4;
300 1 temp |=bbyte;
301 1 for(j=12;j>0;j--)
302 1 { bbyte=temp;
303 2 bymem=(bit)(bbyte&0x80);
C51 COMPILER V7.00 DISP 09/14/2006 16:35:48 PAGE 6
304 2 temp<<=1;
305 2 bbyte=0x38;
306 2 a1= bymem;
307 2 XBYTE[LCDBADD]=bbyte;
308 2 bbyte|=0x01;_nop_();
309 2 XBYTE[LCDBADD]=bbyte; //CLK ↑
310 2 bbyte&=0xfe;
311 2 _nop_();_nop_();_nop_();
312 2 XBYTE[LCDBADD]=bbyte; //;CLK ↓
313 2 if (j==5)
314 2 {
315 3 ACC=0xb8;
316 3 XBYTE[LCDBADD]=ACC; //ST
317 3 }
318 2 }
319 1 ACC=0x78;
320 1 XBYTE[LCDBADD]=ACC; //ST
321 1 AUXR &=0xfd;
322 1 }
323 /**************************************************
324 * 功能:显示键盘小屏
325 **************************************************/
326 void disp_key(void)
327 { uchar data mem_inn,mem_str; //做堆栈用
328 1 uchar data i,j,ma,mb;
329 1 mem_inn=AUXR; //做堆栈用
330 1 mem_str=bbyte;
331 1 AUXR |=0x02;
332 1 XBYTE[KEY_DISPADD]=0x24; //0x24--LE->H 0x00--LE->L
333 1 for(i=0;i<5;i++)
334 1 {
335 2 ma=keya_num[i];
336 2 mb=keyb_num[i];
337 2
338 2
339 2 for(j=0;j<8;j++)
340 2 { bbyte=0x24;
341 3 a0=(bit)(ma & 0x80);ma<<=1;
342 3
343 3 a3=(bit)(mb & 0x80);mb<<=1;
344 3 XBYTE[KEY_DISPADD]=bbyte;
345 3 bbyte |=0x12;
346 3 XBYTE[KEY_DISPADD]=bbyte; //CLK ↑
347 3 bbyte &=0xed;
348 3 XBYTE[KEY_DISPADD]=bbyte;//CLK ↓
349 3 }
350 2 }
351 1 XBYTE[KEY_DISPADD]=0x00;
352 1 bbyte=mem_str;
353 1 AUXR=mem_inn; //做堆栈用
354 1 }
355 /*****************************************
356 * 功能:键盘小屏清屏a
357 *******************************************/
358 void disp_key_clear_a(void)
359 {
360 1 keya_num[4]=0x00;
361 1 }
362 /*****************************************
363 * 功能:键盘小屏清屏b
364 *******************************************/
365 void disp_key_clear_b(void)
C51 COMPILER V7.00 DISP 09/14/2006 16:35:48 PAGE 7
366 {
367 1 if(k2key)
368 1 {
369 2 /*if(printermode_b==0) keyb_num[3]=keynumdata[0x0a]; //自动
370 2 else keyb_num[3]=keynumdata[17]; //手动
371 2 keyb_num[0]=keynumdata[pirnt_select_b+1];
372 2 keyb_num[1]=0x00;keyb_num[2]=0x00;keyb_num[4]=0x00;*/
373 2 //-----------------------------------------------------
374 2 if(vip_mode_b) {keyb_num[4]=0x04;} //定升
375 2 else {keyb_num[4]=0x08;} //定元
376 2 keyb_num[0]=keynumdata[0];
377 2 keyb_num[1]=keynumdata[28];
378 2 keyb_num[2]=keynumdata[28];
379 2 keyb_num[3]=keynumdata[28];
380 2 //-----------------------------------------------------
381 2 }
382 1 else
383 1 { keyb_num[0]=keynumdata[27];keyb_num[3]=keynumdata[27];
384 2 keyb_num[1]=keynumdata[27];keyb_num[2]=keynumdata[27];keyb_num[4]=0x02;
385 2 }
386 1 }
387
388 /***********************************************************************
389 * 功能:显示TOTAL数据b
390 ************************************************************************/
391 void disp_total_b(void)
392 { uchar i;
393 1 uchar dispmem[16],tt[10];
394 1 uchar dotdata;
395 1 ulong ma;
396 1 uchar *ptr;
397 1 dispmem[4]=0x0f;dispmem[5]=0x0f;dispmem[6]=0x0f;dispmem[7]=0x0f;
398 1 if((menu2==1 && state2==6) || state2==8)
399 1 {
400 2 if(!ration_mode_b)
401 2 { bbyte=dotmode[decimal_b];
402 3 if(a3) {dotdata=2;disp_dot2(7);} //LCD1小数点
403 3 else if(a0) {dotdata=1;disp_dot2(7);} //LCD1小数点
404 3 else {dotdata=0;disp_dot2(0x8);} //LCD1小数点
405 3 dispmem[8]=0x0c;dispmem[9]=0x0c;
406 3 if(state2!=8 || ration_num_b==0) ma=gun2.sum_sale; //总累--锁售额 PP
407 3 else ma=ration_num_b;
408 3 if(state2!=8)
409 3 {
410 4 keyb_num[0]=0x1f;keyb_num[1]=0x01;keyb_num[2]=0x48;keyb_num[3]=0x48;
411 4 keyb_num[4]=0x02;
412 4 }
413 3 else
414 3 {
415 4 keyb_num[0]=keynumdata[27];
416 4 keyb_num[1]=keynumdata[27];
417 4 keyb_num[2]=keynumdata[23];
418 4 keyb_num[3]=keynumdata[23]; //"PP--"
419 4 keyb_num[4]=0x02;
420 4 }
421 3
422 3 }
423 2 else
424 2 { bbyte=dotmode[decimal_b];
425 3 if(a4) {dotdata=2;disp_dot2(0x7);} //LCD1小数点
426 3 else if(a1) {dotdata=3;disp_dot2(0x6);} //LCD1小数点
427 3 else {dotdata=0;disp_dot2(0x8);} //LCD1小数点
C51 COMPILER V7.00 DISP 09/14/2006 16:35:48 PAGE 8
428 3 dispmem[8]=0x0a;dispmem[9]=0x0a;
429 3 if(state2!=8 || ration_num_b==0) ma=gun2.sum_liter; //总累--升 LL
430 3 else ma=ration_num_b;
431 3 if(state2!=8)
432 3 {
433 4 keyb_num[0]=0x32;keyb_num[1]=0x01;keyb_num[2]=0x48;keyb_num[3]=0x48;
434 4 keyb_num[4]=0x02;
435 4 }
436 3 else
437 3 {
438 4 keyb_num[0]=keynumdata[27];
439 4 keyb_num[1]=keynumdata[27];
440 4 keyb_num[2]=keynumdata[19];
441 4 keyb_num[3]=keynumdata[19]; //"LL--"
442 4 keyb_num[4]=0x02;
443 4 }
444 3
445 3 }
446 2 }
447 1 else
448 1 {
449 2 if(!ration_mode_b)
450 2 { bbyte=dotmode[decimal_b];
451 3 if(a3) {dotdata=2;disp_dot2(0x7);} //LCD2小数点
452 3 else if(a0) {dotdata=1;disp_dot2(0x7);} //LCD2小数点
453 3 else {dotdata=0;disp_dot2(0x8);} //LCD2小数点
454 3 dispmem[8]=0x0f;dispmem[9]=0x0c;
455 3 ma=gun2.work_sale; //班累--锁售额 P
456 3 keyb_num[0]=0x1f;keyb_num[1]=0x01;keyb_num[2]=0x3d;keyb_num[3]=0x48;
457 3 keyb_num[4]=0x02;
458 3 }
459 2 else
460 2 { bbyte=dotmode[decimal_b];
461 3 if(a4) {dotdata=2;disp_dot2(0x7);} //LCD2小数点
462 3 else if(a1) {dotdata=3;disp_dot2(0x6);} //LCD1小数点
463 3 else {dotdata=0;disp_dot2(0x8);} //LCD2小数点
464 3 dispmem[8]=0x0f;dispmem[9]=0x0a;
465 3 ma=gun2.work_liter; //班累--升 L
466 3 keyb_num[0]=0x32;keyb_num[1]=0x01;keyb_num[2]=0x3d;keyb_num[3]=0x48;
467 3 keyb_num[4]=0x02;
468 3 }
469 2 }
470 1 for(i=0;i<10;i++)
471 1 {
472 2 tt[i]=ma%10;ma/=10;
473 2 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -