毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

LED图文显示屏系统软硬件设计 第8页

更新时间:2008-10-23:  来源:毕业论文

LED图文显示屏系统

}

OnFont()函数中嵌入TextDialog()函数,

DDX_Text(pDX,IDC_POS_X,m_iPosX)//文本区内文字输入X

DDX_Text(pDX,IDC_POS_Y,m_iPosY)//文本区内文字输入Y

        颜色的控制:

Windows系统中,色彩是以ture color来定义的,即COLORREF它是一个四字节字,其中的3个字节分别代表红,绿,蓝三种基本单色,也就是每一个基本单色由一个字节来表示,亦即每一个基本单色有256种色阶。所以True color16777216种色彩变化。虽然计算机内定义了这么多颜色,但是对于应用与现实生活中的LED显示屏来说无须也无法达到。因为人眼对不同颜色光线的敏感程度不同,并且红、绿和黄三种颜色是人眼视觉细胞最敏感的,所以这三种颜色成为基色,通过其不同比例的混合就能实现从白到黑的各种颜色。所以也正是应用于交通警视最为普遍的颜色。LED显示屏应用于交通指挥大厅的法律宣传,为公众传输信息以及服务,基于特殊的应用领域,图文显示屏都只有三种颜色的变化。所以控制系统在工具栏内只添加了以上三种颜色满足今后扩展的要求。

4.2 字模提取

4.2.1字模简介

文字的字模是一组数字,但它的意义却与数字的意义有着根本的变化,它是用数字的各位信息来记载英文或汉字的形状。

在电脑硬件中,根本没有汉字这个概念,也没有英文的概念,其认识的概念只有——内码(将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码)。如果你用启动盘启动系统后用DIR命令可能得到一串串莫名其妙的字符,但那确确实实是汉字,如果你启动UCDOS或其他的汉字系统后,就会看到那是一个个熟悉的汉字。在硬件系统内,英文的字模信息一般固化在ROM里,即使在没有进入系统的CMOS里,也可以让你看到英文字符。而在DOS下,中文的字模信息一般记录在汉字库文件里(将制作好的字模放到一个个标准的库中,这就是点阵字库文件)。

4.2.2 LED显示屏领域字模实现技术

在通过软件实现的技术中,目前有许多字模生成软件,软件打开后输入汉字,点“检取”,十优进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。在通过硬件实现字模提取的技术中,有在单片机系统中增加硬汉字库的方法,主控器发送的汉字是其机内码,用两个字节来表示一个汉字。根据机内码,显示单元控制模块从汉字库中查取显示字模,实现汉字显示。由于带有硬汉字库,进行动态文字显示时,通用智能显示单元仅接受汉字的机内码即可,这样数据通讯量大大减少。因此,“动态文字显示速度快”。

4.2.3软件控制系统字模提取的分析与设计

而在LED显示屏控制系统具体应用的Windows操作系统下如何提取字模信息是设计的核心。软件控制系统在实际编辑过程中,要求各种字体、字号的文字都能被编辑、保存。所以系统在设计时,把文本区理解为由众多的象素点构成,而把不同字体、字号的文字理解为一幅图像。因为所开启的文本区大小与LED显示屏的大小对应,所以采用16*16点阵为单位,把文本区内的每个像素点都看成一个二文数组,由于系统中各种颜色都有对应的值,赋予每个不同颜色的像素点不同的对应值,再把每个点赋予一个int型的值,这样保存下来的信息就是二进制数据。通过这样的设计,我们不仅可以把任何字型,任何大小的文字保存下来,还可以显示以256个像素点阵为单位的任何图形。在软件控制系统中实现字模的提取,也就避免了在单片机中加载硬汉字库模块,从而简化了硬件模块的设计。

以下以单色屏为例,介绍系统采用字模保存的算法设计

定义COLORREF zimo_color//像素点的颜色,判断某个点的颜色值。如果值为0xffffff,说明此点为白色,赋予此点值0。由于单色屏只有红色和不显色两种,所以可以简单赋值为除白色外其余点赋值为1

CClientDC dc(this);

CFile myfile;

unsigned int zimo[192][384]={0};

unsigned char zimo_data[192][48]={0};

COLORREF zimo_color;

int row,col;

this->HideCaret();

for(row=0;row<192;row++)

{

for(col=0;col<384;col++)

{zimo_color=dc.GetPixel(col,row);

if(zimo_color==0xffffff)

{zimo[row][col]=0;}

else{zimo[row][col]=1;}}

}

定义unsigned int zimo[192][384]={0};//文本区像素点

8位为一字节(因为在随后的串行通讯中,传输的数据是8位的二进制数据)定义unsigned char zimo_data[192][48]={0};

this->ShowCaret();

int i,j,k;

for(i=0;i<192;i++){

for(j=0;j<48;j++){

for(k=0;k<8;k++){

zimo_data[i][j]+=zimo[i][8*j+k]*((int)pow(2,(7-k)));}}}

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

LED图文显示屏系统软硬件设计 第8页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。