微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 双RAM技术在LED显示屏控制系统的应用

双RAM技术在LED显示屏控制系统的应用

时间:03-15 来源:3721RD 点击:

((ram_point & 0xffffff)》》16)); //3字节24位地址

  SPI_write_read(((ram_point & 0xffff)》》8));

  SPI_write_read (ram_point & 0xff);

  unit_board_num=Dw/64; //计算单元板的数量

  for(p=0;p

  { SCK=0; SCK=1; }

  SCK=0;

  for(line=0;line

  { SPISIZE=0x0f; //设置2字节16位传输方式

  for( board_i=0;board_i

  { for(j=0;j《64;j++)

  { SPIRXTX0=ACC; //启动数据传输出

  while((SPISTATUS & BIT1) == 0); //等待发送(接收)完成

  LED_SCK=0;LED_SCK=1; //送入单元板

  } }

  EN=1; //换行时暂关闭

  P2=((P2&0xf0)|line);

  if(region_recod》=Sw)

  { ram_point=ram_begin_addr+block_addr-1;

  SPISIZE=0x07;

  SPI_write_read(((ram_point & 0xffffff)》》16));

  SPI_write_read(((ram_point & 0xffff)》》8));

  SPI_write_read (ram_point & 0xff);

  region_recod=0; i++;

  if(i《=7)

  for(p=0;p

  { SCK=0; SCK=1; }

  SCK=0; }

  RCK=1; RCK=0; //产生74HC595输出锁存信号

  EN=0; } //开显示

  unsigned char SPI_write_read (unsigned char Wr_Rd_Data)

  { unsigned char Temp_Flag;

  SPDR= Wr_Rd_Data; //启动SPI发送或接收

  do //判断发送或接收是否完成

  { Temp_Flag=SPSR&0x80;

  }while(Temp_Flag!=0x80);

  SPSR=SPSR&0x7F; //清SPI发送或接收完成标志

  return SPDR; } //返回SPI接收到的数据

  结 论

  本控制系统利用串行FLASH在输出数据时的特点,最大的减少了数据处理的时间,将显示数据以"DMA"方式输出到显示屏,提高显示效率,并且弥补长条显示屏在显示信息上的不足。双RAM技术大大提高了垂直移动时的存储器使用效率,所有的数据块都是按静态显示方式组织数据,所以每一块RAM的显示数据效率都是100%,双RAM的效率为50%.

  本文显示数据存放在一块FLASH中,效率也为50%,相比动态显示组织方式,降低了垂直移动时显示数据存储器的占用,提高存储效率。还可以双RAM技术为基础,扩展出多RAM方式,提高显示的高度,增加每屏显示信息,进一步提高存储效率。本系统仍有改进的空间,譬如以双RAM组织显示数据后直接用两个RAM来存放不同的数据,控制显示数据直接输出,提高输出速率。


 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top