📄 lcddrive.lst
字号:
212 3 outsi(0x40|(lcdline-64)); /*设置列地址*/
213 3 }
214 2 j=datanumber*16;
215 2 for(i=0;i<16;i++)
216 2 {
217 3 if(DotNot==1)
218 3 {
219 4 outsd(~lcd_lattice16_8[i+j]);
220 4 }
221 3 else
222 3 {
223 4 outsd(lcd_lattice16_8[i+j]);
224 4 }
225 3 if(i==7)
226 3 {
227 4 outsi(0xb8|(lcdrow+1)); /*设置页地址*/
228 4 outsi(0x40|(lcdline-64)); /*设置列地址*/
229 4 }
230 3 }
231 2 }
232 1 }
233 /******************************************************************************/
234 /******************************************************************************/
235 void displaybyte(uint8 lcdrow,uint8 lcdline,uint8 datanumber) /*display 8x8 data*/
236 {
237 1 uint8 data i;
238 1 uint16 data j;
C51 COMPILER V7.06 LCDDRIVE 12/21/2004 15:11:28 PAGE 5
239 1 outmi(0xc0);
240 1 outsi(0xc0); /*设置显示起始行*/
241 1 if(lcdline<64)
242 1 {
243 2 outmi(0xb8|lcdrow); /*设置页地址*/
244 2 outmi(0x40|lcdline); /*设置列地址*/
245 2 j=datanumber*8;
246 2 for(i=0;i<8;i++)
247 2 {
248 3 outmd(lcd_lattice8_8[i+j]);
249 3 }
250 2 }
251 1 else
252 1 {
253 2 outsi(0xb8|lcdrow); /*设置页地址*/
254 2 outsi(0x40|(lcdline-64)); /*设置列地址*/
255 2 j=datanumber*8;
256 2 for(i=0;i<8;i++)
257 2 {
258 3 outsd(lcd_lattice8_8[i+j]);
259 3 }
260 2 }
261 1 }
262 /******************************************************************************/
263 /******************************************************************************/
264 void displaycls(void)
265 {
266 1 uint8 data i;
267 1 uint8 data j;
268 1 lcdinit();
269 1 outmi(0xc0);
270 1 outsi(0xc0); /*设置显示起始行*/
271 1 for(i=0;i<8;i++)
272 1 {
273 2 outmi(0xb8|i); /*设置页地址*/
274 2 outmi(0x40|0); /*设置列地址*/
275 2 for(j=0;j<64;j++)
276 2 {
277 3 outmd(0);
278 3 }
279 2 }
280 1 for(i=0;i<8;i++)
281 1 {
282 2 outsi(0xb8|i); /*设置页地址*/
283 2 outsi(0x40|0); /*设置列地址*/
284 2 for(j=0;j<64;j++)
285 2 {
286 3 outsd(0);
287 3 }
288 2 }
289 1 }
290 /******************************************************************************/
291 /******************************************************************************/
292 void display_word_item(uint8 dlcdrow,uint8 dlcdline,uint8 item)
293 {
294 1 uint8 i=0;
295 1 // do
296 1 // {
297 1 // displayword(dlcdrow,(dlcdline+i*16), mb[item][i]);
298 1 // i++;
299 1 // }while(mb[item][i]!=0xff);
300 1 }
C51 COMPILER V7.06 LCDDRIVE 12/21/2004 15:11:28 PAGE 6
*** WARNING C280 IN LINE 292 OF LCDDRIVE.C: 'dlcdrow': unreferenced local variable
*** WARNING C280 IN LINE 292 OF LCDDRIVE.C: 'dlcdline': unreferenced local variable
*** WARNING C280 IN LINE 292 OF LCDDRIVE.C: 'item': unreferenced local variable
301 /******************************************************************************/
302 /******************************************************************************/
303 void display_data_item(uint8 dlcdrow,uint8 dlcdline,uint8 dotplace,uint16 temp)
304 {
305 1 if(dotplace==1||temp>9)
306 1 {
307 2 do
308 2 {
309 3 displaydata(dlcdrow,dlcdline, temp%10);
310 3 dlcdline-=8;
311 3 temp/=10;
312 3 if(--dotplace==0)
313 3 {
314 4 displaydata(dlcdrow,dlcdline, 10);
315 4 dlcdline-=8;
316 4 }
317 3 }while(temp>=10);
318 2 displaydata(dlcdrow,dlcdline, temp%10);
319 2 }
320 1 else
321 1 displaydata(dlcdrow,dlcdline, temp);
322 1 }
323 /******************************************************************************/
324 /******************************************************************************/
325 void display_data_time(uint8 dlcdrow,uint8 dlcdline,uint8 temp) /*时钟*/
326 {
327 1 //if(temp>>4!=0)
328 1 {
329 2 displaydata(dlcdrow,dlcdline,temp>>4);
330 2 }
331 1 displaydata(dlcdrow,dlcdline+8,temp&0x0F);
332 1 }
333 /******************************************************************************/
334 void DispMenuDeep0(void) /*主菜单*/
335 {
336 1 if(DeepOne==0)DotNot=1;else DotNot=0;
337 1 display_word_item (1,32,0); /*时钟设置 */
338 1 if(DeepOne==1)DotNot=1;else DotNot=0;
339 1 display_word_item (3,32,1); /*参数设置 */
340 1 if(DeepOne==2)DotNot=1;else DotNot=0;
341 1 display_word_item (5,32,2); /*记录查询*/
342 1 DotNot=0;
343 1 }
344 /******************************************************************************/
345 void display_data2_item (uint8 lcdrow,uint8 lcdline,uint8 temp)
346 {
347 1 int8 b;
348 1 b=temp%10;
349 1 displaydata (lcdrow,(lcdline+8),b);
350 1 b=temp/10;
351 1 displaydata (lcdrow,(lcdline),b);
352 1 }
353 /******************************************************************************/
354 void display_time_setup() /*时钟设置 */
355 {
356 1 uint8 idata temp;
357 1 DotNot=0;
358 1 displayword(01,28,04);
359 1 displayword(01,64,05);
C51 COMPILER V7.06 LCDDRIVE 12/21/2004 15:11:28 PAGE 7
360 1 displayword(01,100,06);
361 1 displayword(03,48,00);
362 1 displayword(03,84,07);
363 1 // temp = read_ds12887_char(YEAR); //year
364 1 if(DeepTwo==0)DotNot=1;else DotNot=0;
365 1 // display_data_item(1,12+8,8,temp);
366 1 display_data2_item(1,12,temp);
367 1 // display_data_time(1,12,temp);
368 1
369 1 // temp = read_ds12887_char(MONTH); //month
370 1 if(DeepTwo==1)DotNot=1;else DotNot=0;
371 1 // display_data_item(1,48+8,8,temp);
372 1 display_data2_item(1,48,temp);
373 1 // display_data_time(1,48,temp);
374 1
375 1 // temp = read_ds12887_char(DATE); //date
376 1 if(DeepTwo==2)DotNot=1;else DotNot=0;
377 1 // display_data_item(1,84+8,8,temp);
378 1 display_data2_item(1,84,temp);
379 1 // display_data_time(1,84,temp);
380 1
381 1 // temp = read_ds12887_char(HOUR); //hour
382 1 if(DeepTwo==3)DotNot=1;else DotNot=0;
383 1 // display_data_item(3,28+8,8,temp);
384 1 display_data2_item(3,28,temp);
385 1 // display_data_time(3,28,temp);
386 1
387 1 // temp = read_ds12887_char(MINUTE); //minute
388 1 if(DeepTwo==4)DotNot=1;else DotNot=0;
389 1 // display_data_item(3,64+8,8,temp);
390 1 display_data2_item(3,64,temp);
391 1 // display_data_time(3,64,temp);
392 1 }
393 /******************************************************************************/
394 /******************************************************************************/
395 void display_parameter_setup_word ( ) /*参数设置 */
396 {
397 1 uint16 temp;
398 1 displaydata(2,118,13);
399 1 displaydata(4,118,14);
400 1 displaydata(6,118,15);
401 1 displaydata(4,97,10);
402 1 displaydata(6,97,10);
403 1 display_word_item(0,0,3);
404 1 display_word_item(2,0,4);
405 1 display_word_item(4,0,5);
406 1 display_word_item(6,0,6);
407 1 if(DeepTwo==0) DotNot=1; else DotNot=0;
408 1 displaydata(0,72,5);
409 1 if(DeepTwo==1) DotNot=1; else DotNot=0;
410 1 displaydata(2,72,1);
411 1 displaydata(2,80,2);
412 1 displaydata(2,88,3);
413 1 displaydata(2,97,10);
414 1 displaydata(2,102,4);
415 1 displaydata(2,110,5);
416 1 if(DeepTwo==2) DotNot=1; else DotNot=0;
417 1 displaydata(4,72,1);
418 1 if(DeepTwo==3) DotNot=1; else DotNot=0;
419 1 displaydata(6,72,5);
420 1 DotNot=0;
421 1 }
C51 COMPILER V7.06 LCDDRIVE 12/21/2004 15:11:28 PAGE 8
*** WARNING C280 IN LINE 397 OF LCDDRIVE.C: 'temp': unreferenced local variable
422 /******************************************************************************/
423 void display_start_discharge () /*按确认键开始放电*/
424 {
425 1 //if(DeepTwo==3)
426 1 DotNot=1; //else DotNot=0;
427 1 display_word_item (3,32,12);
428 1 DotNot=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -