基于单片机的单色led的点阵控制程序.docx
《基于单片机的单色led的点阵控制程序.docx》由会员分享,可在线阅读,更多相关《基于单片机的单色led的点阵控制程序.docx(38页珍藏版)》请在冰豆网上搜索。
基于单片机的单色led的点阵控制程序
基于单片机的单色LED的点阵控制程序
―LED显示系统研究
学生:
指导老师:
摘要
LED电子显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
他具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
并广泛用于公交汽车、码头、商店、学校和银行等公共场合用于信息的发布和广告宣传。
自20世纪八十年代开始,LED电子显示屏的应用领域已经遍布了交通、电信、教育、广告宣传等各方面。
LED电子显示屏发展较快,其无论在成本和产生的社会效益等方面都有其独特的优势。
文章介绍了基于单片机STC89C51的16
16点阵LED电子显示屏的设计。
分别阐述了显示屏显示的基本原理,硬件设计、控制方法及其程序的实现。
经过调试和分析,设计的结果能够实现对汉字的静态和动态显示,动态显示的内容有多种方式,同时又可通过上位机更新显示的内容。
关键词:
STC89C5116×16点阵LED74LS15474LS595
Microcontroller-basedmonochromedotmatrixLEDcontrolprogram
-LEDDisplaySystem
Student:
ChanWing
Instructor:
LiXiuzhi
Abstract
LEDelectronicdisplaymoduleistheuseoflight-emittingdiodedotorpixelunitconsistingofflatdisplayscreens.Hehasahighluminousefficiency,longlife,flexibleconfiguration,richcolorsandstrongabilitytoadapttoindoorandoutdoorenvironmental
advantages.Andiswidelyusedinpublictransportvehicles,terminals,shops,schoolsandbanksandotherpublicplacesforpublishingandadvertisinginformation.Sincethebeginningofthe1980s,LEDelectronicdisplayapplicationshavebeenalloverthetransport,telecommunications,education,advertisingandotherareas.TherapiddevelopmentofLEDelectronicdisplay,whichintermsofcostandsocialaspectssuchas
generationhasitsownuniqueadvantages.
Thispaperintroducesthe1616-basedmicrocontrollerSTC89C51dotmatrixLEDelectronicdisplaydesign.Thebasicprinciplesweredisplayedonthescreen,hardwaredesign,controlmethodanditsimplementationprogram.Afterdebuggingandanalysis,theresultsofthedesigncanbeachievedforbothstaticanddynamicdisplayofChinesecharacters,thecontentsofthedynamicdisplayofavarietyofways,butthecontentcanbeupdatedthroughthePCdisplay.
Keywords:
STC89C5116×16dotmatrixLED74LS15474LS595
目录
第一章绪论5
1.1论文的背景和意义5
1.2LED显示对于未来的意义和发展5
1.3LED显示的组成6
2系统方案论证7
2.1LED驱动显示方案7
2.2数据传输的显示方案8
2.3系统整体方案框图9
3系统硬件电路设计9
3.1单片机系统及其外围电路9
3.2行驱动电路9
3.3列驱动电路9
3.474LS154芯片介绍10
3.574LS595芯片介绍11
3.6单片机STC89C51介绍12
3.7单片机STC89C51引脚以及相关参数13
4系统软件设计13
4.1系统软件的意义13
4.2显示驱动程序13
4.3系统主程序14
4.4原理图设计15
4.4.1应用软件介绍15
4.4.2电路的原理图18
4.4.3PCB图18
4.4.4PCB三维显示图:
19
4.4.5汉字字库提取程序20
5调试及性能分析20
5.1硬件调试20
5.2软件调试21
5.3制作显示22
附录A22
附录B29
致谢:
30
结论:
31
参考文献32
第一章绪论
1.1论文的背景和意义
点阵LED显示器是把一些LED组合在同一个包装中,常见的规格有5×7,8×8,16×16等几种。
通常,若要显示阿拉伯数字、英文字母、特殊符号等,则可采用5×7的点阵即可够用,若要显示中文字,则需要4片8×8的点阵组成16×16的点阵显示器才能显示一个中文字。
LED电子显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它是集微电子技术、光电子学技术、计算机技术、信息处理技术于一体的显示系统,是目前国际上极为先进的显示媒体。
由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富、工作性能稳定以及对室内室外环境适应能力强等优点而日渐成为显示媒体中的佼佼者。
在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED
显示屏的设计制造技术与应用水平上都得到了迅速的提高,生产也得到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。
LED显示屏经历了从单色、双色图文显示屏,到图像显示屏的发展过程。
随着信息产业的高速发展,LED显示屏作为信息传播的一种重要手段成为现代信息化社会的一个闪亮标志。
近年LED显示屏已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如银行、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策、政令,各类市场行情信息的发部和宣传等。
汉字显示方式是先根据所需要的汉字提取汉字点阵,将点阵文件存入ROM,形成新的汉字编码。
而在使用时则需要先根据新的汉字编码组成语言,再由MCU根据新编码提取相应的点阵进行汉字显示。
LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
1.2LED显示对于未来的意义和发展
我国LED显示屏行业的主要产品不仅在国内占有绝对的市场,同时在全球市场也占据了一定的份额,形成了稳定的出口。
产品质量和可靠性总体上有了显著的提升,国内LED显示屏应用企业在重大项目和重点工程建设中表现出色,在国际市场竞争、大型显示系统工程承接实施等方面的能力显著提高。
LED显示屏应用行业总体技术水平基本与国际同步发展,近两年创新产品不断问世,行业内技术创新活跃,产品技术开发能力不断加强。
满足特殊应用需求的技术开发、技术支持和技术保证能力得到增强,重点技术和主流产品发展比较成熟。
LED产业链上下游之间实现良性互动,新产品、新技术推广应用迅速,基于LED芯片材料、驱动IC、控制等技术的发展,行业内许多企业在LED综合应用、半导体照明、灯饰亮化工程等方面形成了一定的技术基础和生产工程基础。
在传统LED大屏幕显示技术和产品的基础上,LED显示屏产品在行业市场中的份额逐年增加。
1.3LED显示的组成
LED显示屏通常由若干LED点阵显示模块组成,用于显示的8x8单色
LED显示点阵模块,每块有64个LED。
为了减少引脚且便于封装,LED显示点阵模块采用阵列形式排布,即在行列线的交点处接有显示LED。
8X8LED点阵的外观及引脚如图1,等效电路图如图2所示。
LED点阵显示模块的显示一般采用动态扫描驱动方式,每次最多只能点亮一行LED。
微处理器通过和驱动器的协同工作来完成对每一个LED点阵显示模块内每个LED显示点的亮、熄灭控制操作。
1.1
1.2
LED显示屏主要包括发光二极管构成的点阵或像素阵列、驱动电路、控制系统和传输接口以及相应的应用软件构成,如下图所示。
1.3
2系统方案论证
2.1LED驱动显示方案
大屏幕显示广泛应用于各个领域,动态大屏幕显示系统显示的文字,数字,图形等生动逼真,立体感强。
用单片机驱动LED点阵有很多方法,按显示方式分,有静态显示和动态(扫描)显示,按译码方式可分硬件译码和软件译码之分。
静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间。
动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。
这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。
如果用静态显示的方法 ,16
16的点阵共有256个发光二极管,单片机没有那么多的端口,如果用锁存器来扩展端口,按8位锁存器来计算,也需要32个锁存器。
两位显示就需要64个锁存器。
因此在实际应用中的显示屏几乎都不采用静态显示,而是采用动态扫描的显示方法。
2.2数据传输的显示方案
采用扫描方式进行显示时,每行一个行驱动器,各行的同名列共用一个列驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中各列的数据都传送到相应的列驱动器上,这就存在着一个显示数据传输的问题。
从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。
显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。
当列数很多时,并行传输的方案不可取。
采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面比较经济。
但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位后,这一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解为列数据传输和列数据显示两个部分。
解决串行传输中列数据传输和列数据显示的时间矛盾问题,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一行的列数据。
为了达到重叠处理的目的,列数据的显示就需要具有锁存的功能。
经过上述分析,归纳出列驱动器电路应具备的主要功能,对于列数据段传输来说,应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。
综上所述,此次设计采用动态扫描方式驱动LED显示,采用串入并出的方法实现数据传输和采用并行锁存的方法实现数据显示。
2.3系统整体方案框图
2.1
3系统硬件电路设计
3.1单片机系统及其外围电路
本次设计采用单片机STC89C51,使用11.0592MHZ的晶振。
单片机的串口与列驱动器相连,用来送显示数据。
P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来送控制信号。
3.2行驱动电路
单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。
若将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,54/74154还可作1线-16线数据分配器。
一条行线上要带动16列的LED进行显示,按每一LED器件20mA电流计算,32个LED同时发光时,需要640mA电流,选用三极管8550作为驱动管可满足要求。
3.3列驱动电路
列驱动器由集成电路74HC595构成。
它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。
引脚SI为串行数据输入端,与单片机串口RXD(P3.0)相连,用来传送数据;引脚SCK为移位寄存器的移位时钟脉冲,与单片机串口TXD(P3.1)相连;引脚SCLR信号是移位寄存器的清0输入端,低电平有效,接与单片机P1.5口;RCLK是输出寄存器的打入信号,与单片机P1.6口相接;
3.474LS154芯片介绍
74HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL(LSTTL)系列。
74HC154译码器可接受4位高有效二进制地址输入,并提供16个互斥的低有效输出。
74HC154的两个输入使能门电路可用于译码器选通,以消除输出端上的通常译码“假信号”,也可用
于译码器扩展。
该使能门电路包含两个“逻辑与”输入,必须置为低以便使能输出端。
任选
一个使能输入端作为数据输入,74HC154可充当一个1-16的多路分配器。
当其余的使能输入端置低时,地址输出将会跟随应用的状态。
74LS154为4线-16线译码器,其管脚图如下图所示。
3.1
引脚A,B,C,D为译码地址输入端,低电平有效;G1,G2为选通端,低电平有效;0-15为输出端,低电平有效。
其功能表如下图所示。
3.2
3.574LS595芯片介绍
74LS595是一个8位串行输入并行输出的移位寄存器和一个8位输出锁存器的结构。
74HC595的内部结构如图1-6它的输入端有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。
引脚SER是串行数据的输入端。
引脚SRCLK是移位寄存器是移位时钟脉冲,在其上升沿发生移位,并将SER的下一个数据打入最低位。
移位后的各路信号出现在各移位寄存器的输出端。
RCLK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。
引脚E是输出三态门的开放信号,只要当其为低时锁存器的输出才开放,否则为高阻态。
SRCLK*是寄存器的清零输入端,当其为低电平时输出全部为零。
由于SRCLK和RCLK两个信号是互相独立的,所以能够作到输入串行移位与输出锁存互不干扰。
芯片的输出端为Q0——Q7,最高位Q7可以做为多片74LS595级联应用向下级的芯片输入。
但因Q7受输出锁存器打控制,所以还从输出锁存器前引出了QT作为级联输出。
3.3
3.6单片机STC89C51介绍
STC89C51单片机学习板是一款基于8位单片机处理芯片STC89C52RC的系统。
其功能强大,可以实现单片机开发的多种要求,学习、开发者可以根据需要选配多种常用模块,达到实验及教学的目的。
89C51单片机学习板功能强大,具有报警,跑马灯、串行通信(max232)、段码液晶(msm0801LCD)和字符液晶显示(LCD1602)、电机控制(L298)、A/D转换(TLC2543)、D/A转换(TLC5615)、温度采集(DS18B20)、数字信号合成(AD9851)、实时时钟电路(DS1302)、4—20mA输出、PWM输出(UC3842)、红外检测(KSM-603LM)控制等十七种功能,供学习者学习开发使用。
89C51-III单片机学习板采用的芯片都是常用芯片,使学习者对常用电子产品进一步学习理解。
3.7单片机STC89C51引脚以及相关参数
主要性能:
与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
功能特性描述
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程Flash
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
4系统软件设计
4.1系统软件的意义
显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。
根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:
第一层是底层的显示驱动程序,第二层是上层的系统应用程序。
显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。
显示驱动程序由定时器T0中断程序实现。
系统应用程序完成系统环境的设置、显示效果处理等工作,由主程序来实现。
4.2显示驱动程序
显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,然后显示驱动程序查询当前燃亮的行号,从显示缓寸区内读取下一行的显示数据,并通过串口发送给移位寄存器。
为消除在切换行显示数据的时候产生的拖尾现象,驱动程序先要关闭显示屏,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。
下图是显示驱动程序的流程图。
4.3系统主程序
系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口以及显示效果。
如、左移、右移等。
系统主程序的流程图如下图所示。
4.4原理图设计
4.4.1应用软件介绍
ProtelDXP2004
Altium公司作为EDA领域里的一个领先公司,在原来Protel99SE的基础上,应用最先进的软件设计方法,率先推出了一款基于Windows2000和WindowsXP操作系统的EDA设计软件ProtelDXP。
ProtelDXP在前版本的基础上增加了许多新的功能。
新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。
ProtelDXP是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。
ProtelDXP运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。
通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,ProtelDXP提供了全面的设计解决方案。
ProtelDXP2004是Altium公司于2004年推出的最新版本的电路设计软件,该软件能实现从概念设计,顶层设计直到输出生产数据以及这之间的所有分析验证和设计数据的管理。
当前比较流行的Protel98、Protel99SE,就是它的前期版本。
ProtelDXP2004已不是单纯的PCB(印制电路板)设计工具,而是由多个模块组成的系统工具,分别是SCH(原理图)设计、SCH(原理图)仿真、PCB(印制电路板)设计、AutoRouter(自动布线器)和FPGA设计等,覆盖了以PCB为核心的整个物理设计。
该软件将项目管理方式、原理图和PCB图的双向同步技术、多通道设计、拓朴自动布线以及电路仿真等技术结合在一起,为电路设计提供了强大的支持。
与较早的版本——Protel99相比,ProtelDXP2004不仅在外观上显得更加豪华、人性化,而且极大地强化了电路设计的同步化,同时整合了VHDL和FPGA设计系统,其功能大大加强了。
ProtelDXP2004新特点:
1.整合式的元件与元件库在ProtelDXP2004中采用整合式的元件,在一个元件里连结了元件符号(Symbol)、元件包装(Footprint)、SPICE元件模型(电路仿真所使用的)、SI元件模型(电路板信号分析所使用的)。
2.版本控制可直接由Protel设计管理器转换到其他设计系统,这样设计者可方便地将ProtelDXP2004中的设计与其他软件共享。
如可以输入和输出DXP、DWG格式文件,实现和AutoCAD等软件的数据交换,也可以输出格式为Hyperlynx的文件,用于板级信号仿真。
3.多重组态的设计ProtelDXP2004支持单一设计多重组态。
对于同一个设计文件可指定要使用其中的某些元件或不使用其中的某些元件,然后产生网络表等文件。
4.重复式设计ProtelDXP2004提供重复式设计,类似重复层次式电路设计,只要设计其中一部分电路图,即可以多次使用该电路图,就象有很多相同电路图一样。
这项功能也支持电路板设计,包括由电路板反标注到电路图。
5.新的文件管理模式ProtelDXP2004提供三种文件管理模式。
可将各文件存入入单一数据库文件,即Protel99SE的ddb,也可以存为Windows文件,即一般的分离文件,而不需要数据库管理系统(ODBC),就可以存取该文件,此外新增了一个混合模式,也就是在数据库外存为独立的Windows文件。
6.多屏幕显示模式对于同一个文件,设计者可打开多个窗口在不同的屏幕上显示。
7.设计整合ProtelDXP2004强化了Schematic和PCB板的双向同步设计功能。
8.超强的比较功能ProtelDXP2004新增了超强的比较功能,能对两个相同格式的文件进行比较,以得到其版本的差异性,也可以对不同格式的文件进行比较,例如电路板文件与网络报表文件等。
9.强化的变更设计功能在ProtelDXP2004中,进行比较后,所产生的报表文件可作为变更设计的依据,让设计完全同步。
10.可定义电路板设计规则在原理图设计时,定义电路板设计规