📄 12864.c
字号:
#include"reg51.h"
#define uchar unsigned char
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
sbit psb=P2^3;
sbit rst=P2^5;
uchar dis1[]={"08"};
uchar dis2[]={"co"};
//uchar dis3[]={"uoy ees"};
//uchar dis4[]={"noos"};
uchar *pointer1=dis1;
uchar *pointer2=dis2;
void delayMS(uchar time)
{
uchar i=4,j=250;
while(time--)
{
while(i--)
{
while(j--);
j=250;
}
i=4;
}
}
void delay(uchar t)
{
uchar i;
for(;t>0;t--)
for(i=2;i>0;i--);
}
bit read_bf() //读地址寄存器最高位BF
{
uchar temp;
bit j;
rs=0;
rw=1;
en=0;
delay(1);
en=1;
delay(1);
temp=P0;
en=0;
delay(1);
temp<<=1;
j=CY;
return j;
}
void write_cmd(uchar cmd)
{
while(read_bf());
rs=0;
rw=0;
en=0;
delay(1);
P0=cmd;
en=1;
delay(1);
en=0;
delay(1);
}
void write_dat(uchar dat)
{
while(read_bf());
rs=1;
rw=0;
en=0;
delay(1);
P0=dat;
en=1;
delay(1);
en=0;
delay(1);
}
void dis_inf(uchar adr,uchar* pdat) //display information
{
write_cmd(adr); //display position
while(*pdat!='\0')
{
write_dat(*pdat);
pdat++;
// delayMS(50);
}
}
void init()
{
delayMS(45);
rst=0;
delay(1);
rst=1;
delay(1);
write_cmd(0x03); //8bit transmit
delayMS(1);
write_cmd(0x03); //8bit transmit
delayMS(1);
write_cmd(0x0f); //display condition
delayMS(1);
write_cmd(0x1c); //position move
delayMS(1);
write_cmd(0x01); //clear display
delayMS(1);
write_cmd(0x06); //adr move right or left
delayMS(1);
}
void main()
{
init();
while(1)
{
// write_cmd(0x01);
// delayMS(10);
dis_inf(0x80,pointer1);
dis_inf(0x82,pointer2);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -