16×16LED电子显示 - 图文

更新时间:2023-12-05 18:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘要:

本文介绍了基于msc-C51单片机点阵显示屏的设计方案,阐述了16×16点阵LED显示屏的设计原理与思路,其中包含了硬件、软件、调试等方案的设计。LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内/外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。 关键词:51单片机 LED显示屏

一、研究目的和意义

该设计课题使我们能够掌握LED显示屏的基本显示原理和设计方法,对LED显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了51单片机软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,作为主要平面显示媒介的LED显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的LED技术虽然发展迅速但和世界先进水平还有一定的差距。因此,此课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意义。

二、论文研究要求 及设计指标

(1)、利用点阵LED模块,设计一个16*16点阵LED电子显示屏;

(2)、要求LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。

(3)、图形或文字显示有静止、移入或移出等显示方式。

三、总体 方案论证 及整体原理框图

课题拟以AT89C51单片机为控制核心设计一个简单的数字时钟系统,用单片机、点阵显示屏等设计一个16×16点阵LED电子显示屏的设计。系统可以分为电源模块、时钟信号电路、复位电路、驱动模块、单片机控制模块、显示模块等,其系统结构框图如下图2.1

列驱动器 电源

单片机 行驱动器 LED显示点阵 四、硬件单元模块电路设

图2-1 显示屏电路框图

计与实现

本电路是由AT89C51单片机为控制核心,采用普通晶体时钟源,其中晶体用12MHZ的石英晶振;复位电路结合实际应用功能的实现,采用上电复位;显示部分由16×16点阵LED显示屏显

I

示;行驱动电路采用74LS154,列驱动电路采用74LS595。

1、单片机介绍

MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大,可灵活应用于各种控制领域。图3.1为AT89C51外部封装。

[5]

图3.1 AT89C51封装

AT89C51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。

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编程和校验时接收高八位地址信号和控制信号。

II

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示: ? P3.0 RXD(串行输入口) ? 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(外部数据存储器读选通)

AT89C51振荡器特性为: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,停止芯片其它功能直至硬件复位,直到下一个硬件复位为止。

2、复位电路

采用上电复位,电路第一次通电时对系统进行一次复位,而后系统执行。这个方案简单且符合实际设计,故采用本设计方案。

单片机刚上电时需要复位一次才能可靠工作,通过电容接VCC,是利用电容充电来提供》2个周期的高电平时间让单片机复位,如此单片机可以正常工作。这之后又不要求单片机复位,所以通过8.2K左右的电阻下拉接地保证RESET脚维持在低电平状态(即不复位状态)[8]。如图3.2所示。

[3]

[7]

[6]

图3.2 单片机复位电路

III

3、时钟电路时钟信号电路

直接采用普通晶体时钟源提供脉冲信号,此种方案能够减少芯片的使用,节约成本。

单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,X1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,X2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。31引脚接电源端,如图3.3所示。

[9]

图3.3 单片机时钟电路

4、16X16点阵LED显示模块的设计显示模块

采用16×16点阵LED显示屏,16×16点阵屏的功能与4块8×8点阵屏构成16×16点阵屏功能相同,但是更为美观小巧美观,且单块16×16点阵屏和4块8×8点阵屏价格相等。故本设计采用这种方案。 一、LED点阵屏介绍

组合型LED点阵显示器自八十年代开始出现,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵有4×4、4×8、5×7、5×8、 8×8等多种。点阵显示屏有单色和双色两类,可显示红,黄,绿,橙等,本次设计选用单色点阵显示屏。

二、点阵LED显示屏的外观和引脚

16×16点阵LED显示屏由256个LED发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。它的外观形状如图3.4所示,内部结构如图3.5所示。且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮[10]。如第一列为高电平置1,第二列为低电平置0,第三列为高电平置1,P行为低电平置0,O行为高电平置1,则显示效果是P行上的第一个LED灯亮,第二个LED灯灭,第三个LED灯亮。第O行上的三个LED灯全灭,如图3.6所示。

IV

图3.4 16×16点阵LED显示屏实物照片 图3. 5 16×16点阵LED显示屏内部结构

图3.6 LED点阵亮灭示意图

16×16点阵LED显示屏的内部结构和外观引脚并不相对应,下面图3.7所示为点阵显示屏外观管,图3.8为个管教所对应的管教编号。

图3.7 16×16点阵LED显示屏引脚分配表

5

图3.8 点阵显示屏各个管脚对应的管脚号

6

5、驱动模块 一、 列驱动模块

列驱动电路由集成电路74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。

74HC595的外形及内部结构如图3.9所示。它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高阻态。SCLR信号是移位寄存器的清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QA~QH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH’,作为与移位寄存器完全同步的级联输出,图3.10为74HC595级联

[11]

时。

图3.9 74HC595外形及内部结构

7

图3.10 2个74HC595级联

二、 行驱动模块 (1)74LS154介绍

74LS154这种4线—16线译码器非常适合用于高性能存储器的译码器。当两个选通输入G1 和G2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。实现解调功能的办法是:用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。图3.11为编码器74LS154外形及内部逻辑结构。

图3.11 74LS154 编码器外形及内部逻辑结构

五、软件设计

8

1、系统主程序

系统主程序的总体结构如图4-1所示。系统的主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后LED显示屏进入开机状态,转入正常的显示。首先是向上滚动显示“单片机是工业中最基本的应用方式”15个汉字,每个字停留时间约1.6s;接着再向上滚动显示“我爱单片机”这5个汉字。由于单片机没有停机指令,所以可以设置系统程序不断地循环执行上述显示效果。

系统程序结构属中断方式,绝大多数功能在中断服务子程序中完成。根据总体结构,可将程序划分为几个功能化模块:串行口中断服务程序、多字滚动显示子程序、单字显示子程序、扫描程序。各个模块可进行独立设计、调试和查错,最终再连接成一个整体。这样可方便程序调用,程序整体层次清晰,结构一目了然,方便阅读。

开 始 进入中断 系统初始化 定时器赋初值 读取行号并增1 “上滚屏”显示效果 送新行显示数据 循环扫描显示 消 隐 图4-1 系统主程序的总体结构

切换显示数据 送新行号、打开显示

2 显示驱动程序

图4-2为显示驱动程序(显示屏扫描函数)流程图。根据流程图可以编写出相应的显示程序。显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷

新率的稳定,1/16扫描显示屏的刷新率(帧 频)计算公式如下:

1刷新率(帧频)=×T0溢出率

16 =

退出中断 图4-2 显示驱动程序流程图

fosc1× 1612(65536?t0)9

其中fosc为晶振频率,t0为定时器T0初值(工作在16位定时器模式)。 T0初值=2N-

定时时间

机周时间其中N与工作方式有关,本设计定时/计数器工作于方式1,如图4-3所示,方式1构成一个16位定时计数器,即N=16。

方式1最大计数值为216=65536 ,若fosc=12MHz,则定时时间范围为1~65536μs。

机周时间与主振频率有关,机器周期是时钟周期的12倍,因此,机周时间=12/ fosc。当fosc=12MHz时,1机周=1μs。

图4-3 定时/计数器T0工作方式1逻辑电路结构图

然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。显示程序给出了各控制信号和显示数据,其作用及相互配合关系均已在硬件部分作过介绍,相应的程序部分在清单的注释区内分别进行了说明,在此不再一一详述。系统程序清单见附录二。

六、系统调试

1、硬件调试:在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道到底是哪一方出错了。当然,在设计的过程中也存在着失误和不足,在调试中进行修改了。焊接完成后,检验点阵、及线路的好坏:烧进检验程序,点阵将自第一排向下(上)点亮。检验无异常,下载主程序

2、软件调试:软件为老师所提供提供,其原理在上一模块以作说明,在这里 再作说明,软件经调试无误,直接将其下再到单片机中,看是否达到所要的效果 软件部分是先参考书上的例子,然后自己根据硬件电路写程序,

由于以前所学是单片机汇编语言,所以这个系统在编写程序过程中都采用汇编语言编写。刚刚开始,编写不会一次性通过,经过仔细分析修改最后编译成功。但是,在实际写如S51中,LED显示屏出现各种各样的乱码,通过再次认真仔细分析多次修改程序后,程序能够正常运行

10

本文来源:https://www.bwwdw.com/article/f58t.html

Top