跪求51单片机控制12864液晶显示屏,用的P0口,不是P0口???而且是并行??谢谢啦

 我来答
丶空城绝唱CX
2014-06-04
知道答主
回答量:45
采纳率:0%
帮助的人:14.6万
展开全部
#include <reg52.h>
#include <intrins.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
#define LCD_date P0

sbit LCD12864_RS = P3^5;
sbit LCD12864_RW = P3^6;
sbit LCD12864_E = P3^4;
sbit LCD12864_PSB= P3^7;
sbit wela = P2^6;
sbit dula = P2^7;
uchar code dis1[]={"书山有路勤为径;"};
uchar code dis2[]={"学海无涯苦作舟。"};
uchar code dis3[]={"姓名:阿弥陀佛~"};
uchar code dis4[]={"号码:12345678900"};
void delay(uint x)
{
uint i,j;
for(j=0;j<x;j++)
for(i=0;i<110;i++);
}

void write_com(uchar com)
{
LCD12864_RS = 0;
LCD12864_RW = 0;
LCD12864_E = 0;
P0 = com;
delay(5);
LCD12864_E = 1 ;
delay(5);
LCD12864_E = 0;
}
void write_dat(uchar dat)
{
LCD12864_RS = 1;
LCD12864_RW = 0;
LCD12864_E = 0;
P0 = dat;
delay(5);
LCD12864_E = 1 ;
delay(5);
LCD12864_E = 0;
}
void LCD_pos(uchar x,uchar y)
{
uchar pos;
if(y==0) {y=0x80;}
else if(y==1)
{y=0x90;}
else if(y==2)
{y=0x88;}
else if(y==3)
{y=0x98;}
pos = x+y;
write_com(pos);
}
void displayonechar(uchar x,uchar y,uchar dat) //显示一个字符
{
uchar pos;
if(y==0) {y=0x80;}
else if(y==1)
{y=0x90;}
else if(y==2)
{y=0x88;}
else if(y==3)
{y==0x98;}
pos = x+y;
write_com(pos);
write_dat(dat);
}
void displaylistchar() //显示一连串汉字和字符
{
uchar i;
write_com(0x80); //使用while循环方法显示一连串字符
i = 0;
while(dis1[i]!='\0')
{ write_dat(dis1[i]); i++; }

write_com(0x90); //使用while循环方法显示一连串字符
i = 0;
while(dis2[i]!='\0')
{ write_dat(dis2[i]); i++; }

write_com(0x88); //使用for循环方法显示一连串字符
i = 0;
for(i=0;i<16;i++)
{ write_dat(dis3[i]); delay(10); }

write_com(0x98); //使用for循环方法显示一连串字符
i = 0;
for(i=0;i<16;i++)
{ write_dat(dis4[i]); delay(10); }

}

void LCD_init()
{
LCD12864_PSB=1;
write_com(0x30);
delay(5);
write_com(0x0c);
delay(5);
write_com(0x01);
delay(5);
}

void main()
{
uchar i;
wela = 0;
dula = 0;
delay(10);
LCD_init();
displaylistchar();
while(1);

}

贡献出来了,希望大家指点指点。我自己写的。主函数里面还可以用displayonechar();来显示单独一个字符。不过不能用displayonechar();显示一个汉字。具体还要看技术手册。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
993106193
2014-06-03 · TA获得超过280个赞
知道小有建树答主
回答量:926
采纳率:20%
帮助的人:521万
展开全部
看不懂你什么意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落叶城主lyc
2014-06-03 · TA获得超过450个赞
知道小有建树答主
回答量:346
采纳率:66%
帮助的人:300万
展开全部
有现成的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式