导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→LCD1602的问题,第一行正常显示,第二行不显示,大家帮忙[carlrex]

 *第46450篇: LCD1602的问题,第一行正常显示,第二行不显示,大家帮忙看看程序有什么问题吗?谢谢啦

  
楼 主:carlrex 2007年2月7日21:41
 LCD1602的问题,第一行正常显示,第二行不显示,大家帮忙看看程序有什么问题吗?谢谢啦
LCD1602的问题,第一行正常显示,第二行不显示,大家帮忙看看程序有什么问题吗?谢谢啦
#include   <reg51.h>  
#include   <intrins.h>  
#include   <stdio.h>  

typedef unsigned char BYTE;
typedef unsigned int WORD;
typedef bit BOOL ; 

sbit rs = P1^4; 
sbit rw = P1^5;
sbit ep = P1^3;

BYTE code dis1[] = {"welcome!"};
BYTE code dis2[] = {""};

delay(BYTE ms)
{       // 延时子程序
 BYTE i;
 while(ms--)
 {
  for(i = 0; i  <250; i++)
  {
   _nop_();
   _nop_();
   _nop_();
   _nop_();
  }
 }
}

lcd_wcmd(BYTE cmd)
{       // 写入指令数据到LCD
    delay(1);
 rs = 0;
 rw = 0;
 ep = 0;
 _nop_();
 _nop_(); 
 P0 = cmd;
    _nop_();
 _nop_();
 _nop_();
 _nop_();
 ep = 1;
 _nop_();
 _nop_();
 _nop_();
 _nop_();
 ep = 0; 

}

lcd_pos(BYTE pos)
{ //pos=0x40;      //设定显示位置
 lcd_wcmd(pos|0x80);
    //lcd_wcmd(pos);
   
}

lcd_wdat(BYTE dat) 
{       //写入字符显示数据到LCD
   delay(1);
 rs = 1;
 rw = 0;
 ep = 0;
 _nop_();
 _nop_();
 P0 = dat;
 _nop_();
 _nop_();
 _nop_();
 _nop_();
 ep = 1;
 _nop_();
 _nop_();
 _nop_();
 _nop_();
 ep = 0; 
 
}

lcd_init()

 
   delay(1);    //LCD初始化设定
 lcd_wcmd(0x34);      //显示模式设置:单行,8字符,5x7点阵
    delay(1);
 delay(1);
 lcd_wcmd(0x06);   //开显示,关光标,不闪烁
    delay(1);
 delay(1);
 lcd_wcmd(0x0e);   //设置输入模式:光标增量移动,显示不移位
 delay(1);
 delay(1);
 //lcd_wcmd(0x08);
 //delay(1);
 //delay(1);
 lcd_wcmd(0x01);   //清除LCD显示的内容
    delay(1);

}

void main()
{
 lcd_init();     // 初始化LCD
 while(1)
 {
 BYTE i;
        
    delay(10);
 lcd_pos(0x05);    // 设置显示位置为第一行的第5个字符
 i = 0;
 while(dis1[i]!='\0')
 {      // 显示字符"welcome!"
  lcd_wdat(dis1[i]);
  delay(100);
  i++;
 }
  }
delay(200);


 lcd_init();
 while(1)
 {
    BYTE i;
 delay(10);
 lcd_pos(0x40);   // 设置显示位置为第二行第二个字符
 //delay(10);
 i = 0;
 while(dis2[i]!='\0')
 {
  lcd_wdat(dis2[i]); // 显示字符"    "
  delay(30);
  i++;
 }
 
   delay(40);
}
}

  
2楼:ningling_21 2007年2月8日19:39
 你的地址找对了没啊?
两行的地址是不同的,只要地址找对了,显示就没问题的啊!



>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:[求助]新手弱弱地问,为什么51的仿真cpu用的都是sst的

[下一篇主题]:【求助』我想在FS2410外接一个FPGA做SDRAM,可是没数据?