📄 lcd_5110_driver.h
字号:
/****************************************************************************
** - LCD_5110_driver.h -
**
** 5110型号的LCD驱动程序的匹配文档
**
**
**
** Programmer:高其良
**
** File version: $2008.9.18$
**
***************************************************************************/
#ifndef lcd_5110_driver_h
#define lcd_5110_driver_h
/*************************自定义IO插入******************************/
//#include "IO_def.h"
/*************************自定义IO插入******************************/
#define SYSTEM_CLOCK 8000000
#include "def_AVR_IAR.h"
//#include<iom48.h>
/*******************IO定义(根据具体情况重新定义)********************/
#pragma message ("\nLCD5110驱动:")
#if !defined(LCD_5110_CLK_DDR) || !defined(LCD_5110_DIN_DDR) || \
!defined(LCD_5110_DC_DDR) || !defined(LCD_5110_CS_DDR) || \
!defined(LCD_5110_RST_DDR) || !defined(LCD_5110_CLK) || \
!defined(LCD_5110_DIN) || !defined(LCD_5110_DC) || \
!defined(LCD_5110_CS) || !defined(LCD_5110_RST)
#pragma message ("警告:IO没有完全重新定义,使用默认定义!")
/*
#define LCD_5110_CLK_DDR DB_1
#define LCD_5110_DIN_DDR DB_0
#define LCD_5110_DC_DDR DD_7
#define LCD_5110_CS_DDR DD_6
#define LCD_5110_RST_DDR DD_5
#define LCD_5110_CLK B_1
#define LCD_5110_DIN B_0
#define LCD_5110_DC D_7
#define LCD_5110_CS D_6
#define LCD_5110_RST D_5
*/
#define LCD_5110_CLK_DDR DB_5
#define LCD_5110_DIN_DDR DC_0
#define LCD_5110_DC_DDR DC_1
#define LCD_5110_CS_DDR DC_2
#define LCD_5110_RST_DDR DC_3
#define LCD_5110_CLK B_5
#define LCD_5110_DIN C_0
#define LCD_5110_DC C_1
#define LCD_5110_CS C_2
#define LCD_5110_RST C_3
/*
#define LCD_5110_CLK_DDR DDRB_Bit1
#define LCD_5110_DIN_DDR DDRB_Bit0
#define LCD_5110_DC_DDR DDRD_Bit7
#define LCD_5110_CS_DDR DDRD_Bit6
#define LCD_5110_RST_DDR DDRD_Bit5
#define LCD_5110_CLK PORTB_Bit1
#define LCD_5110_DIN PORTB_Bit0
#define LCD_5110_DC PORTD_Bit7
#define LCD_5110_CS PORTD_Bit6
#define LCD_5110_RST PORTD_Bit5
*/
#else
#pragma message ("提示:IO全部重新定义成功,使用新定义")
#endif
/*******************IO初始化(根据具体情况重新定义)********************/
#ifndef LCD_5110_IO_INITIALIZTION
#pragma message ("警告:IO初始化函数没有重新定义,使用默认初始化函数!")
#define LCD_5110_IO_INITIALIZTION() \
LCD_5110_CLK_DDR = 1;\
LCD_5110_DIN_DDR = 1;\
LCD_5110_DC_DDR = 1;\
LCD_5110_CS_DDR = 1;\
LCD_5110_RST_DDR = 1;\
LCD_5110_CS = 1;\
LCD_5110_RST = 0;\
for(long i = 0; i < 65000 ; i++);\
LCD_5110_RST = 1
#else
#pragma message ("提示:IO初始化函数从新定义成功,使用新定义")
#endif //LCD_5110_IO_INITIALIZTION
/*******************宏函数**************************/
/*******************命令字与命令格式(格式中1表示可变参量)*********************/
#define LCD_5110_COMMEND_PROCESS(com_type,format,com) \
((com_type&(~format))|(com&format))
/*功能设定*/
#define LCD_5110_FUNCTION_SET(factor) \
LCD_5110_COMMEND_PROCESS(0x20,0x07,factor)
/*显示控制*/
#define LCD_5110_DISPLAY_CONTROL(factor) \
LCD_5110_COMMEND_PROCESS(0x08,0x05,factor)
/*页地址设定*/
#define LCD_5110_SET_Y(factor) \
LCD_5110_COMMEND_PROCESS(0x40,0x07,factor)
/*列地址设定*/
#define LCD_5110_SET_X(factor) \
LCD_5110_COMMEND_PROCESS(0x80,0x7f,factor)
/*温度控制*/
#define LCD_5110_TEMPERATURE_CONTROL(factor) \
LCD_5110_COMMEND_PROCESS(0x04,0x03,factor)
/*偏光率设定*/
#define LCD_5110_BIAS_SYSTEM(factor) \
LCD_5110_COMMEND_PROCESS(0x10,0x07,factor)
/*设定Vop电压*/
#define LCD_5110_SET_VOP(factor) \
LCD_5110_COMMEND_PROCESS(0x80,0x7f,factor)
/*******************************函数定义**********************************/
void Lcd5110Write8Bit(unsigned char byte);
void Lcd5110Wdat(unsigned char dat);
void Lcd5110Wcom(unsigned char com);
void Lcd5110Initializtion(void);
void Lcd5110PowerDownMode(void);
void Lcd5110Locate(unsigned char page,unsigned char column);
void Lcd5110Cls(void);
void Lcd5110AscPrintf(unsigned char page,unsigned char column,unsigned char __flash *p);
void Lcd5110CcharPrintf(unsigned char page,unsigned char column,unsigned char __flash *p);
void Lcd5110BmpPrintf(unsigned char page,unsigned char column,unsigned char __flash *p);
void Lcd5110NumberPrintf(unsigned char page,unsigned char column,unsigned char __flash *p,unsigned int s);
#endif //lcd_5110_driver_h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -