- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LED?点阵显示控制
1?原理与方案
1.1?原理
对于点阵型?LED?显示可以采用共阴极或共阳极,本系统采用共阳极,其硬
件电路如图?1?所示。当行上有一正选通信号时,列选端四位数据为?0?的发光二
极管便导通点亮。这样只需要将图形或文字的显示编码作为列信号跟对应的行
信号进行逐次扫描,就可以逐行点亮点阵。只要扫描速度大于?24?Hz,由于扫
描时间很快,人眼的视觉有暂留效应,就可以看到显示的是完整的图形或文字。
图?1?硬件电路
本次设计要完成基于单片机的?LED?点阵显示控制的设计,总体方案是以单
片机为控制核心,通过行列驱动电路,在?LED?点阵屏上以左移方式显示文字。
在设计过程中驱动电路运用动态扫描显示,动态扫描简单地说就是逐行轮流点
亮,这样扫描驱动电路就可以实现多行(比如?16?行)的同名列共用一套列驱
动器。由于静态扫描显示(并行传输)的局限性,故采用动态扫描显示(串行
传输),显示模式用?LED?点阵屏模块作显示屏。
1.2?总体方案
本次设计单片机采用?AT89C51,行电路使用逐行扫描的方式,列电路使
用串入并出的数据传输方式,显示屏使用由?16x16?的点阵?LED?组成的点阵模
块。使用到的芯片?4?线-16?线译码器?74LS154?和三极管?8550。总体设计框
图如图?2?所示。
单片机行驱动器列驱动器
单片
机
行驱动器
电源
16×16LED
点阵显示屏
2?系统硬件设计
硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电
路以及?LED?点阵阵列?3?部分,用到的芯片有单片机?AT89C51,4?线-16?线译
码器?74LS154,带锁存功能的串入并出移位寄存器?74LS595。
2.1?单片机系统及外围电路
单片机采用?AT89C51。系统采用?12?MHz?或更高频率的晶振,以获得较
高的刷新频率,使显示更稳定。单片价的串口与列驱动器相连,用来送显示数
据。P1?口低?4?位与行驱动器相连,送出行选信号,P1.5~P1.7?口则用来发送
控制信号。P0?和?P2?口空闲,在必要时可以扩展系统的?ROM?和?RAM。
2.2?时钟脉冲电路
AT89C51?的最高时钟脉冲频率已经达到?24?MHz,它内部已经具备了振
荡电路,只要在?AT89C51?的两个引脚(即?19、18?脚)连接到简单的石英振
荡晶体的?2?个管脚即可,同时晶体的?2?个管脚也要用?30?pF?的电容耦合到地,
如图?3?所示。
图?3?时钟脉冲电路
2.3?复位电路
AT89C51?的复位引脚(RESET)是第?9?脚,当此引脚连接高电平超过?2
个机器周期时,即可产生复位的动作。以?24?MHz?的时钟脉冲为例,每个时钟
脉冲为?05μs,两个机器周期为?1?μs,因此,在第?9?脚上连接?1?个?2μs?的高
电平脉冲,即可产生复位动作。最简单的就是只有?1?个电阻跟?1?个电容就可构
成可靠复位的电路,电阻选择?10?kΩ,电容选择?10μF,如图?4?所示。
图?4?复位电路
2.4?点阵显示驱动电路设计
采取分立元件三极管作驱动电路,驱动电路如图?5?所示。
图?5?点阵显示驱动电路
3?系统软件设计
显示屏软件的主要功能是向显示屏提供显示数据,并产生各种控制信号,
使屏幕按设计的要求显示。
根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层
是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向
点阵屏传送特定组合的显示数据,并负责产生行扫描信号和其他控制信号,配
合完成?LED?显示屏的扫描显示工作。显示驱动程序由显示子程序实现;系统环
境设置(初始化)由系统初始化程序完成;显示效果处理等工作,则由主程序
通过调用子程序来实现。
3.1?显示驱动程序
显示驱动程序在进入中断后首先要对定时器?T0?重新赋初值,以保证显示
屏刷新率的稳定。16?行扫描格式的显示屏刷新率(帧频)的计算公式如下:
其中:F?为晶振频率;T?为定时器?T0?初值(工作在?16?位定时器模式)。
其次,显示驱动程序查询当前点亮的行号,从显示缓存区内读取下一行的
显示数据,并通过串口发送给移位寄存器。
为消除在切换行显示数据时产生的拖尾现象,驱动程序先要关闭显示屏,
即消隐,等显示数据输入输出锁存器后,再输出新的行号,重新打开显示。图
6?所示为显示驱动程序(显示屏扫描函数)流程图。
图?6?显示驱动程序流程图
3.2?系统主程序
系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、
中断、端口。然后以“卷帘出”效果显示文字或图案,停留几秒钟,接着向上滚
动显示汉字或图形,停留几秒后,再左移显示汉字或图形、右移显示等。最后
以“卷帘入”效果隐去文字。图?7?所示为系统主
原创力文档


文档评论(0)