第一篇:8×8_LED点阵显示课设
论文
郑州交通职业学院 课程设计论文(设计)
设计)题目:
4个8*8LED灯点阵显示
所属系别: 信 息 工 程 系 专属班级: 10级电子信息工程技术2班 姓 名: 李 洋 学 号: *** 指导老师: 姜 海 撰写日期: 2011 年 12 月
1(论文
郑州交通职业学院 课程设计论文(设计)
设计)题目:
4个8*8LED灯点阵显示
所属系别: 信 息 工 程 系 专属班级: 10级电子信息工程技术2班 姓 名: 姜 永 帅 学 号: *** 指导老师: 姜 海 撰写日期: 2011 年 12 月
2(论文
郑州交通职业学院 课程设计论文(设计)
设计)题目:
4个8*8LED灯点阵显示
所属系别: 信 息 工 程 系 专属班级: 10级电子信息工程技术2班 姓 名: 师 改 超 学 号: *** 指导老师: 姜 海 撰写日期: 2011 年 12 月
3(摘 要
LED是发光二极管Light Emitting Diode的英文缩写, 是一种能够将电能转化为可见光的半导体。LED点阵是由发光二极管排列组成的显示器件, 在我们日常生活的电器中随处可见,极为普通也广为人知。特别是它的发光类型属于冷光源,效率及发热量是普通发光器件难以比拟的,它采用低电压扫描驱动,具有: 耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远、规格品、可靠耐用、应用灵活、安全、响应时间短、绿色环保、控制灵活种等特点。目前LED显示屏作为新一代的信息传播媒体,已经成为城市信息现代化建设的标志。随着社会经济的不断进步,以及LED显示技术的不断完善,人们对LED显示屏的认识将越来越深入,其应用领域将会越来越广。
关键词:发光二级管,半导体,信息传媒体,LED显示技术
引言
自20世纪80年代后期开始,随着LED制造技术的不断完善,在国外得到了广泛的应用。在我国改革开放之后,提别是进入90年代国民经济的高速增长,对公众场合发布信息的需求日益强烈。
而LED显示屏作为信息传播的一种重要手段,已经成为城市信息现代化建设的标志,LED显示屏随着社会经济的不断进步,以及LED制造技术的完善,人们对LED显示屏的认识将会越来越深入,其应用领域将会越来越广;LED显示屏经多年的开发、研制、生产,其技术目前已经成熟。
现在各种广告牌不再是白底黑字了,也不再是单一的非电产品,而是用上了丰富多彩的LED电子产品,为城市的增添了一道靓丽的风景。而且它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、发光效率高、故障少、视角大、可视距离远、可靠耐用、组态灵活、安全、响应时间短、绿色环保、控制灵活、色彩丰富以及对室内外环境适应能力强等特点。近年来LED显示屏市场得到了迅猛的发展,已经广泛应用到银行、邮电、税务、机场、车站、证券市场及其它交易市场、医院、电力、海关、体育场等需要进行多种公告、宣传的场合。
通过设计一个可显示数字的8*8点阵控制器来学习和熟悉LED的使用。
第1章 设计内容及设计方案
1.1本设计任务
结合微机原理、单片机技术知识,查阅有关资料,设计一个以单片机为核心的LED点阵显示器系统,采用点阵LED作为显示器显示。
1.2 总体设计方案和论证
8*8显示器设计电路(PROTUES):
图1 设计电路图
第2章 系统硬件设计
2.1 AT89C51单片机的结构
2.1.1 51系列单片机的概述
单片机也被称作“单片机微型计算机”、“微控制器”、“嵌入式微控制器”,国际上采用“MCU”(Micro Controller Unit)称呼单片机。如果将8位单片机的推出作为起点(1976年),那么单片机的发展的历史大致可以分为4个阶段。第一阶段是单片机探索阶段,主要探索如何把计算机的主要部件集成在单芯上;第二阶段是单片机完善阶段,完善了8位单片机的并行总线结构、外围功能单元由CPU集中管理模式、体现控制特性的位地址空间和位操作方式、指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令;第三阶段是向微控制器发展的阶段,说的是在51系列的基本结构的基础上,加强了外围电路的功能,突出了单片机的控制功能,将一些用测控对象的模数转换器、数模转换器、程序运行监视器、脉宽调制器等纳入芯片中,体现单片机的微控制器特征;第四阶段是单片机的全面发展阶段,很多大半导体和电气厂商都开始加入单片机的研制和生产,单片机世界出现了百花齐放,欣欣向荣的景象。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位、16位、32位通用型单片机,以及小型谦价的专用型单片机。
图2 单片机结构框图
51系列有3种封装形式,一种是DIP(Dual Inline Package)封装
形式,一种是LCC(Quad Flat Package)封装形式。这种形式是具有44个“J”形脚的方型芯片。另一种是QFP(Quad Flat Package)封装形式, 这种形式是具有44个“J”形脚的方型芯片,但它的体积更小、更薄,是一种表面贴焊的封装形式。下面介绍下89S52单片机的引脚的功能和其内部结构图。AT89C51单片机实际有郊的引脚为40个,以下是89C51单片机的DIP封装形式的引脚的名称,如图3。
图3 单片机引脚名称
2.2 8×8 LED点阵显示模块的硬件设计及工作原理
显示屏是由发光二极管行列组成的LED点阵模块组成显示屏体。2.2.1 LED简介
LED发光灯结构如图2所示,它由芯片
3、阳极引脚
1、阴极引脚2和环氧树脂封装外壳四部分组成。它核心部分是具有复合发光功能的PN结,即芯片3。环氧树脂封装外壳具有保护芯片的作用,还有透光聚光的能力,以增强显示效果。
图4 发光二级管结构
2.2.3LED点阵
随着LED应用领域的扩大,要求生产更为直接和方便的LED显示器件。因而出现了数码管、字符管、电平管、LED点阵等多种LED显示器。不管显示器的结构怎么变,它的核心部件仍然是发光半导体芯片。
例如一个8*8的点阵是由64个发光二极管按一个规律组成的,如图5。
图5 发光二极管
如图5所示的发光二极管,行接低电平,列接高电平,发光二极管导通发光。2.2.3显示原理
人眼的亮度感觉不会因光源的消失而立即消失,要有一个延迟时间,这就是视觉的惰性。视觉惰性可以理解为光线对人眼视觉的作用、传输、处理等过程都需要时间,因而使视觉具有一定的低通性。实验表明,当外界光源突然消失时,人眼的亮度感觉是按指数规律逐渐减小的。这样当一个光源反复通断,在通断频率较低时,人眼可以发现亮度的变化;而通断频率增高时,视觉就逐渐不能发现相应的亮度变化了。不致于引起闪烁感觉的最低反复通断频率称为临界闪烁频率。通过实验证明临界闪烁频率大约为24Hz。因此采用每秒24幅画面的电影,在人看起来就是连续活动的图象了。同样的原理,日光灯每秒通断50次,而人看起来却是一直亮的。由于视觉具有惰性,人们在观察高于临界闪烁频率的反复通断的光线时,所得到的主观亮度感受实际上是客观亮度的平均值。
视觉惰性可以说是LED显示屏得以广泛应用的生理基础。首先,在LED显示屏中可以利用视觉惰性,改善驱动电路的设计,形成了目前广为采用的扫描驱动方式。扫描驱动方式的优点在于LED显示屏不必对每个发光灯提供单独的驱动电路,而是若干个发光灯为一组共用一个驱动电路,通过扫描的方法,使各组发光灯依次点燃,只要扫描频率高于临界闪烁频率,人眼看起来各组灯都在发光。由于LED显示屏所使用的发光灯数量很大,一般在几千只到几十万只的范围,所
以节约驱动电路的效益是十分可观的。
显示屏的原理图及结构
图6
行扫描部分
图7 列扫描部分
第3章 系统的软件设计
3.1 软件流程
图8
软件流程
3.2数字字库的提取
3.2.1数字的表示及编码原理
如显示10个数字,先将这10个数字的点阵从字库中读出,放到显示缓存,如果要实现左移或者其它的显示效果则将显示缓存中的每个位进行移位或者其它处理,然后再调用扫描显示函数就可以实现所规定的效果。
扫描显示函数是显示缓存的内容,如果要实现不同的内容,比如说图片、汉字、英文等内容,只需要将这些内容按扫描显示函数对显示缓存的协议要求就可以显示出来。
3.2.2提取数字的数字
00H,00H,32H,49H,49H,49H,3EH,00H
;9
00H,00H,36H,49H,49H,49H,36H,00H
;8
00H,00H,40H,40H,40H,4FH,70H,00H
;7
00H,00H,3EH,49H,49H,49H,26H,00H
;6
00H,00H,72H,51H,51H,51H,4EH,00H
;5
00H,00H,0CH,14H,24H,7FH,04H,00H
;4
00H,00H,22H,49H,49H,49H,36H,00H
;3 00H,00H,27H,45H,45H,45H,39H,00H
;2 00H,00H,00H,00H,21H,7FH,01H,00H
;1
00H,00H,3EH,41H,41H,41H,3EH,00H
;0
第4章 系统调试与测试结果分析
4.1 系统调试
4.2.1硬件调试
在PROTEUS界面画好硬件图形后,在“工具”栏选择“电气规则检查”得出
图9 结论,即硬件调试通过。
4.2.2软件调试
在KEIL的UV2调试程序,若无误,则软件调试通过。4.2.3硬件软件联调
1、假若KeilC与Proteus均已正确安装在C:Program Files的目录里,把C:Program FilesLabcenter ElectronicsProteus 6 ProfessionalMODELSVDM
2、用记事本打开C:Program FileskeilC51.dll复制到C:Program FileskeilCC51BIN目录中。C51TOOLS.INI文件,在[C51]栏目下加入:
TDRV5=BINVDM51.DLL(“Proteus VSM Monitor-51 Driver”)其中“TDRV5”中的“5”要根据实际情况写,不要和原来的重复。(步骤1和2只需在初次使用设置。)
3、进入KeilC μVision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:Atmel公司的AT89C51)。并为该项目加入KeilC源程序。
4、单击“Project菜单/Options for Target”选项或者点击工具栏的“option for ta rget”按钮,弹出窗口,点击“Debug”按钮,出现如图所示页面。
图10 在出现的对话框里在右栏上部的下拉菜单里选中“Proteus VSM Monitor一51 Driver”。并且还要点击一下“Use”前面表明选中的小圆点。
再点击“Setting”按钮,设置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。在“Port”后面添加“8000”。设置好的情形如图所示,点击“OK”按钮即可。最后将工程编译,进入调试状态,并
图11
5、Proteus的设置
进入Proteus的ISIS,鼠标左键点击菜单“Debug”,选中“use romote debuger monitor”,如图所示。此后,便可实现KeilC与Proteus连接调试。
6、KeilC与Proteus连接仿真调试
单击仿真运行开始按钮,我们能清楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频。在LED显示器上,循环显示9、8、7、6、5、4、3、2、1、0。
4.3 测试结果
8*8显示器循环显示“9”——“0”。
心得体会
虽然本设计只使用了一块16×16LED点阵,电路简单,但是已经包涵了LED显示屏的电路基本原理和基本程序,在设计的过程中应该使显示图形和文字稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。
在此次设计中通过查阅大量的相关资料,详细了解了LED的发光原理和LED显示屏的原理,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些优点,明确了研究目标。
通过这次课程设计,重新复习并进一步学习了MCS-51;熟练掌握了WORD软件的使用。进一步提高了自己在实际设计过程中研究问题、发现问题、解决问题的能力。但是从中也存在不足之处:对知识的积累还不够,有些问题自己不能够独立解决,对实验操作还要进一步熟练,只有这样才能让自己在不断的学习中提高自己。
这次单片机课程设计我们历时两个星期,在我们班里算是倒数几组完成的吧,但经过这两个星期的实践和体验下来,我们又怎么会去在乎那个先后问题呢,因为对我来说学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能!
在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD制图、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。
短短两周的课程设计已经结束了,通过这次的课程设计锻炼了我们的实践能力,也是对我们以后的实际工作能力的具体训练和考察过程。现在是一个高科技的时代,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在的。因此对于我们这一专业的同学来说,学好单片机,并正确应用单片机是非常重要的。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富。
整个设计通过了软件和硬件上的调试、仿真。我想这对于自己以后的学习和工作都会有很大的帮助的。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决。而在解决的过程当中你会发现自己在飞速的提升。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题。而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力。它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。
参考文献
1、郑初华主编
汇编语言、微机原理及接口技术 第2版
北京:电子工业出版社 2006
2、张友德等 单片微型机原理、应用与实验 第五版 上海:复旦大学出版社 2003
3、李珍香等 汇编语言课程设计案例精编 北京:中国水利水电出版社 2004
4、朱定华 微机原理汇编与接口技术
北京: 清华大学出版社
5、沈美明等 IBM-PC汇编语言程序设计 第二版 北京:清华大学出版社 2001
附件1:程序
TIM
EQU 30H CNTA
EQU 31H CNTB
EQU 32H
ORG 00H
LJMP START
START:
T0X:
ORG 0BH
LJMP T0X
ORG 30H MOV TIM,#00H
MOV CNTA,#00H
MOV CNTB,#00H
MOV TMOD,#01H
MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000)
SETB TR0
SETB ET0
SETB EA
SJMP $
MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000)
MOV DPTR,#TAB
MOV A,CNTA
MOVC A,@A+DPTR
MOV P3,A
MOV DPTR,#DIGIT
MOV A,CNTB
MOV B,#8
MUL AB
ADD A,CNTA
MOVC A,@A+DPTR
MOV P1,A
INC CNTA
MOV A,CNTA
CJNE A,#8,NEXT
MOV CNTA,#00H NEXT:
INC TIM
MOV A,TIM
CJNE A,#250,NEX
MOV TIM,#00H
INC CNTB
MOV A,CNTB
CJNE A,#10,NEX
MOV CNTB,#00H NEX:
RETI
TAB:
DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH DIGIT:
DB 00H,00H,3EH,41H,41H,41H,3EH,00H
DB 00H,00H,00H,00H,21H,7FH,01H,00H
DB 00H,00H,27H,45H,45H,45H,39H,00H
DB 00H,00H,22H,49H,49H,49H,36H,00H
DB 00H,00H,0CH,14H,24H,7FH,04H,00H
DB 00H,00H,72H,51H,51H,51H,4EH,00H
DB 00H,00H,3EH,49H,49H,49H,26H,00H
DB 00H,00H,40H,40H,40H,4FH,70H,00H
DB 00H,00H,36H,49H,49H,49H,36H,00H
DB 00H,00H,32H,49H,49H,49H,3EH,00H
END
附件2:元器件清单
AT89C51单片机
1个 LED显示模块
1个 74HC595
2个 EEPROM 24C256
1个 74LS159
1个 小电容
3个 电阻
导线
若干
若干 20
第二篇:24. 8X8 LED点阵显示技术(精选)
24. 8X8 LED点阵显示技术
1. 实验任务
在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。2. 电路原理图
图4.24.1 3. 硬件电路连线
(1). 把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;(2). 把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上; 4. 程序设计内容(1). 8X8 点阵LED工作原理说明 8X8点阵LED结构如下图所示
图4.24.2 从图4.24.2中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:
一根竖柱:对应的列置1,而行则采用扫描的方法来实现。一根横柱:对应的行置0,而列则采用扫描的方法来实现。
6. C语言源程序
#include
unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(void){ unsigned char i,j;
for(i=10;i>0;i--)for(j=248;j>0;j--);}
void delay1(void){ unsigned char i,j,k;
for(k=10;k>0;k--)for(i=20;i>0;i--)for(j=248;j>0;j--);}
void main(void){ unsigned char i,j;
while(1){ for(j=0;j<3;j++)//from left to right 3 time { for(i=0;i<8;i++){ P3=taba[i];P1=0xff;delay1();} }
for(j=0;j<3;j++)//from right to left 3 time { for(i=0;i<8;i++){ P3=taba[7-i];P1=0xff;delay1();} }
for(j=0;j<3;j++)//from top to bottom 3 time { for(i=0;i<8;i++){ P3=0x00;P1=tabb[7-i];delay1();} }
for(j=0;j<3;j++){ for(i=0;i<8;i++){ P3=0x00;P1=tabb[i];delay1();} } } } //from bottom to top 3 time
第三篇:单片机实习报告 LED点阵汉字显示
广东纺织职业技术学院
广东纺织职业技术学院 单片机与接口技术实习报告
题目 16*16 LED点阵汉字显示
院(系)
机电工程系
专
业
学生姓名
指导教师
起始日期: 2009年12月16日
广东纺织职业技术学院
单片机与接口技术实习计划及任务书
一、实习任务
《单片机与接口技术》实训课是理论课程的实践教学环节,它是机电技术专业的主要实践技能课程。课程内容包括单片机软件编程与仿真和调试。单片机硬件设计安装与调试,单片机应用系统综合设计,安装与调试等。实训课程的基本任务是:使学生在掌握单片机基础知识的基础上,掌握单片机软硬件的设计、开发、调试能力。具有较好的单片机实际应用能力。为今后从事生产一线的技术工作以及进一步提高科学技术水平打下坚实的基础。同时,结合本课程的特点,逐步培养学生观察分析问题和动手解决问题的能力。
二、项目设计
汉字显示屏广泛应用于汽车报站器,广告屏等。在本实训中,汉字显示屏采用了16*16的点阵模块;汉字显示的原理以在UCDOS中文宋体字库为例,每一字由16行16列的点阵组成显示。即国际汉字库中的每一字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。所以在这个汉字屏上不仅可以显示汉字,也可以显示在256像素范围内的任何图形。
项目要求在16*16的点阵模块上实现一组可移动的汉字或一副简图。
三、报告及方案
1、了解、熟悉单片机开发的特点、方法及趋势。
2、熟悉软件编制、调试的方法、流程。
3、理解单片机控制的原理和特点。
4、养成良好的设计习惯、培养正确的思路和工作态度。
5、熟练运用单片机开发软件——Keill。
四、原理介绍
广东纺织职业技术学院
1、电路原理图如图所示
广东纺织职业技术学院
2、电路工作原理分析:
汉字显示在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一副图像。所以在这个汉字屏上不仅可以显示汉字,也可以显示在256像素范围内的任何图形。我是显示汉字“施”,扫描原理如下:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分,一般我们拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。
单片机首先显的是左上角的的第一列的上列的上半部分,即第0 列的p00---p07口。方向为p00到p07,显示汉字“施”时,由上而下排列,为P0.0灭,P0.1灭,P0.3亮,P0.4灭,P0.5灭,P0.6灭,P0.7亮。即二进关系00100011, 转换为16进制国23H。上半部第一列完成后,继续扫描下半部的第一列,为了接线方便,我们使用仍设计成由上往下扫描,即从p27向p20方向扫描,从右图可以看到,这一列为,P2.7亮,P2.6亮,P2.5灭,P2.4灭,P2.3灭,P2.4灭,P2.3亮,P2.2亮,即为1100001,16进制为0C3H.然后单片机转向上半部每二列,仍为00100010,即22H,16进制为22H,这一列完成后继续进行下半部分,二进制为01000001,即16进制41H。依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“施”。
3、显示原理图
1)静态显示原理图 2)静态显示程序编写
3)静态显示工作原理分析
静态显示方式下,所有LED显示器的COM公共极接地(共阴极显示器)或接电源(共阳极显示器),显示器的8个段与并行输出端口的输出端相连。所谓静态显示,就是每一个显示器各笔画段都要独占具有锁存功能的输出口线,CPU把欲显示的字形代码送到输出口上,就可以使显示屏显示出所需的数字或符号。此后,即使CPU不再去访问它,显示的内容也不会消失(因为各笔画段接口具有锁存功能)。
静态显示法的优点是,显示程序十分简单,显示亮度大,由于CPU不必经常扫描显示器,所以节约了CPU的工作时间。但静态显示也有其缺点,主要是占用的I/O口线较多,硬件成本也较高。所以,静态显示法常用在显示器数目较少的应用系统中。
五、心得体会
时间如白驹过隙,一晃一个星期就过去了,在这个星期里,我们迎来了单片机与接口技术的实习。此次我们实习的内容是了解矩阵LED显示的基本原理和功能,掌握16*16矩阵LED和单片机的硬件和软件接口设计方法以及完成驱动程序的编程。
这次实习的要求是在16*16的点阵模块上实现一组可移动的汉字或一幅简图,因为这前我们在课堂上还没有学习到这个程度,所以在开始实习的时候老师就为我们讲解了一下,在显示一个点的基础上显示不同的点,从而组成汉字或简图。在认真听了老师对实验的讲解后,广东纺织职业技术学院
我们就开始画点阵图,编写自己的程序。
这次实习,我们是以小组为单位的。在编写程序时,我却忘了点阵图里面每个点的表示方法,后来通过同学的帮忙,我终于编写出静态“施”的程序。
在实验室中,老师先教我们接线,怎样检查线的好坏,因为这关系到后面编写的程序能否显示。当这些准备工作都做好时,我就把我要显示的“施”字的程序打到电脑上,但却发现程序有错误,经过反复的检查才发现原来有一步程序中的00H,打成了ooH。程序没问题时,就操作保存——复位——显示,在显示屏上,清晰鲜艳的“施”字宣告我静态显示实验成功了。接下来,就开始我们的动态显示的编程,这就需要我们去查找相关的资料了。经过了我们的努力和请教老师,我们终于把动态的程序编出来了,看着显示屏上从左到右,不断循环走过的“施”字,一种成就感油然而生。
在这次实习过程中,我发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。但我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。其次,在这次实习中,我们运用到了其它所学的专业课知识,如:电子CAD,这让我明白各个学科都不可能独立的,知识是相通的,这是我这次实习的又一收获。
另外,这次实习让我感到了团队合作的重要性。在团队中,我们互帮互助,对整个实习来说,这是至关重要的。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。
一个星期的实习虽然结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
附件一:动态点阵信息图 2
5
广东纺织职业技术学院 8 1113 14
6
广东纺织职业技术学院
附件二:动态显示程序编写
ORG 0000H AJMP START ORG 0030H START: MOV P0,#00H MOV P3,#00H L1: MOV P1,#00H MOV R4,#250 MOV R5,#13 MOV DPTR,#TAB1 L2: LCALL DISPLAY MOV A,DPL ADD A,#32 MOV DPL,A MOV A,DPH ADDC A,#0 MOV DPH,A DJNZ R5,L2 AJMP L1 DISPLAY: MOV R3,#16 MOV R1,#00H MOV R2,#00H L3: MOV A,R1 MOV P1,A MOV A,R2 MOVC A,@A+DPTR MOV P0,A INC R2 MOV A,R2 MOVC A,@A+DPTR MOV P3,A INC R1 INC R2 DJNZ R3,L3 DJNZ R4,DISPLAY
广东纺织职业技术学院
RET TAB1: DB 22H,41H,23H,0C3H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB2: DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB3: DB 22H,01H,22H,01H,2FH,0C1H,22H,01H DB 22H,41H,23H,0C3H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB4 : DB F2H,00H,27H,FFH,22H,01H,22H,01H DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB5: DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH DB 22H,01H,22H,01H,2FH,0C1H,22H,01H DB 22H,41H,23H,0C3H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB6: DB 21H,03H,21H,01H,25H,0FFH,08H,00H DB F2H,00H,27H,0FFH,22H,01H,22H,01H DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB7: DB 0AFH,00H,79H,00H,21H,03H,21H,01H DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH DB 22H,01H,22H,01H,2FH,0C1H,22H,01H DB 22H,41H,23H,0C3H,00H,00H,00H,00H TAB8: DB 20H,0FH,20H,F0H,0AFH,00H,79H,00H DB 21H,03H,21H,01H,25H,0FFH,08H,00H DB F2H,00H,27H,0FFH,22H,01H,22H,01H DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H TAB9: DB 00H,00H,00H,00H,20H,0FH,20H,F0H, DB 0AFH,00H,79H,00H,21H,03H,21H,01H DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH DB 22H,01H,22H,01H,2FH,0C1H,22H,01H TAB10: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 20H,0FH,20H,F0H,0AFH,00H,79H,00H DB 21H,03H,21H,01H,25H,0FFH,08H,00H DB F2H,00H,27H,0FFH,22H,01H,22H,01H TAB11: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,20H,0FH,20H,F0H DB 0AFH,00H,79H,00H,21H,03H,21H,01H
广东纺织职业技术学院
DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH TAB12: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 20H,0FH,20H,F0H, 0AFH,00H,79H,00H DB 21H,03H,21H,01H,25H,0FFH,08H,00H TAB13: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,20H,0FH,20H,F0H DB 0AFH,00H,79H,00H,21H,03H,21H,01H TAB14: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 20H,0FH,20H,F0H,0AFH,00H,79H,00H TAB15: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,0AFH,00H,79H,00H TAB16: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H
END
第四篇:Led点阵广告牌设计显示原理及控制方式分析
2.1 LED点阵模块结构
八十年代以来出现了组合型LED点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵LED模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵规模常见的有4×4、4×8、5×7、5×8、8×8、16×16等等。
根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文字、图象等内容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。
图2.1示出最常见的8×8单色LED点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得。
图2.1 8×8单色LED模块内部电路
LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号.如5x7点阵显示器用于显示西文字母.5×8点阵显示器用于显示中西文,8x8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过PC机或单片机控制驱动。2.2 LED 动态显示原理
LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。
以8×8点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。
在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。
现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图2.2
图2.2 用动态扫描显示字符“B”的过程
2.3 LED常见的控制方式
目前常见的是并行传输方式(见附录1.1),通过8位锁存器将8位总线上的列数据进行锁存显示,各8位锁存器的片选信号由译码器提供。此种方式的优点是传输速度快,对微控制器(MCU)的通信速度要求较低。但是这种方案最大的缺点是不便于随意扩展显示单元的数目。每增加一个16×16点阵的全角汉字显示单元,就需要在之前的电路上多增加两根地址线,这就要求在PCB布线的时候要留有充足的地址线冗余量。再一个缺点是,每个单元的PCB随着安放位置的不同,布线结构也不相同,不利于厂家批量生产。并行传输需要的芯片较多,因此市场上已经出现用FPGA,CPLD等高密度可编程逻辑器件(PLD)来取代传统锁存器IC的方案。成本有所下降,但可扩展性仍旧较差。因此,并行传输方式适用于显示单元数目确定的条屏。
随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要求越来越高。因此控制器的种类也在不断发展以适应要求,从最初的8051单片机,到PIC单片机,又到FPGA,直到现在的ARM处理器。不同功能档次的广告屏对应着不同的处理器。
一.以传统8051单片机为控制器的LED显示屏。因受到单片机运算速度及通信速率的限制,LED动态显示的刷新率不可能做得太高。对显示效果和移动算法的处理也比较吃力,在实际显示效果上有比较明显的闪烁感。除此之外,传统8051单片机的内部资源贫乏,仅128字节的数据存储器,几K字节的程序存储器,无E2PROM,SPI。这就需要对单片机扩展外设,无疑增加了硬件成本。因此,8051控制的条屏只能用于显示内容及其简单,不需要经常更改显示内容的场合。
二.以PIC单片机为控制器的LED显示屏。因PIC单片机是RISC架构的工业专用单片机,处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。作为条屏的控制器,可以明显的改善显示效果,同时PIC单片机内部的资源较丰富,可节省外部电路设计难度,同时降低了硬件成本。因此,以PIC单片机为控制器的条屏目前仍是单色条屏市场的主流。
三.以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其成本较高,开发难度较大。
四.以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非常强大,内部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。
第五篇:Led点阵广告牌设计
基于单片机的Led点阵广告牌设计
目录 LED概述.........................................................................3 1.1 LED电子显示屏概述......................................................3 1.2 LED电子显示屏的分类...................................................3 2 显示原理及控制方式分析.................................................4 2.1 LED点阵模块结构.........................................................4 2.2 LED 动态显示原理.......................................................4 2.3 LED常见的控制方式.....................................................5 3 硬件电路设计..................................................................7 3.1 系统硬件概述..............................................................7 3.2 16×16LED点阵显示制作..............................................8 3.2.1 16×16LED点阵的内部结构及工作原理......................8 3.2.2 用8×8LED点阵构成16×16LED点阵..........................9 3.3主控单片机的接口说明.................................................11 3.4 LED显示驱动电路.......................................................11 4 字模生成.......................................................................13 4.1 字模简介...................................................................13 4.1.1 LED显示屏领域字模实现技术...................................13 4.1.2 软件控制系统字模提取的分析与设计.........................13 4.2 字模存储技术.............................................................14 4.3 字库生成...................................................................14 5软件设计........................................................................16 5.1 程序设计总体思路和结构..............................................16 5.1.1 程序设计总体思路.................................................16 5.1.2 程序流程图...........................................................16 5.2 各模块程序设计..........................................................17 5.2.1 系统初始化...........................................................17 5.2.2 LED动态显示........................................................17 5.2.3 汉字显示的原理....................................................17 6系统功能测试..................................................................19 6.1 单元模块电路测试.......................................................19 6.2 系统整体功能测试.......................................................19 总结.................................................................................20 致谢.................................................................................21 参考文献...........................................................................22 附录.................................................................................23 引 言
LED(Light Emitting Diode),发光二极管,简称LED,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。
多个 LED发光灯组成固定的字符或图形进行显示,即形成LED点阵图文显示屏。其主要特征是只控制LED点阵中各发光器件的通断(发光或熄灭),而不控制LED的发光强弱。LED点阵的汉字显示方式是先根据所需要的汉字提取汉字点阵(如16×16 点阵),将点阵文件存入ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。
LED点阵显示具有如下特点:
(1)电压:LED使用低压电源,供电电压在6-24V之间,根据产品不同而异,所以它是一种比使用高压电源更安全的电源。
(2)效能:消耗能量比同光效的白炽灯减少80%。(3)适用性:每个单元LED小片是3-5mm的正方形,所以可以制备成各种形状的器件,并且适合于易变的环境。
(4)稳定性:10万小时,光衰为初始的50%。
(5)响应时间:其白炽灯的响应时间为毫秒级,LED灯的响应时间为纳秒级。(6)对环境污染:无有害金属汞。
(7)颜色:改变电流可以变色,发光二极管方便地通过化学修饰方法,调整材料的能带结构和带隙,实现红黄绿兰橙多色发光。
由于LED的众多优势,在市场中得到了广泛的应用,主要应用领域有:(1)、信号指示应用:信号照明是LED单色光应用比较广泛也是比较早的一个领域,约占LED应用市场的4%左右。
(2)、显示应用:指示牌、广告牌、大屏幕显示等,LED用于显示屏幕的应用约占LED应用的20%—25%,显示屏幕可分为单色和彩色。
(3)、照明应用:便携灯具,汽车用灯,特殊照明。由于LED尺寸小,便于动态的亮度和颜色控制,因此比较适合用于建筑装饰照明。背光照明:普通电子设备功能显示背光源、笔记本电脑背光源、大尺寸超大尺寸LCD显示器背光源等。以及投影仪用RGB光源。
LED概述
1.1 LED电子显示屏概述
LED电子显示屏(Light Emitting Diode Panel)是由几百--几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。1.2 LED电子显示屏的分类
按颜色分类:
单基色显示屏:单一颜色(红色或绿色)。
双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。
全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。
按显示器件分类:
LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。
LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。按使用场合分类:
室内显示屏:发光点较小,一般Φ3mm--Φ8mm,显示面积一般零点几至十几平方米。室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能。按发光点直径分类:
室内屏:Φ3mm、Φ3.75mm、Φ5mm、室外屏:Φ10mm、Φ12mm、Φ16mm、Φ19mm、Φ21mm、Φ26mm 室外屏发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒内共同发光增强亮度。
显示原理及控制方式分析
2.1 LED点阵模块结构
八十年代以来出现了组合型LED点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵LED模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵规模常见的有4×4、4×8、5×7、5×8、8×8、16×16等等。
根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文字、图象等内容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。
图2.1示出最常见的8×8单色LED点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得。
图2.1 8×8单色LED模块内部电路
LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号.如5x7点阵显示器用于显示西文字母.5×8点阵显示器用于显示中西文,8x8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过PC机或单片机控制驱动。2.2 LED 动态显示原理
LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。
点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。
以8×8点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。
在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。
现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图2.2
图2.2 用动态扫描显示字符“B”的过程
2.3 LED常见的控制方式
目前常见的是并行传输方式(见附录1.1),通过8位锁存器将8位总线上的列数据进行锁存显示,各8位锁存器的片选信号由译码器提供。此种方式的优点是传输速度快,对微控制器(MCU)的通信速度要求较低。但是这种方案最大的缺点是不便于随意扩展显示单元的数目。每增加一个16×16点阵的全角汉字显示单元,就需要在之前的电路上多增加两根地址线,这就要求在PCB布线的时候要留有充足的地址线冗余量。再一个缺点是,每个单元的PCB随着安放位置的不同,布线结构也不相同,不利于厂家批量生产。并行传输需要的芯片较多,因此市场上已经出现用FPGA,CPLD等高密度可编程逻辑器件(PLD)来取代传统锁存器IC的方案。成本有所下降,但可扩展性仍旧较差。因此,并行传输方式适用于显示单元数目确定的条屏。
随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要求越来越高。因此控制器的种类也在不断发展以适应要求,从最初的8051单片机,到PIC单片机,又到FPGA,直到现在的ARM处理器。不同功能档次的广告屏对应着不同的处理器。
一.以传统8051单片机为控制器的LED显示屏。因受到单片机运算速度及通信速率的限制,LED动态显示的刷新率不可能做得太高。对显示效果和移动算法的处理也比较吃力,在实际显示效果上有比较明显的闪烁感。除此之外,传统8051单片机的内部资源贫乏,仅128字节的数据存储器,几K字节的程序存储器,无E2PROM,SPI。这就需要对单片机扩展外设,无疑增加了硬件成本。因此,8051控制的条屏只能用于显示内容及其简单,不需要经常更改显示内容的场合。
二.以PIC单片机为控制器的LED显示屏。因PIC单片机是RISC架构的工业专用单片机,处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。作为条屏的控制器,可以明显的改善显示效果,同时PIC单片机内部的资源较丰富,可节省外部电路设计难度,同时降低了硬件成本。因此,以PIC单片机为控制器的条屏目前仍是单色条屏市场的主流。
三.以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其成本较高,开发难度较大。
四.以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非常强大,内部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。
硬件电路设计
3.1 系统硬件概述
整个电路由单片机89C51,8个74LS373,1个74HC154,1个74LS138,4个16×16的LED。该电路所设计的电子屏可显示多个汉字,需要4个16×16 LED点阵模块,可组成16×64的条形点阵。
AT89C51是一种带4KB可编程可擦除只读存储器的低电压,高性能微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51引脚即外观如图3.1所示。
图3.1 AT89C51的管脚图
译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。
74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。74LS373引脚即外观如图3.2所示
图3.2 74LS373引脚图
74HC154为 4 线-12 线译码器,当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制 编码在一个对应的输出端,以低电平译出。若将 G1 和 G2 中的一个作为数据输入端,由 ABCD 对输出寻址,还可作 1 线-16 线数据分配器。工作环境温度为0~70℃,对社会的要求非常适合。
LED,50年前人们已经了解半导体材料可产生光
线的基本知识,第一个商用二极管产生于1960年。LED是英文light emitting diode(发光二极管)的缩写,它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧7树脂密封,即固体封装,所以能起到保护内部芯线的
作用,所以LED的抗震性能好该电路的显示采用逐行扫描方式。工作时,由单片机取出第一行需要显示的内容经延时一段时间后再进行下一行点阵数据的显示。需要注意的是,每次只能选通一行数据,即要通过不断的逐行扫描来实现汉字或字符的显示。3.2 16×16LED点阵显示制作
3.2.1 16×16LED点阵的内部结构及工作原理
以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国家标准汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。这里我们以“高”字说明,如图3.3所示。
图3.3 16*16LED汉字显示
用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。一般把它拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00—p07口。方向为p00到p07 ,显示汉字“高”时,p02点亮,由上往下排列,为p0.0 灭,p0.1 灭, p0.2 灭, p0.3 灭, p0.4 灭, p0.5 亮,p0.6灭,p0.7 灭。即二进制00000100,转换为16进制为 04h。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方 便,我们仍设计成由上往下扫描,即从p27向p20方向扫
描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。然后单片机转向上半部第二列,仍为p01点亮,为00000100,即16进制04h.这一列完成后继续进行下半部分的扫描,p20点亮,为二进制00000010,即16进制02h.依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“高”的扫描代码为:02h,00h,01h, 04h,0FFh,0FEh, 00h, 00h,1Fh,0F0h, 10h, 10h, 10h, 10h, 1Fh,0F0h,00h, 04h, 7Fh,0FEh, 40h, 04h, 4Fh,0E4h,48h, 24h, 48h, 24h, 4Fh,0E4h, 40h, 0Ch。
由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。不过现在有很多现成的汉字字模生成软件,就不必自己去画表格算代码了。
3.2.2 用8×8LED点阵构成16×16LED点阵
Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本例的显示任务。
首先,从Proteus7.1的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。连接好的16×16点阵如图3.4所示。
成如上图的16×16点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。组合实际上很简单,首先选中如上图中右侧的两块8×8点阵,然后拖动并使其与左侧的两块相并拢,如图3.5所示。
图3.4 点阵模块组合
图3.5
可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如图3.6所示。看到,原来杂乱的连线现在已经几乎全部隐藏了,一块16×16的LED点阵做成了。需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。然后,我们将其保存,以便以后使用。
图3.6 3.3主控单片机的接口说明
P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复制用口,作为输入口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写入“1可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期激活内部上拉电阻。在Flash编程时,PO口接收指令节,而在程序校检时,输出指令字节,校检时,要求外接上拉电阻。P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。Flash编程和程序校检期间,P1接收低8位地址。
P2口:P2口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问外部数据存储器或16位地址的外部数据存储(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程和校检时,P2亦接收高位地址和其他控制信号。
P3口:P3口是一个带内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作输入端口,作输入端时,被外部拉低的P3口将用上拉电阻,输出电流I。P3口还接收一些用于Flash闪速存储器编程和程序校检的控制信号。
RST:复位输入,当震荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于所存地址的低8位字节。即使不访问外部存储器,ALE乃以时钟振动频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
3.4 LED显示驱动电路 LED显示驱动电路如图3.7所示。
图3.7 显示驱动电路图
字模生成
4.1 字模简介
文字的字模是一组数字,但它的意义却与数字的意义有着根本的变化,它是用数字的各
[1]位信息来记载英文或汉字的形状。
在电脑硬件中,根本没有汉字这个概念,也没有英文的概念,其认识的概念只有——内码(将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码)。如果你用启动盘启动系统后用DIR命令可能得到一串串莫名其妙的字符,但那确确实实是汉字,如果你启动UCDOS或其他的汉字系统后,就会看到那是一个个熟悉的汉字。在硬件系统内,英文的字模信息一般固化在ROM里,即使在没有进入系统的CMOS里,也可以让你看到英文字符。而在DOS下,中文的字模信息一般记录在汉字库文件里(将制作好的字模放到一个个标准的库中,这就是点阵字库文件)。
4.1.1 LED显示屏领域字模实现技术
在通过软件实现的技术中,目前有许多字模生成软件,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。在通过硬件实现字模提取的技术中,有在单片机系统中增加硬汉字库的方法,主控器发送的汉字是其机内码,用两个字节来表示一个汉字。根据机内码,显示单元控制模块从汉字库中查取显示字模,实现汉字显示。由于带有硬汉字库,进行动态文字显示时,通用智能显示单元仅接受汉字的机内码即可,这样数据通讯量大大减少。因此,“动态文字显示速度快”。4.1.2 软件控制系统字模提取的分析与设计
而在LED显示屏控制系统具体应用的Windows操作系统下如何提取字模信息是设计的核心。软件控制系统在实际编辑过程中,要求各种字体、字号的文字都能被编辑、保存。所以系统在设计时,把文本区理解为由众多的象素点构成,而把不同字体、字号的文字理解为一幅图像。因为所开启的文本区大小与LED显示屏的大小对应,所以采用16×16点阵为单位,把文本区内的每个像素点都看成一个二维数组,由于系统中各种颜色都有对应的值,赋予每个不同颜色的像素点不同的对应值,再把每个点赋予一个int型的值,这样保存下来的信息就是二进制数据。通过这样的设计,我们不仅可以把任何字型,任何大小的文字保存下来,还可以显示以256个像素点阵为单位的任何图形。在软件控制系统中实现字模的提取,也就避免了在单片机中加载硬汉字库模块,从而简化了硬件模块的设计。以下以单色屏为例,介绍系统采用字模保存的算法设计:
定义COLORREF zimo_ color为像素点的颜色,判断某个点的颜色值。如果值为Oxffffff,说明此点为白色,赋予此点值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=do.GetPixel(col, row);
if(zimo color = =Oxffffff)
{zimo [row] [col]=0;}else
{zimo [row] [col]=1;}}} 定义unsigned int zimo[192][384]={0};//文本区像素点
以8位为一字节(因为在随后的串行通讯中,传输的数据是8位的二进制数据)定义
unsigned char zimo_data[192][48]={0} 4.2 字模存储技术
目前使用最广泛的技术是,通过上位机软件将待显示的字符串转换为对应的点阵字模数
2据,通过烧写的方式将这些字模数据按一定的顺序编址后存储在EPROM中。在条屏显示的2过程中按规定的方式取出EPROM中的字模数据进行处理。对于一个16×16点阵的汉字字模
2数据,需要连续32字节的EPROM空间来存储。照此计算,若有256个需要显示的字符,则
2至少需要32B×256=8192字节(8KB)的EPROM存储空间。通常的单片机内部没有集成这么22大容量的EPROM。因此这种方案,需要在单片机外部扩展大容量的EPROM,增加硬件成本。上位机程序设计由于涉及到汉字取模,取模算法的难度较大。在多字下载的时候传输时间也较长。诸多弊端使本设计放弃了传统方案。而本设计创新使用了专用的点阵字库芯片,成本仅为8元,内含各种点阵规格的GB2312、ASCII等标准字库。专用字库芯片采用微型SO-8封装,使用高速同步串行SPI接口进行读写操作,节省了控制器的I/O。在本设计中,单片2机内部的小容量EPROM,用于存储待显示汉字的GB2312标准机内码,每个全角字符的内码
2占2字节,则在同样需要显示256个汉字的情况下,这种方案仅占用512字节的EPROM空间
4.3 字库生成
因为本设计中为行扫描,列输入,所以“魏”的自摸代码为:
DB 49H,40H,4AH,51H,4CH,6AH,7FH,0C4H,4CH,4AH,8AH,71H,88H,42H,3FH,84H DB64H,98H,0A5H,0E0H,3EH,0BEH,24H,81H,24H,89H,7FH,81H,20H,07H,00H,00
“佳”字代码为:
DB 01H,00H,02H,00H,04H,00H,1FH,0FFH,0E2H,02H,12H,22H,12H,22H,12H,22H DB 12H,22H,0FFH,0FEH,12H,22H,12H,22H,32H,62H,16H,26H,02H,02H,00H,00H
“锋”字代码为:
DB 01H,40H,02H,40H,0EH,40H,0F3H,0FEH,12H,44H,12H,48H,09H,00H,11H,28H DB 0F2H,0A8H,2AH,0A8H,25H,0FFH,2AH,0A8H,32H,0A8H,23H,28H,02H,00H,00H,00H 5软件设计
5.1 程序设计总体思路和结构 5.1.1 程序设计总体思路
用简短的汇编程序设计,实现LED点阵显示内容,并使显示的内容在屏幕上从左到右的滚动显示。系统采用模块化结构,包括主程序、延时程序、显示子程序和串行口中断程序。用AT89C51、74LS373、74LS138、74HC154芯片和4个16×16LED点阵显示器构成一个完整的16位点阵LED显示系统。5.1.2 程序流程图
程序主要由开始、初始化、主程序、字库组成。其中主程序和子程序的流程图如图5.1所示。
图5.1 单片机汉字显示程序流程图
5.2 各模块程序设计 5.2.1 系统初始化 ORG 0000H AJMP START ORG 000BH LJMP TIME0 ORG 0030H START:MOV R1,#00H MOV R2,#00H MOV R3,#00H MOV R4,#00H MOV R5,#00H 5.2.2 LED动态显示
显示要求汉字在显示屏上按从左到右的顺序一个个的出现。设计时可采用如下方法:首先将LED显示屏对应的显示缓冲区全部清零,即 LED显示空白,然后每间隔一个“软定时器”设定的动态显示时间,显示缓冲区依次加入一个汉字点阵数据并进行扫描显示,这样就可达到动态显示的效果。实现LED从左向右移动显示程序: TIME0:INC R5 CJNE R5,#3,NEXT MOV R5,#0 INC DPTR INC DPTR INC R1 CJNE R1,#144,NEXT MOV R1,#0 MOV DPTR,#TAB NEXT: MOV TH0,#3CH MOV TL0,#0B0H RETI 5.2.3 汉字显示的原理
我们以中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。LED点阵汉字显示程序: MAIN: MOV P1,R2 MOV A,R3 MOVC A,@A+DPTR MOV P2,A INC R3 MOV A,R3 MOVC A,@A+DPTR MOV P0,A INC R3 MOV P3,R4 LCALL DELAY1MS INC R2 CJNE R2,#16,MAIN MOV R2,#0 INC R4 CJNE R4,#3,MAIN MOV R3,#0 MOV R4,#0 LJMP MAIN
6系统功能测试
6.1 单元模块电路测试
在proteus仿真软件中运行测试AT89C51、74LS373、74LS138、74HC154等芯片和LED显示器均能正常运行并完整的显示出了我所要的效果。所以各个模块功能正常。6.2 系统整体功能测试
在仿真软件proteus中运行测试系统整体功能,一切正常。实现了汉字的左移滚动显示,完整的显示出了“陕西理工学院”浮动汉字。
图6.1 单片机汉字显示系统测试图
总结
在本设计中我用简短的汇编程序在LED显示屏实现了汉字的左移滚动显示。在设计中采用的芯片有AT89C51、74LS373、74LS138、74HC154和4个16×16LED点阵显示器。其特点:1.内容能从右向左浮动显示。2.硬件结构简单,应用广泛。3.LED数码管动态扫描显示,工作效率高,价格低廉等。
通过本次(64×16位点阵LED)的设计,理论知识学习和实际设计的结合锻炼了我的综合运用所学的专业基础知识解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富。为后继的学习和工作奠定的基础。
致谢
在完成此设计过程中,我曾多次去找我的指导老师,李建忠老师,每次在遇到实验中遇到困难或者程序看不懂的时候,我都去找李老师,不管上班下班时间,李老师每次都不厌其烦,不辞辛苦的给我细心讲解指导,我才能在实验室完成实验,在写论文过程中老师也给了我很大帮助,在此,我由衷的对李老师对我的指导和教育。
参考文献
[1]李建忠编著.单片机原理及应用.西安:西安电子科技大学出版社,2002 [2]李群芳,肖看编著.单片机原理、接口及应用.北京:清华大学出版社,2005 [3]于海生编著.微型计算机控制技术.北京:清华大学出版社,2008 [4]戴梅萼,史嘉权编著.微型计算机技术及应用(第3版).北京:清华大学出版社,2008 [5]江晓安,董秀峰编著.数字电子技术(第二版).西安:西安电子科技大学出版社,2005
附录
附录:源程序代码 ORG 0000H;初始化
AJMP START
ORG 000BH
LJMP TIME0
ORG 0030H START:MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV IE,#82H
SETB TR0
MOV DPTR,#TAB;================ MAIN: MOV P1,R2;单片机输出
MOV A,R3
MOVC A,@A+DPTR
MOV P2,A
INC R3
MOV A,R3
MOVC A,@A+DPTR
MOV P0,A
INC R3
MOV P3,R4
LCALL DELAY1MS
INC R2
CJNE R2,#16,MAIN
MOV R2,#0
INC R4
CJNE R4,#4,MAIN
MOV R3,#0
MOV R4,#0
LJMP MAIN;=============== TIME0:INC R5;移动显示
CJNE R5,#3,NEXT
MOV R5,#0
INC DPTR
INC DPTR
INC R1
CJNE R1,#144,NEXT
MOV R1,#0
MOV DPTR,#TAB NEXT: MOV TH0,#3CH
MOV TL0,#0B0H
RETI;================ DELAY1MS:MOV R7,#2;延时 DEL: MOV R6,#250
DJNZ R6,$
DJNZ R7,DEL
RET;================ TAB:;DB 000H,000H,01FH,0FCH,010H,000H,025H,000H,03BH,004H,000H,048H,00AH,050H,009H,060H;陕
;DB 07FH,0C0H,010H,0A0H,012H,090H,014H,088H,000H,08CH,000H,004H,000H,004H,000H,000H
DB 00H,00H,7FH,0FFH,44H,20H,5AH,10H,61H,0E1H,10H,82H,14H,84H,12H,88H
DB 10H,0B0H,0FFH,0C0H,10H,0B0H,12H,88H,34H,86H,11H,83H,00H,82H,00H,00H
DB 000H,000H,003H,000H,002H,0F8H,022H,010H,022H,050H,03FH,090H,022H,010H,022H,010H
DB 07FH,090H,044H,090H,044H,090H,004H,00CH,004H,030H,007H,0C0H,000H,000H,000H,000H
DB 000H,010H,011H,010H,011H,020H,01FH,0E0H,022H,048H,000H,048H,038H,008H,027H,048H
DB 025H,048H,03FH,0F0H,04AH,090H,042H,090H,07EH,010H,000H,010H,000H,000H,000H,000H
DB 000H,000H,000H,010H,000H,010H,000H,010H,008H,010H,008H,010H,008H,010H,00FH,0E0H
DB 010H,020H,010H,020H,010H,020H,000H,020H,000H,020H,000H,020H,000H,000H,000H,000H
DB 000H,000H,003H,020H,00EH,020H,044H,020H,024H,020H,005H,020H,04AH,024H,02AH,0C2H
DB 00BH,07CH,01AH,040H,0E8H,040H,008H,040H,00CH,040H,008H,000H,000H,000H,000H,000H
DB 000H,000H,03FH,0FCH,022H,000H,02DH,004H,033H,008H,004H,010H,018H,0A0H,00AH,0C0H
DB 052H,080H,035H,0F8H,015H,004H,011H,004H,018H,004H,000H,038H,000H,000H,000H,000H
DB 02H,00H,02H,00H,42H,00H,33H,0FEH,00H,04H,02H,08H,02H,10H,02H,00H
DB 02H,00H,0FFH,0FFH,02H,00H,02H,00H,02H,00H,06H,00H,02H,00H,00H,00H
DB 10H,10H,20H,10H,0C0H,11H,5FH,0D2H,75H,7CH,55H,50H,55H,50H,35H,50H
DB 0D5H,50H,55H,50H,75H,7FH,5FH,0D0H,40H,10H,40H,30H,00H,10H,00H,00H
DB 08H,20H,08H,0C0H,0BH,00H,0FFH,0FFH,09H,01H,08H,82H,00H,04H,3FH,0F8H
DB 20H,00H,20H,00H,20H,00H,7FH,0FCH,20H,02H,00H,02H,00H,0EH,00H,00H
DB 24H,08H,24H,10H,24H,60H,25H,80H,7FH,0FFH,0C5H,00H,44H,80H,00H,40H
DB 24H,40H,12H,40H,00H,40H,0FFH,0FFH,00H,80H,01H,80H,00H,80H,00H,00H
DB 02H,20H,0CH,20H,88H,20H,69H,20H,09H,20H,09H,22H,89H,21H,69H,7EH
DB 09H,60H,09H,0A0H,19H,20H,28H,20H,0C8H,20H,0AH,60H,0CH,20H,00H,00H
DB 00H,10H,00H,10H,00H,10H,0FFH,10H,11H,10H,11H,10H,11H,10H,11H,10H
DB 11H,10H,11H,32H,11H,11H,11H,02H,33H,0FCH,11H,00H,00H,00H,00H,00H
DB 08H,20H,08H,22H,08H,41H,0FFH,0FEH,08H,80H,08H,01H,11H,81H,11H,62H
DB 11H,14H,0FFH,08H,11H,14H,11H,64H,31H,82H,10H,03H,00H,02H,00H,00H
DB 04H,08H,04H,08H,04H,10H,04H,20H,04H,40H,04H,80H,05H,00H,0FFH,0FFH
DB 05H,00H,44H,80H,24H,40H,34H,20H,04H,10H,0CH,18H,04H,10H,00H,00H
DB 49H,40H,4AH,51H,4CH,6AH,7FH,0C4H,4CH,4AH,8AH,71H,88H,42H,3FH,84H
DB 64H,98H,0A5H,0E0H,3EH,0BEH,24H,81H,24H,89H,7FH,81H,20H,07H,00H,00H
DB 01H,00H,02H,00H,04H,00H,1FH,0FFH,0E2H,02H,12H,22H,12H,22H,12H,22H
DB 12H,22H,0FFH,0FEH,12H,22H,12H,22H,32H,62H,16H,26H,02H,02H,00H,00H
DB 01H,40H,02H,40H,0EH,40H,0F3H,0FEH,12H,44H,12H,48H,09H,00H,11H,28H
DB 0F2H,0A8H,2AH,0A8H,25H,0FFH,2AH,0A8H,32H,0A8H,23H,28H,02H,00H,00H,00H
END