lcmdrv.h
上传用户:zfj3589
上传日期:2022-07-13
资源大小:635k
文件大小:5k
源码类别:

微处理器开发

开发平台:

C/C++

  1. /****************************************************************************
  2. * 文件名:LCMDRV.H
  3. * 功能:MG12864图形液晶模块驱动程序。使用LPC2131的GPIO口控制操作。(头文件)
  4. *       用于ZLG/GUI用户图形界面。
  5. *  
  6. *  作者:黄绍斌
  7. *  日期:2005/3/7
  8. ****************************************************************************/
  9. #ifndef  LCMDRV_H
  10. #define  LCMDRV_H  
  11. /* 定义颜色数据类型(可以是数据结构) */
  12. #define  TCOLOR uint8 
  13. /* 定义LCM像素数宏 */
  14. #define  GUI_LCM_XMAX 128 /* 定义液晶x轴的像素数 */
  15. #define  GUI_LCM_YMAX 64 /* 定义液晶y轴的像素数 */
  16. /****************************************************************************
  17. * 名称:GUI_Initialize()
  18. * 功能:初始化GUI,包括初始化显示缓冲区,初始化LCM并清屏。
  19. * 入口参数:无
  20. * 出口参数:无
  21. * 说明:用户根据LCM的实际情况编写此函数。
  22. ****************************************************************************/
  23. extern void  GUI_Initialize(void);
  24. /****************************************************************************
  25. * 名称:GUI_FillSCR()
  26. * 功能:全屏填充。直接使用数据填充显示缓冲区。
  27. * 入口参数:dat 填充的数据
  28. * 出口参数:无
  29. * 说明:用户根据LCM的实际情况编写此函数。
  30. ****************************************************************************/
  31. extern void  GUI_FillSCR(TCOLOR dat);
  32. /****************************************************************************
  33. * 名称:GUI_ClearSCR()
  34. * 功能:清屏。
  35. * 入口参数:无
  36. * 出口参数:无
  37. * 说明:用户根据LCM的实际情况编写此函数。
  38. ****************************************************************************/
  39. //extern void  GUI_ClearSCR(void);
  40. #define  GUI_ClearSCR() GUI_FillSCR(0x00)
  41. /****************************************************************************
  42. * 名称:GUI_Point()
  43. * 功能:在指定位置上画点。
  44. * 入口参数: x 指定点所在列的位置
  45. *            y 指定点所在行的位置
  46. *            color 显示颜色(对于黑白色LCM,为0时灭,为1时显示)
  47. * 出口参数:返回值为1时表示操作成功,为0时表示操作失败。(操作失败原因是指定地址超出有
  48. *          效范围)
  49. * 说明:用户根据LCM的实际情况编写此函数。
  50. ****************************************************************************/
  51. extern uint8  GUI_Point(uint8 x, uint8 y, TCOLOR color);
  52. /****************************************************************************
  53. * 名称:GUI_ReadPoint()
  54. * 功能:读取指定点的颜色。
  55. * 入口参数:x 指定点所在列的位置
  56. *           y 指定点所在行的位置
  57. *           ret     保存颜色值的指针
  58. * 出口参数:返回0表示指定地址超出缓冲区范围
  59. * 说明:对于单色,设置ret的d0位为1或0,4级灰度则为d0、d1有效,8位RGB则d0--d7有效,
  60. *      RGB结构则R、G、B变量有效。
  61. ****************************************************************************/
  62. extern uint8  GUI_ReadPoint(uint8 x, uint8 y, TCOLOR *ret);
  63. /****************************************************************************
  64. * 名称:GUI_HLine()
  65. * 功能:画水平线。
  66. * 入口参数: x0 水平线起点所在列的位置
  67. *           y0 水平线起点所在行的位置
  68. *           x1      水平线终点所在列的位置
  69. *           color 显示颜色(对于黑白色LCM,为0时灭,为1时显示)
  70. * 出口参数:无
  71. * 说明:对于单色、4级灰度的液晶,可通过修改此函数作图提高速度,如单色LCM,可以一次更
  72. *      新8个点,而不需要一个点一个点的写到LCM中。
  73. ****************************************************************************/
  74. extern void  GUI_HLine(uint8 x0, uint8 y0, uint8 x1, TCOLOR color);
  75. /****************************************************************************
  76. * 名称:GUI_RLine()
  77. * 功能:画垂直线。
  78. * 入口参数: x0 垂直线起点所在列的位置
  79. *           y0 垂直线起点所在行的位置
  80. *           y1      垂直线终点所在行的位置
  81. *           color 显示颜色
  82. * 出口参数:无
  83. * 说明:对于单色、4级灰度的液晶,可通过修改此函数作图提高速度,如单色LCM,可以一次更
  84. *      新8个点,而不需要一个点一个点的写到LCM中。
  85. ****************************************************************************/
  86. extern void  GUI_RLine(uint8 x0, uint8 y0, uint8 y1, TCOLOR color);
  87. /****************************************************************************
  88. * 名称:GUI_CmpColor()
  89. * 功能:判断颜色值是否一致。
  90. * 入口参数:color1 颜色值1
  91. *    color2 颜色值2
  92. * 出口参数:返回1表示相同,返回0表示不相同。
  93. * 说明:由于颜色类型TCOLOR可以是结构类型,所以需要用户编写比较函数。
  94. ****************************************************************************/
  95. //extern int  GUI_CmpColor(TCOLOR color1, TCOLOR color2);
  96. #define  GUI_CmpColor(color1, color2) ( (color1&0x01) == (color2&0x01) )
  97. /****************************************************************************
  98. * 名称:GUI_CopyColor()
  99. * 功能:颜色值复制。
  100. * 入口参数:color1 目标颜色变量
  101. *    color2 源颜色变量
  102. * 出口参数:无
  103. * 说明:由于颜色类型TCOLOR可以是结构类型,所以需要用户编写复制函数。
  104. ****************************************************************************/
  105. //extern void  GUI_CopyColor(TCOLOR *color1, TCOLOR color2);
  106. #define  GUI_CopyColor(color1, color2)  *color1 = color2&0x01
  107. #endif