×
嵌入式 > 技术百科 > 详情

1602液晶8位数据口动态显示

发布时间:2020-10-10 发布时间:
|
#include
#define uint unsigned int
#define uchar unsigned char
sbit rs=P1^0;//数据/命令选择端(H/L)
sbit rw=P1^1;//读/写选择端(H/L)
sbit en=P1^2;//使能端
uchar code zifu1[]="Gui fa zhi *_* !";
uchar code zifu2[]="tel: 18778434282";
uint i;
void delay(uchar time)//延时函数
{
  uint x,y;
  for(x=100;x>0;x--)
  for(y=time;y>0;y--);
}

void write_com(uchar com) //命令输入函数
{
 rs=0;
 P2=com;
 delay(5);
 en=1;
 delay(5);
 en=0;
}
void write_date(uchar date)//数据输入函数
{
 rs=1;
 P2=date;
 delay(5);
 en=1;
 delay(5);
 en=0;
}
void chu()//液晶初始化
{
 rw=0;//低电平威胁数据或命令
 en=0;
 write_com(0x38);//设置16X2显示,5X7点阵,8位数据口
 write_com(0x01);//数据指针清零
 write_com(0x0c);//光标开启
}
void move()//整屏移动(0x18是向左移,0x1c是右移)
{
 for(i=0;i<16;i++)//移动16位
  {
   write_com(0x18);
   delay(500);
  }
}
void main()//主函数
{
 chu();
 write_com(0x80+0x10);//选择地址
  for(i=0;i<16;i++)
   {
    write_date(zifu1[i]);
 delay(5);
   }
   write_com(0x80+0x40+0x10);
   for(i=0;i<16;i++)
   {
    write_date(zifu2[i]);
 delay(5);
   }
 while(1)
  {
   move();
   
  }
}
 
 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
洪荒之力+无比专注=国内首款机器人离线编程软件