查看: 9238|回复: 2

[提问] lcd 1602如何确定地址

[复制链接]
发表于 2013-3-31 20:41:09 | 显示全部楼层 |阅读模式
#includesbit lcden=P3^4;  //液晶使能端
sbit lcdrs=P3^5;  //液晶数据命令选择端
sbit dula=P2^6;           
sbit wela=P2^7;
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="I LOVE MCU!";
uchar code table1[]="WWW.TMMCU.COM";
//uchar code table[]="Hello everyone!";
//uchar code table1[]="Welcome to here!";
uchar num;
void delay( uchar x)//延时函数
{
        uint i,j;
        for(i=x;i>0;i--)
        for(j=110;j>0;j--)        ;
}
void write_com(uchar com)
{
  lcdrs=0;
  P0=com;
  delay(5);
  lcden=1;
  delay(5);
  lcden=0;

}
void write_data(char date)
{
  lcdrs=1;
  P0=date;
  delay(5);
  lcden=1;
  delay(5);
  lcden=0;
}
void init()          //LCD1602初始化
{
  dula=0;
  wela=0;
  lcden=0;
  write_com(0x38); //设置16*2显示,5*7点阵,8位数据接口
  write_com(0x0c) ;//设置开显示,不显示光标
  write_com(0x06);         //写一个字符后地址指针加1

  write_com(0x01) ;         //显示清0,数据指针清0

}
void main()
{
   init();
    write_com(0x80);
   for(num=0;num<11;num++)
  {
    write_data(table[num]);
    delay(5);
  }
  write_com(0x80+0x40);
  for(num=0;num<13;num++)
  {
    write_data(table1[num]);
    delay(5);
  }
  //for(num=0;num<16;num++)
  //{
    // write_com(0x18);
        // delay(200);
// }
  while(1);


}



   
write_com(0x80+0x40);
这怎么就是第二行了呀,干嘛要用 0x+0x的格式呀?
 楼主| 发表于 2013-3-31 20:50:14 | 显示全部楼层
write_com(0x18);
write_com(0x80+0x10);
write_com(0x80+0x50);
这些都是什么意思呀?
发表于 2013-4-17 19:10:37 | 显示全部楼层
问的太低级,没人会回答,,,先找书和资料看看。我看了,,,一般人都问不出这问题来,你太不一般了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表