打印

液晶第一行显示而第二行不显示....

[复制链接]
1851|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
senyee|  楼主 | 2007-10-13 16:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg51.h>
#include <stdio.h>
#include <intrins.h>
#define uchar unsigned char
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2    ;

void delay();
void write(uchar,bit);
void busy();
//void clear_sqr();

void main()
{
char str1[]="I Love You!";
char str2[]="bu zhi dao ma?";
char *str;
write(0x01,0);
write(0x38,0);
write(0x0c,0);
write(0x06,0);

write(0x80,0);
str=str1;
while(*str!='\0')
 {
  write(*str,1);
  delay();
  str++;
  }
write(0xc2,0);
write(65,1);                                
 while(1);
}

/* void clear_sqr()
{
write(0x01,0);
write(0x80,0);
}  */

void write(uchar c,bit flag)

busy();
if(flag){      
     RS=1;RW=0;_nop_();
     E=1;_nop_();
     P0=c;_nop_();
     E=0;
     delay();
     }
else {
     RS=0;RW=0;_nop_();
     E=1;_nop_();
     P0=c;_nop_();
     E=0;
     delay();
     }
 }

void busy()
{
RS=0;RW=1;_nop_();
E=1;_nop_();
while(P0&0x80);
E=0;
delay(); 
}

void delay()

uchar i=0xff;
 for(;i;i--);
}


这是我的程序.. 没有问题呀..
帮看看...

我原先在实物上运行第二行不显示
后来用软件仿真...
结果也是一样的... 这样可以看来液晶肯定是没坏的了..
那到底是什么原因呢?

相关帖子

沙发
stycx| | 2007-10-15 06:01 | 只看该作者

你的程序中本来就没有显示第二行的语句,只有第一行的

使用特权

评论回复
板凳
senyee|  楼主 | 2007-10-15 11:38 | 只看该作者

那怎么改呀

write(0x38,0);

我这初始化的是两行呀
书上就这么说的

你那帮我改改啊
谢谢..

使用特权

评论回复
地板
senyee|  楼主 | 2007-10-15 13:42 | 只看该作者

谢谢2楼

多谢 2 楼指点..

我知道了

哎..我们老师的书害人呀!
还我苦思了几天..
疯了..

使用特权

评论回复
5
DENGQUAN| | 2007-10-15 14:14 | 只看该作者

简单的问题!

请教显示点阵和显示图形有什么区别啊!

使用特权

评论回复
6
jwins| | 2007-11-11 13:12 | 只看该作者

请参考这份资料

在大虾论坛中下载http://www.daxia.com/bibis/moredata.asp?syid=1197865

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