您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子元器件>发光二极管>

软件结构 - 智能LED广告牌制作方案

2011年11月08日 17:14 本站整理 作者:秩名 用户评论(0
3 软件结构

  本系统的软件主要由三大模块组成,即上位机主控程序、发射机主控程序和接收机主控程序。

  3.1 上位机主控程序

  上位机主控程序实际上包括显示信息生成程序、显示点阵转换程序和串口通信程序,是三大主控程序中结构最复杂的一部分。

  显示信息生成程序完成显示图像和文字的录入、编辑及动画效果设计。该程序首先采用DOS平台下的主控程序与底层通信软件结合,通过串行及并行通信口完成用户对源文件、INTERNET接口及其他输入设备的多参数录入。

  显示点阵转换程序就是将生成的显示信息通过点阵抽取和移动算法将显示信息转换为LED显示屏对应的点阵数据。对于彩色显示屏,需要将图像信息的RGB三基色数据分别抽样,并分块存储、顺序转发;对于连续的动画图像,要按帧分别计算偏移量,关键是背景图像与动画文字要同步。该部分的软件是在TURBOC3.0的环境下编写的。

  串口通信程序则较为简单,附属于点阵转换程序中。

  限于篇幅和技术原因,这里仅以PC机汉字抽取发送程序为例,叙述其原理和结构。

  设终端显示屏所显示的是16×16的汉字点阵。所以,要想在终端上显示广告信息,必须将该信息所包含的汉字的点阵数据传到终端上。在TURBOC3.0中,将汉字赋值给一个变量时,实际上是将该汉字的区位码赋值给这个变量。每个汉字都是16×16的点阵,笔划经过的地方为"1",其余为"0".这样,按从上到下,从左到右的顺序,一个汉字由256个点组成,也就是32个字节。汉字按区位码的顺序排列在汉字字库中,区码为行,位码为列,一区有94位。这样,某汉字在汉字库中的偏移地址为(区码×94+位码)×32.取出后的32字节汉字点阵,经由PC机的串行口送入到发射机中。其流程如图5所示。

  

 

  图5 PC机软件流程图

  3.2 发射机主控程序

  发射机主控软件的功能是通过串行口接收上位PC机发送来的图像点阵,读取键盘命令,并向编码器串行发送操作命令或显示数据。

  该部分的软件是在KeilC51环境下编写的,它可以将C语言直接翻译成汇编语言,生成二进制码写入单片机,这样编写效率高一些。串行口触发,则表明PC机有图像点阵数据传来,单片机立即接收点阵数据存于RAM中;当INT0触发,表明键盘有动作,立即接收键值判断命令的类别,并向接收机发送图像点阵数据或者操作命令。其功能流程如图6所示。

  

 

  图6 发射机主控程序流程

  3.3 接收机主控程序

  该部分软件的功能是完成对接收数据的识别、存储、变换和显示驱动,并可实现本地本机的自检,显示固化图像。当接收装置的译码芯片有输出时,单片机就中断当前的显示,接收标志字,然后判断此标志字的内容,确定将接收的是图像点阵,还是操作控制命令。若是点阵数据,就将其连续接收存放到一个显示缓冲数据库中,按当前的方式显示。若是命令,则立刻改变显示方式。

  其中,关键的是图像上、下、左、右移动的实时实现。具体实现方法如下:

  1)图像的上下移动 ,直到一个图像的移完为止;再移下一个图像的点阵。上移的过程类似。

  2)图像的左右移动 将一图像的每一行数据向左移位(使用C语言的移位指令),将移位后的点阵存放于BUF之中,即可显示。右移的过程类似。

  接收机主控程序的功能流程如图7所示。

  

 

  图7 接收机主控程序流程

  

非常好我支持^.^

(2) 100%

不好我反对

(0) 0%

( 发表人:小兰 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!