基于单片机的LED点阵显示系统的设计.docx
- 文档编号:8062753
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:22
- 大小:546.53KB
基于单片机的LED点阵显示系统的设计.docx
《基于单片机的LED点阵显示系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的LED点阵显示系统的设计.docx(22页珍藏版)》请在冰豆网上搜索。
基于单片机的LED点阵显示系统的设计
本科毕业论文(设计)
题目:
基于单片机的LED点阵
显示系统的设计
专业:
机电一体化
姓名:
郑世杰
学号:
130103413
指导教师:
山之魂
职称:
讲师
毕业时间:
二零一六年六月
基于单片机的LED点阵显示系统的设计
摘要:
本文是一款以单片机STC89C51为控制器的LED点阵显示屏系统的设计。
该系统选用四块8×8点阵模块构建一个16×16的LED点阵屏,可实现中英文字符的显示及其动态特效显示。
选定STC89C51单片机为核心控制器件,74LS164为译码电路,三极管8550和74HC595做行和列驱动。
STC89C51单片机处理控制命令以及显示代码,将显示内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路模块驱动LED点阵显示屏的扫描显示。
由于制作简单,电子显示屏安装方便,成本低,广泛用于各种公共场所,如车站,广告画面和公告栏等。
LED点阵电子显示屏,其功能有固定汉字、字母、数字的显示;平行左移、平行右移、上移、下移;固定内容的循环显示;显示屏的亮度调节等等。
关键词:
STC89C51;74HC595;74LS164;16*16点阵;LED
SystemdesignofLEDdotmatrixdisplaybasedonMCU
Abstract:
ThisisaLEDdotmatrixdisplaysystemcontrollerbasedonthesinglechipSTC89C51design.Thissystemadoptsfourpiecesof8x8dotmatrixmoduletoconstructa16x16LEDdotmatrixdisplayscreen,andcanrealizethedynamiceffectsofEnglishcharactersoftheshow.TheselectedSTC89C51microcontrollerasthecorecontroldevice,74LS164asthedecodingcircuit,atriode8550and74HC595astherowandcolumndriver.STC89C51single-chipprocessingofcontrolcommandsanddisplaysthecode,willdisplaythecontentthroughI/Oserialoutputandcontroldecodingcircuittocompletestringconversionandparalleloutput,andfinallybythedisplaydrivingcircuitmoduledriverLEDdotmatrixdisplayscanningdisplay.Becauseofthesimple,electronicdisplayscreen,convenientinstallation,lowcost,widelyusedinvariouspublicplaces,suchasthestation,theadvertisementpictureandbulletin.LEDdotmatrixdisplay,itsfunctionisfixedChinesecharacters,letters,digitaldisplay;parallelshiftleft,right,up,downparallel;fixedcontentdisplay;thedisplaybrightnessadjustmentetc..
Keywords:
STC89C51;74HC595;74LS164;16*16dotarray;LED
1.引言
LED显示屏是八十年代后期在全球快速发展起来的新型信息显示媒体,显示屏由几万到几十万个半导体发光二极管像素点均匀排列而组成。
从LED的新材料的使用,对灰度控制技术,应用彩色图像,以及灵活高效的驱动电路与控制系统技术的提升,无不体现了LED行业技术的快速发展。
LED显示屏可以显示数字、文字、图形的变化;不仅可以用于室内环境,而且还可以用于室外环境,具有传统媒体设备,如投影仪,电视墙的优点,液晶显示屏是无法比拟的。
此外,随着计算机网络技术的发展,LED显示更多的在网络环境中得到使用,各种复杂的,在多媒体显示设备信息显示系统,智能网络控制,网络控制面板技术已被广泛应用于实际应用当中。
在近十来年中,LED点阵显示屏就凭借其亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定的明显优点迅速成为平板显示的主流电子产品,并且在信息显示领域得到了广泛的应用。
LED的发展前景极为广阔,目前正朝着使其具有更高亮度、更高耐环境性、更高的发光密度、更高的发光均匀性、稳定性、全色化等方面发展。
LED显示屏在社会经济各个领域的应用,主要包括:
(1)证券交易、金融信息的显示。
(2)机场航班动态信息显示。
(3)港口、车站售票信息显示。
(4)体育场馆比分信息显示。
(5)道路交通状况信息显示。
(6)交通调度指挥中心信息显示。
(7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。
(8)广告媒体新产品等。
经历了十几年的发展,我国LED产业已从购买芯片、外延片生产应用产品,逐步发展到自主生产外延片和芯片的阶段,并且已具备一定技术能力和产业基础。
并且初步形成从外延片生产、芯片制备到器件封装、集成应用等比较完整的产业链。
2.方案选择
2.1系统硬件方案
对于大多数的LED显示屏而言,大多都用在室外,因此对硬件的质量和稳定性要求非常高。
为了便于硬件电路设计的维修和保养,所以设计方案时常常采用模块化的设计方法。
硬件的设计采用模块化设计,既要满足模块本身功能又要能够兼容整个系统。
如图2-1所示,根据显示系统的功能特点确定系统硬件由显示屏部分,控制部分,通信系统三大部分组成。
通过单片机的通信部分发送控制命令和显示代码,执行显示指令并将显示代码处理控制显示内容和显示部分。
图2-1系统硬件组成框图
2.1.1通信系统
通信部分要满足的设计要求就是稳定、快速、简单易实现。
因此本设计采用串行通信的方式。
串行通信的数据是一位一位按顺序传送,只需用几根通信线,虽然串行传送的速度低,但是传送的距离远,因此串行通常用于长距离而速度低的场所。
在串行发送时,数据是一位一位按顺序进行的,但是计算机内部的数据是并行的。
因此,当计算机向外发送数据时,首先将并行数据转换为串行数据然后再发送。
反之,首先将串行数据转换为并行数据后再输入计算机中。
这种转换用硬件或用软件都可实现。
如果由软件实现会增加CPU负担,降低效率,所以通常采用硬件实现。
通用异步接收/发送器,简称UART(UniversalAsynchronousReceiver/Transmitted)是实现这一功能的硬件电路。
在单片机芯片中,UART通常集成在其中,作为其组成部分,构成一个串行口。
2.1.2硬件设计方案
如图2-2所示,以单片机作为核心控制器件存储和处理显示内容,用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据传输来的内容和指令通过端口译码扩展后驱动4块8*8LED点阵模块构成的16*16的LED点阵显示屏。
图2-2硬件设计方案
2.2系统软件方案
软件的设计在实现设计功能外还必须要做到易读写、方便下载和编译。
设计方案和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种特效显示子程序,通信程序三个主要部分组成。
具体结构如图2-3所示。
图2-3软件功能结构框图
3.硬件整体设计概述及功能分析
显示系统具体设计主要由通信系统,单片机系统,译码电路,显示驱动电路和16*16的点阵显示屏五部分组成。
其工作过程为:
单片机通过通信系统发送控制指令和显示代码内容,执行控制指令处理显示代码将显示内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路进行电压和电流的处理以达到LED显示屏的显示电流、电压的要求进而使显示屏显示内容。
根据硬件的功能结构图选则所需要的元器件,元器件既要满足设计本身功能又要能够兼容整个系统。
通过查阅资料和筛选最终的硬件原理图如图3-1所示。
图3-1硬件原理图
3.1控制单元设计
控制单元是整个显示系统的核心,本设计采用51系列单片机为核心器件,根据设计的要求该芯片要有方便的编程能力,因为在软件设计时方便的程序下载对程序的实现和编写很重要。
其次可以提高LED显示屏的扫描速度,单片机的执行速度要尽可能的快。
根据这几点要求,设计选择深圳STC宏晶科技公司生产的STC89C51为控制单元的主控芯片。
3.1.1控制系统设计
控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统(指单片机的最小配置系统)。
STC89C51的最小系统包括了外界时钟电路和复位电路,选定一定数量的I\O口作为控制口控制外部的各种元器件和数据的交换。
根据所需功能选择单片机端口并添加所用的元器件。
STC89C51单片机的P1在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,P2口在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。
所以P1和P2口作为外部数据存储器和程序存储器的扩展使用,以备内部存储器和程序存储器不够用的情况时使用。
3.2串并转换器74LS164
列译码采用的是芯片74LS164。
如果不采用译码电路完全依靠单片机的端口输出来控制16*16的LED点阵屏显示,至少需要32个端口。
可是如果采用了译码电路后仅仅只需要7~9个端口便可实现控制显示。
这样就大大减少了I/O口的使用数目,为单片机扩展其他功能腾出空间。
具体电路如图3-2所示
图3-2译码电路图
74LS164为一个8位数据的串并转换器。
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。
串行数据输入端(A,B)可控制数据。
当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。
当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。
表3-174LS164工作参数
参数
最小值
标准值
最大值
单位
高电平输入电压
2
—
—
V
低电平输入电压
—
—
0.8
V
高电平输出电压
2.4
3.2
--
V
低电平输出电压
—
0.2
0.4
V
时钟频率
0
—
25
MHZ
3.3驱动电路设计
3.3.1行驱动电路设计
发光二极管,LED(LightEmittingDiodes),即是在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。
8550为PNP型三极管,发射极e接5V电源,基极b接译码信号输出端,集电极c接输出驱动LED点阵屏。
当译码器端口输出为低电平时,发射极与基极电势差为5V-
基极中带负电的电子越过PN结扩散到发射区。
发射极产生和电子扩散方向相反的电流,由于基极电子大量扩散到发射极,集电极电子扩散到基极中形成了电流
。
当译码器端口输出高电平时发射极与基极之间的电势差为5V-
-
,由于发射极与基极之间电势差的下降导致基极电子向发射极扩散的电子数量减少。
所以集电极电流也随之减少。
因此8550在驱动电路中起到提供驱动电流和选通开关的作用。
3.3.2列驱动电路设计
本设计列扫描驱动电路的设计可用串入并出的通用集成电路74HC595来作为数据锁存。
这样就可以减少I/O口的占用数目,为单片机扩展其他功能腾出空间。
74HC595是具有硅结构的CMOS器件,遵守JEDEC标准。
74HC595具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是两种不同的时钟。
数据在Shcp的上升沿输入到移位寄存器中,在STcp的上升沿输入到存储寄存器中去。
如果把两个时钟连在一起,那么移位寄存器会比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),再加一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
具体电路如图3-3所示。
表3-274HC595工作参数
符号
参数
条件
TYP
单位
HC
HCt
tPHL/tPLH
传输延时
SHcp到Q7'
STcp到Qn
MR到Q7'
CL=15
Pf
Vcc=5V
16
17
14
21
20
19
Ns
Ns
Ns
fmax
STcp到SHcp
最大时钟速度
100
57
MHz
CL
输入电容
3.53.5
Pf
CPD
每包电容
电量损耗
115130
Pf
图3-3列驱动电路
3.4通信系统硬件设计
STC89C51单片机具有全双工串行UART通道,支持单片机进行数据的串行传输。
单片机与计算机不能直接相连进行通信必须将RS-232C与TTL电平进行转换。
在通用的电平转换芯片中MAX232系列的芯片以集成度高,单+5V电源工作,只需外接5个小电容即可完成RS-232C与TTL电平之间的转换而成为单片机系统中的常用芯片之一。
在该显示系统中,MAX232为通信系统中最重要的硬件组成部分。
电路如图3-4所示
图3-4串口通信系统电路图
3.5电源设计
在系统中MAX232、74LS164、STC89C51都需要5V的供电电压,在系统开发过程中可以使用电脑USB供电。
4.系统软件设计
4.1程序设计
系统软件采用C语言编写,按照模块化的设计思路设计。
本设计主控程序只实现汉字显示的单一功能。
每次将程序烧写进单片机中运行。
图4-1主流程图
程序开始时应当先对单片机进行初始化,初始化的内容有:
各I\O口功能的设定。
初始化完成后程序则开始运行主程序,实现LED显示功能。
4.2显示程序的设计
4.2.1点阵数据表达方式,
该显示系统的显示数据采取纵向取模方向,正向的数据存储方式。
即数据是纵向的,一个像素对应一个点。
8个像素对应一个字节,字节的位顺序是按照上高下低的顺序排列,例如从上到下8个点的状态是“*-----*-”(*为黑点,-为白点),转换为字模数据是0x82(B1000_0010)。
一幅16*16的点阵画面点阵数据按照B1B2B3……B31B32方式存储。
因此可知一幅画面的数据量为32字节。
画面显示时选通的第i列对应的数组元素为第i和i+16个元素。
4.2.2显示程序的流程图
显示程序分为静态显示程序、左移显示、右移显示、上移显示、下移显示五种显示方式。
其中上下左右移动程序都调用了静态显示程序为子程序。
静态显示程序流程图如图4-2所示:
YN
图4-2静态显示程序流程图
本设计显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第i列对应的行数据为数组中的第i和第i+16个元素。
将对应元素按照由低至高位的顺序依次从端口输出,具体的做法是将元素向右逻辑移位后再与0X01相与,所得到结果通过单片机端口输出到串并转换器的A端,锁存在锁存器里,当完成一系列数据移位后再将数据输出。
像这样依次循环选通各列来显示所需要的画面。
YNYN
图4-3左右移/上下移程序流程图
动态显示程序流程如图4-3所示,根据显示数据的存储原理通过改变实际LED列与数据逻辑列的方法来完成程序的左右移动。
显示数据与列的对应关系为:
第i列对应的数据为数组中i和第2×i个数据。
显示数组中,第1至16个元素的第8至第1位对应LED显示屏中的第1至第8行。
同理第17至32个元素的第8至第1位对应LED显示屏中的第9至第16行。
所以将元素数据进行逻辑位移便能产生上下移动的效果。
5.系统调试
5.1硬件调试
硬件调试主要是调试各部分的焊接是否有虚焊或漏焊和各元器件的输出输入电压是否符合设计要求,最后测试各硬件部分能否实现设计功能。
常见的硬件故障有逻辑故障、元器件损坏、电源故障等。
5.2软件调试
由于已经进行了硬件调试,所以软件调试主要是软件编译和将各功能块程序分别写入以验证其功能的可实现性。
在进行功能调试前必须用KEIL对所有程序进行编译,编译成功生产可执行的.hex文件后才可以进行功能测试。
之后烧入单片机STC89C51中,通过观察电路硬件和输出驱动控制等元器件来检测系统是否能够正常工作。
6.结束语
本系统是以单片机STC89C51芯片为控制核心部件,74LS164为译码电路,三极管8550和74HC595做行和列驱动。
通过这次设计我得到了宝贵的经验和教训:
(1)在设计前应做好理论分析,明确设计思路;
(2)在选择元器件时不仅要考虑元器件的功能还要考虑元器件在系统中的兼容性;
(3)软件编写时在实现功能的基础上,要不断的优化,使其更加易读。
通过本次设计,对LED也有了进一步了解。
认为LED应用将会更加广泛。
可以设想利用LED的高稳定性和低能耗,与太阳能技术相结合,在人迹罕至的地方为人们提供天气信息和指示。
参考文献
[1]关积珍,陆家和.我国LED显示屏技术和产业发展及展望[J].现代显示,2004.
[2]任阳,李秉全.基于51系列单片机的大屏幕显示系统[J].科技资讯,2012(04).
[3]蔡朝洋.单片机控制实习与专题制作.[M]北京:
北京航空航天大学出版社,2006.
[4]侯坤,徐志永.LED点阵显示系统[J].科技情报开发与经济, 2006(14)
[5]田金云.基于单片机的LED汉字点阵显示系统设计[J].工业控制计算机,2008(06).
[6]白海涛,陈建铎.C语言程序设计[M].西安:
西北大学出版社,2008.
[7]张华林,周小方.电子设计竞赛实训教程[M].北京:
北京航空航天大学出版社,2007.
[8]陈君霞,黄跃华,甘文.大屏幕LED点阵显示系统[J].自动化技术与应用.2007(07).
[9]刘鑫,张庆顺.基于单片机的LED点阵显示系统的设计[J].微计算机信息;2010(08).
[10]郑刚,李宇成.LED大屏幕显示系统的设计[J].北方工业大学学报,2001.(02).
谢辞
这次能够圆满完成毕业设计我首先要感谢我的指导老师老师,感谢她在百忙之中对我毕业设计的指导、勉励、和督导,从课题选择到具体的设计以及写作过程中,无不凝聚着李老师的心血和汗水。
使我在毕业设计中避免了不少弯路。
没有李娣娜老师的帮助和关怀,我不会这么顺利的完成毕业论文。
在此向李老师表示深深的感谢和崇高的敬意。
同时我要感谢大学四年里教过我课程的老师们,感谢他们对我知识增长所付出的辛勤劳动。
同时,我还要感谢在我周边的同学,他们为我提供了很多的资料和帮助。
在此也感谢其他同学对我学业的支持与关心。
(全文共7183字)
附录1程序清单
#include
#include
#defineDATAOUTP2//指定P2口做为输出
sbitDATA=DATAOUT^0;//列数据输出位
sbitSCLH=DATAOUT^1;//列扫描时钟位
sbitSCLT=DATAOUT^2;//列数据锁存位
sbitAB=DATAOUT^4;//行数据输出位
sbitSCK=DATAOUT^5;//行扫描时钟位
unsignedcharlhj[32];//32字节RAM做为16*16点阵屏显示缓存
voiddisplay();//做为点阵扫描函数,将显示缓存的数据输出到点阵屏
voiddisplays(unsignedinttimer);//指定时间扫描显示
voiddisplaymove(unsignedchar*LP,unsignedcharc,unsignedchartimer);
//timer是移动的速度
voiddisplaymove(unsignedchardin,unsignedchar*LP,unsignedchartimer);
voiddelay(unsignedinta);//延时子函数
codeunsignedcharlin[32]={0x08,0x40,0x08,0x40,0x10,0xa0,0x21,0x10,//汉字"徐"的点阵数据。
0x42,0x0e,0x0c,0x04,0x13,0xf8,0x30,0x40,
0x50,0x48,0x97,0xfc,0x10,0x40,0x11,0x50,
0x12,0x4c,0x14,0x44,0x11,0x40,0x10,0x80};
codeunsignedcharyang[32]={//靖
0x20,0x40,0x10,0x48,0x13,0xfc,0xfc,0x40,
0x03,0xf8,0x48,0x40,0x4f,0xfe,0x48,0x08,
0x4b,0xfc,0x12,0x08,0x13,0xf8,0x1e,0x08,
0xe3,0xf8,0x42,0x08,0x02,0x28,0x02,0x10};
codeunsignedcharDian[32]={//琪
0x01,0x10,0x09,0x10,0x7f,0xfc,0x11,0x10,
0x11,0x10,0x11,0xf0,0x7d,0x10,0x11,0x10,
0x11,0xf0,0x11,0x10,0x11,0x14,0x17,0xfe,
0x1c,0x00,0x71,0x10,0x22,0x0c,0x04,0x04};
codeunsignedcharzi[32]={//做
0x10,0x20,0x12,0x20,0x12,0x20,0x22,0x24,
0x3f,0xfe,0x62,0x84,0xa2,0x44,0x22,0x44,
0x2f,0xc8,0x28,0xa8,0x28,0xa8,0x28,0x90,
0x28,0xa8,0x2f,0xa8,0x28,0x46,0x20,0x84};
codeunsignedcharLY[32]={//图案数据
0x00,0x00,0x30,0x00,0x30,0x20,0x30,0x30,
0x30,0x18,0x30,0x0C,0x30,0x06,0x3F,0x7F,
0x3F,0x7F,0x00,0x06,0x00,0x0C,0x00,0x18,
0x00,0x30,0x00,0x20,0x00,0x00,0x00,0x00};
voidmain(void)//主入口函数
{
unsignedchari=0,j=0;
for(i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 LED 点阵 显示 系统 设计