/******************** (C) COPYRIGHT 2006 STMicroelectronics ******************** | |
* File Name : lcd.h | |
* Author : MCD Application Team | |
* Date First Issued : 03/10/2006 | |
* Description : This file contains all the functions prototypes for the | |
* lcd software driver. | |
******************************************************************************** | |
* History: | |
* 07/17/2006 : V1.0 | |
* 03/10/2006 : V0.1 | |
******************************************************************************** | |
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS | |
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. | |
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, | |
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE | |
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING | |
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. | |
*******************************************************************************/ | |
/* Define to prevent recursive inclusion ---------------------------------------*/ | |
#ifndef __LCD_H | |
#define __LCD_H | |
/* Includes --------------------------------------------------------------------*/ | |
#include "75x_lib.h" | |
/* Exported types --------------------------------------------------------------*/ | |
/* Data lines configuration mode */ | |
typedef enum | |
{ | |
Input, | |
Output | |
} DataConfigMode_TypeDef; | |
/* Text color mode */ | |
typedef enum | |
{ | |
BlackText=0, | |
WhiteText=1 | |
} TextColorMode_TypeDef; | |
/* Dot On/Off mode */ | |
typedef enum | |
{ | |
Dot_On, | |
Dot_Off | |
} DotMode_TypeDef; | |
/* Exported constants ----------------------------------------------------------*/ | |
/* LCD Control pins */ | |
#define CtrlPin_E2 0x00000001 | |
#define CtrlPin_E1 0x00000002 | |
#define CtrlPin_RW 0x00000004 | |
#define CtrlPin_DI 0x00000008 | |
/* LCD Commands */ | |
#define DISPLAY_ON 0xAF | |
#define DISPLAY_OFF 0xAE | |
#define START_LINE 0xC0 | |
#define START_COLUMN 0x00 | |
#define CLOCKWISE_OUTPUT 0xA0 | |
#define DYNAMIC_DRIVE 0xA4 | |
#define DUTY_CYCLE 0xA9 | |
#define READ_MODIFY_WRITE_OFF 0xEE | |
#define SOFTWARE_RESET 0xE2 | |
/* LCD Lines when LCD is managed as 2*17 characters */ | |
#define Line1 0x0 | |
#define Line2 0x2 | |
/* Exported macro --------------------------------------------------------------*/ | |
/* Exported functions ----------------------------------------------------------*/ | |
/*----- Low layer function -----*/ | |
void LCD_CtrlLinesConfig(void); | |
void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, u32 CtrlPins, BitAction BitVal); | |
void LCD_DataLinesConfig(DataConfigMode_TypeDef Mode); | |
void LCD_DataLinesWrite(GPIO_TypeDef* GPIOx, u32 PortVal); | |
/*----- Medium layer function -----*/ | |
void LCD_CheckMasterStatus(void); | |
void LCD_CheckSlaveStatus(void); | |
void LCD_SendMasterCmd(u8 Cmd); | |
void LCD_SendSlaveCmd(u8 Cmd); | |
void LCD_SendMasterData(u8 Data); | |
u32 LCD_ReadMasterData(void); | |
void LCD_SendSlaveData(u8 Data); | |
u32 LCD_ReadSlaveData(void); | |
void LCD_SetMasterPage(u8 Page); | |
void LCD_SetSlavePage(u8 Page); | |
void LCD_SetMasterColumn(u8 Address); | |
void LCD_SetSlaveColumn(u8 Address); | |
void LCD_DrawChar(u8 Line, u8 Column, u8 Width, u8 *Bmp); | |
u8 LCD_HexToAsciiLow(u8 byte); | |
u8 LCD_HexToAsciiHigh(u8 byte); | |
void LCD_SetTextColor(TextColorMode_TypeDef TextColor); | |
/*----- High layer function -----*/ | |
void LCD_Init(void); | |
/* LCD managed as 2 Lines, 17 characters each one (2Lines*17Char) */ | |
void LCD_ClearLine(u8 Line); | |
void LCD_DisplayChar(u8 Line, u8 Column, u8 Ascii, TextColorMode_TypeDef CharMode); | |
void LCD_DisplayString(u8 Line, u8 *ptr, TextColorMode_TypeDef CharMode); | |
void LCD_Printf(u8* ptr, ...); | |
/* LCD managed as 122*32 dots */ | |
void LCD_ClearMaster(void); | |
void LCD_ClearSlave(void); | |
void LCD_Clear(void); | |
void LCD_DrawMasterGraphic(u8 *Bmp); | |
void LCD_DrawSlaveGraphic(u8 *Bmp); | |
void LCD_DrawGraphic(u8 *Bmp); | |
void LCD_ScrollGraphic(u8 *Bmp, u32 nCount); | |
void LCD_DrawPixel(u8 XPos, u8 YPos, DotMode_TypeDef Mode); | |
void LCD_DrawLine(u8 XPos1, u8 YPos1, u8 XPos2, u8 YPos2); | |
void LCD_DrawBox(u8 XPos, u8 YPos, u8 Dx, u8 Dy); | |
#endif /*__LCD_H */ | |
/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE******/ |