?? disp.lst
字號:
225 /***************************************
226
227 顯示一個整數
228 入口參數:整數數值,起始顯示位置,長度
229
230 ****************************************/
231 void DispInt(INT32U val,INT8U len)
232 {
233 1 }
*** WARNING C280 IN LINE 231 OF DISP.C: 'val': unreferenced local variable
*** WARNING C280 IN LINE 231 OF DISP.C: 'len': unreferenced local variable
234
235
236 /***************************************
237
238 顯示一個字符
239 入口參數:字符,顯示位置,是否閃爍
C51 COMPILER V7.50 DISP 07/01/2008 15:53:05 PAGE 5
240
241 ****************************************/
242 void DispChr(INT8U cv)
243 {
244 1 INT8U *pF;
245 1 INT8U len,n,row,col;
246 1
247 1 row = CurRow;
248 1 col = CurCol;
249 1 len = FontAttr[CurFont][0] * FontAttr[CurFont][1];
250 1 pF = (INT8U *)FontAdr[CurFont];
251 1 pF += cv*len;
252 1
253 1 n = 0;
254 1 while (1)
255 1 {
256 2 LCD_Disp_Pic(pF+n*FontAttr[CurFont][0],FontAttr[CurFont][0]);
257 2 n ++;
258 2 if (n>= FontAttr[CurFont][1])
259 2 break;
260 2 CurRow ++;
261 2 CurCol = col;
262 2 }
263 1 CurRow = row;
264 1 }
265
266
267 /***************************************
268
269 顯示一個字符
270 入口參數:字符,顯示位置,是否閃爍
271
272 ****************************************/
273 void DispHZ(INT8U cv)
274 {
275 1 INT8U *pF;
276 1 INT8U n,row,col;
277 1
278 1 row = CurRow;
279 1 col = CurCol;
280 1
281 1 pF = (INT8U *)FontHZ14x14;
282 1 pF += cv*(14*2);
283 1
284 1 n = 0;
285 1 while (1)
286 1 {
287 2 LCD_Disp_Pic(pF+n*14,14);
288 2 n++;
289 2 if (n>= 2)
290 2 break;
291 2 CurRow ++;
292 2 CurCol = col;
293 2 }
294 1 CurRow = row;
295 1 }
296 /***************************************
297
298 顯示一個浮點數
299 注:無超顯示范圍判斷
300 使用全部的顯示區域
301
C51 COMPILER V7.50 DISP 07/01/2008 15:53:05 PAGE 6
302 ****************************************/
303 void DispFloat(float val,INT8U row,INT8U col,INT8U Len)
304 {
305 1 INT8U IntLen,n;
306 1 INT32U iv,ivf;
307 1
308 1
309 1 /* 符號位處理 */
310 1 if (val < 0)
311 1 {
312 2 // DispBuffer[row][col] = '-';
313 2 val = -val;
314 2 col ++;
315 2 Len --;
316 2 }
317 1
318 1 /* 整數位數計算 */
319 1 IntLen = GetIntLen((INT32U)val);
320 1
321 1 /* 整數部分 */
322 1 iv = (INT32U)val;
323 1
324 1 /* */
325 1 for (n=0;n<(Len-IntLen);n++)
326 1 {
327 2 val *= 10;
328 2 }
329 1 ivf = (INT32U)val;
330 1 ivf += 5;
331 1 ivf /= 10;
332 1
333 1 /* 顯示整數部分 */
334 1 DispInt(iv,IntLen);
335 1 /* 顯示小數點 */
336 1 // DispChr('.',row,col+IntLen ,FALSE);
337 1 /* 顯示小數部分 */
338 1 for (n=0;n<(Len-IntLen-1);n++)
339 1 {
340 2 // DispInt(ivf%10 , row , col + Len -n -1, 1);
341 2 ivf /= 10;
342 2 }
343 1
344 1 /* 計算實際有效位數,去掉小數部分尾數的所有0 */
345 1 n = col + Len - 1;
346 1 while (n >= IntLen)
347 1 {
348 2 // if (DispBuffer[row][n] != '0')
349 2 // {
350 2 // break;
351 2 // }
352 2 // DispBuffer[row][n] = ' ';
353 2 n --;
354 2 }
355 1 }
*** WARNING C280 IN LINE 303 OF DISP.C: 'row': unreferenced local variable
356
357 /***************************************
358
359 顯示清屏
360
361 ****************************************/
362 void DispCls(void)
C51 COMPILER V7.50 DISP 07/01/2008 15:53:05 PAGE 7
363 {
364 1 DispXYSet(0,0);
365 1 LCD_Disp_Pattern(0,128);
366 1 DispXYSet(1,0);
367 1 LCD_Disp_Pattern(0,128);
368 1 DispXYSet(2,0);
369 1 LCD_Disp_Pattern(0,128);
370 1 DispXYSet(3,0);
371 1 LCD_Disp_Pattern(0,128);
372 1 DispXYSet(4,0);
373 1 LCD_Disp_Pattern(0,128);
374 1 DispXYSet(5,0);
375 1 LCD_Disp_Pattern(0,128);
376 1 DispXYSet(6,0);
377 1 LCD_Disp_Pattern(0,128);
378 1 DispXYSet(7,0);
379 1 LCD_Disp_Pattern(0,128);
380 1 }
381
382
383
384 /***************************************
385
386 屏初始化
387
388 ****************************************/
389 void DispInit(void)
390 {
391 1 INT16U i;
392 1 Pin_CS1 = 0;
393 1 Pin_CS2 = 0;
394 1
395 1 for (i=0;i<5000;i++)
396 1 Pin_RST = 0;
397 1 for (i=0;i<5000;i++)
398 1 Pin_RST=1; //使RST無效后延時一段時間(若不,則后續指令無效,原12864無需亦可???延時取255還不夠!!!)
399 1
400 1 Pin_E=0;
401 1 Pin_RS=1;
402 1 Pin_RW=1;
403 1
404 1 Pin_CS1 = 1;
405 1
406 1 LCD_Cmd(0x3F); //LCD_ON
407 1 LCD_Cmd(0xC0|0); //LCD_STARTLINE
408 1 LCD_Cmd(0xB8|0); //LCD_ROW
409 1 LCD_Cmd(0x40|0); //LCD_COL
410 1
411 1 Pin_CS1 = 0;
412 1
413 1 CurCol = 0;
414 1 CurRow = 0;
415 1 }
416
417 /***************************************
418
419
420
421 ****************************************/
422 void DispXYSet(INT8U Row,INT8U Col)
423 {
424 1 CurRow = Row;
C51 COMPILER V7.50 DISP 07/01/2008 15:53:05 PAGE 8
425 1 CurCol = Col;
426 1 }
427
428 /***************************************
429
430
431
432 ****************************************/
433 void DispFontSet(INT8U Font)
434 {
435 1 CurFont = Font;
436 1 }
437
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 973 ----
CONSTANT SIZE = 4797 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 13 39
IDATA SIZE = 32 ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 3 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -