日志档案

发表于 2007-4-17 22:47:32

3

标签: DSP  汉字  源程序  

DSP驱动液晶显示汉字的源程序

采用DSP驱动一320*240的液晶模块,SED1335为驱动器,可以显示图形、汉字,均采用描点的形式输出。DSP编程驱动液晶先要完成DSP初始化,包括显示用常量的设置。图形点阵式液晶的RAM区中每个字节的数据直接被送到液晶显示模块上,每个位的电平状态决定显示屏上一个点是否点亮,“1”为亮,“0”为不亮。所以相当于一个字节对应显示屏上一个1行×8列点陈。汉字、数字其实都可以看作是由若干个这样的点阵组成的。用“LCD仿真器”将需要显示的字符转换成代码,存成只读型数组需要时调用即可。现列出在液晶屏上写出一个16*16的汉字的汉字的程序。

void showhanzi(uint code,uint x,uint y)   //显示16*16的汉字,code为在汉字库中的信号,x为屏上横坐标(0-39字节﹜,y为纵坐标(0-239行)
{
 uint codec,i,j,addr,value;
 uint csrh,csrl;
 codec=0;
   codec=code*64;  
    for(i=0;i<4;i++)   //分左右两部分写入
    {   
     addr=y*40+x+i;    //相对地址
       csrh=addr/256;
      //csrl=addr%256;
     csrl=addr-csrh*256;
     //setcsr(addr+i);  //设置好光标地址(和显示ram的地址指针相对应)和光标移动方向就可以写入了
     CmdWrite(0x46);        //设置光标指针位置
    DataWrite(csrl);
     DataWrite(csrh);
    //DataWrite(0x00);
      //DataWrite(0x00);
     CmdWrite(0x4f);  //设置光标向下移动
     CmdWrite(0x42);  //数据写入命令
     for(j=0;j<16;j++)
     {
      value=hanzi[codec+j+i*16];
      DataWrite(value);
     }
    }
    LCDDELAY;
    return;
}

系统分类: DSP   |   用户分类: 技术   |   来源: 原创   |   【推荐给朋友】

    阅读(1509)    回复(1)  

投一票您将和博主都有获奖机会!

  • standong

    2008-1-22 13:11:27

    能否给发一下你的写数据,写命令子函数?

    我用2812写T6963的驱动,刚写到清屏,但是很不稳,一会能清,一会把屏幕整花了,我怀疑是不是延时的问题