新闻  |   论坛  |   博客  |   在线研讨会
日本东芝HD系列128×64行扫描图形LCD驱动说明
zhchxgh | 2009-07-11 16:25:06    阅读:1200   发布文章

日本东芝HD系列128×64行扫描图形LCD驱动说明



            图形点阵驱动说明文件
                   自由、协作、创造、交流、平等!
                   驱动编写:罗姣林 小姐 (C)2001



●lcd12864.h         日本东芝HD系列128×64行扫描图形LCD驱动说明
●必须在程序中加入  #include "lcd12864.h"  或者  #include <lcd12864.h>
●编写标准:ANSI C
●所有函数已经通过测试
●如果用在多任务,注意资源保护,建议可以使用信号量
●所有函数均已“LCD_”打头   
●驱动的安装
  ⑴,在文件的开头找到以下的宏:LCD_PCOM1,LCD_PDAT1,LCD_PCOM2, LCD_PDAT2,
LCD_BLK,LCD_RESET
  ⑵,LCD_PCOM1,LCD_PCOM2分别为内部芯片CS1,CS2的命令端口,LCD_PDAT1,LCD_PDAT2分
别为数据口!
  ⑶,分别根据各自的硬件设置,命令口,以及数据口的地址
  ⑷,LCD_BLK为IO口控制的EL背光,LCD_RESET为IO控制的LCD复位线!
  ⑸,安装完毕


●一般应用示范:
   .              
   .             }  其他的程序体
   .
       



  
●函数使用说明:

  ▲作用:向命令端口写LCD控制命令
    定义:void LCD_WriteCOM(unsigned char ccs,unsigned char cdata);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择
          “cdata”为控制字(格式见后面的说明)

  ▲作用:向数据端口写显示数据
    定义:void LCD_WriteDAT(unsigned char ccs,unsigned char cdata);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择
          “cdata”为数据(格式见后面的说明)

  ▲作用:打开指定的LCD芯片,完成初始化。
    注意:使用驱动前,一定要使用LCD_Open(ccs)这个命令!
    定义:void LCD_Open(unsigned char ccs);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择

  ▲作用:关闭指定的LCD芯片。
    注意:不使用驱动时,可以用这个命令关闭LCD显示,以节省电能!
    定义:void LCD_Close(unsigned char ccs);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择

  ▲作用:设置横向的LCD显示线地址,大小为0~63(底层调用)
    定义:void LCD_SetFirstRow(unsigned char ccs,unsigned char cRow);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择
          “cRow”为地址范围为0~63(格式见后面的说明)

  ▲作用:设置众向的LCD显示线地址,大小为0~127(底层调用)
    定义:void LCD_SetYAddr(unsigned char ccs,unsigned char cYAddr);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择
          “cYAddr”为地址范围为0~63(格式见后面的说明)

  ▲作用:读取LCD的忙标志,如果忙的话就返回“1”,否则返回“0”(数据类型为位类
型)
    定义:bit  LCD_isBUSY(unsigned char ccs);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择

  ▲作用:判断LCD打开或者关闭,如果打开的话就返回“1”,否则返回“0”(数据类型
为位类型)
    定义:bit  LCD_isON(unsigned char ccs);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择

  ▲作用:判断LCD是否正在进行复位操作,如果是的话就返回“1”,否则返回“0”(数
据类型为位类型)
    定义:bit  LCD_isRESET(unsigned char ccs);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择

  ▲作用:读取指定LCD芯片的显示RAM的数据。
    定义:unsigned char LCD_ReadData(unsigned char ccs);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择

  ▲作用:用指定的字符填充LCD的指定芯片
    定义:void LCD_FillRAM(unsigned char ccs,unsigned char cfill);
    参数:“ccs”为芯片CS1或者CS2的选择,cs1=1时为左半边(试具体情况定)的LCD选择
          “cfill”为填充的数据

  ▲作用:清屏
    定义:void LCD_Clear(void);
    参数:无
 
  ▲作用:用指定的字符填充LCD的所有芯片
    定义:void LCD_FillAll(unsigned char cfill);
    参数:“cfill”为填充的数据

  ▲作用:显示归位
    注意:在几乎所有的底层函数的最后,均要使用此函数,否这LCD将不能正常显示
    定义:void LCD_Home();
    参数:无

  ▲作用:依据x,y的数值,自动设置LCD的显示页地址(0~7),x为0~127,y为0~63
    定义:void LCD_Pagexy(unsigned char x,unsigned char y);
    参数:“x”为众向的地址,对于128×64的LCD说范围是0~127
          “y”为横向的地址,对于128×64的LCD说范围是0~63


  ▲作用:设置X地址,亦即LCD的纵向地址
    定义:void LCD_SetX(unsigned char x);
    参数:“x”为众向的地址,对于128×64的LCD说范围是0~127

  ▲作用:在LCD的指定位置显示一个8×8点阵ASCII字符,每次可以显示16×8个字符
    定义:void LCD_ShowASCIIxy(unsigned char x,unsigned char y,unsigned char 
c,unsigned char cr );
    参数:“x”为众向的地址,范围是0~15
          “y”为横向的地址,范围是0~7
          “c”为ASCII代码
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示

  ▲作用:在LCD的指定位置显示8×8点阵ASCII字符串。
    定义:void LCD_ShowStringxy(unsigned char x,unsigned char y,char 
*str,unsigned char cStyle);
    参数:“x”为众向的地址,范围是0~15
          “y”为横向的地址,范围是0~7
          “str”为指向ASCII字符串的指针
          “cStyle”为显示的颜色,cr=0为正常的黑色,否这为反黑显示


  ▲作用:在LCD的指定位置显示32×32的ICO图标点阵。
    定义:void LCD_ShowICO32(unsigned char x,unsigned char y,char code 
*sICO,unsigned char cr);
    参数:“x”为众向的地址,范围是0~127
          “y”为横向的地址,范围是0~7
          “sICO”为指向图标的指针
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示

  ▲作用:在LCD的指定位置显示16*16的ICO图标点阵。
    定义:void LCD_ShowICO16(unsigned char x,unsigned char y,char code 
*sICO,unsigned char cr);
    参数:“x”为众向的地址,范围是0~127
          “y”为横向的地址,范围是0~7
          “sICO”为指向图标的指针
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示


  ▲作用:在LCD的指定位置显示24*24的ICO图标点阵。
    定义:void LCD_ShowICO24(unsigned char x,unsigned char y,char code 
*sICO,unsigned char cr);
    参数:“x”为众向的地址,范围是0~127
          “y”为横向的地址,范围是0~7
          “sICO”为指向图标的指针
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示


  ▲作用:在LCD的指定位置显示16*16的汉字。
    定义:void LCD_ShowHZ16(unsigned char x,unsigned char y,char code 
*sHZ,unsigned char cr);
    参数:“x”为众向的地址,范围是0~127
          “y”为横向的地址,范围是0~7
          “sHZ”为指向汉字点阵的指针
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示


  ▲作用:在LCD的指定位置画点。
    定义:void LCD_PutPixel(unsigned char x,unsigned char y,unsigned char cr);
    参数:“x”为众向的地址,范围是0~127
          “y”为横向的地址,范围是0~63
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示


  ▲作用:在LCD的指定位置画矩形。
    定义:void LCD_Rectangle(unsigned char left,unsigned char top,unsigned char 
right,unsigned char bottom,unsigned char cr);

    参数:“left”,0~127
          “top”0~63
          “right”,0~127
          “bottom”0~63          
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示

  ▲作用:在LCD的指定位置采用十六进制的格式显示指定的ascii字符“c”,点阵为8×8
    定义:void LCD_ShowHEX(unsigned char x,unsigned char y,unsigned char c);
    参数:“x”为众向的地址,范围是0~15
          “y”为横向的地址,范围是0~7
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示

  ▲作用:在LCD的指定位置采用四位的格式显示指定的数字,点阵为8×8
    定义:void LCD_Show4Num(unsigned char x,unsigned char y,unsigned int 
n,unsigned char cr);
    参数:“x”为众向的地址,范围是0~127
          “y”为横向的地址,范围是0~63
           “n”为要显示的数字
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示

  ▲作用:返回驱动版本
    定义:unsigned int LCD_GetVersion(void);
    参数:无

void LCD_WriteCOM(unsigned char ccs,unsigned char cdata);
void LCD_WriteDAT(unsigned char ccs,unsigned char cdata);
void LCD_Open(unsigned char ccs);
void LCD_Close(unsigned char ccs);
void LCD_SetFirstRow(unsigned char ccs,unsigned char cRow);
void LCD_SetYAddr(unsigned char ccs,unsigned char cYAddr);
void LCD_SetPage(unsigned char ccs,unsigned char cPage);
bit  LCD_isBUSY(unsigned char ccs);
bit  LCD_isON(unsigned char ccs);
bit  LCD_isRESET(unsigned char ccs);
unsigned char LCD_ReadData(unsigned char ccs);
void LCD_FillRAM(unsigned char ccs,unsigned char cfill);
void LCD_Clear(void);
void LCD_FillAll(unsigned char cfill);
void LCD_Home();
void LCD_Pagexy(unsigned char x,unsigned char y);
void LCD_SetX(unsigned char x);
void LCD_ShowASCIIxy(unsigned char x,unsigned char y,unsigned char c,unsigned 
char cr );
void LCD_ShowStringxy(unsigned char x,unsigned char y,char *str,unsigned char 
cStyle);
void LCD_ShowICO32(unsigned char x,unsigned char y,char code *sICO,unsigned 
char cr);
void LCD_ShowICO16(unsigned char x,unsigned char y,char code *sICO,unsigned 
char cr);
void LCD_ShowICO24(unsigned char x,unsigned char y,char code *sICO,unsigned 
char cr);
void LCD_ShowHZ16(unsigned char x,unsigned char y,char code *sHZ,unsigned char 
cr);
void LCD_PutPixel(unsigned char x,unsigned char y,unsigned char cr);
void LCD_Line(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char 
y2,unsigned char cr);
void LCD_Rectangle(unsigned char left,unsigned char top,unsigned char 
right,unsigned char bottom,unsigned char cr);
void LCD_ShowHEX(unsigned char x,unsigned char y,unsigned char c);
void LCD_Show4Num(unsigned char x,unsigned char y,unsigned int n,unsigned char 
cr);

void LCD_GetVersion(void);







●IC27c080.h     8MB汉字点阵驱动,含GB2312-80标准国标I级,II级简体字库,虚拟空
间驱动
●必须在程序中加入  #include "IC27c080.h"  或者  #include <IC27c080.h>
●编写标准:ANSI C
●所有函数已经通过测试
●如果用在多任务,注意资源保护,建议可以使用信号量
●所有函数均已“HZ”打头   


●一般应用示范:
   .              
   .             }  其他的程序体
   .
   
  
●函数使用说明:

  ▲作用:设置27c080芯片的页地址0~63
    定义:HZ_SetPage(unsigned char cPage);
    参数:“cPage”为芯片页
          

  ▲作用:在指定位置显示16×16点阵的汉字
    定义:void HZ16_print(char *s,unsigned char x,unsigned char y,unsigned char 
cr);
    参数:“s”为汉字的字符串
          “x”为众向的地址,范围是0~7
          “y”为横向的地址,范围是0~7
          “cr”为显示的颜色,cr=0为正常的黑色,否这为反黑显示




  ▲作用:在指定位置显示16×8点阵的ASCII字符
    定义:void HZ16_print(char *s,unsigned char x,unsigned char y,unsigned char 
cr);



void HZ_SetPage(unsigned char cPage);
void HZ16_print(char *s,unsigned char x,unsigned char y,unsigned char cr);
void HZ_ShowASCII16X8xy(unsigned char x,unsigned char y,unsigned char 
c,unsigned char cr );

驱动在下载区
http://www.xiao-qi.com/comm/filedownload.php3?id=33&file=采用LCD电子书电路.ZIP
驱动使用说明::

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客