OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 企业专区 » Renesas » 为什么液晶不显示类?

共12条 1/2 1 2 跳转至

为什么液晶不显示类?

助工
2012-09-18 19:42:07    评分


这是我的1602的原理图。下面是我的程序。
unsigned char table[]="I Love MCU!";
unsigned char table1[]="I Love Renesas too!";
void delay(unsigned int x)
{
  unsigned int i,j;
  for(i=x;i>0;i--)
    for(j=320;j>0;j--);
}
void write_com(unsigned char com)
{
   P2=com;
   delay(100);
    P7_bit.no0= 0;
   delay(100);
    P7_bit.no1= 0;
   delay(100);
    P7_bit.no2=1;
   delay(100);
   P7_bit.no2=0;
   delay(100);
}
void write_data(unsigned char data)
{
  P2=data;
  delay(100);
    P7_bit.no0= 0;
   delay(100);
    P7_bit.no1= 0;
   delay(100);
    P7_bit.no2=1;
   delay(100);
   P7_bit.no2=0;
   delay(100);
}
void init()
{
  write_com(0x38);
  write_com(0x0c);
  write_com(0x06);
  write_com(0x01);
  delay(100);
}

void  main(void)
{
 /* Start user code. Do not edit comment generated here */
  init();

  while (1U)
 {
  unsigned char num;
    write_com(0x80+0x10);
   for(num=0;num<11;num++)
   {
       write_data(table[num]);
    delay(100);
    }
   write_com(0x80+0x50);
   for(num=0;num<19;num++)
   {
        write_data(table1[num]);
           delay(100);
   }
   for(num=0;num<16;num++)
   {
        write_com(0x18);
     delay(2000);
   }
 
 
 }
 /* End user code. Do not edit comment generated here */
}

/* Start user code for adding. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
大家帮我看看为什么液晶老是不显示类?




关键词: 为什么     液晶     显示     delay     write    

专家
2012-09-18 20:18:58    评分
2楼
是什么都不显示,包括背光都不亮呢,还是就是让大家挑程序的毛病呢?

助工
2012-09-18 21:15:28    评分
3楼

背光亮,就是不显示内容,不知道啥原因,求解释,也算是给检查检查哪儿错了吧!


专家
2012-09-18 21:29:42    评分
4楼
unsigned char table[]="I Love MCU!";
unsigned char table1[]="I Love Renesas too!";
void delay(unsigned int x)
{
  unsigned int i,j;
  for(i=x;i>0;i--)
    for(j=320;j>0;j--);
}
void write_com(unsigned char com)
{
   P2=com;
   delay(100);
    P7_bit.no0= 0;
   delay(100);
    P7_bit.no1= 0;
   delay(100);
    P7_bit.no2=1;
   delay(100);
   P7_bit.no2=0;
   delay(100);
}
void write_data(unsigned char data)
{
  P2=data;
  delay(100);
    P7_bit.no0= 0;
   delay(100);
    P7_bit.no1= 0;
   delay(100);
    P7_bit.no2=1;
   delay(100);
   P7_bit.no2=0;
   delay(100);
}
void init()
{
  write_com(0x38);
  write_com(0x0c);
  write_com(0x06);
  write_com(0x01);
  delay(100);
}

void  main(void)
{
 /* Start user code. Do not edit comment generated here */
  init();

  while (1U)
 {
  unsigned char num;
    write_com(0x80+0x10);
   for(num=0;num<11;num++)
   {
       write_data(table[num]);
    delay(100);
    }
   write_com(0x80+0x50);
   for(num=0;num<19;num++)
   {
        write_data(table1[num]);
           delay(100);
   }
   for(num=0;num<16;num++)
   {
        write_com(0x18);
     delay(2000);
   }
 
 
 }
 /* End user code. Do not edit comment generated here */


}

紫色部分是不是需要改为P7_bit.no1= 1;


专家
2012-09-18 21:30:50    评分
5楼
找你的描述,一般是初始化出问题了,看我上面修改的有问题不?试试~

高工
2012-09-18 21:38:13    评分
6楼
先查对着时序图查程序,再对着电路图查接线

这种问题别人很难一下帮忙解决掉的

助工
2012-09-19 07:42:25    评分
7楼

试了试,还是不行。。。


助工
2012-09-20 12:46:12    评分
8楼
3脚接地的加一个1.5/2K的下接电阻试一下!

还有下完代码重新上电一次试试!

助工
2012-10-10 17:36:47    评分
9楼
为什么DB0~DB7连接的是P0口,但是你程序上并没有看到给P0口赋值呢? 是我眼拙了?还是这样也能亮?

专家
2012-10-10 22:05:09    评分
10楼
楼主,P2引脚的部分引脚被复用。
估计无法得到正常的逻辑电平,例如P22与外部电位器相连,这个引脚极可能会被电位器干扰,从而输出错误的逻辑电平,造成1602显示无法完成。

共12条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]