LED点阵屏控制学习教案

上传人:博****1 文档编号:570288836 上传时间:2024-08-03 格式:PPT 页数:29 大小:1.06MB
返回 下载 相关 举报
LED点阵屏控制学习教案_第1页
第1页 / 共29页
LED点阵屏控制学习教案_第2页
第2页 / 共29页
LED点阵屏控制学习教案_第3页
第3页 / 共29页
LED点阵屏控制学习教案_第4页
第4页 / 共29页
LED点阵屏控制学习教案_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《LED点阵屏控制学习教案》由会员分享,可在线阅读,更多相关《LED点阵屏控制学习教案(29页珍藏版)》请在金锄头文库上搜索。

1、会计学1LED点阵点阵(din zhn)屏控制屏控制第一页,共29页。n n4.1任务描述任务描述n n4.2 单个字符单个字符(z f)的显示的显示n n4.3 典型案例典型案例第1页/共28页第二页,共29页。4.1任务任务(rn wu)描述描述n n 为了让单片机控制(kngzh)发光二极管,需要将发光二极管连接到单片机的端口上,如图4.1所示,就是说单片机和LED电子屏控制(kngzh)的电路要连接上。第2页/共28页第三页,共29页。图4.1 LED电子(dinz)显示屏第3页/共28页第四页,共29页。n n要实现LED的闪烁发光,就是要求LED所对应的单片机引脚不断输出高电平和低

2、电平。为了让人眼能够看清楚LED的闪烁变化,LED的闪烁的频率应在零点几到十几赫兹之间,一般取1Hz左右。n n因此,要实现发光二极管以不同的快慢闪亮,只需编写不同的程序,使单片机与发光二极管相连的端口输出不同频率的脉冲(michng)信号。若要控制发光二极管发出不同的闪亮样式,则需单片机对端口的各位在不同时间输出不同的驱动电平,就能驱动发光二极管以不同闪亮样式发光。第4页/共28页第五页,共29页。n n步骤为:步骤为:n n(1 1)确定)确定LEDLED闪亮的方式;闪亮的方式;n n(2 2)在计算机上编写原程序,程)在计算机上编写原程序,程序功能就是控制单片机在与序功能就是控制单片机在

3、与LEDLED连接的端口上输出需要的高低电连接的端口上输出需要的高低电平信号;平信号;n n(3 3)用软件调试和编译原程序;)用软件调试和编译原程序;n n(4 4)将编译后的程序代码写入单)将编译后的程序代码写入单片机;片机;n n(5 5)在)在LEDLED上观察程序运行效果上观察程序运行效果(xiogu)(xiogu)。若要修改程序,可。若要修改程序,可在线修改程序,再编译和下载,在线修改程序,再编译和下载,再观察修改后的效果再观察修改后的效果(xiogu)(xiogu),直至完全准确为止。,直至完全准确为止。第5页/共28页第六页,共29页。4.2 单个字符单个字符(z f)的显示的

4、显示n n最常见的最常见的LEDLED点阵显示模块有点阵显示模块有5757、7979、8888结构,前两种主要用于显示结构,前两种主要用于显示各种西文字符,后一种可多模块组合用各种西文字符,后一种可多模块组合用于汉字、图形的显示,并且可组建于汉字、图形的显示,并且可组建(z(zjin)jin)大型电子显示屏。下面主要介绍大型电子显示屏。下面主要介绍8888点阵的显示原理。点阵的显示原理。 第6页/共28页第七页,共29页。图4.2 8x8 LED点阵(din zhn)等效电路图第7页/共28页第八页,共29页。n n对于单个88LED点阵,其驱动要求十分简单,作为实验,完全可以使用单片机的I/

5、O口直接驱动。具体的原理电路如图4.3所示,P0口接LED点阵的阳级,由于P0口没有上拉能力,所以采用排阻上接电源提供上拉电流,用P2口接LED的阴极。n n也可以采用触发器或锁存器等器件对数据进行隔离(gl)驱动,这种方式既能增强驱动能力,也能使单片机I/O口在不驱动LED点阵时空闲出来作为它用。由于LED点阵的各行共用一个I/O口,各列也是共用一个I/O口。第8页/共28页第九页,共29页。图4.3 单个字符(z f)显示原理图第9页/共28页第十页,共29页。* * * * 软件软件软件软件(run (run (run (run jin)jin)jin)jin)编制编制编制编制n n为了

6、分析点阵字符的显示方法(fngf),首先看点阵字符09显示代码是如何形成的。由8行8列构成数字“0”的图形,其中要显示的点用二进制位1表示,不显示的位用二进制位0表示。每列构成一个字节,从左到右各列的数值用十六进制表示为:00,00,3E,41,41,41,3E,00。同理,可以建立数字“1”到数字“9”的代码,如表4.1所示。n n图4.4数字“0”的8X8点阵示意图。第10页/共28页第十一页,共29页。图4.4数字(shz)“0”的8X8点阵示意图第11页/共28页第十二页,共29页。表4.1 数字(shz)09的88点阵数值 数字 88点阵数值000H,00H,3EH,41H,41H,

7、41H,3EH,00H 100H,00H,00H,00H,21H,7FH,01H,00H200H,00H,27H,45H,45H,45H,39H,00H 300H,00H,22H,49H,49H,49H,36H,00H 400H,00H,0CH,14H,24H,7FH,04H,00H 500H,00H,72H,51H,51H,51H,4EH,00H600H,00H,3EH,49H,49H,49H,26H,00H 700H,00H,40H,40H,40H,4FH,70H,00H 800H,00H,36H,49H,49H,49H,36H,00H900H,00H,32H,49H,49H,49H,3E

8、H,00H 第12页/共28页第十三页,共29页。n n要显示数字要显示数字0909,但一个,但一个8888点阵在同点阵在同一时间只能显示其中一个数字,作为演一时间只能显示其中一个数字,作为演示示(ynsh)(ynsh)程序,设定每隔程序,设定每隔1 1秒变换一秒变换一个显示数字,即每个数字将连续显示个显示数字,即每个数字将连续显示1 1秒,然后再换为下一个数字显示。秒,然后再换为下一个数字显示。第13页/共28页第十四页,共29页。n n要在要在8 8行行8 8列的列的LEDLED点阵上显示一个字符,由点阵上显示一个字符,由于点阵引线的公共端是连接在一起的,所以于点阵引线的公共端是连接在一起

9、的,所以不能同时将这些不能同时将这些LEDLED都加以控制。只能按行都加以控制。只能按行或者按列分别控制显示,以小于人眼视觉暂或者按列分别控制显示,以小于人眼视觉暂留时间重复显示,也就是要求每秒至少显示留时间重复显示,也就是要求每秒至少显示5050次以上,要求一次显示过程小于次以上,要求一次显示过程小于2ms2ms,显,显示一列示一列(yli)(yli)(或一行)的显示时间小于(或一行)的显示时间小于250s250s。 第14页/共28页第十五页,共29页。n n显示过程如下:显示过程如下: n n首先在首先在P0P0口送出第一个行码口送出第一个行码00H00H,在,在P2P2口送出一个口送出

10、一个列控制码列控制码0111111101111111; n n再在再在P0P0口送第二个行码口送第二个行码00H00H,在,在P2P2口送出一个列控口送出一个列控制码制码1011111110111111; n n再在再在P0P0口送第三个行码口送第三个行码3EH3EH,在,在P2P2口送出一个列控口送出一个列控制码制码1101111111011111; n n再在再在P0P0口送第二个行码口送第二个行码41H41H,在,在P2P2口送出一个列码口送出一个列码1110111111101111; n nn n送完送完8 8个行码和个行码和8 8个列控制信号,这样个列控制信号,这样(zhyng)(z

11、hyng)一一个个“0”“0”字就显示了一遍,接着再重复上述显示过字就显示了一遍,接着再重复上述显示过程。程。 第15页/共28页第十六页,共29页。图4.5系统(xtng)原理结构框图第16页/共28页第十七页,共29页。n n软件流程(lichng)参考见图4.6。图4.6 电子(dinz) 显示屏软件流程图第17页/共28页第十八页,共29页。n n参考参考参考参考(cnko)(cnko)(cnko)(cnko)源程序源程序源程序源程序n n#include#include#include#includen n#defineucharunsignedchar#defineucharuns

12、ignedchar#defineucharunsignedchar#defineucharunsignedcharn nucharxdata*row0=0X8100;ucharxdata*row0=0X8100;ucharxdata*row0=0X8100;ucharxdata*row0=0X8100;n nucharxdata*row1=0X8200;ucharxdata*row1=0X8200;ucharxdata*row1=0X8200;ucharxdata*row1=0X8200;n nucharxdata*col0=0X8500;ucharxdata*col0=0X8500;ucha

13、rxdata*col0=0X8500;ucharxdata*col0=0X8500;n nucharxdata*col1=0X8400;ucharxdata*col1=0X8400;ucharxdata*col1=0X8400;ucharxdata*col1=0X8400;n nucharxdata*col2=0X8300;ucharxdata*col2=0X8300;ucharxdata*col2=0X8300;ucharxdata*col2=0X8300;n nucharxdata*col3=0X8000;ucharxdata*col3=0X8000;ucharxdata*col3=0X8

14、000;ucharxdata*col3=0X8000;n nuchardispcode232=uchardispcode232=uchardispcode232=uchardispcode232=n n n n0x04,0x7C,0x44,0x40,0x40,0x44,0x7C,0x04,/*U*/0x04,0x7C,0x44,0x40,0x40,0x44,0x7C,0x04,/*U*/0x04,0x7C,0x44,0x40,0x40,0x44,0x7C,0x04,/*U*/0x04,0x7C,0x44,0x40,0x40,0x44,0x7C,0x04,/*U*/n n0x38,0x6C,0x

15、44,0x44,0x44,0x44,0x24,0x00,/*C*/0x38,0x6C,0x44,0x44,0x44,0x44,0x24,0x00,/*C*/0x38,0x6C,0x44,0x44,0x44,0x44,0x24,0x00,/*C*/0x38,0x6C,0x44,0x44,0x44,0x44,0x24,0x00,/*C*/n n0x44,0x7C,0x1C,0x70,0x0C,0x7C,0x44,0x00,/*M*/0x44,0x7C,0x1C,0x70,0x0C,0x7C,0x44,0x00,/*M*/0x44,0x7C,0x1C,0x70,0x0C,0x7C,0x44,0x00

16、,/*M*/0x44,0x7C,0x1C,0x70,0x0C,0x7C,0x44,0x00,/*M*/n n0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,/*-*/0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,/*-*/0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,/*-*/0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,/*-*/n n,n nn n0x04,0x04,0x44,0x7C,0x44,0x04,0x04,0x00,/*T*/0x04,0x04,0

17、x44,0x7C,0x44,0x04,0x04,0x00,/*T*/0x04,0x04,0x44,0x7C,0x44,0x04,0x04,0x00,/*T*/0x04,0x04,0x44,0x7C,0x44,0x04,0x04,0x00,/*T*/n n0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,/*I*/0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,/*I*/0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,/*I*/0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x0

18、0,/*I*/n n0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,/*I*/0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,/*I*/0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,/*I*/0x00,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,/*I*/n n0x44,0x7C,0x4C,0x18,0x10,0x24,0x7C,0x04,/*N*/0x44,0x7C,0x4C,0x18,0x10,0x24,0x7C,0x04,/*N*/0x44,0x7C,0x4C,0x

19、18,0x10,0x24,0x7C,0x04,/*N*/0x44,0x7C,0x4C,0x18,0x10,0x24,0x7C,0x04,/*N*/n nn n;n nuchardisloc4=0x7F,0xFF,0xFF,0xFF;uchardisloc4=0x7F,0xFF,0xFF,0xFF;uchardisloc4=0x7F,0xFF,0xFF,0xFF;uchardisloc4=0x7F,0xFF,0xFF,0xFF;第18页/共28页第十九页,共29页。n nvoid delay(uchar i)void delay(uchar i)n n nnuchar j,k;uchar j,k

20、;n nfor(j=i;j0;j-)for(j=i;j0;j-)n nfor(k=50;k0;k-);for(k=50;k0;k-);n n n nvoid display() void display() n n n nstatic uchar num=0;static uchar num=0;n nuchar i=0;uchar i=0;n n*row0=0;*row0=0;nn*row1=0;*row1=0;nn*col0=disloc0;*col0=disloc0;n n*col1=disloc1;*col1=disloc1;n n*col2=disloc2;*col2=disloc2

21、;n n*col3=disloc3;*col3=disloc3;n n *row0=dispcode0num;*row0=dispcode0num;n n*row1=dispcode1num;*row1=dispcode1num;n nif(+num=32) num=0;if(+num=32) num=0;n ndislocnum/8=(dislocnum/81)|(dislocnum/81)|(dislocnum/87);n nif(!(num%8)if(!(num%8)n nfor(i=0;i4;i+)for(i=0;i4;i+)n n n nif(i=num/8)if(i=num/8)n

22、ndisloci=0x7F;disloci=0x7F;n nelse disloci=0xFF;else disloci=0xFF;nn n n 第19页/共28页第二十页,共29页。n nvoid main()/*主函数(hnsh)*/n nwhile(1)n ndisplay();n ndelay(2);n nn n第20页/共28页第二十一页,共29页。4.3 典型典型(dinxng)案例案例n n 任务描述:用任务描述:用16x16LED16x16LED点阵显示点阵显示(xinsh)(xinsh)字符字符“2009”“2009”,LEDLED图案显示图案显示(xinsh)(xinsh)

23、的仿真的仿真效果如图效果如图4.74.7所示。所示。 第21页/共28页第二十二页,共29页。图4.7 LED电子(dinz)显示屏原理图第22页/共28页第二十三页,共29页。n n用用LEDLED点阵显示多个字符,用一片点阵显示多个字符,用一片(y(ypin)74LS138pin)74LS138译码器输出端译码器输出端Y0,Y1,Y2,Y3Y0,Y1,Y2,Y3分别负责控制分别负责控制4 4片片74LS37374LS373的片选信号,分别作为的片选信号,分别作为LEDLED点阵显示的点阵显示的行列驱动器。设计方案如图行列驱动器。设计方案如图4.84.8所示,所示,其程序流程图如图其程序流程

24、图如图4.94.9所示。所示。 第23页/共28页第二十四页,共29页。单片机行驱动器列驱动器LED显示点阵图4.8 多字符显示(xinsh)方案图第24页/共28页第二十五页,共29页。图4.9 多字符(z f)显示流程图第25页/共28页第二十六页,共29页。n n参考参考参考参考(cnko)(cnko)(cnko)(cnko)源程序:源程序:源程序:源程序:n n#include#include#include#includen n#include#include#include#includen n#include#include#include#includen n#defineLE

25、DL2XBYTE0X0000/#defineLEDL2XBYTE0X0000/#defineLEDL2XBYTE0X0000/#defineLEDL2XBYTE0X0000/控行控行控行控行373373373373地址地址地址地址1 1 1 1n n#defineLEDL1XBYTE0X0100/#defineLEDL1XBYTE0X0100/#defineLEDL1XBYTE0X0100/#defineLEDL1XBYTE0X0100/控行控行控行控行373373373373地址地址地址地址2 2 2 2n n#defineLEDC1XBYTE0X0200/#defineLEDC1XBYTE

26、0X0200/#defineLEDC1XBYTE0X0200/#defineLEDC1XBYTE0X0200/控列控列控列控列373373373373地址地址地址地址1 1 1 1n n#defineLEDC2XBYTE0X0300/#defineLEDC2XBYTE0X0300/#defineLEDC2XBYTE0X0300/#defineLEDC2XBYTE0X0300/控列控列控列控列373373373373地址地址地址地址2 2 2 2 n nunsignedcharcodeDB1216=unsignedcharcodeDB1216=unsignedcharcodeDB1216=uns

27、ignedcharcodeDB1216=n n0x7e,0x20,0x10,0x08,0x04,0x22,0x22,0x1c,/*2*/0x7e,0x20,0x10,0x08,0x04,0x22,0x22,0x1c,/*2*/0x7e,0x20,0x10,0x08,0x04,0x22,0x22,0x1c,/*2*/0x7e,0x20,0x10,0x08,0x04,0x22,0x22,0x1c,/*2*/n n0x1c,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/0x1c,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/0x1c

28、,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/0x1c,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/n n,n nn n0x1c,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/0x1c,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/0x1c,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/0x1c,0x22,0x22,0x22,0x22,0x22,0x22,0x1c,/*0*/n n0x1c,0x22,0x02,0x1e,0

29、x22,0x22,0x22,0x1c,/*9*/0x1c,0x22,0x02,0x1e,0x22,0x22,0x22,0x1c,/*9*/0x1c,0x22,0x02,0x1e,0x22,0x22,0x22,0x1c,/*9*/0x1c,0x22,0x02,0x1e,0x22,0x22,0x22,0x1c,/*9*/n n;n nn nvoiddelay()/voiddelay()/voiddelay()/voiddelay()/延时约延时约延时约延时约40us40us40us40usn n n nunsignedintt;unsignedintt;unsignedintt;unsignedi

30、ntt;n n for(t=0;t20;t+);for(t=0;t20;t+);for(t=0;t20;t+);for(t=0;t20;t+);n n第26页/共28页第二十七页,共29页。n nvoid main() /void main() /主函数主函数n n n n unsigned char i; unsigned char i;n n while(1) while(1)n n n n unsigned long j=0x01; unsigned long j=0x01;n n unsigned char L1=1,L2=0; unsigned char L1=1,L2=0;n n

31、for(i=0;i16;i+) for(i=0;i16;i+) /for /for循环循环(xnhun)(xnhun),循环,循环(xnhun)16(xnhun)16次次n n n n LEDL1=0; LEDL1=0;n n LEDL2=0; LEDL2=0;n n LEDC1=L1; LEDC1=L1;n n LEDC2=L2; LEDC2=L2;n n LEDL1=DB10i; LEDL1=DB10i;n n LEDL2=DB11i; LEDL2=DB11i;n n j= _lrol_ (j,0x01); / j= _lrol_ (j,0x01); /循环循环(xnhun)(xnhun)

32、左移左移n n L1=j; L1=j;n n L2= _lror_ (j,0x08); / L2= _lror_ (j,0x08); /循环循环(xnhun)(xnhun)右移右移n n delay(); delay();n n n n 第27页/共28页第二十八页,共29页。内容(nirng)总结会计学。首先在P0口送出第一个行码00H,在P2口送出一个列控制码01111111。再在P0口送第二个行码00H,在P2口送出一个列控制码10111111。再在P0口送第三个行码3EH,在P2口送出一个列控制码11011111。再在P0口送第二个行码41H,在P2口送出一个列码11101111。设计方案如图4.8所示,其程序流程图如图4.9所示。图4.8 多字符(z f)显示方案图。第27页/共28页第二十九页,共29页。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号