📄 qi.h
字号:
#define LCD_X_MAX 128-1 //屏幕的X轴的物理宽度
#define LCD_Y_MAX 64-1 //屏幕的Y轴的物理宽度
#define LCD_XY_Switch 0 //显示时X轴和Y由交换
#define LCD_X_Rev 0 //显示时X轴反转
#define LCD_Y_Rev 0 //显示时Y轴反转
#if LCD_XY_Switch == 0
#define Dis_X_MAX LCD_X_MAX
#define Dis_Y_MAX LCD_Y_MAX
#endif
#if LCD_XY_Switch == 1
#define Dis_X_MAX LCD_Y_MAX
#define Dis_Y_MAX LCD_X_MAX
#endif
unsigned char X_Witch; //字符写入时的宽度
unsigned char Y_Witch; //字符写入时的高度
unsigned char Font_Wrod; //字体的每个字模占用多少个存储单元数
unsigned char *Char_TAB;
//========================================================================
// 函数: void PutChar(unsigned char x,unsigned char y,char a)
// 描述: 写入一个标准字符
// 参数: x X轴坐标 y Y轴坐标(0~7页)
// a 要显示的字符在字库中的偏移量
// 返回: 无
// 备注: ASCII字符可直接输入ASCII码即可
// 版本:
// 2006/10/15 First version
// 2007/05/17 V2.1 for seriea port LCD
//========================================================================
void PutChar(unsigned char x,unsigned char y,char a)
{
unsigned char i,j;
unsigned char code *p_data;
p_data = Char_TAB + a*Font_Wrod; //要写字符的首地址
x = x+1; //Edit by xinqiang
for(j=0;j<Y_Witch;j++)
{
if((y+j) < (Dis_Y_MAX/8))
LCD_RegWrite(y+j+0xb0);
LCD_RegWrite(((x&0xf0) >> 4)|0x10); //设置初始地址
LCD_RegWrite(x&0x0f);
for(i=0;i<X_Witch;i++)
{
if(((x+i) < Dis_X_MAX)&&((y+j) < (Dis_Y_MAX/8)))
LCD_DataWrite(*p_data++);
}
}
}
//========================================================================
// 函数: void PutString(unsigned char x,unsigned char y,char *p)
// 描述: 在x、y为起始坐标处写入一串标准字符
// 参数: x X轴坐标 y Y轴坐标(0~7页)
// p 要显示的字符串
// 返回: 无
// 备注: 仅能用于自带的ASCII字符串显示
// 版本:
// 2006/10/15 First version
//========================================================================
void PutString(unsigned char x,unsigned char y,char *p)
{
while(*p!=0)
{
PutChar(x,y,*p);
x += X_Witch;
if((x + X_Witch) > Dis_X_MAX)
{
x = 0;
if((Dis_Y_MAX - y) < Y_Witch) break;
else y += Y_Witch;
}
p++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -