1、 摘 要LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等。文章给出了一种基于MCS-51单片机的1632 点阵LED显示屏的设计方案。包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。本设计主要以AT89C51单片机为核心,采用串行传输、动态扫描技术,制作一款拥有PC机通信功能的,模块化LED多功能显示屏。关键词: MC
2、S-51;LED;1632点阵 Based on SCM multi-function of LED dot matrix electronic display designAbstractLED dot matrix display is to use light-emitting diode dot matrix modules, or the composition of the planar pixel display screen. It has a high luminous efficiency, long service life and flexible configurat
3、ion, color-rich as well as indoor and outdoor environment, adaptable and so onLED dot matrix display can display numbers or symbols, usually used to display time, speed, system status. Given in this paper which is based on MCS-51 microcontroller 16 16 dot matrix LED display design. Including the sys
4、tem specific hardware design, software flow chart and some assembly language procedures. In the load range ,just by a simple cascade can be extended to the screen is a low-cost graphic display program. This design mainly AT89C51 microcontroller as the core, using serial transmission, dynamic scannin
5、g technology to produce a PC machine has a communication function, modular, multi-function LED display.Keywords: MCS 51;LED;16 x 32 bitmap目 录 摘 要 1 引 言 2 第一章 总体设计 3 1.1 课题及目标 3 1.2 框架设定 3 第二章 系统硬件选择 5 2.1 AT89C51单片机的结构 5 2.1.1 AT89C51管脚说明 5 2.1.2 AT89C51电路连接 7 2.2 4-16线译码器74HC154 7 2.2.1 74HC154管脚说明
6、 8 2.2.2 74HC154功能 8 2.2.3 74HC154电路连接 9 2.3 74HC245 9 2.3.1 74HC245管脚说明 10 2.3.2 74HC245电路连接 10 2.4 8*8点阵 10 第三章 系统软件调试 12 3.1 Proteus 仿真软件 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 附 件四
7、实物照片 45 浙江机电职业技术学院电气电子工程学院毕业设计说明书引 言LED(Light Emitting Diode),即发光二极管,是一种半导体固体发光器件,它是利用固体半导体芯片作为发光材料,当两端加上正向电压,半导体中的载流子发生复合引起光子发射而产生光。LED可以直接发出红、黄、蓝、绿、青、橙、紫、白色的光。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。LED点阵显示屏的构成型式有多种,
8、其中典型的有两种。一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的EPROM芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。国内的另一种LED显示屏可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展
9、,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。本课题主要是设计制作以51单片机为控制器的LED点阵电子显示屏,可通过按键选择实现指定显示屏的显示开关以及图片移动、翻页等功能。课题要求利用Proteus进行硬软件仿真测试通过后,再制作实际产品。软件部分的基本设计思路是主程序加功能子程序,再加判断程序组成。其中主程序作为整个软件流程的指挥协调程序有序运行,功能程序采用了模块化的设计思想,将系统的所有功能分开封装为模块,作为子程序调
10、用。这样不仅代码简单,条理清楚,而且易于读写和修改。使得代码执行效率高,可移植性好。第一章 总体设计1.1 课题及目标我们要做的是一块16*16的LED点阵,通过这个点阵可以显示特定字符。利用的是单片机原理,通过写入程序控制单片机来显示不同的字样。1.2 框架设定如图1-1所示,本产品拟采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、电源、行驱动器、列驱动器、1632 LED点阵5部分组成。图1-1 显示屏电路框图从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光
11、点亮灭的方法称为静态驱动显示方式。1632的点阵共有512个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,1632的点阵需要512/8=64个锁存器。这个数字很庞大,因为我们仅仅是1632的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如32行)的同名列共用一套驱动器。具体就1632的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连
12、在一起(共阳极的接法),先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定时间,然后熄灭;再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭;以此类推,第32列之后,又重新燃亮第1列,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。第二章 系统硬件选择 2.1 AT89C51单片机的结构AT89C51是一种带4KB闪烁可编程可擦除只读存储器(Flash Programmable and Erasable Read Only Memory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机
13、。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1000次写擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。图2-1 AT89C51引脚图2.1.1 AT89C51管脚说明VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定
14、义为数据/地址的第八位。在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口的管脚被外部拉低,将输出电流。
15、这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD
16、(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频
17、率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时
18、,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。如图(2-1)所示。2.1.2 AT89C51电路连接图2-2 单片机硬件连接图2.2 4-16线译码器74HC15474HC154是4线16线译码器,可以实现地址的扩展。图2-3 74HC154引脚图2.2.1 74HC154管脚说明1-11 13-17 :输出端。(outputs (active LOW))12:Gnd电源地 (ground (0 V))18
19、-19:使能输入端、低电平有效 (enable inputs (active LOW)20-23地址输入端 (address inputs)24:VCC电源正 (positive supply voltage)2.2.2 74HC154功能图2-4 74HC154功能真值表如图2-3可知功能,所以我选用2片74HC154芯片作为列扫描电路。2.2.3 74HC154电路连接列扫描电路则利用了两片4-16线译码器74HC154,如图2-4所示U4、U5分别对应左、右屏。A、B、C、D为输入、Y0Y15为输出。此外,还有CS1、CS2两根线分别使能左、右屏译码器,也就是使能左、右屏。CS1、CS2
20、为低电平使能。图2-4 译码器扫描电路2.3 74HC245总线驱动器,典型的TTL型三态缓冲门电路。由于单片机等CPU的数据地址控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。图2-5 74HC245引脚图2.3.1 74HC245管脚说明第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第29脚“A”信号输入输出端,A1=B1、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同
21、。第1118脚“B”信号输入输出端,功能与“A”端一样,不再描述。第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。第10脚GND,电源地。第20脚VCC,电源正极。2.3.2 74HC245电路连接行驱动电路使用两片74HC245,这是比较常用的驱动芯片,当DIR接高电平时,A端为输入、B端为输出。图2-6 行驱动电路2.4 8*8点阵本显示屏采用列扫描、直接送行显示码的方式工作,基本显示原理在后面的软件设计部分提及。分辨率为16X32的显示屏由8个共阳型LED点阵单元构成。共阳型LED点阵单元(8X8)的结构示意图如图2-
22、7,由行输入高电平点亮。图2-7 LED点阵单元结构示意图图2-8是8个LED点阵单元级联的接线图。R1R16是限流电阻,用来保护LED的安全;VT1VT32是32只PNP型三极管,在这里起到开关的作用:通过控制B01B32来使得在任何时刻只有唯一的列导通以点亮该列,当列切换的速度足够快时,由于人眼的视觉暂留现象,看上去整个屏都是亮的,这就是动态扫描的基本原理。图2-8 8个点阵单元的级联第三章 软件模块设计3.1 主程序系统主程序一开始进行个初始化设定,然后不断的循环调用显示程序,来达到LED电子的显示效果。具体如图3-1可知。开始调用显示程序延时初始化 图3-1 主程序流程图3.2 外部中
23、断外部中断0主要是目的是实现LED点阵的翻页效果,当按下按钮后,显示屏直接显示下两个字。具体流程图见图3-3。外部中断1主要是用来控制定时器T0的开于关,按一下是启动定时器,再按一下是关闭定时器,如此循环。目的是用定时器达到控制LED显示屏文字的左移效果。具体流程图如图3-2。开始运行过外部中断1?相应设定初始化翻页超过最大翻页次数?初始化翻页退出YYNN关闭定时器打开定时器退出第一次运行?相应设定初始化定时器已打开?开始NYNY图3-2 外部中断1流程图图3-3 外部中断0流程图3.3 定时器T0 定时器T0主要是让他50MS执行一次列信号的左移效果,来达到LED点阵屏显文字的循环左移效果,
24、流程图详见图3-4开始50MS到?列首加1列首32?列首=0,翻页+1超过最大翻页次数?翻页=0初始化定时器退出NYNYNY图3-4 定时器T0流程图3.4 显示程序显示程序混换对列从第一列到最后一列的信号输入,当列切换的速度足够快时,由于人眼的视觉暂留现象,看上去整个屏都是亮的,这就是动态扫描的基本原理。见图3-5所示。在对列的切换问题上,我做了个位移程序,是在当前一列信号输送结束后执行自动切换到下一列,一直从第一列到最后一列循环执行。详见图3-6所示。开始初始化上半列给P0下半列给P2调用P1译码移位子程序延时已循环32次?退出NY开始高4位有效?P1加1P1大于“1111”?设高4位有效
25、P1口清零P1高低4位互换P1加1P1大于“1111”?设低4位有效P1口清零P1高低4位互换退出YNNYNY 图3-5 显示主程序流程图图3-6 P1译码移位子程序流程图第四章 系统软件调试4.1 Proteus 仿真软件在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。PROTEUS 是单片机课堂教学的先进助手。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机
26、实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。 在
27、通过PROTEUS上仿真得到通过后,再进行实物的连接调试,大大确保了成功率。使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。4.2 电路功能仿真综上所述,选好了硬件,又对软件进行相应的设计完毕后,就要进行电路功能的仿真调试
28、。我选用的是PROTEUS这款软件,他的仿真功能相当强大。原理图如图4-1绘制完毕后将自己编写好的程序文件设定到单片机里点击运行就能看到相应的效果了。图4-1 PROTEUS仿真原理图LED点阵显示屏文字的左移仿真,通过外部中断1控制开始于暂停。当按一下开关是启动,再按一下是暂停,具体图例见4-2 4-3。 图4-2 左移显示A 图4-3 左移显示B结 论参考文献 1鲍小南等.单片微型计算机原理及应用M.杭州:浙江大学出版社,2007.82胡汉才.单片机原理与接口技术M,北京清华大学出版社,1995.63楼然苗等.51系列单片机设计实例M,北京:北京航空航天出版社,2003.3致 谢xxxxx
29、xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx示例大学的学习生活即将结束,在此,我要对各位老师说,感谢他们三年来的辛勤栽培。不积跬步何以至千里,各位老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在设计中得以体现,顺利完成毕业论文。同时,我还要感谢各位同学以及我的各位室友,在毕业设计的这段时间里,是你们与我一起学习一起探讨,你们给了我很多的启发,提出了很多宝贵的意见,对于你们帮助和支持,在此我表示深深地感谢!谨以此文献给他们!四号 宋体 加粗,前后各空一行附 件一1. 原理图 四号 宋体 加粗,前后各空一行附 件二1. 程序四号 宋体 加粗,前后各空一行附 件三23