📄 lcd.h
字号:
#ifndef __LCD_H__
#define __LCD_H__
// write your header here
/********************************显示缓冲区定义********************************/
unsigned char LCD_Buffer[ 33 ] ;
/**********************************指令字定义**********************************/
#define LCD_Clear 0x0001 //清屏
#define LCD_Reset 0x0002 //光标复位
#define LCD_Mode 0x0004 //模式设置
#define LCD_AC_Dec 0x0000 //AC为减1计数器,光标左移
//一个字符位
#define LCD_AC_Inc 0x0002 //AC为加1计数器,光标右移
//一个字符位
#define LCD_NoRoll 0x0000 //写入字符时,禁止滚动
#define LCD_Roll 0x0001 //写入字符时,允许滚动
#define LCD_OnOff 0x0008 //显示开关控制
#define LCD_ScrOn 0x0004 //开画面显示
#define LCD_ScrOff 0x0000 //关画面显示
#define LCD_CurOn 0x0002 //开光标显示
#define LCD_CurOff 0x0000 //关光标显示
#define LCD_FlashOn 0x0001 //开闪烁
#define LCD_FlashOff 0x0000 //关闪烁
#define LCD_Shift 0x0010 //光标或屏移动
#define LCD_ShiftScr 0x0008 //画面移动
#define LCD_ShiftCur 0x0000 //光标移动
#define LCD_ShiftRight 0x0004 //向右移动
#define LCD_ShiftLeft 0x0000 //向左移动
#define LCD_Func 0x0020 //系统功能设置
#define LCD_FuncBit8 0x0010 //8位数据长度
#define LCD_FuncBit4 0x0000 //4位数据长度
#define LCD_FuncDual 0x0008 //双行显示
#define LCD_FuncSingle 0x0000 //单行显示
#define LCD_Func0510 0x0004 //5*10点阵
#define LCD_Func0508 0x0000 //5*8点阵
#define LCD_AddrCGRAM 0x0040 //字符发生器CGRAM地址
//设置
#define LCD_AddrDDRAM 0x0080 //显示地址DDRAM设置
#define LCD_Busy 0x0080 //忙标记
/*******************************控制线操作宏定义*******************************/
//8位数据接口
#define LCD_SetRS *P_IOB_Buffer = *P_IOB_Buffer | 0x2000
#define LCD_ClrRS *P_IOB_Buffer = *P_IOB_Buffer & 0xdfff
#define LCD_SetRW *P_IOB_Buffer = *P_IOB_Buffer | 0x4000
#define LCD_ClrRW *P_IOB_Buffer = *P_IOB_Buffer & 0xbfff
#define LCD_SetEN *P_IOB_Buffer = *P_IOB_Buffer | 0x8000
#define LCD_ClrEN *P_IOB_Buffer = *P_IOB_Buffer & 0x7fff
#define LCD_NegEdgeEN LCD_SetEN ; LCD_ClrEN
#define LCD_SetLT *P_IOB_Buffer = *P_IOB_Buffer | 0x1000
#define LCD_ClrLT *P_IOB_Buffer = *P_IOB_Buffer & 0xefff
/*******************************************************************************
函数原型: void LCD_Init( void ) ;
参数: void
返回值: void
使用方法: LCD_Init( );
说明: LCD初始化
*******************************************************************************/
void LCD_Init( void ) ;
/*******************************************************************************
函数原型: void LCD_Lamp( unsigned int on_off ) ;
参数: unsigned int on_off :on_off=0,背光灯灭;on_off=1,背光灯亮
返回值: void
使用方法: LCD_Lamp( on_off );
说明: 控制LCD背光灯的亮灭
*******************************************************************************/
void LCD_Lamp( unsigned int on_off ) ;
/*******************************************************************************
函数原型: void LCD_WirteCmd( unsigned int cmd ) ;
参数: unsigned int cmd :要写入的命令
返回值: void
使用方法: LCD_WriteCmd( cmd );
说明: 写入命令
*******************************************************************************/
void LCD_WriteCmd( unsigned int cmd ) ;
/*******************************************************************************
函数原型: unsigned int LCD_ReadStat( void ) ;
参数: void
返回值: unsigned int :读出的状态
使用方法: stat = LCD_ReadStat( );
说明: 读出状态
*******************************************************************************/
unsigned int LCD_ReadStat( void ) ;
/*******************************************************************************
函数原型: void LCD_WriteDat( unsigned int dat ) ;
参数: unsigned int dat :要写入的数据
返回值: void
使用方法: LCD_WriteDat( dat );
说明: 写入数据
*******************************************************************************/
void LCD_WriteDat( unsigned int dat ) ;
/*******************************************************************************
函数原型: unsigned int LCD_ReadDat( void ) ;
参数: void
返回值: unsigned int :读出的数据
使用方法: dat = LCD_ReadDat( );
说明: 读出数据
*******************************************************************************/
unsigned int LCD_ReadDat( void ) ;
/*******************************************************************************
函数原型: unsigned int LCD_isBusy( void ) ;
参数: void
返回值: unsigned int : 1,表示LCD忙;0表示LCD空闲
使用方法: busy = LCD_isBusy( );
while( LCD_isBusy( ) ) ; //LCD忙时等待
说明: 判断LCD忙闲状态
*******************************************************************************/
unsigned int LCD_isBusy( void ) ;
/*******************************************************************************
函数原型: void LCD_Display( unsigned int pos ,unsigned char chara ) ;
参数: unsigned int pos :指定显示位置
unsigned char chara :指定要显示的字符
返回值: void
使用方法: LCD_Display( pos , chara ) ;
说明: 在指定位置显示指定字符
*******************************************************************************/
void LCD_Display( unsigned int pos ,unsigned char chara ) ;
/*******************************************************************************
函数原型: void LCD_Load( unsigned char *src ) ;
参数: unsigned char *src :源字符串指针
返回值: void
使用方法: LCD_Load( src ) ;
说明: 将src所指的字符串加载到LCD_Buffer中
*******************************************************************************/
void LCD_Load( unsigned char *src ) ;
/*******************************************************************************
函数原型: void LCD_Update( void ) ;
参数: void
返回值: void
使用方法: LCD_Update( void ) ;
说明: 按LCD_Buffer中的内容更新显示
*******************************************************************************/
void LCD_Update( void ) ;
/*******************************************************************************
函数原型: void LCD_Cur( unsigned int on_off ) ;
参数: unsigned int on_off :on_off=1,显示光标;on_off=0,不显示光标
返回值: void
使用方法: LCD_Cur( on_off ) ;
说明: 显示或消隐光标
*******************************************************************************/
void LCD_CurShow( unsigned int on_off ) ;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -