导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→1602lcd显示问题[andyluo324]

 *第19052篇: 1602lcd显示问题

  
楼 主:andyluo324 2008年3月10日20:39
 1602lcd显示问题
请大侠们看一下我的程序,怎么不能显示。
#include  <reg52.h>  
#include   <intrins.h>  
#define data_IO P0
sbit rs = P2^0;
sbit rw = P2^1;
sbit e = P2^2;
sbit flag=P0^7;
unsigned char d[10];
unsigned char busy(int);
void w_dat(unsigned char);
void w_com(unsigned char);
void lcd_init(void);

void disp(unsigned char);
void delay(unsigned int);

void delay(unsigned int  N)
{
int i;
for(i=0;i  <N;i++);
}

void busy ()
{
while(1)
{
data_IO=0xff;
rs=0;
rs=1;
e=1;
if(!flag)break;
e=0;
}
}

void w_dat(unsigned char dat)
{
busy();
data_IO=dat;
rs=1;
rw=0;
e=1;
e=0;
return;
}


void w_com(unsigned char com)
{
busy();
data_IO=com;
rs=0;
rw=0;
e=1;
e=0;
}


void lcd_init(void)
{
unsigned char i;
rs=0;
rw=0;
e=0;
for(i=0;i  <2;i++)
{
w_com(0x30);
delay(100);
}
w_com(0x38);
w_com(0x0f);
w_com(0x18);
w_com(0x06);
w_com(0x01);
w_com(0x80);
}


void disp(unsigned char data_num)
{
unsigned char d[10];
unsigned char j;
w_com(1);
w_com(0x80);
for(j=0;j  <data_num;j++)
w_dat(d[j]);

w_com(0xc0);
w_dat('x');
w_dat('z');
}

main()
{
lcd_init();
d[0]='d';
d[0]='p';
d[0]='j';
disp(3);
}

谢谢


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:单片机开发

[下一篇主题]:工控/单片机 解决方案