原创 19264和12864图形点阵液晶(KS0108控制器)的显示驱动程序

2011-5-23 19:23 8868 14 21 分类: 通信
19264图形点阵液晶显示器(KS0108控制器)的显示驱动程序,程序兼容12864图形点阵液晶(KS0108控制器)显示
/*
以下为博主设计的硬件地址,该地址与实际设计相关
  R/W  D/I  /CS1  /CS2  /CS3    E
  A15  A14   A13   A12   A11  与A10有关

                                   A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
LCD_CON                  0      0     0      0     0      1    0    0   0   0    0   0   0    0   0   0
LCD_R_CON             0      0     1      1     0      1    0    0   0   0    0   0   0    0   0   0
LCD_M_CON             0      0     1      0     1      1    0    0   0   0    0   0   0    0   0   0
LCD_L_CON              0      0     0      1     1      1    0    0   0   0    0   0   0    0   0   0
LCD_STATUS            1      0     0      0     0      1     0    0   0   0    0   0   0    0   0  0
LCD_WR                     0      1     1      1     1      1     0    0   0   0    0   0   0    0   0  0
LCD_R_WR               0      1      1      1     0      1     0    0   0   0    0   0   0    0   0  0
LCD_M_WR                0     1      1      0     1      1     0    0   0   0    0   0   0    0   0  0
LCD_L_WR                 0     1      0      1     1      1     0    0   0   0    0   0   0    0   0  0
LCD_R_RD                 1     1      1      1      0     1     0    0   0   0    0   0   0    0   0  0
LCD_M_RD                 1     1      1      0      1     1     0    0   0   0    0   0   0    0   0  0
LCD_L_RD                 1      1      0      1      1     1     0    0   0   0    0   0   0    0   0  0
*/

/*--------------------------------------------
 19264图形点阵液晶显示器(KS0108控制器)自定义寄存器
--------------------------------------------*/
#define  LCD_CON          XBYTE[0x0400]
#define  LCD_R_CON        XBYTE[0x3400]
#define  LCD_M_CON        XBYTE[0x2C00]
#define  LCD_L_CON        XBYTE[0x1C00]
#define  LCD_STATUS       XBYTE[0x8400]
#define  LCD_WR           XBYTE[0x7C00]
#define  LCD_R_WR         XBYTE[0x7400]
#define  LCD_M_WR         XBYTE[0x6C00]
#define  LCD_L_WR         XBYTE[0x5C00]
#define  LCD_R_RD         XBYTE[0xF400]
#define  LCD_M_RD         XBYTE[0xEC00]
#define  LCD_L_RD         XBYTE[0xDC00]

/*
LCD_CON=0x3E(全屏关显示)
LCD_R_CON=0x3E(右屏关显示)
LCD_M_CON=0x3E(中屏关显示)
LCD_L_CON=0x3E(左屏关显示)
LCD_CON=0x3F(全屏开显示)
LCD_R_CON=0x3F(右屏开显示)
LCD_M_CON=0x3F(中屏开显示)
LCD_L_CON=0x3F(左屏开显示)
LCD_CON=11******(全屏设置显示起始行)
LCD_R_CON=11******(右屏设置显示起始行)
LCD_M_CON=11******(中屏设置显示起始行)
LCD_L_CON=11******(左屏设置显示起始行)
LCD_CON=10111***(设置页地址)
LCD_CON=01******(设置列地址)
LCD_R_CON=10111***(设置右屏页地址)
LCD_R_CON=01******(设置右屏列地址)
LCD_M_CON=10111***(设置中屏页地址)
LCD_M_CON=01******(设置中屏列地址)
LCD_L_CON=10111***(设置左屏页地址)
LCD_L_CON=01******(设置左屏列地址)
A=LCD_STATUS(读状态:BUSY,0,ON/OFF,RST,0,0,0,0)
LCD_WR=********(写数据)
LCD_R_WR=********(右屏写数据)
LCD_M_WR=********(中屏写数据)
LCD_L_WR=********(左屏写数据)
A=LCD_R_RD(右屏读数据)
A=LCD_M_RD(中屏读数据)
A=LCD_L_RD(左屏读数据)
*/
KS0108控制器指令说明:01ef72e6-d795-4c4f-a35e-6514b3241daa.JPG
以下为驱动函数声明,源代码见附件。

