找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1810|回复: 0
打印 上一主题 下一主题
收起左侧

12864液晶总是显示上半屏

[复制链接]
跳转到指定楼层
楼主
我的硬件连线是总线方式连接的,
现在想让液晶从第6行开始写0X00;但是总是从液晶首行开始写,并会列递加,然后至第二行,再列递加,
再写第三行第四行,写完第四行各列后就不再往下写了,用XBYTE[2000] = Start_Line+6改了行址址也不起作用,不知道怎么解决,请大师们帮忙指点迷津,十二分感谢!

程序及硬件线路如下


//***********************************************************************
#include <absacc.h>
#include <stdio.h>
#include <intrins.h>
#include<at89x52.h>

//#define LCM_read_busy_status XBYTE [0X2003]
//#define LCM_write_left_command XBYTE[0X2004]  //LCD_write_left_command 指向XRAM
//#define LCM_write_right_command XBYTE[0X2000]
//#define LCM_write_left_show_data XBYTE[0X2001]
//#define LCM_write_right_show_data XBYTE[0X2005]

#define Disp_Off 0x3e        //关闭显示的命令(0011 1110)
#define Disp_On 0x3f         //打开显示的命令(0011 1111)
#define Start_Line 0xc0        //起始行地址(1100 0000)
#define Col_Add 0x40        //起始列地址(0100 0000)
#define Page_Add 0xb8        //起始页地址(1011 1000)

sbit LCM_RST = P1^0;  

void delay(unsigned int t)
{
        unsigned int i, j;
        for (i = 0;i < t;i++)
        {
                for (j = 0;j < 10;j++)
                {
                        ;
                }
  }
}

/*-----------------------------主程序---------------------------------*/


main()
{       
        unsigned char i;
         LCM_RST = 0;                                // 复位驱动芯片
   //for(i=0; i<500; i++);
        _nop_();
        LCM_RST = 1;   

        while(1)
        {
         
         //XBYTE[2004]=0x36;
       
        XBYTE[2004]=Disp_On;       
        XBYTE[2004] = Start_Line;//#define Start_Line 0xc0        //起始行地址(1100 0000)
        XBYTE[2000]=Disp_On;
        XBYTE[2000] = Start_Line;//我对Start_Line加4,或者加5,或者加6,但是总是从液晶首行开始写,并会列递加,然后至第二行,再列递加,
                                       //再写第三行第四行,写完第四行各列后就不再往下写了,不知道怎么解决,请大师们帮忙指点迷津,十二分感谢!
        XBYTE[0X2001] = 0x00;    //写左边
        XBYTE[0X2005]= 0x00;        //写右边
                       
//XBYTE[20b8] =0x3F;
//XBYTE[20b8] =0xC0;
//XBYTE[2045] = 0x3F;
//XBYTE[2045] = 0xC0;
//XBYTE[0X2001] = 0x00;    //写左边
//XBYTE[0X2005]= 0x00;        //写右边


delay(5000);
       
  }
}




12864总线连接电路图.jpg (2.93 MB, 下载次数: 34)

12864总线连接电路图.jpg

新建文件夹 .zip

90.35 KB, 下载次数: 3

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表