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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。