以单片机为核心的8×8LED点阵动态显示设计

控制/MCU

1814人已加入

描述

LED 电子显示屏具有投影仪器、液晶显示屏无法比拟的优点:高亮度、功耗小、工作电压低、寿命长、稳定和耐冲击等优点。

本文所提出的即为一种基于AT89C51 系列单片机的8×8 LED点阵动态显示的设计原理。

1 8×8 LED 点阵电路及显示原理

1.1 单片机及其主控接口简介

本文采用的AT89C51 系列单片机是8 位机,是一款很有代表性的经典单片机。

P 口又称I /O 口, 是单片机的输入输出口, 其中共有4 组(P0-P3),每组都有8 根管脚。而这里我们要用到的只有两组,P1 口和P2 口。

P1 口是一个双向的8 位I /O 口, 其内部有一个上拉电阻。

如果对端口写入“1”,及通过上拉电阻把端口拉到高电平,这时P1 可作为输入口使用。而当P2 口作为输入口时,和P1 口的原理一样。只不过在访问外部数据存储器或16 位地址的外部数据存储(例如执行MOVX@DPTR 指令)时,P2 口还可以作为8 位的地址数据总线使用。

1.2 8×8 LED 点阵电路原理图

如下8×8 LED 点阵电路原理图所示,将单片机的P1 口连接LED 点阵模块的列线,P2 口连接LED 点阵模块的行线即:

单片机

1.3 8×8LED 点阵动态显示原理

(1)LED 点阵显示原理

我们采用的是一个共阳极8×8 的点阵LED 显示器。该点阵对外引出8 条行线,8 条列线。若使某一个LED 发光,只要将与其LED 连接的行线加高电平,列线加低电平;若使某一列LED 发光,只要将8 根行线全加高电平,此列线加低电平;若使某一列LED部分发光,只要将需发光的行线加高电平,此列线加低电平。

单片机P2 口输出的数据通过行驱动器加至点阵的8 条行线上,单片机P1 口输出的数据通过列驱动器反相后加至点阵的8 条列线上。若要使该点阵显示某一信息, 只要通过P2 口、P1口输出特定的数据,控制点阵LED 逐行或逐列循环发光即可。

(2)动态显示思路

由静态显示原理可知, 欲达到动态显示的目的, 就需要让LED 灯变化的速度快一些,就像有多幅图片组成的一个动画。首先得保证LED 显示屏上的点自身闪烁的速度, 如果闪烁的速度太慢,你看到的只是某些点亮,只有让LED 屏上的点闪烁的速度达到足够快时才能看到稳定输出的字,当然须让这一状态保持一定的时间。其次如果想让字达到移动的效果,应当使LED 显示屏上的字的状态进行更新,而对于字的状态更新速度的快慢如何控制,取决于个人的需要。如果你想使字左右移动的速度快一些,那么你可以把字的状态的更新速度设置的快一些(通过修改程序中的延时语句进行设置),反之就可以降慢字的移动速度。

2 8×8 LED 点阵动态显示运行程序

按照以上叙述的思路进行编写程序,8×8 LED 点阵动态显示运行程序如下:

单片机

单片机

3 8×8 LED 点阵动态显示仿真结果

首先按照上述点阵电路原理图连接好仿真仪器的线路,之后把上述程序输入到仿真软件中进行实验仿真, 得到的显示效果如图2 所示:

4 结束语

本设计是使用简短的汇编语言程序在LED 点阵显示屏上实现了汉字的滚动显示。其特点是:结构简单,应用方便。内容易更新且能滚动显示。LED 灯廉价,工作效率高等。目前LED 显示正朝着更高亮度、更稳定、更高的发光密度、更易检修、全色化的方向发展。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分