新闻中心

EEPW首页>嵌入式系统>设计应用> 基于NiosⅡ处理器的TFT-LCD图形显示设计

基于NiosⅡ处理器的TFT-LCD图形显示设计

作者: 时间:2010-11-24 来源:网络 收藏

  系统初始化,调用HAL的各模块初始化程序,并定义在后面程序当中要用到的各个对LCD显示屏背景颜色、字体颜色设置的函数。

  本设计采用总线方式[6]对LCD控制器(TCB8000A)的时序进行控制,利用Builder添加完一个挂接在三态桥上的接口,将TCB8000A的控制引脚与Avalon总线相关联。由于TCB8000A的控制时序与Avalon总线三态接口的时序吻合,因此只需在定制接口时调整等待、建立时间便可以达到控制目的。在Nios程序内用简单的写操作产生Avalon总线时序,需要注意的是TCB8000A只需一个地址控制线A1,且与总线的A1相连,因此写操作应使总线上的地址线A1符合TCB8000A对A1管脚的时序要求。即在并行模式下,MPU首先把完整的命令包送入地址为F004H的只写寄存器(A1=0),然后将“1”送到地址为F006H的寄存器(A1=1),结束一个命令包,并打开显示。对于地址线A0,A2~A17使用的控制板已经设定好了,所以只需要控制A1便可完成命令的送入。流程图如图4所示。

基于NiosⅡ处理器的TFT-LCD图形显示设计

  代码如下:

  void SdCmd(alt_u8 Command) //send command

  {

  IOWR(GX_TFT_LCD_BASE, 0, Command); //A1=0

  }

  void CmdEnd() //send command

  {

  IOWR(GX_TFT_LCD_BASE, 2, 1); //A1=1

  }

  在控制时序的基础上,程序中的显示图片部分[7]首先把要显示的图片用Bmp2HexPro.exe软件工具转换成数据信息, 把图片的数据信息以头文件的形式(picture.h)添加在工程中。

  对储存的多张图片进行分类标号(例如picx1、picx2、picx3等),然后在C主程序中用switch语句[8]来分别调用表示该图片信息的索引号码,示例程序如下:

  void ShowBMP160(alt_u32 X,alt_u32 Y, alt_u8 picIndex)

  {

  alt_u8 i,j,k,Buffer[5],*pic;

  alt_u16 p;

  alt_u32 addr;

  switch(picIndex){

  case 1: pic=picx1;break;

  case 2: pic=picx2; break;

  case 3: pic=picx3; break;

  default: break;

  }



评论


相关推荐

技术专区

关闭