本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
看到12864的显示程序
为什么有的有很大篇幅的 0X00,0X00这样的数据,
而有些却没有啊,比如这个,基本照搬书上,但上电什么都不显示,-_-!
求教啊 ~~~~
#include <reg52.h>
#include <intrins.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
#define lcd_data P0
sbit write=P3^6;
sbit en=P2^1;
sbit cd=P2^0;
uchar code dis1[]={"1234"};
uchar code dis2[]={"李犬波飞"};
uchar code dis3[]={""};
void delay_1ms(uint x)
{
uint i,j;
for(j=0;j<x;j++)
for(i=0;i<110;i++);
}
void write_cmd(uchar cmd)
{
cd=1;
en=0;
write=0;
en=1;
P0=cmd;
en=0;
delay_1ms(5);
}
void write_data(uchar dat)
{
cd=0;
en=0;
write=0;
en=1;
P0=dat;
en=0;
delay_1ms(5);
}
void lcd_pos(uchar x,uchar y)
{
uchar pos;
if(x==0)
{x=0x80;}
else if(x==1)
{x=0x90;}
else if(x==2)
{x=0x88;}
else if(x==3)
{x=0x98;}
pos=x+y;
write_cmd(pos);
}
void lcd_init()
{
write_cmd(0x30);
delay_1ms(5);
write_cmd(0x0c);
delay_1ms(5);
write_cmd(0x01);
delay_1ms(5);
}
main()
{
uchar i;
lcd_init();
lcd_pos(1,0);
i=0;
while(dis1!='\0')
{
write_data(dis1);
i++;
}
lcd_pos(2,0);
i=0;
while(dis2!='\0')
{
write_data(dis2);
i++;
}
lcd_pos(3,0);
i=0;
while(dis3!='\0')
{
write_data(dis3);
i++;
}
while(1);
}
[ 此帖被lf626384在2010-08-12 23:57重新编辑 ] |