【2017年整理】诺基亚5110 LCD屏幕驱动程序.doc
文本预览下载声明
/*******************************************************
文件名 : Nokia5110Lcd.h
描述 : 诺基亚 5110 LCD 驱动头文件
作者 : xylch101
编辑器 : Notepad 2
日期 : 2008年06月27日
*******************************************************/
#ifndef NOKIA_5110_LCD_H
#define NOKIA_5110_LCD_H
//宽高像素
#define LCD_X_RES 84
#define LCD_Y_RES 48
//管脚配置 (atmega16L) 自行修改
#define LCD_DC_PIN (12) // P4.2 D/C
#define LCD_CE_PIN (14) // P4.4 /SCE
#define SPI_MOSI_PIN (11) // P4.1 DIN
#define LCD_RST_PIN (13) // P4.3 /RST
#define SPI_CLK_PIN (10) // P4.0 /SCLK
#define DIN_0() P4OUT=~SPI_MOSI_PIN
#define DIN_1() P4OUT|= SPI_MOSI_PIN
#define SCLK_0() P4OUT=~SPI_CLK_PIN
#define SCLK_1() P4OUT|= SPI_CLK_PIN
//P4.0SCLK
//P4.1DIN
//P4.2D/C
//P4.3/RST
//P4.4--/SCE
typedef unsigned char byte;
typedef unsigned int word;
//枚举 D/C 模式选择
typedef enum
{
DC_CMD = 0, //写命令
DC_DATA = 1 //写数据
} LcdExecType;
//枚举 画点类型选择
typedef enum
{
PIXEL_CLEAR = 0, //擦除
PIXEL_DRAW = 1, //画点
PIXEL_XOR = 2 //取反
} LcdPixelMode;
//驱动函数声明
void LcdInit ( void );
void LcdSetContrast ( byte contrast );
void LcdSetXY (byte X, byte Y);
void LcdExec ( byte data, LcdExecType cd );
byte UnClear ( byte data, byte n );
byte LnClear ( byte data, byte n );
void SplitByte ( byte data, byte nByLow, byte bytes[ 2 ] );
void BufferPixelStuff ( byte type, byte index, byte x, byte y, byte width, byte height);
void CacheEnglishString ( byte x, byte y, byte width, byte height, byte bWidth, byte *dataPtr );
void CachePixel ( byte x, byte y, LcdPixelMode mode );
void CommitBuffer ( void );
void ClearBuffer ( void );
#endif
/*******************************************************
文件名 : Nokia5110Lcd.c
描述 : 诺基亚 5110 LCD 驱动源文件
作者 : xylch101
编辑器 : Notepad 2
日期 : 2008年06月27日
*******
显示全部