LCD带字符液晶显示I LOVE YOU

1602是字符型液晶,内含128个ASCLL字符型的字符库,故可以显示ASCLL字符,而不能显示汉字。

1602可以显示两行信息,每行16个字符,5V电源供电,带有背光。

 知识点:

 

 

#include <reg51.h>
#include <stdio.h>
#define uchar unsigned char
#define LCD P2
sbit RS = P3^0;
sbit RW = P3^1;
sbit E = P3^2;
uchar i,j;
uchar tab[] = "I LOVE YOU";//定义一个数组,把要显示的字符放到数组里面
void writeCMD(uchar cmd)
{
   RS = 0;//0代表命令,1代表数据          写命令
   RW = 0;//0代表写,1代表读
   for(i=0;i<200;i++);//小延时
      LCD = cmd;//写入命令
      E = 1;//液晶使能
   for(i=0;i<5;i++);//小延时
      E = 0;//液晶失能
   for(i=0;i<5;i++);//小延时
   }
   
void writeDATA(uchar data1)//写数据
{
   RS = 1;//0代表命令,1代表数据            写数据
   RW = 0;//0代表写,1代表读
   for(i=0;i<200;i++);//小延时
      LCD = data1;//写入命令
      E = 1;
   for(i=0;i<5;i++);//小延时
      E = 0;
   for(i=0;i<5;i++);//小延时
}

//液晶初始化,硬件固定初始化步骤,不用记   

void init()
{
   RW = 0;//低电平使写操作有效
   E = 0;//使能液晶
   writeCMD(0x38);//16*2显示,5*7点阵,8位数据接口
   writeCMD(0x0C);//开显示,不显示光标
   writeCMD(0x06);//读或写一个字符后地址指针加1,且光标加1;当写一个字符时,整屏显示不移动
   writeCMD(0x01);//清屏
  }
  
//主函数 
  
void main(void)
 { 
   init(); //液晶初始化子函数调用
   writeCMD(0xc0);//写地址,选择在屏幕哪里显示字符
   for(i=0;i<220;i++);//小延时
      for(j=0;j<10;j++)//for循环把多个字符依次显示出来
    writeDATA(tab[j]);//在屏幕要显示的字符
  while(1); 
 }

 

附带无线标号:

点击LBL,在要用无线连接的两端地方双击,附上相同的名称即可,

 

posted @ 2017-05-18 17:59  徐景祥  阅读(673)  评论(0编辑  收藏  举报