求教大神们,为什么我这个LCD1602的程序在板子上显示不出来
时间:10-02
整理:3721RD
点击:
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={"I LOVE YOU!"};
uchar code table1[]={"wwwgooglecom.."};
sbit lcdrs=P2^5; //复位端
sbit lcdrw=P2^6; //写数据端
sbit lcden=P2^7; //使能端
void delay(uint ms)
{
uint i;
while(ms--)
{
for(i=0;i<250;i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
void writecom(uchar com)
{
lcdrs=0;
lcdrw=0;
lcden=0;
_nop_();
_nop_();
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void writedata(uchar dat)
{
lcdrs=1;
lcdrw=0;
lcden=0;
_nop_();
_nop_();
P0=dat;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
writecom(0x38);
delay(5);
writecom(0x0c);
delay(5);
writecom(0x06);
delay(5);
writecom(0x01);
delay(5);
}
void main()
{
uint i;
init();
delay(10);
writecom(0x80);
i=0;
while(table!='\0')
{
writedata(table);
i++;
}
writecom(0x80+0x40);
i=0;
while(table1!='\0')
{
writedata(table1);
i++;
}
while(1);
}
uchar code table1[]={“wwwgooglecom.."};双引号不对。writedata(table);函数数使用不对,写一字节,却被你用来写字符串,要用指针加循环的方法,
延时函数看看!