我用lpc2114驱动lcd1602,程序如下,烧进单片机后,lcd1602无显示啊,大虾们帮我看下程序的错误所在,谢谢!!!!!!<br /><br />#include "LPC21xx.h"<br /> #include "string.h"<br /><br />#define RS 0x00001000 //P0.12接RS<br /> RW接地<br />#define E 0x00002000 //P0.13接E<br /><br />void Delayms(unsigned int count)<br />{<br /> unsigned int i;<br /> for(i=0;i<count;i++);<br />}<br /><br />void WriteCommand(unsigned char Com)<br />{<br /> IO0SET=(Com<<0x0000000F);<br /> IO0CLR=RS; IO0SET=E; IO0CLR=E;<br /> //IO0CLR=RW;<br />}<br /><br />void WriteData(unsigned char Dat)<br />{<br /> IO0SET=(Dat<<0x0000000F);<br /> IO0CLR=RS; IO0SET=E; IO0CLR=E;<br /> //IO0CLR=RW;<br />}<br /><br />void Init()<br />{<br /> Delayms(1000);<br /> WriteCommand(0x38);<br /> Delayms(400);<br /> WriteCommand(0x38);<br /> Delayms(400);<br /> WriteCommand(0x38);<br /> Delayms(2800);<br /> WriteCommand(0x38);<br /> Delayms(2800);<br /> WriteCommand(0x08);<br /> Delayms(2800);<br /> WriteCommand(0x01);<br /> Delayms(2800);<br /> WriteCommand(0x06);<br /> Delayms(2800);<br /> WriteCommand(0x0C);<br />}<br /><br />void Show_Text(char *Text,char row)<br />{<br /> unsigned char i;<br /> if(row==0)<br /> {<br /> WriteCommand(0x80);<br /> Delayms(2800);<br /> for(i=0;i<strlen(Text);i++)<br /> {<br /> WriteData(Text);<br /> Delayms(2800);<br /> } <br /> }<br /> else<br /> {<br /> WriteCommand(0xC0);<br /> Delayms(2800);<br /> for(i=0;i<strlen(Text);i++)<br /> {<br /> WriteData(Text);<br /> Delayms(2800);<br /> }<br /> }<br />}<br /><br />void main()<br />{char Text1[16]="NIOS II on DE2";<br /> char Text2[16]="Nice to See You!";<br /> PINSEL0=0x00000000;<br /> IO0DIR =0xffffffff;<br /> <br /> Init();<br /> while(1)<br /> {<br /> Show_Text(Text1,0);<br /> Show_Text(Text2,1);<br /> }<br /> } |
|