求助。初学者lcd1602程序
全部回复
仅看楼主
level 0
BiuBiuBiuhhh3 楼主
之前在网上找的程序烧进去之后就出现了黑格子
2018年01月26日 02点01分 1
level 0
楼主大师水平 [haha]
2018年01月26日 02点01分 3
。。。我刚开始学。。
2018年01月26日 02点01分
level 0
BiuBiuBiuhhh3 楼主
这是在网上找的程序也不知道拿错了 求大神指点
#include <reg52.h>
#include <string.h>
#define uint unsigned int
#define uint8 unsigned char
uint8 code table[]="Hello everyone!";
uint8 code table1[]="Welcome to my blog!";
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;
uint8 num;
void delay(uint z);
void write_com(uint8 com);
void write_data(uint8 date);
void init();
void Write1602_Str(uint addr,uint length,uint *pbuf);
void main()
{
init();
Write1602_Str(0x80+0x10,strlen(table),table); //Hello everyone!
Write1602_Str(0x80+0x50,strlen(table1),table1); //Welcome to my blog!
while(1)
{
write_com(0x18);
delay(200);
}
}
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=0;j<921;j++);
}
void write_com(uint8 com)
{
lcdrs=0;
delay(1);
P0=com;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
void write_data(uint8 date)
{
lcdrs=1;
delay(1);
P0=date;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
void init()
{
dula=0;
wela=0;
lcden=0;
write_com(0x38);
write_com(0x0e);
write_com(0x06);
write_com(0x01);
}
void Write1602_Str(uint8 addr,uint8 length,uint8 *pbuf)
{
uint8 i;
write_com(addr);
for(i=0;i<length;i++)
write_data(pbuf[i]);
}
2018年01月26日 02点01分 4
1