大侠们指点下

[复制链接]
 楼主| ymblue 发表于 2008-10-30 14:42 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我用lpc2114驱动lcd1602,程序如下,烧进单片机后,lcd1602无显示啊,大虾们帮我看下程序的错误所在,谢谢!!!!!!<br /><br />#include&nbsp;&quot;LPC21xx.h&quot;<br />&nbsp;#include&nbsp;&quot;string.h&quot;<br /><br />#define&nbsp;RS&nbsp;0x00001000&nbsp;//P0.12接RS<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RW接地<br />#define&nbsp;E&nbsp;&nbsp;0x00002000&nbsp;//P0.13接E<br /><br />void&nbsp;Delayms(unsigned&nbsp;int&nbsp;count)<br />{<br />&nbsp;unsigned&nbsp;int&nbsp;i;<br />&nbsp;for(i=0;i&ltcount;i++);<br />}<br /><br />void&nbsp;WriteCommand(unsigned&nbsp;char&nbsp;Com)<br />{<br />&nbsp;&nbsp;IO0SET=(Com&lt&lt0x0000000F);<br />&nbsp;&nbsp;&nbsp;IO0CLR=RS;&nbsp;IO0SET=E;&nbsp;IO0CLR=E;<br />&nbsp;&nbsp;//IO0CLR=RW;<br />}<br /><br />void&nbsp;WriteData(unsigned&nbsp;char&nbsp;Dat)<br />{<br />&nbsp;&nbsp;IO0SET=(Dat&lt&lt0x0000000F);<br />&nbsp;&nbsp;&nbsp;IO0CLR=RS;&nbsp;IO0SET=E;&nbsp;IO0CLR=E;<br />&nbsp;&nbsp;//IO0CLR=RW;<br />}<br /><br />void&nbsp;Init()<br />{<br />&nbsp;Delayms(1000);<br />&nbsp;WriteCommand(0x38);<br />&nbsp;Delayms(400);<br />&nbsp;WriteCommand(0x38);<br />&nbsp;Delayms(400);<br />&nbsp;WriteCommand(0x38);<br />&nbsp;Delayms(2800);<br />&nbsp;WriteCommand(0x38);<br />&nbsp;Delayms(2800);<br />&nbsp;WriteCommand(0x08);<br />&nbsp;Delayms(2800);<br />&nbsp;WriteCommand(0x01);<br />&nbsp;Delayms(2800);<br />&nbsp;WriteCommand(0x06);<br />&nbsp;Delayms(2800);<br />&nbsp;WriteCommand(0x0C);<br />}<br /><br />void&nbsp;Show_Text(char&nbsp;*Text,char&nbsp;row)<br />{<br />&nbsp;unsigned&nbsp;char&nbsp;i;<br />&nbsp;if(row==0)<br />&nbsp;{<br />&nbsp;&nbsp;WriteCommand(0x80);<br />&nbsp;&nbsp;Delayms(2800);<br />&nbsp;&nbsp;for(i=0;i&ltstrlen(Text);i++)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;WriteData(Text);<br />&nbsp;&nbsp;&nbsp;Delayms(2800);<br />&nbsp;&nbsp;}&nbsp;<br />&nbsp;}<br />&nbsp;else<br />&nbsp;{<br />&nbsp;&nbsp;&nbsp;WriteCommand(0xC0);<br />&nbsp;&nbsp;Delayms(2800);<br />&nbsp;&nbsp;for(i=0;i&ltstrlen(Text);i++)<br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;WriteData(Text);<br />&nbsp;&nbsp;&nbsp;Delayms(2800);<br />&nbsp;&nbsp;}<br />&nbsp;}<br />}<br /><br />void&nbsp;main()<br />{char&nbsp;Text1[16]=&quot;NIOS&nbsp;II&nbsp;on&nbsp;DE2&quot;;<br />&nbsp;char&nbsp;Text2[16]=&quot;Nice&nbsp;to&nbsp;See&nbsp;You!&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PINSEL0=0x00000000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IO0DIR&nbsp;=0xffffffff;<br />&nbsp;<br />&nbsp;Init();<br />&nbsp;while(1)<br />&nbsp;{<br />&nbsp;&nbsp;Show_Text(Text1,0);<br />&nbsp;&nbsp;Show_Text(Text2,1);<br />&nbsp;}<br />&nbsp;}
 楼主| ymblue 发表于 2008-10-30 14:47 | 显示全部楼层

DB->p0.15--p0.22

DB0-DB7=&gtp0.15--p0.22
 楼主| ymblue 发表于 2008-10-31 09:59 | 显示全部楼层

大虾门给点一意见

硬件没问题,用别的程序可以使液晶显示的,小弟初学者,弟兄们帮帮我啊
cscm007 发表于 2008-10-31 16:41 | 显示全部楼层

初始化,或指令格式 或时序

如果硬件没问题的话,个人认为,应该是初始化,或指令格式&nbsp;或时序不对<br />1,初始化,是否正确<br />2,对照液晶规格书,看一下指令格式是否正确,<br />3,并口的液晶有6800和8080时序两种,确认一下,是否正确。
l0p0c 发表于 2008-10-31 17:28 | 显示全部楼层

呀!怎么总是这样啊?

  
 楼主| ymblue 发表于 2008-11-4 11:19 | 显示全部楼层

thx

&nbsp;&nbsp;&nbsp;&nbsp;谢谢cscm007,按照你的意见已经解决问题了,非常感谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

77

帖子

0

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