51单片机驱动12864液晶问题? 30

我的液晶是ST7920的,12864,要做成下面这种形式的界面要怎么做啊?高手指教,最好给出相关的程序,能看出思路最好不过了小弟谢过了... 我的液晶是ST7920的,12864,要做成下面这种形式的界面要怎么做啊?高手指教,最好给出相关的程序,能看出思路最好不过了 小弟谢过了 展开
 我来答
百度网友27209e7cd
2010-03-02 · TA获得超过1404个赞
知道小有建树答主
回答量:805
采纳率:0%
帮助的人:925万
展开全部
很简单的,对照硬件连接

#include <REG52.H>
#include <intrins.H>

//定义引脚连接

#define LCD_DATA P1 //数据口
sbit RS = P2^0; //并行的指令/数据选择信号, H数据, L命令
sbit RW = P2^1; //并行读写选择信号, H读, L写
sbit E = P2^2; //并行使能端, H有效, L无效

//待显示的内容

unsigned char code Tab1[]={"自定义内容"};
unsigned char code Tab2[]={"自定义内容"};
unsigned char code Tab3[]={"自定义内容"};
unsigned char code Tab4[]={"自定义内容"};

//延时子程序

void Delay1mS(unsigned int tt) //延时tt毫秒
{
unsigned char i;
while(tt--)
for(i=113;i>0;i--); ;
}

bit CheckBusy() //读BF标志位,检查LCD是否就绪
{
RS=0;
_nop_();
RW=1;
_nop_();
E=1;
_nop_();

if(LCD_DATA&0x80)
return 1;
else
return 0;
}

void Wait() //等待LCD就绪
{

}

/*unsigned char Read_Data() //读数据
{
Wait();
RS=1;
RW=1;
E=1;
_nop_();
return LCD_DATA;
}
*/
Write_Data(unsigned char dat) //写一个字节数据
{

Wait();
RS=1;
RW=0;
E=1;
_nop_();
LCD_DATA=dat;
E=0;
_nop_();
}

Write_Command(unsigned char dat) //写命令
{
Wait();
RS=0;
RW=0;
E=1;
_nop_();
LCD_DATA=dat;
E=0;
_nop_();
}

Write_String(unsigned char *p) //写字符串
{
char cnt=0;
while(*(p+cnt)!='\0')
{
Write_Data(*(p+cnt));
cnt++;
}
}

void LCD_Init() //LCD初始化
{
Write_Command(0x30);//基本指令, 扩充指令为34H
Delay1mS(1);
Write_Command(0x0c);//显示开, 关光标 .开光标0X0E
Delay1mS(1);
Write_Command(0x01);//清屏
Delay1mS(1);
}

void Set_Position(unsigned char x, unsigned char y) //设置待显示的位置
{
unsigned char p;
switch(x%4)
{
case 0: p = 0x80; break; //第一行开始地址
case 1: p = 0x90; break; //第二行
case 2: p = 0x88; break; //第三行
case 3: p = 0x98; break; //第四行
}
p += y;
Write_Command(p);
}

main()
{

LCD_Init();
Set_Position(0,0);
Write_String(Tab1);
Set_Position(1,0);
Write_String(Tab2);
Set_Position(2,0);
Write_String(Tab3);
Set_Position(3,0);
Write_String(Tab4);
while(1);
}
liang890319
2010-03-02 · TA获得超过1235个赞
知道小有建树答主
回答量:1446
采纳率:50%
帮助的人:438万
展开全部
说难也不难

第一步:确定硬件连接图
第二步:查看它的驱动芯片 以及指令的功能(例如你图片中的反显)
第三步:修改别人的驱动程序(这样速度快)

然后就是优化和调试了

(由于不知道你的驱动IC没办法给你驱动程序sorry)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式