/****************************************************************************************
 *NAME:       void LCDDisplay(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char code *data_adr,unsigned char Overlap)
 *FUNCTION:   LCD显示函数,适用于19264图形点阵液晶(KS0108控制器)显示,兼容12864图形点阵液晶(KS0108控制器)显示
 *Parameter:  x0,y0,x1,y1分别为方块左上角和右下角的点阵坐标,*data_adr为图形方块数据存储地址,Overlap为是否进行写覆盖操作标志,1为重叠,0为覆盖
 *RETURN:     无返回值
 *CREATED BY: 青山Blog
 *CREATED DATE:2011.05.23
 *****************************************************************************************/

void LCDDisplay(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char code *data_adr,unsigned char Overlap);


只要确保y向即列向坐标值不超过128,该驱动函数完全兼容12864图形点阵液晶(KS0108控制器)显示,当然若觉得驱动函数中多了19264液晶得显示代码,下面附件中的驱动显示函数即为12864图形点阵液晶(KS0108控制器)的驱动函数,只要液晶寄存器地址定义根据实际硬件设计做相应修改即可。


19264LCDDISPLAY.h:attachment download

12864LCDDISPLAY.h:attachment download

KS0108 控制器系列液晶模块使用说明书:attachment download

青山Blog http://blog.ednchina.com/qingshan


文章评论7条评论)

登录后参与讨论

net_zhang521_239294929 2015-4-9 18:02

正好使用19264的屏,看看。

用户1407317 2013-5-18 20:14

不错,好好学习一下。

用户424277 2012-9-28 17:24

仔细,认真,好友奉献精神

用户428375 2012-9-28 11:30

我怎么看不到啊

用户416919 2012-7-15 11:54

感谢楼主的资料

用户421922 2012-1-24 10:35

不错,挺详细的,配一个头文件就可用了

用户966982 2011-6-11 09:02

感谢楼主的资料
相关推荐阅读
用户377227 2013-02-20 17:40
OLED SSD1303显示驱动 for MSP430
RiTdisplay公司128*64点阵OLED(RGS101280640W003) SSD1303显示驱动 for MSP430,文中仅列出驱动接口、控制文档和函数声明,详细的源代码请看附件,开...
用户377227 2012-07-30 17:41
CPLD/FPGA的UART接口设计之系统时钟(晶振)和波特率关系探讨
        UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)是一种广泛使用的异步串行数据通信协议。目前大多数MCU、串口通信I...
用户377227 2012-05-21 21:40
单色8*8点阵LED让人易困惑的那些事
       一般到市面上买单色8*8点阵LED,店家会问要共阳的还是共阴的,很多初学者搞不清楚什么是共阳的,什么是共阴的。         其实单色点阵LED本无所谓共阳还是共阴,如此命名多...
用户377227 2011-07-21 17:21
随笔:关于PL2303型号命名之乱
    使用PL2303这款芯片制作USB转串口时,相信很多人对PL2303生产商都有一样的困惑和不满,即尽管引脚定义和使用方式都有很大的不同,可是芯片仍采用相同的型号来命名(只是在后面加个版本号)。...
用户377227 2011-07-21 15:44
转:单片机C语言中_nop_函数的使用及C语言的延时计算
本文转载自http://hi.baidu.com/xiaowu191/blog/item/ca9b0b2913cd12f7e7cd4039.html,原作者不详,在此向作者致谢意。本文转载自网络标准的...
用户377227 2011-06-21 21:18
美科学家研制出世界上第一束生物激光(转载)
本文转自:http://news.sciencenet.cn/sbhtmlnews/2011/6/245486.html?id=245486,在此向原作者致谢意。作者:赵路 来源:科学时报 发布...
我要评论
7
14
关闭 站长推荐上一条 /2 下一条