基于51单片机的LED点阵显示屏设计.docx
- 文档编号:13193515
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:16
- 大小:27.08KB
基于51单片机的LED点阵显示屏设计.docx
《基于51单片机的LED点阵显示屏设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的LED点阵显示屏设计.docx(16页珍藏版)》请在冰点文库上搜索。
基于51单片机的LED点阵显示屏设计
基于51单片机的LED点阵显示屏设计
目录摘要IIAbstractIII第一章绪论11.1课题背景11.2选题意义11.3论文主要内容1第二章方法论证对比32.1单片机编程语言32.2控制系统设计32.3显示方式3第三章系统硬件设计43.1总体硬件设计43.2系统各硬件电路介绍53.2.1电源电路设计介绍53.2.2复位电路53.2.3晶振电路63.2.4按键电路63.2.5点阵驱动模块设计实现73.2.6通信系统硬件设计 8第四章重要器件介绍94.1LED点整显示屏介绍94.2限流电阻10第五章系统软件设计116.1软件整体介绍116.2显示驱动程序126.3系统主程序13第六章系统的创作过程与调试146.1电路制作过程146.1.1设计原理图156.1.2设计PCB图156.1.3硬件仿真166.1.4转印PCB166.1.5腐蚀和打孔166.1.6焊接元器件176.2硬件调试过程176.3软件调试过程17总结18参考文献19致谢20附录一21附录二23附录三24基于51单片机的LED点阵显示屏设计摘要本次设计的核心模控制块所用的芯片型号是STC89C52单片机,我们使用4块带锁存功能的串并转换芯片74HC595外加NPN三极管作为16×16LED点阵显示屏的驱动。
用PC机作为上位机与单片机进行通信,实现显示内容的更新。
该系统可以实现的功能有字符或图片的动态和静态特效显示,可显示中、英文字符。
而且该系统还带有级联扩展端口,需要扩展显示屏的大小时直接连接此端口就能实现。
系统采用串行传输方式进行数据传送减少了单片机I/O口的占用,简化了电路走线。
本次所选用的是价格便宜,应用最广泛的STC单片机,而且写入程序也非常方便,这就使得整个系统成本降低了许多,也方便了系统的维护和检修。
关键词:
单片机STC89C52;
74HC595;
16x16LED点阵;
点阵字库。
AbstractThecoreofthedesignofchipusedinthemodelcontrolblockisSTC89C52single-chipmicrocomputer,weuse4piecesofstringwithlatchfunctionandconversionchip74hc595areneededasa16x16plusNPNleddotmatrixdisplaydriver.UsingPCasaPCandsinglechipmicrocomputercommunication,realizethedisplaycontentupdates.ThesystemcanrealizethefunctionofthecharactersorimagesofdynamicandstaticeffectsshowedthatcanshowChineseandEnglishcharacters.Withcascadeexpansionport,andthesystemalsoneedstoextendscreensizedirectlyconnecttothisport.DatatransfersystemadoptsserialtransmissionwayforreducingthenumberoftheSCMI/Oport,simplifythecircuitline.Isselectedforthecheaperprice,themostwidelyusedonSTCmicrocontroller,andwriteprogramisalsoveryconvenient,thismakesthecostdownalotof,thewholesystemisconvenientformaintenanceandoverhaulofthesystem.Keywords:
singlechipSTC89C52;74HC595;16x16LEDlattice;latticefonts.第一章绪论1.1课题背景LED显示技术是八十年代后期才迅速发展起来的新型显示媒体,LED显示屏LightEmittingDiode:
又叫电子显示屏,是由几百甚至几十万个发光二极管组成的阵列。
LED点阵显示屏在近几年不论是技术上还是应用范围方面都有了很大的进步,目前已经研究出了能发蓝光和纯绿光的LED。
LED之所以应用越来越广泛是因为它有许多其他器件无法相比的有点,例如工作电压低、亮度高、功耗小、寿命长性能稳定、耐冲击、抗震性强等,这些优点使其受到人们的青睐。
目前LED显示屏的应用已十分广泛了,主要包括:
(1)机场航班动态信息显示。
(2)证券交易、金融信息显示。
(3)港口、车站旅客引导信息提示。
(4)道路交通信息显示。
(5)调度指挥中心信息显示。
(6)广告媒体新产品等。
LED显示屏的种类可分为很多种,有室内显示屏、室外显示屏、单色显示显示屏、全彩色显示屏等。
1.2选题意义该设计使我们掌握了LED点阵显示屏的显示原理以及其硬件电路的设计方法,同时也了解了LED行业的发展现状和趋势。
通过本次设计我们巩固了以前学过的知识特别是硬件电路设计流程这一块,而且对以前所学的Keil、Protel99、Proteus等设计软件也有了进一步的认识和掌握,也使自己的C语言编程的能力得到了提高。
其次,本次设计也为今后从事相关方面的工作奠定了一定基础。
因此,此课题无论是对自己的就业与今后工作态度的培养都有非常现实与积极的意义。
1.3论文主要内容论文的结构和主要内容安排如下:
(1)设计的总体思路根据设计的特点,对系统的整体设计思路进行简单介绍,包括硬件部分和软件部分。
(2)方案的论证与对比通过收集资料,并参照目前通用的设计方法和思路拟定几套设计方案,最后决定选用单片机为核心控制器件,用C语言来编程,以PC机为上位机,外加译码电路和驱动电路的设计及方案。
(3)系统硬件设计经过论证对比,我们选择STC89C52单片机为控制芯片,74HC595作为译码器件,三极管8550为驱动器件。
在论文中详细的列出了这些器件的连接使用方法和重要器件的参数。
(4)重要器件介绍选择了系统中比较重要的器件对其参数等信息做了详细的介绍。
(5)系统软件设计针对软件的整体工作流程和各个模块功能做了简单介绍,对系统的扫描驱动程序做了比较详细的说明。
(6)系统的制作过程与调试分别说明了制作硬件电路的详细过程,包括绘制原理图、绘制PCB、制作电路板和元器件的焊接等几个环节。
最后还多调试过程中出现的问题进行了说明。
(7)结论设计完成后对自己在整个设计过程中所遇到问题,经验教训进行总结。
第二章方法论证对比2.1单片机编程语言目前我们针对单片机编程这一块我们只学习了汇编语言和C语言两种,由于我们平时主要用C语言进行编程而汇编语言较少使用,所以最终选择用C语言进行编程。
2.2控制系统设计方法一:
用4块串并转换芯片74LS164将串行数据转换为并行数据,再接锁存器74LS373将数据锁存。
方法二:
用4块具有锁存功能的串并转换芯片74LS595直接将串行数据转换为并行数据并锁存。
通过比较方法一所用器件较多,电路较复杂,而方法二所用器件少是电路得到了简化,最终我们选定方法二。
2.3显示方式图文显示的方式一般有两种:
方式一:
静态显示方式此种方式的设计思路简单,但连线非常之多,单片机的管脚占用量非常大。
直接经点阵显示屏连接到单片机上的话显然是不可能,只有通过锁存器扩展的方式来扩展端口,通过计算16x16的点阵需要256/8=32个锁存器。
这就是硬件电路变得非常复杂,而且不利于屏幕的扩展。
方式二:
动态扫描方式动态扫描采用的是逐行轮流点亮的方式对点阵显示屏的端口进行扫描,这样就可实现多行的同名端口共同使用同一套驱动器,从而减少单片机端口的占用率,为单片机扩展其他功能留下了空间。
数据传输时可采用串行传输方式,此时只用一根信号线便可将显示数据传送至列驱动器,这无疑使十分方便和经济的。
经过比较,为了简化电路提高效率我们最终选择方式二,采用动态扫描方式。
第三章系统硬件设计3.1总体硬件设计总体硬件设计框图如下:
单片机列驱动器上位机电源电路16X16LED显示点阵复位电路行驱动器按键控制电路图3.1本次设计的硬件系统主要有单片机系统、上位机、电源电路、复位电路、按键控制电路和点阵驱动电路。
其工作流程如下:
单片机与上位机进行串行通信,将显示内容存入单片机内。
单片机接收到显示内容之后,由按键控制电路产生中断信号控制显示方式,最后单片机将显示代码送入驱动电路将点阵显示屏点亮实现所需要显示的内容。
对该系统所实现的功能有以下几点要求:
(1)LED点阵显示屏最小尺寸为16*16,必须满足至少显示一个汉字的要求;
(2)可实现中英文字符,静态和动态等两种以上特效显示;(3)编写上位机软件,实现显示内容更新(该功能选作);(4)具有级联扩展功能;
(5)驱动电路所提供电流、电压要达到点阵屏显示要求,使显示屏亮度适中。
3.2系统各硬件电路介绍3.2.1电源电路设计介绍图3.2.1电源电路如图,为电源电路原理图,我们采用了5V电源直接给系统供电,用六脚开关控制电源的通断。
因为5V电源是直接从电脑上取得的比较稳定,为了简化电路就不需要电容滤波了。
3.2.2复位电路图3.2.2复位电路单片机复位只需要在第9脚接持续通高电平2us就可实现,在电路图中,电容的的大小是10uF,电阻的大小是10k。
所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10uF=0.1S。
单片机在启动0.1S内会自动复位。
当需要手动复位时,按下按钮电容被短路开始放电,经过0.1SR2两端电压变为3.5V,单片机复位。
3.2.3晶振电路图3.2.3晶振电路本次设计所使用的晶振为12MHz,电容大小为33pF。
电容的作用是使电路产生谐振,让振荡频率更加稳定。
3.2.4按键电路图3.2.4按键控制电路本次设计采用四脚轻触开关,分别接单片机P2.0与P2.1口。
按键S6用于选择点阵显示屏的显示方式,S7用于切换显示内容。
P2.0与P2.1没有接上拉电阻是因为单片机P2口内部已经接有上拉电阻外部就无需再接。
3.2.5点阵驱动模块设计实现图3.2.5点阵驱动电路本设计所使用的行、列译码器均为74HC595,74HC595为带有锁存功能的串并转化器。
采用译码器解决了单片机端口不足的问题,为单片机扩展提供了跟多空间。
设计用到了4片74HC595芯片,该芯片的作用是讲串行数据转化为并行数据进行锁存,最后将数据输出到点阵显示,如图3.2.5为该芯片的硬件连接方式。
把4片芯片的第11脚相连,然后引出一根线SCK,该线为以为时钟输入引脚;
将4片芯片的12脚相连,再引出一根线RCK,该线为存储器时钟输入引脚;
将第一片芯片的SER(数据输入)端接单片机端口,Q7端接下一块芯片的SER端,如此级联到第四块芯片。
第四块芯片的Q7端作为级联扩展端使用接到图中J3,J3为级联扩展端接口。
该显示屏可以通过级联扩展的方式增加显示屏的尺寸从而增加显示内容。
J2为点阵显示屏与单片机模块的连接端口。
该模块的具体工作流程为:
当给SER端输入串行数据信号后,再给SCK时钟输入引脚输入高电平经延时适当时间后,串行显示数据被移入以为寄存器中。
再给RCK端输入高电平后,数据将会被锁存。
最后将使能端E接地,就能是显示数据并行输出。
3.2.6通信系统硬件设计 图3.2.6由于单片机与PC机的信号电平不同,PC机在传送数字“1”时C采用的是EIA电平,即传输线上的电平为-3V~-15V;传送数字‘0’时,传输线上的电平为+3V~+15V。
而单片机采用的是正逻辑TTL电平,传输数字“1”和“0”时,传输线上的电平分别为+5V和-5V。
所以如果要使单片机与PC机进行通信就必须将电平信号进行转换。
通过查阅相关资料得知,可用MAX232芯片讲电平信号进行转换,这样就可实现单片机与PC机之间的通信。
如图3.2.6所示为串行通信模块原理图,当进行通信使LED灯可闪烁提示。
第四章重要器件介绍4.1LED点整显示屏介绍图4.1.18×8点阵显示屏实物图图4.1.2单色LED矩阵的内部结构LED点阵显示屏有两个类型,一种为共阴极另一种为共阳极。
LED的显示方式是按照显示码的传送顺序逐行或逐列显示。
如图为共阴极点阵显示屏的管脚排列图,轮流给行输出低电平进行扫面,给列输出显示代码进行即可显示所要显示的信息。
由于每一行的显示时间在4ms左右,闪烁频率大于人眼的临界闪烁频率,所以人眼看到屏幕显示的内容是稳定的。
本次点阵屏正常工作电流为20mA,本次设计所使用的是共阴极8×8点阵显示屏,由四块组成一块16×16的显示屏,从而增加显示内容。
由于该显示屏的实物不好区分是共阴极的还是共阳极的,这就需要用万用表进行测量。
具体方法和步骤如下:
1、把万用表转到二极管档位;
2、用表笔去接触点阵显示屏的任意一只管脚,用红表笔和黑表笔皆可;
3、用另一只表笔去测试剩下的所有引脚,看有无二极管被点亮,若只有一种颜色的二极管被点亮就将两只表笔进行兑换;4、将兑换过的表笔重复上一步,观察是否有两种颜色的二级管被点亮,若有,则看接固定端的是哪只表笔,若为红表笔,就是共阳极;
若为黑表笔,就是共阴接发。
4.2、限流电阻图4.2限流电阻限流电阻的作用是将电流限制在某一范围,为LED提供稳定的工作电流。
经过查阅相关资料得知三极管基极正常工作电流为10mA,三极管工作在放大状态基极电压为0.7V,单片机端口电压为3.3V。
由公式R=U/A,可得限流电阻为R=(3.3-0.7)/20=130Ω,因此电阻选择150Ω或330Ω皆可。
第五章系统软件设计6.1软件整体介绍总体软件设计框图如下:
按键检测程序功能函数系统主程序中断显示程序初始化程序图6.1软件设计整体框图如图6.1所示,软件部分用模块化的方式来编写,主要包含5个模块:
系统主程序、按键检测程序模块、功能函数模块、初始化程序模块和中断程序模块。
主程序通过适时调用初始化程序和按键检测程序来实现系统的各相功能,二定时器T0则负责调用其他程序。
中断显示程序的主要功能是根据按键产生的中断信号将相应的显代码送入点阵显示屏,并产生各种相应的控制信号,是屏幕按照设定的参数显示。
初始化程序的作用的对系统及相关变量进行初始化。
6.2显示驱动程序显示驱动程序对定时器T0进行重新赋值之前首先要进入中断,从而使点阵显示屏刷新频率的稳定性得以保证。
1/16×T0溢=1/16×f/12(65536-t),其中f为晶振频率,t等于定时器T0的初值,定时器的工作模式是16位的形式。
接下来显示驱动程序开始查询当前点亮行号,通过调用相关功能函数来读取下一行显示数据,并将其打入移位寄存器。
由于在换行的时候会有余辉现象产生,在此可参照示波器的显示原理在换行时将信号消隐即关闭显示。
等显示数据被锁存时再打开显示即可解决拖尾现象。
程序的流程框图如下:
进入中断定时器赋初值判断显示模式调用功能函数读取行号并增加1对数据进行处理送出处理完成的数据发送新行号,打开显示退出中断图6.1显示驱动程序流程图6.3系统主程序本次设计的程序要求能实现文字和图形的显示,并且还有特殊显示效果例如,静态显示、左移显示、又移显示、上移显示和下移显示等。
而且图象显示要清晰不能有乱码。
主程序一开始先是对定时器、中断端口、寄存器等进行初始化;
然后调用按键检测程序,当有按键按下时,系统判断当前按下选择了什么播放模式,以及当前需要显示哪一段内容。
显示模式和显示内容通过按键选定后,当下一次中断来临时,系统将会在中断中对当前的设置作出回应,进而实现了按键改变显示模式和显示内容的目的。
单元显示板上一级与下一级采用的是并联的形式,即下一级接收到的信息与上一级相同。
而且还可以将信息传至下一级,这样就可以将显示屏进行扩展从而显示更多的内容。
本程序可随时更改显示内容,只要将原来的显示代码更改即可。
第六章系统的创作过程与调试6.1电路制作过程系统的电路原理图设计与PCB图绘制好之后,下一步就要是制作电路板。
本次设计我们采用的PCB设计软件是Protel99。
制作流程图如下:
设计原理图绘制PCB图硬件仿真转印PCB腐蚀和打孔焊接元器件图6.1硬件电路开发流程6.1.1设计原理图首先在Protel99中新建工程,然后再建立Schemetic文件。
建好后再添加SCH库,并从库中选取相应与器件放在图纸中。
等元器件放完后在对其进行布局最后进行连线。
连完线再编辑各个与器件的信息例如电阻值、电容值、PCB封装等,最后还得给元器件编流水号,可选择手动编辑和自动编辑两种方式,接下来在Design一栏中选择生成网络表,这样原理图就基本绘制完毕了。
6.1.2设计PCB图在原来的工程文件夹先建立一个PCB文件夹,建好后再选择丝印层绘一个矩形框,该框的大小即是电路板的实际尺寸。
画好框后再打开原理图选择UpdataPCB,对PCB进行更新。
更新好后再打开PCB图并选择装入网络表,此时与器件将被导入PCB。
之后再改正导入网络表时出现的错误,很多情况下是因为PCB库里面没有相应的封装引起的,需要自己画,画好后再讲库导入软件中使用即可。
改正完所有的错误便可对元器件进行布局,布局时要尽量将发热量大的元器件放置在板子边缘;
接下来要调整元器件位置尽量减少交叉线;
布局时要使整体结构尽量紧凑减少PCB板的面积。
元器件布局完成后便是最重要的一步布线,布线时线宽要设置在0.5mm到1mm之间,特别是电源线和地线,线宽要设置在1mm以上,其余的信号线设置为0.5mm左右,这样既可防止腐蚀的时候断线,又便于检查。
在设置元器件过孔的时候要时刻注意焊盘的大小,焊盘太小可能在打孔的时候就将其打没了最后造成无法焊接。
在连接走线的时候不能走直角和锐角,尽量化成钝角。
由于本次设计所使用的元器件较少再加上实验室条件有限我们将板子做成单面板,但画PCB时是按照双面板来画的,焊接时的在底层打飞线,这次总共打了54跟飞线。
6.1.3硬件仿真原理图和PCB绘制好之后,为了验证理论的可行性,我们用Prpteus7.0对硬件部分进行了仿真。
仿真结果最后成功了,仿真结果如图6.1.3所示。
这也就证明我们的设计思路没有错,接下来就可以进行下一步工作了。
图6.1.3硬件仿真图6.1.4转印PCB此次转印PCB我们采用的是热转印法,首先用喷墨打印机将PCB图打印在热转印纸上,再将覆铜板用酒精洗净,用电熨斗将图形印在覆铜板上。
6.1.5腐蚀和打孔完成热转印后将覆铜板放入腐蚀液进行腐蚀,腐蚀完后再对板子进行打孔。
打孔时要特别注意不要将孔打歪了或焊盘打没了,最后得再次检查是否有遗漏的空。
6.1.6焊接元器件在焊接元器件时要先焊接矮的元件再焊接高的元件,对于有极性的元件要特别注意不要焊反了,例如点阵显示屏、极性电容、三极管等,一旦焊错很可能是整块板子都废掉。
对于某些与器件在焊接之前要先放静电,否则静电会使其损坏。
在焊接时上锡要适量,过多过少都容易造成虚焊。
6.2硬件调试过程硬件调试时首先检查是否有虚焊、漏焊和短路的地方。
再对照PCB图看看飞线有没有打错,元器件是否焊接反了,确认无误后再烧录测试程序进行检测。
在硬件调试过程中所出现的问题如下:
1、在电路焊接完成后,发现显示屏根本不会亮,按键也无反应。
经过仔细的检查后发现问题出在单片机控制电路电源线还差一更没有连上,后来将其连接好后问题得以解决,显示屏亮了,按键也有反应。
2、在单片机内烧录进测试程序后发现屏幕出现乱码,图象毫无规律,而且很多地方出现明显的供电不足现象。
经过反复检查之后发现电路焊接并没有问题,也无明显短路和虚焊,最后我发现原来是点整显示屏焊反了。
由于点阵屏引脚非常多若将其取下的话不是件容易的事,也容易将电路板损坏,但从新做一块板子的话时间又明显不够。
最后用同学说的方法还是将点阵屏去了下来,板子也没被损坏。
将点整屏从新装过后显示图形变得正常了但还是有一些串码和局部供电不足的现象,经检查发现是取显示屏的时候走线被弄断了。
将断了的走线打上飞线后显示内容正常了,也没有了串码的和供电不足的现象。
这样硬件调试就算成功了。
6.3软件调试过程软件调试的过程花了较长时间,首先将测试程序烧录进硬件进行测试,确定硬件没有错误后再将自己写的程序烧录进行测试。
在测试的过程中出现了许多问题如显示各种乱码,经过对程序仔细认真的分析过后,最后问题得以解决。
最终实现了所要求的各项功能。
总结在经过我两个多月不断的努力下设计终于终于完成了,本次设计能够实现中英文字符以及图形的显示,并且LED显示屏显示时无串码,亮度均匀、清晰。
显示内容可实现以向上、向下、向左、向右滚动显示以及静态显示。
系统还可通过扩展的方式来增加所要显示的内容。
本系统具有硬件电路简单,成本低,系统稳定性好等优点。
但也存在着很多缺点,例如不能与PC机进行串行通信,实现显示内容的更新。
每次跟心内容都得取下单片机到开发板上去烧录程序,这样容易损坏单片机。
由于时间有限和老师要求串行通信模块选做,所以这一块就没有做出实物。
今后有时间再将通信模块加上相信本设计将会更完美。
还有就是电路布局还不合理,扩展接口应该放在电路板上方,这样级联扩展的时候就可以减少屏幕间的缝隙使显示效果得到优化。
在此次设计中我得到了以下收获:
1、在这次设计中我对本专业所学的知识有了实践性的应用和巩固,尤其是keil、protel99、proteus等软件的使用;
2、我对硬件的制作的整个过程从绘制原理图到焊接元器件再到系统调试有了比较全面的了解。
对今后从事相关方面的工作有很大的帮助;
3、这次设计过程锻炼了我发现问题、解决问题的能力,也发现了自身的很多不足之处,在今后一定要弥补。
参考文献张秀关.单片机与计算机串口通信实践.北京:
电子工业出版社,2021.1.李江全,魏中岩,姚帅,严海娟.单片机通信与控制应用编程实例.北京:
中国电力出版社,2021.11.沈洁.LED封装技术与应用.北京:
化学工业出版2021.8.周志敏,纪爱华.漫步LED世界.北京:
国防工业出版社,2021.8.杨清德,杨兰云.LED及其应用技术问答.北京:
电子工业出版社,2021.1.Vizimuller.P. RF design guide-systems,circuits,and equations. 1995. R.Dye. Visual Object-Orientated Programming,Dr.Dobbs Macintosh Journal. Sept.1st (1991).缪思恩. LED大屏幕显示电路设计.电子技术应用,1996,(08):
56-77. 王亭,李瑞涛,宋召清.在Windows下PC机和单片机的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 LED 点阵 显示屏 设计