📄 drivert6963.lst
字号:
241 **函数功能: **
242 **入口参数: **
243 **出口参数: **
244 **具体资源: **
245 **调用程序: **
246 **备注: **
247 **********************************************************************************************/
248 void WCCharData(unsigned char CMD,unsigned char DAT)
249 {
250 1 LowWriteData(DAT);
251 1 LowWriteCmd(CMD);
252 1 }
253
254
255 /**********************************************************************************************
256 **函数名称: **
257 **函数功能: **
258 **入口参数: **
259 **出口参数: **
260 **具体资源: **
261 **调用程序: **
262 **备注: **
263 **********************************************************************************************/
264 void WCNoData(unsigned char CMD)
265 {
266 1 LowWriteCmd(CMD);
267 1 }
268
269
270 /**********************************************************************************************
271 **函数名称: **
272 **函数功能: **
273 **入口参数: **
274 **出口参数: **
275 **具体资源: **
276 **调用程序: **
277 **备注: **
278 **********************************************************************************************/
279 void WDCharData(unsigned char DAT)
280 {
281 1 LowWriteData(DAT);
282 1 }
283
284
285 /**********************************************************************************************
286 **函数名称: **
287 **函数功能: **
288 **入口参数: **
289 **出口参数: **
290 **具体资源: **
291 **调用程序: **
292 **备注: **
293 **********************************************************************************************/
294 void LCMReset(void)
295 {
296 1 RST_LCM = 1;
297 1 RST_LCM = 0;
298 1 _nop_();_nop_();_nop_();_nop_(); //Time delay enought for LCM RESET
299 1 _nop_();_nop_();_nop_();_nop_();
300 1 _nop_();_nop_();_nop_();_nop_();
301 1 RST_LCM = 1;
C51 COMPILER V8.08 DRIVERT6963 06/18/2008 01:56:31 PAGE 6
302 1 }
303
304
305 /**********************************************************************************************
306 **函数名称: **
307 **函数功能: **
308 **入口参数: **
309 **出口参数: **
310 **具体资源: **
311 **调用程序: **
312 **备注: **
313 **********************************************************************************************/
314 void FontStyle(unsigned char Style)
315 {
316 1 if(Style == 0xff)
317 1 {
318 2 FS_LCM = 1; //Choose 5*8 pixel
319 2 }
320 1 else
321 1 {
322 2 FS_LCM = 0; //Choos 8*8 pixel
323 2 }
324 1 }
325
326
327 /**********************************************************************************************
328 **函数名称: **
329 **函数功能: **
330 **入口参数: **
331 **出口参数: **
332 **具体资源: **
333 **调用程序: **
334 **备注: **
335 **********************************************************************************************/
336 void ClearScreen(unsigned char Mod)
337 {
338 1 unsigned int Counter = 0x0000;
339 1
340 1 WCIntData(AddrPointer, 0x0000);
341 1 WCNoData(AutoWrite);
342 1
343 1 for (Counter=0; Counter < 0x2000; Counter++) //擦除8K空间
344 1 {
345 2 AutoChk();
346 2 WDCharData(Mod);
347 2 }
348 1 WCNoData(AutoReset);
349 1 }
350
351
352 /**********************************************************************************************
353 函数名称: void Picture(unsigned int Addr, unsigned char Tier,
354 unsigned char Column, unsigned char *Dat)
355 函数功能: 描图
356 入口参数: 显示区坐标X,Y,图片的长,图片的宽,图片数据首地址
357 出口参数:
358 具体资源:
359 调用程序:
360 备注: 1.由于显示字节的制约且简化显示函数,图片的X坐标只能是以字节的整数倍。
361 2.图片不能溢出显示屏,以免造成图片回显到显示屏顶部,显示函数没有裁剪图片。
362 取模图片的时候注意图片的大小。
363 **********************************************************************************************/
C51 COMPILER V8.08 DRIVERT6963 06/18/2008 01:56:31 PAGE 7
364 void Picture(unsigned char x, unsigned char y, unsigned char Column, unsigned char Tier, unsigned char *Da
-t)
365 {
366 1 unsigned char Counter, i, itemp;
367 1 unsigned int Address, AddrTmp;
368 1
369 1 itemp = Column/8;
370 1 AddrTmp = x + y*0x14 + 0x0800; //计算地址
371 1
372 1 for (Counter = 0x00; Counter < Tier; Counter++)
373 1 {
374 2 Address = AddrTmp + Counter*0x14;
375 2
376 2 WCIntData(AddrPointer, Address);
377 2 WCNoData(AutoWrite);
378 2 AutoChk();
379 2 for (i = itemp; i > 0; i--)
380 2 {
381 3 WDCharData(*(Dat++));
382 3 }
383 2 WCNoData(AutoReset);
384 2 }
385 1 }
386
387
388 /**********************************************************************************************
389 函数名称: void WriteCG(unsigned int Address, unsigned char dat)
390 函数功能: 写英文字母
391 入口参数: 地址,和英文字幕的地址,注意这里不是ASIC表内的地址。
392 出口参数:
393 具体资源:
394 调用程序:
395 备注:
396 **********************************************************************************************/
397 void WriteCG(unsigned int Address, unsigned char dat)
398 {
399 1 WCIntData(AddrPointer, Address); //设置显示地址
400 1 WDCharData(dat);
401 1 WCNoData(WriteNoADP);
402 1 }
403
404
405 /**********************************************************************************************
406 函数名称: void WriteCH(unsigned int Address, unsigned char *temp)
407 函数功能: 写一个汉字(没有采用CGROM的方式,采用直接在图形区域写值)
408 入口参数: 汉字左上角地址,及汉字数组的首地址
409 出口参数:
410 具体资源:
411 调用程序:
412 备注:
413 **********************************************************************************************/
414 void WriteCH(unsigned int Address, unsigned char *temp)
415 {
416 1 unsigned char i, j;
417 1
418 1 for (j=0; j<16; j++)
419 1 {
420 2 for (i=0; i<2; i++)
421 2 {
422 3 WriteCG(Address+i, *(temp++));
423 3 }
424 2 Address += 0x14; //这个值和液晶屏点阵有关。
C51 COMPILER V8.08 DRIVERT6963 06/18/2008 01:56:31 PAGE 8
425 2 }
426 1 }
427
428
429 /**********************************************************************************************
430 函数名称: void InitScreen(void)
431 函数功能: 初始化LCM
432 入口参数:
433 出口参数:
434 具体资源:
435 调用程序:
436 备注:
437 **********************************************************************************************/
438 void InitScreen(void)
439 {
440 1 LCMReset(); //模块上电复位
441 1 FontStyle(0x00); //8*8点阵
442 1 WCNoData(DisplayOff); //关显示
443 1
444 1 WCIntData(TextHomeAddr,0x0000); //设置文本显示首地址
445 1 WCIntData(TextArea,0x0014); //设置文本显示宽度
446 1
447 1 WCIntData(GraphicHomeAddr,0x0800); //设置图形显示首地址
448 1 WCIntData(GraphicArea,0x0014); //设置图形显示宽度
449 1
450 1 WCNoData(ORModeIn); //设置文本图形显示为‘OR’方式
451 1 WCNoData(0x9C); //图形开,文本开,光标关
452 1 WCIntData(CursorPointer, 0x011D); //设置光标初始位置
453 1 WCNoData(CursorL1);
454 1 ClearScreen(0x00); //清除所有8K RAM
455 1 }
456
457
458 /**********************************************************************************************
459 函数名称: void EasyCH(unsigned char Tier, unsigned char Column, unsigned char *temp)
460 函数功能: 以行列的形式给出汉字坐标
461 入口参数: 汉字的坐标(行,列) 以及汉字点阵库地址
462 出口参数:
463 具体资源:
464 调用程序:
465 备注:
466 **********************************************************************************************/
467 void EasyCH(unsigned char Tier, unsigned char Column, unsigned char *temp)
468 {
469 1 unsigned char i, j;
470 1 unsigned int Address;
471 1
472 1 Address = (Column *0x02) + (Tier * 0xA0) + 0x0800; //计算地址
473 1
474 1 for (j=0; j<16; j++)
475 1 {
476 2 for (i=0; i<2; i++)
477 2 {
478 3 WriteCG(Address+i, *(temp++));
479 3 }
480 2 Address += 0x14;
481 2 }
482 1 }
483
484
485 /**********************************************************************************************
486 函数名称: void BitSet(unsigned char CMD);
C51 COMPILER V8.08 DRIVERT6963 06/18/2008 01:56:31 PAGE 9
487 函数功能: 置位屏幕上一点
488 入口参数: 该点的字节地址,第几位
489 出口参数:
490 具体资源:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -