第4章LED点阵屏控制PPT课件下载推荐.ppt
- 文档编号:15665234
- 上传时间:2022-11-11
- 格式:PPT
- 页数:28
- 大小:13.31MB
第4章LED点阵屏控制PPT课件下载推荐.ppt
《第4章LED点阵屏控制PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《第4章LED点阵屏控制PPT课件下载推荐.ppt(28页珍藏版)》请在冰豆网上搜索。
因此,要实现发光二极管以不同的快慢闪亮,只需编写不同的程序,使单片机与发光二极管相连的端口输出不同频率的脉冲信号。
若要控制发光二极管发出不同的闪亮样式,则需单片机对端口的各位在不同时间输出不同的驱动电平,就能驱动发光二极管以不同闪亮样式发光。
步骤为:
(1)确定LED闪亮的方式;
(2)在计算机上编写原程序,程序功能就是控制单片机在与LED连接的端口上输出需要的高低电平信号;
(3)用软件调试和编译原程序;
(4)将编译后的程序代码写入单片机;
(5)在LED上观察程序运行效果。
若要修改程序,可在线修改程序,再编译和下载,再观察修改后的效果,直至完全准确为止。
4.2单个字符的显示单个字符的显示最常见的LED点阵显示模块有57、79、88结构,前两种主要用于显示各种西文字符,后一种可多模块组合用于汉字、图形的显示,并且可组建大型电子显示屏。
下面主要介绍88点阵点阵的显示原理。
图4.28x8LED点阵等效电路图对于单个单个88LED点阵点阵,其驱动要求十分简单,作为实验,完全可以使用单片机的使用单片机的I/O口直接口直接驱动驱动。
具体的原理电路如图4.3所示,P0口接LED点阵的阳级,由于P0口没有上拉能力,所以采用排阻上接电源提供上拉电流,用P2口接LED的阴极。
也可以采用触发器或锁存器等器件对数据进触发器或锁存器等器件对数据进行隔离驱动行隔离驱动,这种方式既能增强驱动能力,也能使单片机I/O口在不驱动LED点阵时空闲出来作为它用。
由于LED点阵的各行共用一个I/O口,各列也是共用一个I/O口。
图4.3单个字符显示原理图*软件编制软件编制为了分析点阵字符的显示方法,首先看点阵字符09显示代码是如何形成的。
由8行8列构成数字“0”的图形,其中要显示的点用二进制位1表示,不显示的位用二进制位0表示。
每列构成一个字节,从左到右各列的数值用十六进制表示为:
00,00,3E,41,41,41,3E,00。
同理,可以建立数字“1”到数字“9”的代码,如表4.1所示。
图4.4数字“0”的8X8点阵示意图。
图4.4数字“0”的8X8点阵示意图表4.1数字09的88点阵数值数字88点阵数值000H,00H,3EH,41H,41H,41H,3EH,00H100H,00H,00H,00H,21H,7FH,01H,00H200H,00H,27H,45H,45H,45H,39H,00H300H,00H,22H,49H,49H,49H,36H,00H400H,00H,0CH,14H,24H,7FH,04H,00H500H,00H,72H,51H,51H,51H,4EH,00H600H,00H,3EH,49H,49H,49H,26H,00H700H,00H,40H,40H,40H,4FH,70H,00H800H,00H,36H,49H,49H,49H,36H,00H900H,00H,32H,49H,49H,49H,3EH,00H要显示数字09,但一个88点阵在同一时间只能显示其中一个数字,作为演示程序,设定每隔1秒变换一个显示数字,即每个数字将连续显示1秒,然后再换为下一个数字显示。
要在8行8列的LED点阵上显示一个字符,由于点阵引线的公共端是连接在一起的,所以不能同时将这些LED都加以控制。
只能按行或者按列分别控制显示,以小于人眼视觉暂留时间重复显示,也就是要求每秒至少显示50次以上,要求一次显示过程小于2ms,显示一列(或一行)的显示时间小于250s。
显示过程如下:
首先在P0口送出第一个行码00H,在P2口送出一个列控制码01111111;
再在P0口送第二个行码00H,在P2口送出一个列控制码10111111;
再在P0口送第三个行码3EH,在P2口送出一个列控制码11011111;
再在P0口送第二个行码41H,在P2口送出一个列码11101111;
送完8个行码和8个列控制信号,这样一个“0”字就显示了一遍,接着再重复上述显示过程。
图4.5系统原理结构框图软件流程参考见图4.6。
图4.6电子显示屏软件流程图参考源程序参考源程序#include#defineucharunsignedcharucharxdata*row0=0X8100;
ucharxdata*row1=0X8200;
ucharxdata*col0=0X8500;
ucharxdata*col1=0X8400;
ucharxdata*col2=0X8300;
ucharxdata*col3=0X8000;
uchardispcode232=0x04,0x7C,0x44,0x40,0x40,0x44,0x7C,0x04,/*U*/0x38,0x6C,0x44,0x44,0x44,0x44,0x24,0x00,/*C*/0x44,0x7C,0x1C,0x70,0x0C,0x7C,0x44,0x00,/*M*/0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,/*-*/,0x04,0x04,0x44,0x7C,0x44,0x04,0x04,0x00,/*T*/0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,/*I*/0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,/*I*/0x44,0x7C,0x4C,0x18,0x10,0x24,0x7C,0x04,/*N*/;
uchardisloc4=0x7F,0xFF,0xFF,0xFF;
voiddelay(uchari)ucharj,k;
for(j=i;
j0;
j-)for(k=50;
k0;
k-);
voiddisplay()staticucharnum=0;
uchari=0;
*row0=0;
*row1=0;
*col0=disloc0;
*col1=disloc1;
*col2=disloc2;
*col3=disloc3;
*row0=dispcode0num;
*row1=dispcode1num;
if(+num=32)num=0;
dislocnum/8=(dislocnum/81)|(dislocnum/87);
if(!
(num%8)for(i=0;
i4;
i+)if(i=num/8)disloci=0x7F;
elsedisloci=0xFF;
voidmain()/*主函数*/while
(1)display();
delay
(2);
4.3典型案例典型案例任务描述:
用16x16LED点阵显示字符“2009”,LED图案显示的仿真效果如图4.7所示。
图4.7LED电子显示屏原理图用LED点阵显示多个字符,用一片74LS138译码器输出端Y0,Y1,Y2,Y3分别负责控制4片74LS373的片选信号,分别作为LED点阵显示的行列驱动器。
设计方案如图4.8所示,其程序流程图如图4.9所示。
单片机行驱动器列驱动器LED显示点阵图4.8多字符显示方案图图4.9多字符显示流程图参考源程序:
参考源程序:
#include#include#include#defineLEDL2XBYTE0X0000/控行373地址1#defineLEDL1XBYTE0X0100/控行373地址2#defineLEDC1XBYTE0X0200/控列373地址1#defineLEDC2XBYTE0X0300/控列373地址2unsignedcharcodeDB1216=0x7e,0x20,0x10,0x08,0x04,0x22,0x22,0x1c,/*2*/0x1c,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/,0x1c,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/0x1c,0x22,0x02,0x1e,0x22,0x22,0x22,0x1c,/*9*/;
voiddelay()/延时约40usunsignedintt;
for(t=0;
t20;
t+);
voidmain()/主函数unsignedchari;
while
(1)unsignedlongj=0x01;
unsignedcharL1=1,L2=0;
for(i=0;
i16;
i+)/for循环,循环16次LEDL1=0;
LEDL2=0;
LEDC1=L1;
LEDC2=L2;
LEDL1=DB10i;
LEDL2=DB11i;
j=_lrol_(j,0x01);
/循环左移L1=j;
L2=_lror_(j,0x08);
/循环右移delay();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LED 点阵 控制