#1楼主:求助,lcd1602问题
文章发表于:2008-04-25 10:56
#include "reg52.h"
//宏定义,变量定义//
#define Uchar unsigned char
#define DataPort P0
sbit RS="P2"^0;
sbit RW="P2"^1;
sbit E="P2"^2;
/**************延迟函数***************************
i代表延迟多ms
*******/
void defdelay(Uchar i)
{while(i--);}
/***********写指令函数*****************
command表示写入的指令代码*/
write_command(Uchar command)
{
defdelay(10);
RS=0;defdelay(5);RW=0;defdelay(5);
E=0;defdelay(5);E=1;
P0=command;defdelay(5);
E=0;
}
/**********写数据函数*********
lcdata表示写入的数据*/
write_data(lcddata)
{
defdelay(10);
RS=1;defdelay(5);RW=0;defdelay(5);
E=0;defdelay(15);E=1;
P0=lcddata;defdelay(15);
E=0;
}
//初始化函数//
void initial()
{
write_command(0x28);
defdelay(15);
write_command(0x01);
defdelay(15);
write_command(0x0f);
defdelay(15);
write_command(0x06);
defdelay(15);
write_command(0x0c);
write_command(0x80);//指向第1行第1列
defdelay(15);
}
main()
{
initial();
defdelay(15);
write_data(0x41);//显示A
while(1);
}
哪位牛人帮看下,我这程序哪有毛病?