程序黏在下面:
#include<reg52.h>
#include <intrins.h>
typedef unsigned char uchar;
//12864管脚定
sbit RS=P1^0;
sbit RW=P1^1;
sbit EN=P2^5;
sbit STATE7=P0^7;
//12864忙检测
void busy_check(void)
{
//P0=0xff;
do{
RS=0;
RW=1;
EN=0;
EN=1;
}
while(STATE7==1);
EN=0;
}
//12864写指令
void write_cmd(uchar cmd)
{
busy_check();
RS=0;
RW=0;
P0=cmd;
_nop_();
EN=1;
_nop_();
EN=0;
}
//12864写数据
void write_data(uchar Data)
{
busy_check();
RS=1;
RW=0;
P0=Data;
_nop_();
EN=1;
_nop_();
EN=0;
}
//12864液晶初始化函数
void lcd12864_init()
{
//P0=0xff; //atten
tion:necessary?
write_cmd(0x30); //打开基本指令集
write_cmd(0x0c); //设置整体显示,关闭游标
write_cmd(0x01); //清除显示,并使DDRAM地址计数器归0
}
void main(void)
{
lcd12864_init();
while(1)
{
write_cmd(0x80);
write_data('X');
}
}
-
HDG12864F-3使用的驱动芯片为SED1565系列,阅读完SED1565的数据手册后发现,里边并没有关于字库的描述,似乎它的ROM里并没有字库,并且楼主的程序并不是是基于1565芯片的。折腾了两天之后,我采用绘图的方式,显示了下图的文字,由于取模软件的问题,后面的几个字显示不完全,“我”是部分手动取模来的……小白见解,勿喷
最佳答案
一周热门 更多>