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

[复制链接]
2928|5
 楼主| senyee 发表于 2007-10-13 16:35 | 显示全部楼层 |阅读模式
#include&nbsp;&ltreg51.h&gt<br />#include&nbsp;&ltstdio.h&gt<br />#include&nbsp;&ltintrins.h&gt<br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br />sbit&nbsp;RS=P2^0;<br />sbit&nbsp;RW=P2^1;<br />sbit&nbsp;E=P2^2&nbsp;&nbsp;&nbsp;&nbsp;;<br /><br />void&nbsp;delay();<br />void&nbsp;write(uchar,bit);<br />void&nbsp;busy();<br />//void&nbsp;clear_sqr();<br /><br />void&nbsp;main()<br />{<br />char&nbsp;str1[]=&quot;I&nbsp;Love&nbsp;You!&quot;;<br />char&nbsp;str2[]=&quot;bu&nbsp;zhi&nbsp;dao&nbsp;ma?&quot;;<br />char&nbsp;*str;<br />write(0x01,0);<br />write(0x38,0);<br />write(0x0c,0);<br />write(0x06,0);<br /><br />write(0x80,0);<br />str=str1;<br />while(*str!='\0')<br />&nbsp;{<br />&nbsp;&nbsp;write(*str,1);<br />&nbsp;&nbsp;delay();<br />&nbsp;&nbsp;str++;<br />&nbsp;&nbsp;}<br />write(0xc2,0);<br />write(65,1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;while(1);<br />}<br /><br />/*&nbsp;void&nbsp;clear_sqr()<br />{<br />write(0x01,0);<br />write(0x80,0);<br />}&nbsp;&nbsp;*/<br /><br />void&nbsp;write(uchar&nbsp;c,bit&nbsp;flag)<br />{&nbsp;<br />busy();<br />if(flag){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RS=1;RW=0;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E=1;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0=c;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RS=0;RW=0;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E=1;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P0=c;_nop_();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;}<br /><br />void&nbsp;busy()<br />{<br />RS=0;RW=1;_nop_();<br />E=1;_nop_();<br />while(P0&0x80);<br />E=0;<br />delay();&nbsp;<br />}<br /><br />void&nbsp;delay()<br />{&nbsp;<br />uchar&nbsp;i=0xff;<br />&nbsp;for(;i;i--);<br />}<br /><br /><br />这是我的程序..&nbsp;没有问题呀..<br />帮看看...<br /><br />我原先在实物上运行第二行不显示<br />后来用软件仿真...<br />结果也是一样的...&nbsp;这样可以看来液晶肯定是没坏的了..<br />那到底是什么原因呢?
stycx 发表于 2007-10-15 06:01 | 显示全部楼层

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

  
 楼主| senyee 发表于 2007-10-15 11:38 | 显示全部楼层

那怎么改呀

write(0x38,0);<br /><br />我这初始化的是两行呀<br />书上就这么说的<br /><br />你那帮我改改啊<br />谢谢..
 楼主| senyee 发表于 2007-10-15 13:42 | 显示全部楼层

谢谢2楼

多谢&nbsp;2&nbsp;楼指点..<br /><br />我知道了<br /><br />哎..我们老师的书害人呀!<br />还我苦思了几天..<br />疯了..
DENGQUAN 发表于 2007-10-15 14:14 | 显示全部楼层

简单的问题!

请教显示点阵和显示图形有什么区别啊!<br />
jwins 发表于 2007-11-11 13:12 | 显示全部楼层

请参考这份资料

在大虾论坛中下载http://www.daxia.com/bibis/moredata.asp?syid=1197865
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部