📄 lcd.c
字号:
#include<lcd.h>
unsigned char col,row; //当前行号与列号
char code syn_57[ ]={
0x3E,0x51,0x49,0x45,0x3E, // 0 代码分别为 0
0x42,0x43,0x7F,0x40,0x40, // 1 代码分别为 1
0x46,0x61,0x51,0x49,0x46, // 2 代码分别为 2
0x22,0x49,0x49,0x49,0x36, // 3 代码分别为 3
0x18,0x14,0x52,0x7F,0x50, // 4 代码分别为 4
0x2F,0x49,0x49,0x49,0x30, // 5 代码分别为 5
0x3E,0x49,0x49,0x49,0x30, // 6 代码分别为 6
0x01,0x61,0x11,0x0D,0x03, // 7 代码分别为 7
0x36,0x49,0x49,0x49,0x36, // 8 代码分别为 8
0x06,0x49,0x49,0x29,0x16, // 9 代码分别为 9
0x00,0x60,0x60,0x00,0x00, // . 代码分别为 10
0x08,0x08,0x7E,0x08,0x08, // + 代码分别为 11
0x08,0x08,0x08,0x08,0x08, // - 代码分别为 12
0x44,0x28,0x10,0x28,0x44, // * 代码分别为 13
0x40,0x20,0x10,0x08,0x04 // / 代码分别为 14
};
//校验芯片是否就绪
void wait(void)
{
char xdata *ptr;
ptr=CS+5;
while(*ptr&0x80);
ptr=CS+6;
while(*ptr&0x80);
}
// 显示器开/关函数
void disp_on(void)
{
char xdata *ptr;
ptr=CS+1;
wait();
*ptr=0x3f;
wait();
*ptr=0xc0; //display start line
ptr=CS+2;
wait();
*ptr=0x3f;
wait();
*ptr=0xc0;
}
//清屏
void clr_screen(void)
{
char xdata *ptr;
char cl,cs;
row=0;
col=0;
for(row=0;row<8;row++)
{
for(col=0;col<128;col++)
{
if(col<64){
cs=1;
cl=col;
}
else{
cs=2;
cl=col-64;
}
ptr=CS+cs;
wait();
*ptr=0xb8+row;
wait();
*ptr=0x40+cl;
ptr=CS+8+cs;
wait();
*ptr=0x00;
}
}
}
void put_data(char dat)
{
char xdata *ptr;
char cs,cl;
row=row%8;
col=col%128;
if(col<64){
cs=1;
cl=col;
}
else{
cs=2;
cl=col-64;
}
ptr=CS+cs;
*ptr=0xb8+row;
wait();
*ptr=0x40+cl;
ptr=CS+8+cs;
wait();
*ptr=dat;
col++;
row=(row+col/128)%8;
col=col%128;
}
//光标定位
void locate (char r,char c)
{
col=c;
row=r;
}
//显示单个数据
void style_57(char c) //调用字库 c为欲显示字符的代码
{
int i;
for (i=0; i<5; i++)
put_data(syn_57[5*c+i]); //写入字符
put_data(0x00); //写入间隔列
}
void put_int(int n,char w) //显示一个整数
{
int i,m=1;
for (i=0;i<w-1;i++)
m=m*10;
for (i=0;i<w;i++)
{
style_57(n/m);
n=n%m;
m=m/10;
}
}
void put_float(float f,char w1,char w2) //显示浮点数
{ int i,k,m=1;
k=(int)f;
put_int(k,w1);
style_57(10);
for (i=0;i<w2;i++)
m=m*10;
k=(f-k)*m;
put_int(k,w2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -