📄 lcd.c
字号:
#include"lcd.h"
#include"..\config\function_declaration.h"
void lcd_init(void)
{
LCD_REQ = 0;
LCD_RESET = 0;
delay(1);
LCD_RESET = 1;
}
void lcd_clear(void)
{
write_lcd(0xF4);
}
void interface_selftest(void)
{
uchar code *p;
p = selftest;
display_eng(8,56,p,14);
}
void interface_main(void)
{
uchar code *p1;
uchar idata *p2;
p1 = main1;
display_U(9,24);
display_eng(11,24,p1,9);
if(Line==1)
{
p1 = underline5;
display_eng(13,24,p1,5);
Cursor = 13;
}
else
{
p2 = value_u;
display_eng(13,24,p2,5);
}
p1 = main2;
display_I(9,40);
display_eng(11,40,p1,9);
if(Line==2)
{
p1 = underline5;
display_eng(13,40,p1,5);
Cursor = 13;
}
else
{
p2 = value_i;
display_eng(13,40,p2,5);
}
p1 = main3;
display_f(9,56);
display_eng(11,56,p1,7);
if(Line==3)
{
p1 = underline5;
display_eng(13,56,p1,2);
Cursor = 13;
}
else
{
p2 = value_f;
display_eng(13,56,p2,2);
}
p1 = main4;
display_fi(9,72);
display_eng(11,72,p1,7);
display_degree(18,72);
if(Line==4)
{
p1 = underline5;
display_eng(13,72,p1,5);
Cursor = 13;
}
else
{
p2 = value_fi;
display_eng(13,72,p2,5);
}
p1 = main5;
display_P(9,88);
display_eng(11,88,p1,9);
p2 = value_p;
display_eng(13,88,p2,5);
display_U(28,0);
display_I(28,32);
display_f(28,80);
display_fi(28,112);
}
void display_U(uchar xx,uchar yy) //显示斜体的'U'
{
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x01);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x02);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x03);
write_lcd(0x1F);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x04);
write_lcd(0x0C);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x05);
write_lcd(0x0C);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x06);
write_lcd(0x0C);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x07);
write_lcd(0x18);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x08);
write_lcd(0x18);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x09);
write_lcd(0x18);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0A);
write_lcd(0x31);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0B);
write_lcd(0x31);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0C);
write_lcd(0x33);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0D);
write_lcd(0x3E);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0E);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0F);
write_lcd(0x00);
xx = xx+1;
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x01);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x02);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x03);
write_lcd(0x78);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x04);
write_lcd(0x60);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x05);
write_lcd(0x60);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x06);
write_lcd(0x60);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x07);
write_lcd(0xC0);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x08);
write_lcd(0xC0);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x09);
write_lcd(0xC0);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0A);
write_lcd(0x80);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0B);
write_lcd(0x80);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0C);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0D);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0E);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0F);
write_lcd(0x00);
}
void display_I(uchar xx,uchar yy) //显示斜体的'I'
{
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x01);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x02);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x03);
write_lcd(0x07);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x04);
write_lcd(0x03);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x05);
write_lcd(0x03);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x06);
write_lcd(0x03);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x07);
write_lcd(0x06);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x08);
write_lcd(0x06);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x09);
write_lcd(0x06);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0A);
write_lcd(0x0C);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0B);
write_lcd(0x0C);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0C);
write_lcd(0x0C);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0D);
write_lcd(0x7E);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0E);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0F);
write_lcd(0x00);
xx = xx+1;
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x01);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x02);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x03);
write_lcd(0xE0);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x04);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x05);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x06);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x07);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x08);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x09);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0A);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0B);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0C);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0D);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0E);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0F);
write_lcd(0x00);
}
void display_f(uchar xx,uchar yy) //显示斜体的'f'
{
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x01);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x02);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x03);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x04);
write_lcd(0x03);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x05);
write_lcd(0x03);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x06);
write_lcd(0x03);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x07);
write_lcd(0x1F);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x08);
write_lcd(0x06);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x09);
write_lcd(0x06);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0A);
write_lcd(0x0C);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0B);
write_lcd(0x0C);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0C);
write_lcd(0x0C);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0D);
write_lcd(0x7E);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0E);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0F);
write_lcd(0x00);
xx = xx+1;
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x01);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x02);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x03);
write_lcd(0xF0);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x04);
write_lcd(0xB0);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x05);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x06);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x07);
write_lcd(0xC0);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x08);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x09);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0A);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0B);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0C);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0D);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0E);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x0F);
write_lcd(0x00);
}
void display_fi(uchar xx,uchar yy) //显示斜体的'fi'
{
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x01);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x02);
write_lcd(0x00);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x03);
write_lcd(0x07);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x04);
write_lcd(0x03);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x05);
write_lcd(0x1F);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x06);
write_lcd(0x33);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x07);
write_lcd(0x66);
write_lcd(0xF3);
write_lcd(xx);
write_lcd(yy + 0x08);
write_lcd(0x66);
write_lcd(0xF3);
write_lcd(xx);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -