proteus仿真HDG12864F-3显示不理想

2019-07-18 08:58发布

程序黏在下面:
#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;                //attention: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');       
        }
}


12864.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
NirvanaFord
2019-07-18 13:27
本帖最后由 NirvanaFord 于 2018-2-27 11:05 编辑

HDG12864F-3使用的驱动芯片为SED1565系列,阅读完SED1565的数据手册后发现,里边并没有关于字库的描述,似乎它的ROM里并没有字库,并且楼主的程序并不是是基于1565芯片的。折腾了两天之后,我采用绘图的方式,显示了下图的文字,由于取模软件的问题,后面的几个字显示不完全,“我”是部分手动取模来的……小白见解,勿喷
最佳答案
捕获.PNG

一周热门 更多>