当前位置:首页 > 单片机的Led点阵广告牌设计毕业论文 - 图文
郑州职业技术学院 毕业设计(论文)
们把它分解成上部分和下部分,上部分由8*16的点阵组成,下部分也由8*16的点阵组成。在本例中单片机首先显示的是左上角的第一列的部分,即第0列的P00~P07口。方向为P07到P00,显示汉字“杨”的时候,P00到P02都是灭的,P03亮,因为行接阴极,即二进制11110111,转换为16进制为F7H,如图(4)所示。
上半部分第一列完成之后,继续扫描下半部分的第一列,即从P27向P20方向扫描,从上图可以看到,这一列P2.2亮,其余全部灭,所以代码为11111011,16进制为FBH,然后单片机转向上半部的第二列,除了P03亮,其他的都不亮,即为11110111,16进制为F7H,这一列扫描完成之后继续进行下半部分的扫描,除了P20\\P21亮,其他的为不亮,为二进制11111100,即16进制FCH。
按照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得
出汉字“杨”的扫描代码为 : F7H FBH F7H FCH 37H FFH 00H 00H
B7H FFH 77H FEH F5H F7H BDH DBH; 9DH ECH 2DH F7H B5H F9H 39H BEH BDH 7FH 3FH 80H FFH FFH FFH FFH;
图(4)显示原理图
由这个原理可以看到,无论显示何种字体或图像,都可以用这种方法来分 析出它的扫描代码从而显示在屏幕上。了解汉字的显示原理之后,那如何得到汉字的字模信息呢?现在有一些现成的汉字字模生成软件,可从网上下载汉字字库提取程序直接提取字库,如图(5)所示的为一种字模生成软件,软件打开后输入
- 7 -
郑州职业技术学院 毕业设计(论文)
汉字,点击“检取”后,十六进制数据汉字代码即可以自动生成,把我们需要的竖排数据复制到我们的程序即可。
图(5)
2.4、 点阵的移动
以下以16×16点阵为例介绍点阵的移动。要显示一个字符,该字符的点阵数据可以列向(纵向)16点组字,又可以行向(横向)16点组字。无论哪一种组字方法,都既可以显示字符的水平方向的移动,又可以显示竖直方向的移动。本设计主要采用汉字的左移,所以以下只作左移显示的解释。
显示字符的左右移动
(1) 列扫描方式左移动:列向组字显示字符水平方向的移动(左滚动) 在这里有两个方法:
方法1:延长数组法。将原来字符点阵数组的16个数据重复一遍延长,点阵数组的数据个数为32个。每扫描一帧取8个数据显示,下一帧取数要在数组中后移一个数取数。循环一遍扫16帧。可以假想有两块16×16的点阵模块(共32帧)水平平行排列,用一个恰好能罩住16列点阵的中空方框去罩这个点阵,第1(第1帧)罩住最左边数起第一列开始的16列,就扫描显示这16列;第2次(第2帧)使方框右移一列,罩住做左边数起第2列开始的16列,就扫描显示这16列;······;这样每扫描完一帧使方框右移一列,最后第16次(第16帧) 罩住左边数起的第16列开始的16列,就扫描显示这16列。如此完成16帧画面的扫描显示,也就完成了整个一次移动循环扫描、之后反复循环,即可呈现显示字符沿水平向左移动的图像,如图6所示。
- 8 -
郑州职业技术学院 毕业设计(论文)
图6 方框图法左右移动示意图
因为是列向组字(列扫描方式,点阵数据为行码,上边为低位下面为高位),希望显示移动的一个字符,第1次扫描从行码的点阵数组中取第1~16个数据,送行码输出口,对应于这8个数据,同时用列码输出口输出列码,分别控制第1~16列。扫描完前16个数据之后,第2次扫描从点阵数组中取第3~18个数据(第18个数据与第1个数据同),送行码输出口,对应于这16个数据,同时用列码输出口输出列码,仍分别控制扫第1~16列。第3次扫描从点阵数组中取第5~20个数据(第20个数据码与第2个数据码相同)扫描······;如此实现字符向左移动。
以上完成一个图形移动的方法,也可以看成是移动16个不同的字形。如图2.13所示,首先扫描第一个字型,同样是16行,16次扫描,16次显示;完成一个字型的扫描以后,再扫描第二个字型;完成第二个字型的扫描之后,再扫描第三个字型······依此类推,即可产生该文字的左移的感觉。
假设如果原本某个汉字的字型(第一个字型),其编码为:
00H,10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H0E0H,0F0H;
第二个字型的编码为:
20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H0E0H,0F0H, 00H,10H 也就是把第一个字型的编码中,第1列显示数据,变为第2列显示数据;第2列显示数据,变成第3列显示数据;第3列显示数据,变成第4列显示数据;第4列显示数据,变成第5列显示数据······以此类推。
当第一个字型扫描显示完成之后,就进行这样的动作调整,以产生第二个
- 9 -
郑州职业技术学院 毕业设计(论文)
字型的编码。同样的,当第二个字型扫描完成之后,就进行这样的调整动作,以产生第三个字型的编码。这个调整动作时先将16个编码根据序填入存储器,例如第1行编码存入20H,第二行编码存入21H······要进行左移调整时,则先将20H地址的数据转移到36H地址,再将21 H地址的数据转移到20 H地址,将22 H地址的数据转移到21 H地址,将23 H地址的数据转移到22 H地址,将24 H地址的数据转移到23 H地址,将25 H地址的数据转移到24 H地址,将26 H地址的数据转移到25 H地址,将27 H地址的数据转移到26 H地址,将28 H地址的数据转移到27H地址······
本设计主要采用以上方法实现左移,其他方法在此不再说明。
2.5 芯片资料
主要芯片介绍
1. 8051系列的单片机
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图片见下图附录1。
附录1 89S51管脚图
(1).管脚说明 VCC:供电电压。 GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,
- 10 -
共分享92篇相关文档