📄 lcdfun._h
字号:
#ifndef _LCDFUN_H_
#define _LCDFUN_H_
#ifndef uchar
#define uchar unsigned char
#endif
//晶振频率: 8MHZ:
# define XTAL 8
//LCD接口(PC接口):
#define LCD_RS 0 //L:COMMAND; H:DATA//
#define LCD_RW 1 //L:WRITE; H:READ//
#define LCD_E 2 //INPUT ENABLE//
#define LCD_CS1 5 //L有效//
#define LCD_RES 4 //L有效//
#define LCD_AK 3 //L有效,打开背光//
# define SETPORTC(b) PORTC|=BIT(b)
# define CLRPORTC(b) PORTC&=~BIT(b)
# define SETDDRC(b) DDRC|=BIT(b) //端口C的第b位设置为输入
# define CLRDDRC(b) DDRC&=~BIT(b)//端口C的第b位设置为输出
# define INPUTPINC(b) PINC&BIT(b)
# define SETDDRD() DDRD=0xFF //端口D要输出
# define SETPORTD() PORTD=0xFF
# define CLRDDRD() DDRD=0x00 //端口D要输入
# define LCD_DATA_OUT PORTD
# define LCD_DATA_IN PIND
//OCM12864-9 控制字:
#define LCD_ON 0XAF
#define LCD_OFF 0XAE
#define LCD_START_LINE_SET 0X40
#define LCD_PAGE_SET 0XB0
#define LCD_COLUME_SET_H 0X10
#define LCD_COLUME_SET_L 0X00
#define LCD_ADC_NORMAL 0XA0
#define LCD_ADC_REVERSE 0XA1
#define LCD_DISPLAY_NORMAL 0XA6
#define LCD_DISPLAY_REVERSE 0XA7
#define LCD_ALL_POINT_ON 0XA5
#define LCD_ALL_POINT_NORMAL 0XA4
#define LCD_BIAS_1DIV9 0XA2
#define LCD_BIAS 1DIV7 0XA3
#define LCD_RMW 0XE0
#define LCD_END 0XEE
#define LCD_RESET 0XE2
#define LCD_COMMON_NORMAL 0XC0
#define LCD_COMMON_REVERSE 0XC8
#define LCD_POWER_CONTROL 0X28
#define LCD_POWER_ALL_OFF 0X00
#define LCD_POWER_ALL_ON 0X07
#define LCD_BOOSTER_ON 0X04
#define LCD_REGULATOR_ON 0X02
#define LCD_FOLLOWER_ON 0X01
#define LCD_RESISTOR_RATIO 0X20
#define LCD_ELEC_VOLUME_SET 0X81
#define LCD_STATIC_INDICATOR_ON 0XAD
#define LCD_STATIC_INDICATOR_OFF 0XAC
#define LCD_NOP 0XE3 //command for non-operation
#define LCD_TEST 0XF0 //command for IC test
//LCD驱动所需图片库:
extern unsigned char const MainUIPic[]; //开机画面
extern unsigned char const Ascii[][8]; //ASCII字符
extern unsigned char const BanHanzi[][16]; //8*16半角汉字
extern unsigned char Hanzi[]; //16*16全角汉字
extern unsigned char const BattVolPic[15][16]; //电池电量
//LCD驱动函数:
extern void Delay(unsigned int n);
extern void LCD_AK_Control(uchar OnOff); //On0FF=1,背光显示开;
extern void LCD_Ini(void);
extern void PrintOneASCII(uchar h,uchar l,uchar Asc); //在指定的位置显示1个ASCII码字符
extern void ClearLCD(void); //LCD清屏
extern void Display_Picture(uchar const *pic); //显示满屏图形
extern void PrintConstAscStr(uchar h,uchar l,uchar const *str,uchar Len);//在指定位置显示指定长度的ASCII字符串
extern void PrintAscStr(uchar h,uchar l,uchar *str,uchar Len);//在指定位置显示指定长度的ASCII字符串
extern void PrintOneHZ(uchar h,uchar l,unsigned char *hzm); //在指定位置显示一个汉字
extern void Display_BattVol(uchar const *pic,uchar Vol); //在LCD左下角显示电池电量
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -