📄 lcd.lst
字号:
C51 COMPILER V8.02 LCD 01/30/2008 15:09:49 PAGE 5
242 3 Write_Data2(hzk[i]);
243 3 }
244 2 if(flag == 0)
245 2 {
246 3 //flag为0表示写右屏
247 3 if(fan)
248 3 //fan为1表示反白显示
249 3 Write_Data1(~hzk[i]);
250 3 else
251 3 //fan为0表示正常显示
252 3 Write_Data1(hzk[i]);
253 3 }
254 2 //列地址加1
255 2 col++;
256 2 //如果列地址大于64并且现在正在写左屏时
257 2 if((col >= 64) && (flag == 0))
258 2 {
259 3 //置写右屏的标志位
260 3 flag = 1;
261 3 //向右屏写数据
262 3 Write_Com2(Col_Add + col - 64);
263 3 }
264 2 }
265 1 }
266 //*************************************************************************
267 //**函 数 名:Dis_Clock
268 //**输 入:无
269 //**输 出:无
270 //**功能描述:
271 //** 1.在指定的位置显示年月日时分秒
272 //*************************************************************************
273 void Dis_Clock()
274 {
275 1 uchar xdata a,b;
276 1 //在指定位置显示年月日之间的“/”
277 1 Asc_Disp68(7,12,asc_xiexian,0);
278 1 Asc_Disp68(7,30,asc_xiexian,0);
279 1 //在指定位置显示时分秒之间的“:”
280 1 Asc_Disp68(7,66,asc_maohao,0);
281 1 Asc_Disp68(7,84,asc_maohao,0);
282 1 //显示年
283 1 a=Clock_Time[6]>>4;
284 1 b=Clock_Time[6]&0x0f;
285 1 Asc_Disp68(7,0,(asc_num+6*a),0);
286 1 Asc_Disp68(7,6,(asc_num+6*b),0);
287 1 //显示月
288 1 a=Clock_Time[5]>>4;
289 1 b=Clock_Time[5]&0x0f;
290 1 Asc_Disp68(7,18,(asc_num+6*a),0);
291 1 Asc_Disp68(7,24,(asc_num+6*b),0);
292 1 //显示日
293 1 a=Clock_Time[4]>>4;
294 1 b=Clock_Time[4]&0x0f;
295 1 Asc_Disp68(7,36,(asc_num+6*a),0);
296 1 Asc_Disp68(7,42,(asc_num+6*b),0);
297 1 //显示时
298 1 a=Clock_Time[2]>>4;
299 1 b=Clock_Time[2]&0x0f;
300 1 Asc_Disp68(7,54,(asc_num+6*a),0);
301 1 Asc_Disp68(7,60,(asc_num+6*b),0);
302 1 //显示分
303 1 a=Clock_Time[1]>>4;
C51 COMPILER V8.02 LCD 01/30/2008 15:09:49 PAGE 6
304 1 b=Clock_Time[1]&0x0f;
305 1 Asc_Disp68(7,72,(asc_num+6*a),0);
306 1 Asc_Disp68(7,78,(asc_num+6*b),0);
307 1 //显示秒
308 1 a=Clock_Time[0]>>4;
309 1 b=Clock_Time[0]&0x0f;
310 1 Asc_Disp68(7,90,(asc_num+6*a),0);
311 1 Asc_Disp68(7,96,(asc_num+6*b),0);
312 1 }
313 //*************************************************************************
314 //**函 数 名:DISP_Information
315 //**输 入:
316 //** aa:报警区号
317 //* bb:报警设备类型
318 //** cc:信息显示的位置
319 //** dd:报警月份
320 //** ee:报警日期
321 //** ff:报警小时
322 //** gg:报警分钟
323 //** hh:报警类型
324 //**输 出:无
325 //**功能描述:
326 //** 1.清液晶显示
327 //*************************************************************************
328 void Disp_Qu_Device(uchar aa,uchar bb,uchar cc,uchar dd,uchar ee,uchar ff,uchar gg,uchar hh)
329 {
330 1 uchar xdata a,b;
331 1 //显示报警的区号
332 1 switch(aa)
333 1 {
334 2 case 1:HzDisp1216(cc*3,16,hz_yi,0);
335 2 HzDisp1216(cc*3,28,hz_qu,0);
336 2 break;
337 2 case 2:HzDisp1216(cc*3,16,hz_er,0);
338 2 HzDisp1216(cc*3,28,hz_qu,0);
339 2 break;
340 2 case 3:HzDisp1216(cc*3,16,hz_san,0);
341 2 HzDisp1216(cc*3,28,hz_qu,0);
342 2 break;
343 2 case 4:HzDisp1216(cc*3,16,hz_si,0);
344 2 HzDisp1216(cc*3,28,hz_qu,0);
345 2 break;
346 2 default:break;
347 2 }
348 1 //显示报警的设备类型
349 1 switch(bb)
350 1 {
351 2 case 1:HzDisp1216(cc*3,44,hz_gan,0);
352 2 HzDisp1216(cc*3,83,hz_yan1,0);
353 2 break;
354 2 case 2:HzDisp1216(cc*3,44,hz_gan,0);
355 2 HzDisp1216(cc*3,83,hz_wen,0);
356 2 break;
357 2 case 3:HzDisp1216(cc*3,44,hz_sheng,0);
358 2 HzDisp1216(cc*3,83,hz_guang,0);
359 2 break;
360 2 case 4:HzDisp1216(cc*3,44,hz_pen,0);
361 2 HzDisp1216(cc*3,83,hz_deng,0);
362 2 break;
363 2 case 5:HzDisp1216(cc*3,44,hz_zhu,0);
364 2 HzDisp1216(cc*3,83,hz_dian,0);
365 2 break;
C51 COMPILER V8.02 LCD 01/30/2008 15:09:49 PAGE 7
366 2 case 6:HzDisp1216(cc*3,44,hz_bei,0);
367 2 HzDisp1216(cc*3,83,hz_dian,0);
368 2 break;
369 2 case 7:HzDisp1216(cc*3,44,hz_chong,0);
370 2 HzDisp1216(cc*3,83,hz_dian,0);
371 2 break;
372 2 case 8:HzDisp1216(cc*3,44,hz_gang,0);
373 2 HzDisp1216(cc*3,83,hz_ping,0);
374 2 break;
375 2 case 9:HzDisp1216(cc*3,44,hz_tong1,0);
376 2 HzDisp1216(cc*3,83,hz_xun,0);
377 2 break;
378 2 case 0x0a:HzDisp1216(cc*3,44,hz_lian,0);
379 2 HzDisp1216(cc*3,57,hz_dong,0);
380 2 HzDisp1216(cc*3,70,hz_xian,0);
381 2 HzDisp1216(cc*3,83,hz_lu1,0);
382 2 break;
383 2 case 0x0b:HzDisp1216(cc*3,44,hz_ya,0);
384 2 HzDisp1216(cc*3,57,hz_li,0);
385 2 HzDisp1216(cc*3,70,hz_kai,0);
386 2 HzDisp1216(cc*3,83,hz_guan,0);
387 2 break;
388 2 case 0x0c:HzDisp1216(cc*3,44,hz_ting,0);
389 2 HzDisp1216(cc*3,64,hz_zhi1,0);
390 2 HzDisp1216(cc*3,83,hz_jian3,0);
391 2 break;
392 2 case 0x0d:HzDisp1216(cc*3,44,hz_qi,0);
393 2 HzDisp1216(cc*3,64,hz_dong,0);
394 2 HzDisp1216(cc*3,83,hz_jian3,0);
395 2 break;
396 2 default: break;
397 2 }
398 1 //显示报警的类型
399 1 switch(hh)
400 1 {
401 2 case 2:HzDisp1216(cc*3,99,hz_gu,0);
402 2 HzDisp1216(cc*3,115,hz_zhang,0);
403 2 break;
404 2 case 5:HzDisp1216(cc*3,99,hz_ting,0);
405 2 HzDisp1216(cc*3,115,hz_zhi1,0);
406 2 break;
407 2 case 1:HzDisp1216(cc*3,99,hz_huo,0);
408 2 HzDisp1216(cc*3,115,hz_jing,0);
409 2 break;
410 2 case 4:HzDisp1216(cc*3,99,hz_fan,0);
411 2 HzDisp1216(cc*3,115,hz_kui,0);
412 2 break;
413 2 case 3:
414 2 case 6:
415 2 case 7:HzDisp1216(cc*3,99,hz_qi,0);
416 2 HzDisp1216(cc*3,115,hz_dong,0);
417 2 break;
418 2 case 9:HzDisp1216(cc*3,99,hz_kai,0);
419 2 HzDisp1216(cc*3,115,hz_lu1,0);
420 2 break;
421 2 case 8:HzDisp1216(cc*3,99,hz_duan,0);
422 2 HzDisp1216(cc*3,115,hz_lu1,0);
423 2 break;
424 2 default:break;
425 2 }
426 1 //显示时间中间的斜线和冒号
427 1 a = dd>>4;
C51 COMPILER V8.02 LCD 01/30/2008 15:09:49 PAGE 8
428 1 b = dd&0x0f;
429 1 Asc_Disp68((cc+1)*3-1,60,(asc_num+6*a),0);
430 1 Asc_Disp68((cc+1)*3-1,66,(asc_num+6*b),0);
431 1 Asc_Disp68((cc+1)*3-1,72,(asc_xiexian),0);
432 1 a = ee>>4;
433 1 b = ee&0x0f;
434 1 Asc_Disp68((cc+1)*3-1,78,(asc_num+6*a),0);
435 1 Asc_Disp68((cc+1)*3-1,84,(asc_num+6*b),0);
436 1 if(hh==0x06)
437 1 {
438 2 a=delay_SDstart_time[aa-1]/10;
439 2 b=delay_SDstart_time[aa-1]%10;
440 2 Asc_Disp68((cc+1)*3-1,102,(asc_s),0);
441 2 Asc_Disp68((cc+1)*3-1,114,(asc_num+6*a),0);
442 2 Asc_Disp68((cc+1)*3-1,120,(asc_num+6*b),0);
443 2 }
444 1 else
445 1 {
446 2 if(hh==0x07)
447 2 {
448 3 a=delay_ZDstart_time[aa-1]/10;
449 3 b=delay_ZDstart_time[aa-1]%10;
450 3 Asc_Disp68((cc+1)*3-1,102,(asc_s),0);
451 3 Asc_Disp68((cc+1)*3-1,114,(asc_num+6*a),0);
452 3 Asc_Disp68((cc+1)*3-1,120,(asc_num+6*b),0);
453 3 }
454 2 else
455 2 {
456 3 a = ff>>4;
457 3 b = ff&0x0f;
458 3 Asc_Disp68((cc+1)*3-1,96,(asc_num+6*a),0);
459 3 Asc_Disp68((cc+1)*3-1,102,(asc_num+6*b),0);
460 3 Asc_Disp68((cc+1)*3-1,108,(asc_maohao),0);
461 3 a = gg>>4;
462 3 b = gg&0x0f;
463 3 Asc_Disp68((cc+1)*3-1,114,(asc_num+6*a),0);
464 3 Asc_Disp68((cc+1)*3-1,120,(asc_num+6*b),0);
465 3 }
466 2 }
467 1 }
468 //*************************************************************************
469 //**函 数 名:DISP_Information
470 //**输 入:
471 //**输 出:无
472 //**功能描述:
473 //** 1.显示信息
474 //*************************************************************************
475 void DISP_Information()
476 {
477 1 uchar xdata i;
478 1 uchar xdata a,b,c;
479 1 uchar xdata temp_timey;
480 1 uchar xdata temp_timer;
481 1 uchar xdata temp_times;
482 1 uchar xdata temp_timef;
483 1 //临时显示计数的数量
484 1 uchar xdata disp_number;
485 1 uchar xdata temp_qunumber;
486 1 uchar xdata temp_devicetype;
487 1 uchar xdata temp_alarmtype;
488 1 uchar xdata temp_end_count;
489 1 Clr_Scr(0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -