📄 12232程序1.c
字号:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit E2=P3^5;
sbit E1=P3^6;
sbit A0=P3^7;
/*-- 文字: 欢迎 --*/
uchar code line1_left[]={0x00,0xA0,0x20,0x10,0xF0,0x00,0x40,0x38,0xA7,0x10,0x50,0x30,0x10,0x00,0x00,0x00,
0x40,0x40,0x44,0xC8,0x00,0xF8,0x08,0x84,0x06,0xF0,0x08,0x88,0xF8,0x00,0x00,0x00,
0x10,0x08,0x05,0x02,0x05,0x20,0x10,0x0C,0x03,0x04,0x08,0x10,0x30,0x20,0x20,0x00,
0x08,0x08,0x09,0x0E,0x08,0x09,0x09,0x08,0x10,0x17,0x10,0x30,0x30,0x10,0x10,0x00};
/*-- 文字: 访问 --*/
uchar code line1_right[]={0x40,0x40,0x20,0xE2,0x04,0x00,0x20,0x20,0x22,0xE2,0x94,0x90,0x10,0x10,0x10,0x00,
0x00,0x00,0xF8,0x02,0x04,0xC0,0x44,0x24,0x24,0xE2,0x02,0x02,0xFE,0x00,0x00,0x00,
0x00,0x00,0x00,0x0F,0x14,0x0A,0x04,0x02,0x11,0x20,0x18,0x07,0x00,0x00,0x00,0x00,
0x00,0x00,0x1F,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x10,0x3F,0x00,0x00,0x00};
/*-- 文字: 安阳师 --*/
uchar code line2_left[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x70,0x10,0x10,0xD2,0x0A,0x0C,0x88,0xA8,0x98,0x80,0x80,0x80,0x00,
0x00,0x00,0xFC,0x42,0x9A,0xE6,0x00,0x00,0xF0,0x88,0x88,0x08,0xF8,0x00,0x00,0x00,
0x00,0x00,0xF8,0x00,0xFE,0x00,0xE4,0x24,0x24,0xFC,0x24,0x12,0x12,0xF2,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x02,0x02,0x22,0x22,0x17,0x15,0x09,0x0D,0x13,0x10,0x20,0x00,0x00,0x00,0x00,
0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x0F,0x00,0x00,0x00,
0x00,0x10,0x09,0x04,0x03,0x00,0x03,0x00,0x00,0x7F,0x00,0x01,0x02,0x01,0x00,0x00};
/*-- 文字: 范学院 --*/
uchar code line2_right[]={0x00,0x88,0x28,0x48,0x0E,0x18,0xC8,0x44,0x5C,0x27,0xE4,0x04,0x04,0x00,0x00,0x00,
0x00,0xC0,0x70,0x22,0x24,0xA0,0x52,0x54,0xD0,0x58,0x17,0x10,0x30,0x10,0x00,0x00,
0x00,0xFC,0x44,0xB4,0xCC,0x20,0x18,0x50,0x4A,0xAC,0xA8,0x88,0x18,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x30,0x09,0x06,0x00,0x00,0x1F,0x20,0x21,0x22,0x21,0x20,0x20,0x38,0x00,0x00,
0x00,0x04,0x04,0x04,0x04,0x04,0x24,0x43,0x3E,0x02,0x02,0x02,0x02,0x00,0x00,0x00,
0x00,0x3F,0x00,0x20,0x10,0x08,0x05,0x03,0x01,0x1F,0x20,0x20,0x20,0x1C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
void writeleft_com(uchar i)
{
E1=1;
_nop_();
_nop_();
A0=0;
_nop_();
_nop_();
P0=i;
_nop_();
_nop_();
E1=0;
_nop_();
_nop_();
}
void writeleft_data(uchar i)
{
E1=1;
_nop_();
_nop_();
A0=1;
_nop_();
_nop_();
P0=i;
_nop_();
_nop_();
E1=0;
_nop_();
_nop_();
}
void writeright_com(uchar i)
{
A0=0;
_nop_();
_nop_();
E2=1;
_nop_();
_nop_();
P0=i;
_nop_();
_nop_();
E2=0;
_nop_();
_nop_();
}
void writeright_data(uchar i)
{
A0=1;
_nop_();
_nop_();
E2=1;
_nop_();
_nop_();
P0=i;
_nop_();
_nop_();
E2=0;
_nop_();
_nop_();
}
void set_page(uchar page0,uchar page1)
{
writeleft_com(0xB8|page0);
writeright_com(0xB8|page1);
}
void set_colunm(uchar colunm0,uchar colunm1)
{
writeleft_com(colunm0&0x7F);
writeright_com(colunm1&0x7F);
}
void clear_screen()
{
uchar i;
uchar page;
for(page=0;page<4;page++)
{
set_page(page,page);
set_colunm(0,0);
for(i=0;i<61;i++)
{
writeleft_data(0x00);
writeright_data(0x00);
}
}
}
void lcd_init()
{
writeleft_com(0XE2);
writeright_com(0XE2); //复位指令
writeleft_com(0XAE);
writeright_com(0XAE); //关显示
writeleft_com(0XA4);
writeright_com(0XA4); //正常驱动
writeleft_com(0XA9);
writeright_com(0XA9); //1/32 占空比
writeleft_com(0XA1);
writeright_com(0XA1); //正向显示
writeleft_com(0XEE);
writeright_com(0XEE); //写模式
writeleft_com(0X00);
writeright_com(0X00); //第0列
writeleft_com(0XC0);
writeright_com(0XC0); //第0行
writeleft_com(0XAF);
writeright_com(0XAF); //开显示
clear_screen();
}
/////////////////////////////////////////////////////////
void display1(uchar page,uchar colunm,uchar *p,uchar *q)
{
uchar i;
set_page(page,page);
set_colunm(colunm,colunm);
for(i=0;i<30;i++)
{
writeleft_data(0x00);
}
for(i=0;i<32;i++)
{
writeleft_data(p[i]);
writeright_data(q[i]);
}
set_page(page+1,page+1);
set_colunm(colunm,colunm);
for(i=0;i<30;i++)
{
writeleft_data(0x00);
}
for(i=0;i<32;i++)
{
writeleft_data(p[i+32]);
writeright_data(q[i+32]);
}
}
void display2(uchar page,uchar colunm,uchar *p,uchar *q)
{
uchar i;
set_page(page,page);
set_colunm(colunm,colunm);
for(i=0;i<62;i++)
{
writeleft_data(p[i]);
writeright_data(q[i]);
}
set_page(page+1,page+1);
set_colunm(colunm,colunm);
for(i=0;i<62;i++)
{
writeleft_data(p[i+62]);
writeright_data(q[i+62]);
}
}
void main()
{
lcd_init();
display1(0,0,line1_left,line1_right);
display2(2,0,line2_left,line2_right);
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -