⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_5110_driver.h

📁 5510驱动
💻 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 + -