📄 lcd.h
字号:
/********************************LCD.H****************************************
文件名 : LCD.H
目标 : cc2430
创建日期: 2008/04/24
修改日期: 2008/04/25
版本 : version 1.0
作者 : 王坤朋
功能描述: 定义了与LCD相关的宏,和头文件.
******************************************************************************/
//头文件
#include "FONT.H"
#include "HAL.H"
#include "ioCC2430.h"
/**********************控制端口定义********************************************
端口定义:
P1端口--Lcd的控制用端口
P1_2-->片选
P1_6-->复位
P1_7-->数据命令选择
P1_3-->串行时钟
P1_5-->串行数据
******************************************************************************/
#define Lcd_DIR P1DIR|=0xed
#define Lcd_PORT P1|=0xed
#define Lcd_CS P1_2 //CS片选
#define Lcd_RES P1_6 //RES复位
#define Lcd_A0 P1_7 //A0数据命令选择
#define Lcd_CLK P1_3 //CLK串行时钟
#define Lcd_SDI P1_5 //SDI串行数据
#define Lcd_CS_CLR Lcd_CS=0 //CS低电平输出
#define Lcd_CS_SET Lcd_CS=1 //CS高电平输出
#define Lcd_RES_CLR Lcd_RES=0 //RES低电平输出
#define Lcd_RES_SET Lcd_RES=1 //RES高电平输出
#define Lcd_A0_CLR Lcd_A0=0 //A0低电平输出
#define Lcd_A0_SET Lcd_A0=1 //A0高电平输出
#define Lcd_CLK_CLR Lcd_CLK=0 //CLK低电平输出
#define Lcd_CLK_SET Lcd_CLK=1 //CLK高电平输出
#define Lcd_SDI_CLR Lcd_SDI=0 //SDI低电平输出
#define Lcd_SDI_SET Lcd_SDI=1 //SDI高电平输出
//**********************显示设置定义********************************************
#define Lcd_X_MAX 64-1 //屏幕的X轴的物理宽度,行
#define Lcd_Y_MAX 128-1 //屏幕的Y轴的物理宽度,列
#define Lcd_Init_Color 0x00 //定义LCD屏初始化时的背景色
//**************************LCD指令*********************************************
#define Lcd_ON 0xaf //LCD开关命令
#define Lcd_OFF 0xae
#define Lcd_POWER_BC 0x2c //设置上电控制模式
#define Lcd_POWER_VR 0x2a
#define Lcd_POWER_VC 0x29
#define Lcd_POWER_ALL 0x2f
#define Lcd_SETR_0 0x20 //V5内部电压调节电阻设置
#define Lcd_SETR_1 0x21
#define Lcd_SETR_2 0x22
#define Lcd_SETR_3 0x23
#define Lcd_SETR_4 0x24
#define Lcd_SETR_5 0x25
#define Lcd_SETR_6 0x26
#define Lcd_SETR_7 0x27
#define Lcd_ELE_VOL 0x81 //电量设置模式(显示亮度)
#define Lcd_BIAS_9 0xa2 //偏压设置,V5时选此选项设置
#define Lcd_BIAS_7 0xa1 //偏压设置,V3时选此选项设置
#define Lcd_COM_NOR 0xc0 //Com 扫描方式设置,正常方式
#define Lcd_COM_REV 0xc8 //Com 扫描方式设置,反相
#define Lcd_SEG_NOR 0xa0 //Segment方向,正常
#define Lcd_SEG_REV 0xa1 //Segment方向,反向
#define Lcd_ALL_LIGNT 0xa5 //全屏点亮
#define Lcd_ALL_LOW 0xa4 //全屏变暗
#define Lcd_ALL_NOR 0xa6 //正相显示,RAM中数据不变
#define Lcd_ALL_REV 0xa7 //反相显示,RAM中数据不变
#define Lcd_STATIC_ON 0xad //静态指示器,ON
#define Lcd_STATIC_OFF 0xac //静态指示器,OFF
#define Lcd_BEGIN_LINE 0x40+0 //设置显示起始行对应RAM行号,尾数0~63
#define Lcd_COL_PAGE 0xb0+0 //设置显示起始页对应RAM页号,尾数0~8
#define Lcd_COL_LINE_LOW 0x04 //设置当前列基数指令,低四位有效
#define Lcd_COL_LINE_HIG 0x10 //设置当前列基数指令,低四位有效
//***************************函数声明***********************************************//
extern void LcdInit(void); //LCD初始化
extern void PutEnChar(INT8U x,INT8U y,INT8U word,INT8U rev); //向LCD输出单个英文字符
extern void PutCChar(INT8U x,INT8U y,INT8U ch[],INT8U rev); //向LCD输出单个汉字字符
extern void PutString(INT8U x,INT8U y,INT8U *p,INT8U rev); //向LCD输出字符串,英文或汉字
extern void ClrScreen(INT8U Mode); //清屏,0=全部清除;1=填充前景色
extern void RefreshScreen(void); //刷新屏幕,用于设置的更新
extern void LCD_Fill(INT8U x1,INT8U y1,INT8U x2,INT8U y2,INT8U color);//LCD填充颜色
extern void LcdBMP(INT8U x1,INT8U y1,INT8U xw,INT8U yw,INT8U *bmp); //向LCD输出一张图片
//**************************外部变量***********************************************//
extern INT8U LcdLum; //量度调整,0x00~0x3f
extern INT8U LcdMode; //省电模式,0=正常显示;1=睡眠模式;2=备用模式
extern INT8U LcdStaticMode; //静态指示器状态,0=关;1=0.5s闪烁;2=1s闪烁;3=all on
//*********************************************************************************//
//函数和变量使用说明:
//void LcdInit(void); 用于LCD的初始化,在初始化过程中调用.
//void PutEnChar(INT8U x,INT8U y,INT8U word,INT8U rev); 向LCD输出单个英文字符.
//void PutCChar(INT8U x,INT8U y,INT8U ch[],INT8U rev); 向LCD输出单个汉字字符
//void PutString(INT8U x,INT8U y,INT8U *p,INT8U rev); 向LCD输出字符串,调用之前要设置字体,用于显示汉字或英文字符.
//void ClrScreen(INT8U Mode); 清屏,0=全部清除;1=填充前景色
//void RefreshScreen(void); 刷新屏幕,用于设置的更新,在每次改变显示屏亮度,节电模式,静态指示器状态后调用.
//void AwakeScreen(void); 从节电模式唤醒LCD
//void LCD_Fill(INT8U x1,INT8U y1,INT8U x2,INT8U y2,INT8U color);LCD填充颜色,用于显示定制图形.
//INT8U LcdLum; 量度调整,0x00~0x3f
//INT8U LcdMode; 省电模式,0=正常显示;1=睡眠模式(静态指示器OFF),MCU可以访问RAM;2=备用模式(静态指示器ON)
//INT8U LcdStaticMode; 静态指示器状态,0=关;1=0.5s闪烁;2=1s闪烁;3=all on
//显示调用实例:
//注意: 行的范围为0~7;列的范围为0~128-16;
//英文显示
//PutEnChar(2,10,'A',0); 向LCD第2行,第10列输出一个英文字符A,黑色显示.
//PutEnChar(2,10,'A',1); 向LCD第2行,第10列输出一个英文字符A,反黑色显示.
//中文显示
//PutCChar(4,0,"欢",0); 向LCD第4行,第0列输出一个'欢',黑色显示.
//PutCChar(4,0,"迎",1); 向LCD第4行,第0列输出一个'迎',反黑色显示.
//中英文混合显示字符串
//PutString(0,0,"欢迎使用CC2430!",0); 向LCD第0行,第0列输出'欢迎使用CC2430!',黑色显示.
//PutString(0,0,"欢迎使用CC2430!",1); 向LCD第0行,第0列输出'欢迎使用CC2430!',反黑色显示.
//清屏
//ClrScreen(0); 清除屏幕为白色.
//ClrScreen(1); 清除屏幕为填充色.用'-------'填充.
//刷新屏幕
//RefreshScreen(); 刷新屏幕,用于设置的更新,在每次改变显示屏亮度,节电模式,静态指示器状态后调用.
//唤醒LCD
//AwakeScreen(); 从节电模式唤醒LCD
//填充设定屏幕区域
//LCD_Fill(0,0,0,127,0xFF); 用黑色填充第一行.
//向LCD输出一张图片
//LcdBMP(0,10,64,32,ICO); 在第0行第10列,显示一个64*32的图片
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -