基于的多功能点阵LED电子显示屏的设计.docx
《基于的多功能点阵LED电子显示屏的设计.docx》由会员分享,可在线阅读,更多相关《基于的多功能点阵LED电子显示屏的设计.docx(25页珍藏版)》请在冰豆网上搜索。
基于的多功能点阵LED电子显示屏的设计
基于单片机的多功能LED点阵电子显示屏的设计
摘要
LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16×32点阵LED显示屏的设计方案。
包括系统具体的硬件
设计方案,软件流程图和部分汇编语言程序等方面。
在负载范围内,只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
本设计主要以AT89C51单片机为核心,采用串行传输、动态扫描技术,制作一款拥有PC机通信功能的,模块化LED多功能显示屏。
关键词:
MCS-51;LED;16×32点阵
BasedonSCMmulti-functionofLEDdotmatrixelectronicdisplaydesign
Abstract
LEDdotmatrixdisplayistouselight-emittingdiodedotmatrixmodules,orthecompositionoftheplanarpixeldisplayscreen.Ithasahighluminousefficiency,longservicelifeandflexibleconfiguration,color-richaswellasindoorandoutdoorenvironment,adaptableandsoon
LEDdotmatrixdisplaycandisplaynumbersorsymbols,usuallyusedtodisplaytime,speed,systemstatus.GiveninthispaperwhichisbasedonMCS-51microcontroller16×16dotmatrixLEDdisplaydesign.Includingthesystemspecifichardwaredesign,softwareflowchartandsomeassemblylanguageprocedures.Intheloadrange,justbyasimplecascadecanbeextendedtothescreenisalow-costgraphicdisplayprogram.ThisdesignmainlyAT89C51microcontrollerasthecore,usingserialtransmission,dynamicscanningtechnologytoproduceaPCmachinehasacommunicationfunction,modular,multi-functionLEDdisplay.
Keywords:
MCS–51;LED;16x32bitmap
目录
摘要………………………………………………………………………………………1
引言………………………………………………………………………………………2
第一章总体设计…………………………………………………………………………3
1.1课题及目标………………………………………………………………………3
1.2框架设定…………………………………………………………………………3
第二章系统硬件选择…………………………………………………………………5
2.1AT89C51单片机的结构…………………………………………………………5
2.1.1AT89C51管脚说明………………………………………………………5
2.1.2AT89C51电路连接………………………………………………………7
2.24-16线译码器74HC154…………………………………………………………7
2.2.174HC154管脚说明………………………………………………………8
2.2.274HC154功能……………………………………………………………8
2.2.374HC154电路连接………………………………………………………9
2.374HC245…………………………………………………………………………9
2.3.174HC245管脚说明………………………………………………………10
2.3.274HC245电路连接………………………………………………………10
2.48*8点阵…………………………………………………………………………10
第三章系统软件调试…………………………………………………………………12
3.1Proteus仿真软件………………………………………………………………12
3.1.1电路功能仿真……………………………………………………………12
3.2软件模块…………………………………………………………………………13
3.2.1主程序框图………………………………………………………………13
3.2.2外部中断框图……………………………………………………………13
3.2.3定时器T0框图……………………………………………………………14
3.2.4显示程序框图……………………………………………………………15
结论………………………………………………………………………………………16
参考文献…………………………………………………………………………………36
致谢………………………………………………………………………………………37
附件一图纸…………………………………………………………………………38
附件二程序清单……………………………………………………………………39
附件三元器件清单…………………………………………………………………40
附件四实物照片……………………………………………………………………45
引言
LED(LightEmittingDiode),即发光二极管,是一种半导体固体发光器件,它是利用固体半导体芯片作为发光材料,当两端加上正向电压,半导体中的载流子发生复合引起光子发射而产生光。
LED可以直接发出红、黄、蓝、绿、青、橙、紫、白色的光。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
LED点阵显示屏的构成型式有多种,其中典型的有两种。
一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。
目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。
一般在产品出厂时,显示内容就已写入显示屏控制系统中的EPROM芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。
国内的另一种LED显示屏——可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。
随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。
因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。
而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。
本课题主要是设计制作以51单片机为控制器的LED点阵电子显示屏,可通过按键选择实现指定显示屏的显示开关以及图片移动、翻页等功能。
课题要求利用Proteus进行硬软件仿真测试通过后,再制作实际产品。
软件部分的基本设计思路是主程序加功能子程序,再加判断程序组成。
其中主程序作为整个软件流程的指挥协调程序有序运行,功能程序采用了模块化的设计思想,将系统的所有功能分开封装为模块,作为子程序调用。
这样不仅代码简单,条理清楚,而且易于读写和修改。
使得代码执行效率高,可移植性好。
第一章总体设计
1.1课题及目标
我们要做的是一块16*16的LED点阵,通过这个点阵可以显示特定字符。
利用的是单片机原理,通过写入程序控制单片机来显示不同的字样。
1.2框架设定
如图1-1所示,本产品拟采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、电源、行驱动器、列驱动器、16×32LED点阵5部分组成。
图1-1显示屏电路框图
从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。
16x32的点阵共有512个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x32的点阵需要512/8=64个锁存器。
这个数字很庞大,因为我们仅仅是16x32的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如32行)的同名列共用一套驱动器。
具体就16x32的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定时间,然后熄灭;再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭;以此类推,第32列之后,又重新燃亮第1列,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。
第二章系统硬件选择
2.1AT89C51单片机的结构
AT89C51是一种带4KB闪烁可编程可擦除只读存储器(FlashProgrammableandErasableReadOnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1000次写/擦循环,数据保留时间为10年。
他是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。
图2-1AT89C51引脚图
2.1.1AT89C51管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
如图(2-1)所示。
2.1.2AT89C51电路连接
图2-2单片机硬件连接图
2.24-16线译码器74HC154
74HC154是4线—16线译码器,可以实现地址的扩展。
图2-374HC154引脚图
2.2.174HC154管脚说明
1-1113-17:
输出端。
(outputs(activeLOW))
12:
Gnd电源地(ground(0V))
18-19:
使能输入端、低电平有效(enableinputs(activeLOW))
20-23地址输入端(addressinputs)
24:
VCC电源正(positivesupplyvoltage)
2.2.274HC154功能
图2-474HC154功能真值表
如图2-3可知功能,所以我选用2片74HC154芯片作为列扫描电路。
2.2.374HC154电路连接
列扫描电路则利用了两片4-16线译码器74HC154,如图2-4所示U4、U5分别对应左、右屏。
A、B、C、D为输入、Y0~Y15为输出。
此外,还有CS1、CS2两根线分别使能左、右屏译码器,也就是使能左、右屏。
CS1、CS2为低电平使能。
图2-4译码器扫描电路
2.374HC245
总线驱动器,典型的TTL型三态缓冲门电路。
由于单片机等CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。
图2-574HC245引脚图
2.3.174HC245管脚说明
第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。
第2~9脚“A”信号输入输出端,A1=B1、、、、、、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。
如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。
第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。
第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。
第10脚GND,电源地。
第20脚VCC,电源正极。
2.3.274HC245电路连接
行驱动电路使用两片74HC245,这是比较常用的驱动芯片,当DIR接高电平时,A端为输入、B端为输出。
图2-6行驱动电路
2.48*8点阵
本显示屏采用列扫描、直接送行显示码的方式工作,基本显示原理在后面的软件设计部分提及。
分辨率为16X32的显示屏由8个共阳型LED点阵单元构成。
共阳型LED点阵单元(8X8)的结构示意图如图2-7,由行输入高电平点亮。
图2-7LED点阵单元结构示意图
图2-8是8个LED点阵单元级联的接线图。
R1~R16是限流电阻,用来保护LED的安全;VT1~VT32是32只PNP型三极管,在这里起到开关的作用:
通过控制B01~B32来使得在任何时刻只有唯一的列导通以点亮该列,当列切换的速度足够快时,由于人眼的视觉暂留现象,看上去整个屏都是亮的,这就是动态扫描的基本原理。
图2-88个点阵单元的级联
第三章软件模块设计
3.1主程序
系统主程序一开始进行个初始化设定,然后不断的循环调用显示程序,来达到LED电子的显示效果。
具体如图3-1可知。
图3-1主程序流程图
3.2外部中断
外部中断0主要是目的是实现LED点阵的翻页效果,当按下按钮后,显示屏直接显示下两个字。
具体流程图见图3-3。
外部中断1主要是用来控制定时器T0的开于关,按一下是启动定时器,再按一下是关闭定时器,如此循环。
目的是用定时器达到控制LED显示屏文字的左移效果。
具体流程图如图3-2。
图3-2外部中断1流程图
图3-3外部中断0流程图
3.3定时器T0
定时器T0主要是让他50MS执行一次列信号的左移效果,来达到LED点阵屏显文字的循环左移效果,流程图详见图3-4
图3-4定时器T0流程图
3.4显示程序
显示程序混换对列从第一列到最后一列的信号输入,当列切换的速度足够快时,由于人眼的视觉暂留现象,看上去整个屏都是亮的,这就是动态扫描的基本原理。
见图3-5所示。
在对列的切换问题上,我做了个位移程序,是在当前一列信号输送结束后执行自动切换到下一列,一直从第一列到最后一列循环执行。
详见图3-6所示。
图3-5显示主程序流程图
图3-6P1译码移位子程序流程图
第四章系统软件调试
4.1Proteus仿真软件
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
PROTEUS是单片机课堂教学的先进助手。
PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。
由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台
随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。
它具有设计灵活,结果、过程的统一的特点。
可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。
在通过PROTEUS上仿真得到通过后,再进行实物的连接调试,大大确保了成功率。
使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,使用Proteus开发环境对学生进行培训,在不需要硬件投入的条件下,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。
实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。
4.2电路功能仿真
综上所述,选好了硬件,又对软件进行相应的设计完毕后,就要进行电路功能的仿真调试。
我选用的是PROTEUS这款软件,他的仿真功能相当强大。
原理图如图4-1绘制完毕后将自己编写好的程序文件设定到单片机里点击运行就能看到相应的效果了。
图4-1PROTEUS仿真原理图
LED点阵显示屏文字的左移仿真,通过外部中断1控制开始于暂停。
当按一下开关是启动,再按一下是暂停,具体图例见4-24-3。
图4-2左移显示A图4-3左移显示B
结论
参考文献
[1]鲍小南等.单片微型计算机原理及应用[M].杭州:
浙江大学出版社,2007.8
[2]胡汉才.单片机原理与接口技术[M],北京清华大学出版社,1995.6
[3]楼然苗等.51系列单片机设计实例[M],北京:
北京航空航天出版社,2003.3
致谢
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[示例]
大学的学习生活即将结束,在此,我要对各位老师说,感谢他们三年来的辛勤栽培。
不积跬步何以至千里,各位老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在设计中得以体现,顺利完成毕业论文。
同时,我还要感谢各位同学以及我的各位室友,在毕业设计的这段时间里,是你们与我一起学习一起探讨,你们给了我很多的启发,提出了很多宝贵的意见,对于你们帮助和支持,在此我表示深深地感谢!
谨以此文献给他们!
[四号宋体加粗,前后各空一行]
附件一
1.
原理图
[四号宋体加粗,前后各空一行]
附件二
1.程序
[四号宋体加粗,前后各空一行]
附件三