drive_12864.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /****************************************************
  2. *
  3. * LCD12864驱动程序
  4. * 程序作者: 电子极客迷
  5. * 编写时间: 2018/10/12
  6. *
  7. *****************************************************/
  8. #ifndef __DRIVE_12864_H__
  9. #define __DRIVE_12864_H__
  10. #include <ioCC2530.h>
  11. #include "OnBoard.h"
  12. #define LCD128_EN_PIN P2_4 //数据引脚
  13. #define LCD128_EN_NUM GPIO_4
  14. #define LCD128_RW_PIN P2_3 //数据引脚
  15. #define LCD128_RW_NUM GPIO_3
  16. #define LCD128_PORT P2DIR
  17. //引脚配置为输出;
  18. #define LCD128_EN_PIN_OUT() { LCD128_PORT |= LCD128_EN_NUM; asm("NOP"); }
  19. //引脚配置为输入;
  20. #define LCD128_EN_PIN_IN() { LCD128_PORT &= ~LCD128_EN_NUM; asm("NOP"); }
  21. //拉高数据线;
  22. #define LCD128_EN_PIN_H() { LCD128_EN_PIN = 1; asm("NOP"); }
  23. //拉低数据线;
  24. #define LCD128_EN_PIN_L() { LCD128_EN_PIN = 0; asm("NOP"); }
  25. //引脚配置为输出;
  26. #define LCD128_RW_PIN_OUT() { LCD128_PORT |= LCD128_RW_NUM; asm("NOP"); }
  27. //引脚配置为输入;
  28. #define LCD128_RW_PIN_IN() { LCD128_PORT &= ~LCD128_RW_NUM; asm("NOP"); }
  29. //拉高数据线;
  30. #define LCD128_RW_PIN_H() { LCD128_RW_PIN = 1; asm("NOP"); }
  31. //拉低数据线;
  32. #define LCD128_RW_PIN_L() { LCD128_RW_PIN = 0; asm("NOP"); }
  33. /****************************************************
  34. *
  35. * 函数名 : lcd128_init
  36. * 函数功能 : lcd12864初始化
  37. * 函数返回值:无
  38. */
  39. void lcd128_init(void) ;//12864初始化函数
  40. /************ 写字符数据函数 *****************
  41. 功能:在带字库12864指定位置上显示字符;
  42. 参数
  43. p: 指向待显示数据指针
  44. x: X坐标
  45. y: Y坐标
  46. ************ *********** *****************/
  47. void WriteLcd128_String(char x,char y,char *p);
  48. void L128printf(char x,char y,char *p,...);
  49. #endif