lcd.h

来自「STM32为ST公司最新推出的基于CORTEX内核的32位MCU,基丰富的外设,」· C头文件 代码 · 共 103 行

H
103
字号
/*
*********************************************************************************************************
*                                               uC/LCD
*                                         LCD Module Driver
*
*                              (c) Copyright 2005; Micrium; Weston, FL
*
*                   All rights reserved.  Protected by international copyright laws.
*                   Knowledge of the source code may not be used to write a similar
*                   product.  This file may only be used in accordance with a license
*                   and should not be redistributed in any way.
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                        LCD MODULE SOURCE FILE
*
* Filename      : lcd.h
* Programmer(s) : JJL
* Version       : V3.00
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                               CONSTANTS
*********************************************************************************************************
*/

#define  DISP_MODULE_PRESENT        1

#define  DISP_SEL_CMD_REG           0
#define  DISP_SEL_DATA_REG          1

/*
*********************************************************************************************************
*                                           FUNCTION PROTOTYPES
*********************************************************************************************************
*/

#define PIN_E                 (   1 << 12)
#define PIN_RW                (   1 << 9)
#define PIN_RS                (   1 << 8)
#define PINS_DATA             0x0F 

#define LCD_DATA_DIR_IN       GPIOC->CRL = (GPIOC->CRL & 0xFFFF0000) | 0x00004444;

#define LCD_DATA_DIR_OUT      GPIOC->CRL = (GPIOC->CRL & 0xFFFF0000) | 0x00003333;


#define LCD_DATA_IN           ((GPIOC->IDR & PINS_DATA >> 0)& 0x0F)

/* pin E  setting to 0 or 1                                                   */
#define LCD_E(x)              GPIOC->ODR = (GPIOC->ODR & ~PIN_E)  | (x ? PIN_E : 0);

/* pin RW setting to 0 or 1                                                   */
#define LCD_RW(x)             GPIOC->ODR = (GPIOC->ODR & ~PIN_RW) | (x ? PIN_RW : 0);

/* pin RS setting to 0 or 1                                                   */
#define LCD_RS(x)             GPIOC->ODR = (GPIOC->ODR & ~PIN_RS) | (x ? PIN_RS : 0);
void  DispChar(CPU_INT08U row, CPU_INT08U col, CPU_INT08U c);
void  DispClrLine(CPU_INT08U line);
void  DispClrScr(void);
void  DispDefChar(CPU_INT08U id, CPU_INT08U *pat);
void  DispDly_uS(CPU_INT32U us);
void  DispDummy(void);
void  DispHorBar(CPU_INT08U row, CPU_INT08U col, CPU_INT08U val);
void  DispHorBarInit(void);
void  DispVertBar(CPU_INT08U row, CPU_INT08U col, CPU_INT08U val);
void  DispVertBarInit(void);
void  DispInit(CPU_INT08U maxrows, CPU_INT08U maxcols);
void  DispStr(CPU_INT08U row, CPU_INT08U col, CPU_INT08U *s);
 unsigned char wait_while_busy (void);
 unsigned char lcd_read_status (void);
 static void delay (int cnt);
/*
*********************************************************************************************************
*                                           FUNCTION PROTOTYPES
*                                            HARDWARE SPECIFIC
*********************************************************************************************************
*/

#if DISP_BUS_WIDTH == 4
void  DispDataWrOneNibble(CPU_INT08U data);
#endif

void  DispDataWr(CPU_INT08U data);
void  DispInitPort(void);
void  DispSel(CPU_INT08U sel);

/*
*********************************************************************************************************
*                                           FUNCTION PROTOTYPES
*                                               OS SPECIFIC
*********************************************************************************************************
*/

void  DispInitOS(void);                       /* Initialize RTOS services                              */
void  DispLock(void);                         /* Ensure  exclusive access to the display               */
void  DispUnlock(void);                       /* Release exclusive access to the display               */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?