LED点阵显示屏的基本显示元件是8×8LED显示块,如图13-11所示。其原理与数码管类似,由64个LED排成8行8列,同一行的LED阴极连在一起,同一列的LED阳极连在一起,如图13-12所示。当行1输出低电平(术语称为被选中)时,第1行的8个发光二极管会根据列1到列8的电平状态被点亮(对应列输出高电平)或熄灭(对应列输出低电平)。若采用本书前面所讲的扫描思想使用软件控制行1到行8循环分别选中并在列1到列8输出相应数据,则会使LED显示块显示一定的图形。
图13-11 8×8LED显示块实物图
图13-12 8×8LED显示块原理结构图
例如,要在8×8LED点阵显示屏上显示字母E,实际上要显示的是E的字形,这与在数码管上显示数字字形的思想相同。假设E的字形如图13-13所示。
图13-13 用LED点阵显示字母E的字形
这里若用二进制数0代表灭的点,用1代表亮的点,则图13-13可以用二进制表示为:
把以上E的字形的二进制数据从上到下按顺序用十六进制数记录。
这样就得到了E的十六进制的字形码(习惯上字形码都是以十六进制形式表示)。有了字形码就可以用扫描法程序来实现在8×8LED点阵显示屏上E的字形了。
若想得到其他字母的字形,请使用专用的字模软件来生成。本书附赠的光盘中有一款名为“字模提取V2.1”的自由软件(作者网名horse2000,感谢其无私的奉献),读者可以用此软件生成任意字母或数字的字形。
软件在光盘位置:“\Example\Chapter13\字模提取软件\ZIMO21.EXE”。
下面通过一个简单的程序来演示8×8LED点阵显示屏的基本控制方法。(www.daowen.com)
【例13-3】电路图如图13-14所示。编程控制8×8LED点阵显示屏K1显示字母E的字形。
电路图在光盘位置:“\Example\Chapter13\S132\LED88.DSN”。
图13-14 基本的8×8LED显示屏控制原理图
题意分析
●在图13-14中,H0~H7表示行选信号,用PORTD控制。在实际电路中,由于LED显示屏耗电量比较大,单片机无法直接驱动太多的显示屏,所以应该为每个行选信号上加入驱动电路。其连接方法可以参考图13-14中的H0与HC0通过晶体管VT1相连的电路。由于书版面空间有限,H1和H7未加驱动电路,实际电路中需要加入。
●L0~L7是用来显示每行的字形数据端口,通过PORTB输出。
●要想显示E的字形,根据扫描法思想,先把表示E字形的第一行二进制数送L0~L7,然后仅点亮第一行;依次再把表示E字形的第二行二进制数送L0~L7,然后仅点亮第二行;……。如此反复8次后就实现了把E的字形码送LED显示屏输出的功能。由于人眼有视觉暂留现象,所以当连续输出时,人就会看到E的字形了。
设计过程
1)用MPLAB新建项目S132,语言工具选择为“HI-TECH Universal Toolsuite”,保存在“C:\S132”文件夹下。
2)新建main.c文件并加入项目中,其内容如下所示。
3)程序录入完毕后,保存并编译成功。然后用调试工具Proteus VSM加载“LED88.DSN”。启动VSM后运行程序。程序运行效果是显示屏上显示E的字形。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。