📄 lcd_library.h
字号:
#ifndef LCD_LIBRARY_H
#define LCD_LIBRARY_H
#include "atmel/at89x51.h"
#include "INTRINS.H"
#define nop() _nop_()
// 定义LCD与单片机的接口
#define _LCD_RESET() LCD_RST = 0 // Sets P1.0 as Low, LCD RESET
#define _LCD_RESET_FINISH() LCD_RST = 1 // Sets P1.0 as High, WorkMode
#define _LCD_RS_SET_CONTROL() LCD_A0 = 0 // P3.0 Low, Control data mode
#define _LCD_RS_SET_DISPLAY() LCD_A0 = 1 // P3.0 Low, Display data mode
/*----------------------------------------------------------------------------*/
/* 定义LCD指令 */
/* ---------------------------------------------------------------------------*/
//Display ON/OFF
#define LCD_DISP_OFF 0xAE
#define LCD_DISP_ON 0xAF
//Initial Display Line
#define LCD_INIT_DISP_LINE 0 // Inits display line at 0
#define _LCD_SET_DISPLINE(y) LCD_WRT_CTL(y|0x40) //y = 0~63
//Reference Voltage Select
#define LCD_REFVOLT_MODE 0x81
#define LCD_INIT_REFVOLT 0x25
//ADC Select
#define LCD_ADCSEL_NORMAL 0xA0
#define LCD_ADCSEL_REVERS 0xA1
//Set Page Address
#define _LCD_SET_PAGE(y) LCD_WRT_CTL((y&0x07)|0xB0) //y = 0~7
//Set Column Adress
#define _LCD_SET_COLUMN(y) LCD_WRT_CTL(y&0x0f);LCD_WRT_CTL((y>>4)|0x10) //y = 0~131
//Reverse Display ON/OFF
#define LCD_REVERSDISP_OFF 0xA6
#define LCD_REVERSDISP_ON 0xA7
//Entire Display ON/OFF
#define LCD_ENTIREDISP_OFF 0xA4
#define LCD_ENTIREDISP_ON 0xA5
//Select LCD Bias
#define LCD_LCDBIAS_0 0xA2
#define LCD_LCDBIAS_1 0xA3
//#define LCD_SETMODIFYRD 0xE0
//#define LCD_RESMODIFYRD 0xEE
//LCD Reset
#define LCD_RESET 0xE2
//SHL Select
#define LCD_SHLSELECT_0 0xC0
#define LCD_SHLSELECT_1 0xC8
//Power control
#define LCD_POWERCTRL 0x28
#define LCD_POWERCTRL_INTERN 0x2F
//Regulator Resistor Select
//#define LCD_REGRESISTOR 0x27 //6,48
#define LCD_REGRESISTOR 0x26 //5,29
//#define LCD_REGRESISTOR 0x23 //
//#define LCD_REGRESISTOR 0x25 //
//Set Static Indicator State
#define LCD_STATIND_MODE_OFF 0xAC
#define LCD_STATIND_MODE_ON 0xAD
#define LCD_STATE_OFF 0x00
#define LCD_STATE_BLINK_1 0x01
#define LCD_STATE_BLINK_2 0x02
#define LCD_STATE_ON 0x03
#define LCD_PAGEADR 0xB0
#define LCD_COLADR_L 0x00
#define LCD_COLADR_H 0x10
#define LCD_DISPLAY_MODE_1 0x00
#define LCD_DISPLAY_MODE_2 0x01
#define LCD_PLOT_MAX_POINTS 127 // Largest 127
#define LCD_PLOT_HEIGHT 0x04
#define LCD_PLOT_MAX_VALUE 2130
#define LCD_DISPLAY_OFFSET 5
#define LCD_DISPLAY_ACC_YOFFSET 4
#define LCD_PLOT_ACC_HEIGHT 3
#define LCD_PLOT_MAX_ACC_VALUE 1500
#define LCD_PLOT_MAX_ACC_POINTS 62
/*----------------------------------------------------------------------------*/
/* 函数声明 */
/*----------------------------------------------------------------------------*/
void InitLCD();
void ClearLCD();
void LCD_Cursor2yx(unsigned char yPage,unsigned char xColumn);
void LCD_PutBigchar(char Char_BYT, unsigned char y,unsigned char x);
void LCD_PutBigstr(char* Str, unsigned char y,unsigned char x);
void LCD_Delay(unsigned int i);
void LCD_RESET_PLOT_BUFFER();
void LCD_PlotLine(unsigned int NewPoint);
void LCD_PutStrSz(char *Str, int Sz);
void LCD_Putchar(char Char_BYT);
void LCD_Putstr(char *Str);
unsigned char LCD_mini_printf(unsigned char *format, ...);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -