?? c1335_driver.lst
字號:
238 2 WriteDATA(SCROLL_PARAM[i]);//D1335 = SCOLL_PARA_TABLE10[i];
239 2 }
240 1
241 1 WriteCMD(HDOT_SCR); //C1335=0x5A; //HDOTSET
C51 COMPILER V7.07 C1335_DRIVER 03/10/2006 09:06:40 PAGE 5
242 1 WriteDATA(0); //D1335=0x00;
243 1 WriteCMD(OVLAY); //C1335=0x5B; //OYLAY
244 1 WriteDATA(0x04); //D1335=0x00;
245 1 WriteCMD(CSR_FORM); //C1335=0x5D; //CSRFORM
246 1 WriteDATA(7); //D1335=0x07;
247 1 WriteDATA(7); //D1335=0x07;
248 1
249 1 WriteCMD(CSR_DIR_R);//C1335=0x4C; //CLR DRAM
250 1 WriteCMD(CSR_W); //C1335=0x46;
251 1 WriteDATA(0); //D1335=0x00;
252 1 WriteDATA(0); //D1335=0x00;
253 1 WriteCMD(MEM_WRITE);//C1335=0x42;
254 1
255 1 for(i=0;i<0x2800;i++)
256 1 {
257 2 WriteDATA(0); //D1335=0x20;
258 2 }
259 1
260 1 WriteCMD(DISP_ON); //cmd_write (LCDDISPON);
261 1 WriteDATA(0x14); //data_write (0x54);
262 1 }
263 //********************************************************************
264 void ClearLCD( unsigned char ZoneBase,
265 unsigned char X,
266 unsigned char Y,
267 unsigned char XLength,
268 unsigned char YLength)
269 {
270 1 unsigned char i,j;
271 1 unsigned int XYtemp;
272 1
273 1 WriteCMD(CSR_DIR_D);
274 1 for(i=0;i<XLength;i++)
275 1 {
276 2 XYtemp = (Y) * 40 + X+i + ZoneBase*256;
277 2 WriteCMD(CSR_DIR_D);
278 2 WriteCMD(CSR_W);
279 2 WriteDATA((unsigned char)XYtemp);
280 2 WriteDATA((unsigned char)(XYtemp >> 8));
281 2 WriteCMD(MEM_WRITE);
282 2 for(j=0;j<YLength;j++)
283 2 WriteDATA(0);
284 2 }
285 1 }
286
287 /*
288 // 第一顯示區向下滾動
289 void RollDown( void )
290 {
291 unsigned int iTemp = paraP9*15*16+BasePart2*256;
292 unsigned char jj = 15;// 演示32次
293
294 // WriteCommand( DispOn ); // 寫入指令DISP ON/OFF代碼,后續參數:
295 // WriteData( 0x44 ); // 00 00 01 00顯示1區開顯示,其余層關閉
296
297 while(jj--) {
298 iTemp -= paraP9*16;
299 WriteCMD( SCROLL); // 設定顯示區域起始地址
300 WriteDATA( 0 ); // 寫入參數
301 WriteDATA( 0 ); // 寫入參數
302 WriteDATA( 0XF0 ); // 寫入參數
303 WriteDATA( (unsigned char)(iTemp & 0xff) ); // 寫入參數
C51 COMPILER V7.07 C1335_DRIVER 03/10/2006 09:06:40 PAGE 6
304 WriteDATA( (unsigned char)(iTemp /256) ); // 寫入參數
305 DelayMS(400); // 調延時子程序
306 }
307 WriteCMD( SCROLL ); // 設定顯示區域起始地址
308 WriteDATA( 0 ); // 寫入參數
309 WriteDATA( 0 ); // 寫入參數
310 DelayMS(60);
311 }
312
313 // 第二顯示區向上滾動
314 void RollUp( void )
315 {
316
317 unsigned int iTemp=BasePart2*256;
318 unsigned char jj = 15; // 演示30次
319
320 // WriteCommand( DispOn ); // 寫入指令DISP ON/OFF代碼,后續參數:
321 // WriteData( 0x44 ); // 00 00 01 00顯示1區開顯示,其余層關閉
322
323 while(jj--)
324 {
325 iTemp += paraP9*16;
326
327 WriteCMD( SCROLL ); // 設定顯示區域起始地址
328 WriteDATA( 0 ); // 寫入參數
329 WriteDATA( 0 ); // 寫入參數
330 WriteDATA( 0XF0 ); // 寫入參數
331 WriteDATA( (unsigned char)(iTemp & 0xff) ); // 寫入參數
332 WriteDATA( (unsigned char)(iTemp /256) ); // 寫入參數
333
334 DelayMS(400); // 調延時子程序
335 }
336 }
337 */
338 /*=================================================================**
339 **函 數 名:void PutPixel(unsigned int X,unsigned char Y,unsigned char attr);**
340 **功能介紹:在(x,y)坐標繪制一個點。x=[0,319],y=[0,239] **
341 **傳人參數:attr是 (1)畫點,(0)消點 **
342 ===================================================================
343 void PutPixel(unsigned int X,unsigned char Y,unsigned char attr)
344 {
345 unsigned char ucTemp;
346 unsigned int XYtemp;
347 XYtemp = (Y) * 40 + (unsigned char)(X >> 3) + BasePart2*256;
348 WriteCMD(CSR_DIR_D);
349 WriteCMD(CSR_W);
350 WriteDATA((unsigned char)XYtemp);
351 WriteDATA((unsigned char)(XYtemp >> 8));
352 WriteCMD(MEM_READ);
353 ucTemp = ReadDataLcm();
354 if(attr)
355 ucTemp |= OnlyBitTable[(unsigned char)X & 0x07];
356 else
357 ucTemp &= ~OnlyBitTable[(unsigned char)X & 0x07];
358
359 WriteCMD(CSR_W);
360 WriteDATA((unsigned char)XYtemp);
361 WriteDATA((unsigned char)(XYtemp >> 8));
362 WriteCMD(MEM_WRITE);
363 WriteDATA(ucTemp);
364 }*/
365 /*=================================================================**
C51 COMPILER V7.07 C1335_DRIVER 03/10/2006 09:06:40 PAGE 7
366 **函 數 名:void PutPixel(unsigned int X,unsigned char Y,unsigned char attr);**
367 **功能介紹:在(x,y)坐標繪制一個點。x=[0,319],y=[0,239] **
368 **傳人參數:attr是 (1)畫點,(0)消點 **
369 ===================================================================
370 void DrawRect(unsigned int X,unsigned char Y,unsigned char attr)
371 {
372 unsigned char i,j;
373 for(j=0;j<2;j++)
374 for(i=0;i<40;i++)
375 PutPixel(X+i,Y+j,attr);
376 for(j=22;j<24;j++)
377 for(i=0;i<40;i++)
378 PutPixel(X+i,Y+j,attr);
379
380 for(i=0;i<2;i++)
381 for(j=0;j<24;j++)
382 PutPixel(X+i,Y+j,attr);
383 for(i=38;i<40;i++)
384 for(j=0;j<24;j++)
385 PutPixel(X+i,Y+j,attr);
386 }*/
387 /*======================================================================**
388 **函 數 名:void DispHZ_24_24(uchar *addr,uchar LineX,uchar RowY); **
389 **功能介紹:顯示 2 區圖形方式顯示16*16漢字 **
390 **傳人參數:漢字字符串地址 *addr,定位坐標LineX(0~239),RowY(0~39) **
391 ** **
392 **======================================================================
393 void DispHZ_24_24( unsigned char *addr,
394 unsigned char Y0,
395 unsigned char X0,
396 unsigned char color)
397 {
398 DispBitmap(addr, Y0, X0, color,24);
399 DispBitmap(addr+24, Y0, X0+1, color,24);
400 DispBitmap(addr+24+24, Y0, X0+2, color,24);
401 }*/
402
403 /*======================================================================**
404 **函 數 名:void DispBitmap(uchar *addr,uchar LineX,**
405 uchar RowY,unsigned char Length);**
406 **功能介紹:顯示 3 區圖形方式顯示Length*8的位圖 **
407 **傳人參數:漢字字符串地址 *addr,定位坐標LineX(0~239),RowY(0~39) **
408 ** **
409 **======================================================================*/ /*
410 void DispBitmapZone1( unsigned char *addr,
411 unsigned char Y,
412 unsigned char X,
413 unsigned char color,
414 unsigned char Length)
415 {
416 unsigned char i;
417 unsigned int XYtemp;
418 i = color;
419 XYtemp = Y * 40 + X+BasePart1*256; //計算顯示位置
420 WriteCMD(CSR_DIR_D);
421 WriteCMD(CSR_W);
422 WriteDATA((unsigned char)XYtemp);
423 WriteDATA((unsigned char)(XYtemp >> 8));
424 WriteCMD(MEM_WRITE);
425 for(i=0;i<Length;i++,addr++)
426 {
427 if(!color) WriteDATA(*addr);
C51 COMPILER V7.07 C1335_DRIVER 03/10/2006 09:06:40 PAGE 8
428 else WriteDATA(~(*addr));
429 }
430 }*/
431 /*======================================================================**
432 **函 數 名:void DispHZ_24_24(uchar *addr,uchar LineX,uchar RowY); **
433 **功能介紹:顯示 3 區圖形方式顯示16*16漢字 **
434 **傳人參數:漢字字符串地址 *addr,定位坐標LineX(0~239),RowY(0~39) **
435 ** **
436 **======================================================================*/ /*
437 void DispHZ_24_24Zone1( unsigned char *addr,
438 unsigned char Y0,
439 unsigned char X0,
440 unsigned char color)
441 {
442 DispBitmapZone1(addr, Y0, X0, color,24);
443 DispBitmapZone1(addr+24, Y0, X0+1, color,24);
444 DispBitmapZone1(addr+24+24, Y0, X0+2, color,24);
445 }
446 /*======================================================================**
447 **函 數 名:Disp_ASCII(uchar *addr,uchar LineX,uchar RowY,bit Inverse); **
448 **功能介紹:顯示 2 區圖形方式顯示ASCII,要求以'\0'結尾 **
449 **傳人參數:ASCII字符串地址 *addr,定位坐標LineX(0~239),RowY(0~39) **
450 ** -----(bit)Inverse,正常顯示(0),反白顯示(1) --- **
451 ========================================================================*
452 void DispASCIIStr( unsigned char *addr,
453 unsigned char X,
454 unsigned char Y,
455 unsigned char color)
456 {
457 unsigned int p;
458
459 for ( ;*addr != 0;addr++,X++ )
460 {
461 p = (*addr - 0x20)*16 ;
462 DispCHAR_16x8(ASCII_16+p,X,Y,color); //DispCHAR_16x8(&Ascii_16[p],Y0,X0,color);
463 }
464 }
465 */
466
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1051 ----
CONSTANT SIZE = 5210 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 76
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -