M128128.h
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:4k
源码类别:

uCOS

开发平台:

C/C++

  1. #ifndef _M128128_H
  2. #define _M128128_H
  3. /*********************************************************************
  4.   Filename:       M128128.h
  5.   Revised:        $Date:  $
  6.   Revision:       $Revision:  $
  7.   Writer:
  8.   Description:    LCD驱动程序,包括底层驱动,刷新显示子程序
  9.   
  10. *********************************************************************/
  11. /*********************************************************************
  12.  * INCLUDES
  13.  */
  14. #include "includes.h"
  15. /*********************************************************************
  16.  * CONSTANTS
  17.  */
  18. #define  LOW 0
  19. #define  HIGH 1
  20. //#define  ESC_KEY 0x1b
  21. #define  LCD_DISP_ON 0x3f // Controls the display onor off. Internal status and 
  22. #define  LCD_DISP_OFF 0x3e // display RAM data is not affected.L:OFF, H:ON
  23. #define  LCD_SET_X( X ) ( 0x40 + X )
  24. #define  LCD_SET_Y( Y ) ( 0xb8 + Y )
  25. #define  LCD_DISP_START_L( L ) ( 0xc0 + L )
  26. #define  LCD_STATUS_BUSY 0x80
  27. #define  LCD_STATUS_READ() ( 0x80 & LCD_DATA_BUS )
  28. #define UCOS_EN   1
  29. /*********************************************************************
  30.  * MACROS
  31.  */
  32. #define  LCD_DATA_BUS 0
  33. #define  LCD_CONTROL_BUS 0
  34. #define  LCD_DATA_BUS_CON 0
  35. #define  LCD_CONTROL_BUS_CON 0
  36. #define  PAGE_ALL_S ( ( LCD_CONTROL_BUS & 0xff ) | 0x0f )
  37. #define  PAGE_ALL_DS (   LCD_CONTROL_BUS & 0xf0          )
  38. #define  PAGE_1 ( ( LCD_CONTROL_BUS & 0xf0 ) | 0x01 )
  39. #define  PAGE_2 ( ( LCD_CONTROL_BUS & 0xf0 ) | 0x02 )
  40. #define  PAGE_3 ( ( LCD_CONTROL_BUS & 0xf0 ) | 0x04 )
  41. #define  PAGE_4 ( ( LCD_CONTROL_BUS & 0xf0 ) | 0x08 )
  42. #define  LCD_DATA_BUS_INIT()    ( LCD_DATA_BUS_CON = ( ( LCD_DATA_BUS_CON & 0xffff0000 ) | 0x5555 ) )
  43. #define  LCD_CONTROL_BUS_INIT() ( LCD_CONTROL_BUS_CON = 0x5555 )
  44. #define  CMD ( LCD_CONTROL_BUS & ~0x10 )
  45. #define  DAT ( LCD_CONTROL_BUS |  0x10 )
  46. #define  WRITE ( LCD_CONTROL_BUS & ~0x20 )
  47. #define  READ ( LCD_CONTROL_BUS |  0x20 )
  48. #define  ENABLE     ( LCD_CONTROL_BUS & ~0x40 )
  49. #define  DISNABLE ( LCD_CONTROL_BUS |  0x40 )
  50. #define  RESET ( LCD_CONTROL_BUS & ~0x80 )
  51. #define  WORK ( LCD_CONTROL_BUS |  0x80 )
  52. #define  LCD_PAGE_CS( PAGE_x ) ( LCD_CONTROL_BUS = PAGE_x )//( LCD_CONTROL_BUS & 0xf0 ) | ( 0x01 << PAGE_x ) )
  53. #define  RS( x ) ( LCD_CONTROL_BUS = x )
  54. #define  RW( x ) ( LCD_CONTROL_BUS = x )
  55. #define  CE( x ) ( LCD_CONTROL_BUS = x )
  56. #define  LCD_RESET( rst )  ( LCD_CONTROL_BUS = rst ) 
  57. /*********************************************************************
  58.  * TYPEDEFS
  59.  */
  60. typedef enum _LCD_PAGE
  61. {
  62. CS1,
  63. CS2,
  64. CS3,
  65. CS4,
  66. CS_ALL
  67. }LcdPage_s;
  68. typedef enum _DATA_DISP_MODE
  69. {
  70. REVERSE_DISP,
  71. NORMAL_DISP
  72. }DataDiapMode_s;
  73. typedef enum _LCD_SET_COORDINATE
  74. {
  75. SET_X = 1,
  76. SET_Y,
  77. SET_X_Y
  78. }LcdSetCoordinate_s;
  79. typedef struct _LCD_SET_DISP
  80. {
  81. INT32U x;
  82. INT32U y;
  83. INT8U mode;
  84. }LcdDispArea_s;
  85. typedef struct _LCD_DISP_CURSOR
  86. {
  87. int x;
  88. int y;
  89. }LcdDispCursor_s;
  90. /*********************************************************************
  91.  * GLOBAL VARIABLES
  92.  */
  93. extern LcdDispArea_s DispArea;
  94. extern LcdDispCursor_s  LcdCursor;
  95. /*********************************************************************
  96.  * LOCAL VARIABLES
  97.  */
  98. /*********************************************************************
  99.  * GLOBAL FUNCTIONS
  100.  */
  101. /******************************************************************************************************************
  102. * 函数名称:Refresh_FrameBuffer()
  103. * 功    能:刷新屏幕。
  104. * 入口参数:无
  105. * 出口参数:无
  106. *******************************************************************************************************************/
  107. extern void RefreshFrameBuffer( INT8U disp_mode );
  108. /*********************************************************************
  109.  * LOCAL FUNCTIONS
  110.  */
  111. /*********************************************************************
  112. *********************************************************************/
  113. #endif