单片机和图形液晶显示器接口应用技术

技术分类: 电源技术  可编程器件  微处理器与DSP  | 2005-12-12
来源:电子产品世界 | 陆爱明

       也可选用UCDOS 的ASC16 文件做字模库。ASC16 文件的字符为8×16 点阵。所有字符按照ASCII 值从小到大升序排列。计算字符首地址的公式:字符首地址=字符的ASCII 码值×16+字模库首地址。

       (2) 建立所用到的16×16 点阵字模库。汉字字符可选用UCDOS 的HZK16 文件做字模库。HZK16 文件的字符为16×16 点阵。所有字符按照区位码从小到大升序排列。计算汉字字符首地址的公式如下:汉字首地址=((区码-1)×94+位码-1)×32。作者用C 语言编写的读取UCDOS 点阵字库字模程序,完成字模读取、

       数据重新排列,并按MCS-51 汇编程序的要求写成相应格式的文本文件。

       p=((quma-1)*94+weima-1)*32;

       cclibfile="fopen"("HZK16

","rb");

       fseek(cclibfile,(long)p,SEEK_SET);

       fread(buf,sizeof(unsigned char),32,cclibfile); /*读32 字节点阵数据*/

       for(m=0;m<32;m++){ /*点阵数据转换成LCD 格式数据*/

       if(m<8) { beginbyte="14"; shiftn="7";}

       else if( m>= 8 && m<16 ) { beginbyte="15"; shiftn="15";}

       else if( m>=16 && m<24 ) { beginbyte="30"; shiftn="23";}

       else { beginbyte="31"; shiftn="31";}

       for(j=0;j<8;j++)

       hzk16x16[m]=(hzk16x16[m]+ (buf[beginbyte-2*j] >>(shiftn-m))&0x01)<<1;

       }

       (3) 常用图形(如产品商标等)的点阵图形的建立。对已有的图形可采用扫描仪进行扫描,然后用图形处理软件进行处理,再将BMP 格式文件转换成MCS-51 的汇编文件的格式。

       以上所有的字模数据都存放在单片机W78E58 的程序存储器中,如用到的汉字、图形较多,可选用较大容量的程序存储器。

       通用子程序:通用子程序分左半屏、右半屏写指令代码子程序和写显示数据子程序。液晶显示驱动器HD16202 内部有个忙标志寄存器,当BF=1 时,表示内部操作正在运行,不能接受外部数据或指令。下面子程序中设指令代码寄存器为COMM,数据寄存器为DATA。

       (COMM EQU 20H /*指令寄存器*/ DATA EQU 21H /*数据寄存器*/)

       (1) 左半屏写指令子程序

       WR_CMD1: MOV DPTR,#CRADR1 ;/*读状态字口地址*/

1】【2】【3】【4】【5】【6
加载中

对文章的评论

更多评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销