控制/MCU
LED 电子显示屏具有投影仪器、液晶显示屏无法比拟的优点:高亮度、功耗小、工作电压低、寿命长、稳定和耐冲击等优点。
本文所提出的即为一种基于AT89C51 系列单片机的8×8 LED点阵动态显示的设计原理。
本文采用的AT89C51 系列单片机是8 位机,是一款很有代表性的经典单片机。
P 口又称I /O 口, 是单片机的输入输出口, 其中共有4 组(P0-P3),每组都有8 根管脚。而这里我们要用到的只有两组,P1 口和P2 口。
P1 口是一个双向的8 位I /O 口, 其内部有一个上拉电阻。
如果对端口写入“1”,及通过上拉电阻把端口拉到高电平,这时P1 可作为输入口使用。而当P2 口作为输入口时,和P1 口的原理一样。只不过在访问外部数据存储器或16 位地址的外部数据存储(例如执行MOVX@DPTR 指令)时,P2 口还可以作为8 位的地址数据总线使用。
如下8×8 LED 点阵威廉希尔官方网站 原理图所示,将单片机的P1 口连接LED 点阵模块的列线,P2 口连接LED 点阵模块的行线即:
(1)LED 点阵显示原理
我们采用的是一个共阳极8×8 的点阵LED 显示器。该点阵对外引出8 条行线,8 条列线。若使某一个LED 发光,只要将与其LED 连接的行线加高电平,列线加低电平;若使某一列LED 发光,只要将8 根行线全加高电平,此列线加低电平;若使某一列LED部分发光,只要将需发光的行线加高电平,此列线加低电平。
单片机P2 口输出的数据通过行驱动器加至点阵的8 条行线上,单片机P1 口输出的数据通过列驱动器反相后加至点阵的8 条列线上。若要使该点阵显示某一信息, 只要通过P2 口、P1口输出特定的数据,控制点阵LED 逐行或逐列循环发光即可。
(2)动态显示思路
由静态显示原理可知, 欲达到动态显示的目的, 就需要让LED 灯变化的速度快一些,就像有多幅图片组成的一个动画。首先得保证LED 显示屏上的点自身闪烁的速度, 如果闪烁的速度太慢,你看到的只是某些点亮,只有让LED 屏上的点闪烁的速度达到足够快时才能看到稳定输出的字,当然须让这一状态保持一定的时间。其次如果想让字达到移动的效果,应当使LED 显示屏上的字的状态进行更新,而对于字的状态更新速度的快慢如何控制,取决于个人的需要。如果你想使字左右移动的速度快一些,那么你可以把字的状态的更新速度设置的快一些(通过修改程序中的延时语句进行设置),反之就可以降慢字的移动速度。
按照以上叙述的思路进行编写程序,8×8 LED 点阵动态显示运行程序如下:
首先按照上述点阵威廉希尔官方网站 原理图连接好仿真仪器的线路,之后把上述程序输入到仿真软件中进行实验仿真, 得到的显示效果如图2 所示:
本设计是使用简短的汇编语言程序在LED 点阵显示屏上实现了汉字的滚动显示。其特点是:结构简单,应用方便。内容易更新且能滚动显示。LED 灯廉价,工作效率高等。目前LED 显示正朝着更高亮度、更稳定、更高的发光密度、更易检修、全色化的方向发展。
全部0条评论
快来发表一下你的评论吧 !