📄 display.c
字号:
#include "Display.h"
#ifdef BUILD_USE_UI
#define DSP_DATA P0
sbit DSP_RS = P2^5;
sbit DSP_RW = P2^6;
sbit DSP_En = P2^7;
BYTE _Display_Status = 0x00;
void Disp_WriteCommand(register BYTE Command){
DSP_RS = 0;
DSP_RW = 0;
DSP_En = 1;
DSP_DATA = Command;
DSP_En = 0;
LongDealy(3);
}
void Disp_WriteData(register BYTE Data){
DSP_RS = 1;
DSP_RW = 0;
DSP_En = 1;
DSP_DATA = Data;
DSP_En = 0;
LongDealy(3);
}
void Disp_Init(){
_Display_Status = 0x00;
Disp_WriteCommand(0x30);
Disp_WriteCommand(0x38);
Disp_Clear(0,0,0);
Disp_SetCursor(1,1);
Disp_SetInMode(0x02);
Disp_OpenScreen(TRUE);
Disp_OpenCursor(FALSE);
Disp_OpenFlicker(FALSE);
}
/*
// 写数据到屏幕(X,Y座标起点为(1,1))
void Disp_WriteBuff(BUFF Datas, BYTE Len, BYTE X, BYTE Y){
BYTE i;
Disp_SetCursor(X,Y);
if(Datas)
for(i=0; i<Len; i++) Disp_WriteData(Datas[i]);
}
*/
// 写字符串到屏幕(X,Y座标起点为(1,1))
BYTE Disp_WriteStr(char *Str, BYTE MaxLen, BYTE X, BYTE Y){
BOOL WSLen = FALSE;
BYTE i = 0;
Disp_SetCursor(X,Y);
if(MaxLen==0) WSLen = TRUE; // 确定是否按字符串长度输出
if(Str)
while(Str[i]!='\0'){
Disp_WriteData(Str[i++]);
if((!WSLen)&&((--MaxLen)==0)) break;
}
// 长度不足补空格(清理行尾)
while((!WSLen)&&(MaxLen--)){
Disp_WriteData(' ');
i++;
}
return(i); // 返回实际写出长度
}
// 清屏/行(当Y=0时清全屏)
void Disp_Clear(BYTE Y, BYTE Left, BYTE Len){
if(Y==0){
Disp_WriteCommand(0x01);
Disp_WriteCommand(0x02);
}
else if(Left<SCREEN_WIDTH){
if(Len==0) Len = SCREEN_WIDTH - Left + 1;
Disp_SetCursor(Left,Y);
do{ Disp_WriteData(' '); }while(--Len);
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -