标题: LCD1602显示字符 [打印本页]

作者: wu2068    时间: 2015-7-12 22:18
标题: LCD1602显示字符
#include <reg51.h>

void WriteData(unsigned char dat);                                                          //液晶写数据函数
void init();                                                                      //初始化函数                           
void WriteCommand(unsigned char com);                          //液晶写命令函数
void delay(int x);

sbit RS=P2^6;
sbit RW=P2^5;
sbit E=P2^7;

unsigned char code table1[]={"  Good morning "};
unsigned char code table2[]={"   *WuGuoJun*  "};

void main(void)
{
int j;
init();
while(1)
{
j=0;
while(table1[j]!='\0')
{

WriteData(table1[j]);
j++;
delay(10);
}
j=0;
WriteCommand(0x80+0x40);
while(table2[j]!='\0')
{
WriteData(table2[j]);
j++;
delay(10);
}

WriteCommand(0x01);
delay(100);

}
}

void WriteData(unsigned char dat)
{
RS=1;
RW=0;
P0=dat;
delay(10);
E=1;
delay(10);
E=0;
}

void WriteCommand(unsigned char com)
{
RS=0;
RW=0;
P0=com;
delay(10);
E=1;
delay(10);
E=0;
}

void init()
{
WriteCommand(0x38);                                          //设置显示模式(16*2显示,5*7点阵,8位数据)
WriteCommand(0x0c);                                         //开显示,不显示光标,光标不闪烁
WriteCommand(0x06);                                        //写一个数据,指针加一(移动光标)
WriteCommand(0x01);                       //显示清屏(所有显示清零)
WriteCommand(0x80);                                  //设置显示初始坐标

}

void delay(int x)
{
int i;
while(x--)
{
for(i=0;i<200;i++);

}
}

作者: 763179403    时间: 2016-11-9 23:27
有电路图吗?
作者: ANSELWX    时间: 2016-11-27 22:36
有仿真图么
作者: w1179benp    时间: 2016-11-27 23:33
ANSELWX 发表于 2016-11-27 22:36
有仿真图么



1602.rar (266.85 KB, 下载次数: 20)



作者: 大世界小人物    时间: 2017-2-4 16:47
谢谢分享
作者: 大世界小人物    时间: 2017-2-4 16:49
学习一下
作者: kening@6    时间: 2017-6-17 22:59
学习一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1