新闻中心

EEPW首页>嵌入式系统>设计应用> GXM12864图形液晶显示模块驱动程序

GXM12864图形液晶显示模块驱动程序

作者: 时间:2016-11-21 来源:网络 收藏
GXM12864是一种采用低功耗CMOS技术实现的点阵图形LCD模块,内含KS0108B/HD61202控制器,CSA与KS0108B(1)连通!CSB与KS0108B(2)连通!CSA/CSB为01时选通KS0108B(1);为10时选通CSB与KS0108B(2),为其他值时!禁止选通!总线处于高阻状态!

硬件原理为PO口接DB0-DB7的8位双向数据总线!
KS0108B 指令集
1:显示开关指令: R/W=0;D/I=0; 开:0X3F; 关:0X3E
2:显示起始行指令:R/W=0;D/I=0;8位数据高2位为1 后6位位起始巷(0-63)
3:页设置指令:R/W=0;D/I=0; 前5位恒定为10111!后三位为页号(0-7)
4:列地址设置指令:R/W=0;D/I=0;;高2位为01;后6位为列地址(0-63)
5:读状态指令:R/W=1;D/I=0;DB7:BUZY 1忙 0 正常DB6:0DB5: ON/OFF ON 显示打开 OFF 显示关闭DB4:RESET 1 复位状态 0 正常状态 DB3-DB0 0000
6:写数据指令:R/W=0;D/I=1;DB7-DB0 为要写入的数据
7:读数据指令:R/W=1;D/I=1;DB7-DB0 为要读显示的数据

本文引用地址: //m.amcfsurvey.com/article/201611/319369.htm

#define LCD XBYTE[0XFFFF]//LCD端口
#define CSAP2_0//片选1
#define CSBP2_1//片选2
#define EP2_2//使能信号,高电平有效
#define R/WP2_3//读写选择
#define D/Ip2_4//指令数据通道

sbit busy=ACC^7;//LCD状态字节第7位

void send_lcd(unsigned char i)//发命令到主窗口
{
CSA=1; //选通1
CSB=0;
R/W=1;
D/I=0;//读状态
do(ACC=LCD)
while(busy)//等待空闲
R/W=0;
LCD=i;
}

void wrie_lcd(unsigned char i)//写命令到主窗口
{
CSA=1; //选通1
CSB=0;
R/W=1;
D/I=0;//读状态
do(ACC=LCD)
while(busy)//等待空闲
R/W=0;
D/I=1;//写数据状态
LCD=i;
}
unsigned char read_lcd(void) //读数据
{
unsigned char i;
P0=0xff;
CSA=1; //选通1
CSB=0;
R/W=1;
D/I=0;//读状态
do(ACC=LCD)
while(busy)//等待空闲
D/I=1;//读数据状态
i=P0&0xff;
return i;
}

void clr_lcd(void) //清屏
{
unsigned char page,i;
for(page=0xb8;page<0xc0;page++)
{
send_lcd(page);
send_lcd(0x40); //设置显示列地址
for(i=0;i<64;i++)
write_lcd(0);
}
}

void initial(void);
{
send_lcd(0x3f);//开显示
send_lcd(0xc0);//设置起始行为第一行
}




评论


技术专区

关闭