




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LED点阵广告牌的设计摘要:目前,由于LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点,所以市面上已经存在许多由LED点阵扩展的多款应用,LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。本文所介绍的作品并不难实现,重要是详细介绍LED点阵的工作原理与硬件,从而细化相关专业知识。关键词:点阵,单片机,74HC595芯片一、设计目的与要求1.设计一款能够显示不同字符的LED点阵广告牌; 2.设计不同的字符切换效果(如闪烁,静止,平移等); 3.设计控制按钮,可以在不同的效果间切换。 二、所用元器件介绍1.元器件清单元器件数量8x8点阵M2882SYGWA/S530-E2474HC5954最小系统板一块三极管161K电阻16导线若干2.主要元器件介绍(1)点阵单独的一个点阵实际上就是64个单独的led灯排列为8行8列,点阵显示字符都是动态的,和多位的数码管一样,并不是一次就显示行或列,而是一次只显示1行,在很短的时间内将8行分别显示出来。由于时间很短,我们的眼睛是看不出来是分开显示的。本设计采用的是型号为M2882SYGWA/S530-E2,以下是单个8x8的内部图由上图可知,单个点阵的内部连线图的行与列并不是按照管脚排列顺序而依次排列的,所以在硬件焊接之前需要清楚了解各点阵管脚所相对应控制的行与列,再画出相应的原理图,以下是相应4个8x8点阵(即16x16点阵)的原理图,其中L1L16是列,H1H16是行,在硬件焊接中,相对应的相同行列管脚要连在一起进行统一外接。其工作原理是LED阵列采用共阳的接法可以看出8X8点阵共需要64个发光二极管组成且每个发光二极管是放置在行线和列线的交叉点上。要实现显示图形或字体只需考虑其显示方式通过编程控制各显示点对应LED阳极和阴极端的电平就可以有效的控制各显示点的亮灭。当采用按行扫描按列控制的8X8点阵驱动方式时,LED显示屏8行的同名列共用一套列驱动器。行驱动器一行的行线连接到电源的一端列驱动器一列的列线连接到电源的另一端。应用时还应在各条行线或列线上接上限流电阻。扫描中控制电路将行线的1到8轮流接通高电位使连接到各该行的全部LED器件接通正电源,但具体是哪一个LED导通还要看它的负电源是否接通,而这就是列控制的任务了。当对应的某一列置0电平,则相应的二极管就亮反之则不亮。如果想使屏幕左上角LED点亮左下角LED熄灭的话在扫描到第一行时第一列的电位就应该为低而扫描到第八行时第一列的电位就应该为高。这样行线上一行一行的轮流导通列线上进行通断控制实现了行扫描列控制的驱动方式。(2)74HC595芯片A芯片特点8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。其特点是8位串行输入8位串行或并行输出,存储状态寄存器具备三种状态,而输出寄存器可以直接清除100MHz的移位频率,其输出能力是并行输出,总线驱动;串行输出;标准中等规模集成电路B74HC595引脚说明GND-8串行数据输出,SRCLR-10主复位低电平,SRCLK-11移位寄存时钟输入,RCLK-12存储寄存时钟输入,CE-13输出有效低电平,SER-14串行数据输入,VCC-16电源。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚G是输出三态门的开放信号只有当其为低时锁存器的输出才开放否则为高组态。SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QAQH,最高位QH可作为多片74HC595级联应用时向上一级的级联输出。但因为QH受输出锁存器的打入控制,所以还从输出锁存器前引出QH,作为与移位寄存器完全同步的级联输出。将4片74HC595进行级连可共用一个移位时钟SCK及数据锁存信号RCK。这样当第一行需要显示的数据经过8x8=64个SCK时钟后便可将其全部移入74HC595中,此时还将产生一个数据锁存信号RCK将数据锁存在74HC595中,并在使能信号G的作用下使串入数据并行输出,从而使与各输出位对应的场驱动管处于放大或截止状态,同时由行扫描控制电路产生信号使第一行扫描管导通,相当于第一行LED的正端都接高,显然第一行LED管的亮灭就取决于74HC595中的锁存信号。此外,在第一行LED管点亮的同时,再在74HC595中移入第二行需要显示的数据随后将其锁存同时由行扫描控制电路,将第一行扫描管关闭而接通第二行,使第二行LED管点亮。以此类推,当第十六行扫描过后再回到第一行,这样只要扫描速度足够高就可形成一幅完整的文字或图像。以下是74HC595在本次设计中的原理图。(1)连接列的两个74HC595原理图(2)通过三极管放大,1K电阻限流连接行的两个74HC595原理图以上就是1616点阵LED电子显示屏系统硬件部分的各功能模块分述,经过合理的设计论证后,就可以整体结合在一起。再根据设计配备好各元器件实物,通过组装后,在单片机的程序存储器里放入编制好的程序即可成为一个完整的应用系统。上图是整个设计的原理图,里面已经清楚地注明各线接口及其连接去向,从图中我们可以清晰地了解整个设计作品的内部结构,进而更全面地掌握16x16 LED点阵广告牌的硬件原理。三、成品实图1.正面 2.背面四、软件流程图YYYNNNY返回提示点亮并储存点亮清屏按键数据取反?单个点亮?检测到光?清屏?划亮储存整屏整列捕捉595扫描清屏反显划亮点亮等待按键,功能选择初始化开始五、源程序清单 #includesend_LCDarray_data.h#includedelay.h/* 显示汉字“二” */uchar code table_Hh8=0xFF,0xFF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0x9F,0xDF,0xFF,0xFF,0xFF;uchar code table_Hl8=0xFF,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xE7,0xF7,0xFF;/* 显示汉字“三” */uchar code table1_HH8=0xFF,0xDF,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDF,0xFF,0xFF;uchar code table1_HL8=0xFF,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFF;/* 用于消余晖 */uchar code table_Lh8=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;uchar code table_Ll8=0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe; uchar code Rtable1=0xFF,0xF7,0xFF,0xF7,0xE0,0x37,0x6D,0xB7,0xAD,0xB7,0xCD,0xB7,0xED,0xB7,0xE0,0x00,0xED,0xB7,0xCD,0xB7,0xAD,0xB7,0x6D,0xB7,0xE0,0x37,0xFF,0xF7,0xFF,0xF7,0xFF,0xFF;/*单,0*/uchar code Rtable2=0xFF,0xFF,0xFF,0xFE,0xFF,0xF9,0x80,0x07,0xFB,0xBF,0xFB,0xBF,0xFB,0xBF,0xFB,0xBF,0xFB,0xBF,0x03,0xBF,0xFB,0x80,0xFB,0xFF,0xFB,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF;/*片,1*/uchar code Rtable3=0xF7,0xDF,0xF7,0x3F,0xF4,0xFF,0x00,0x00,0xF6,0xFF,0xF7,0x3E,0xFF,0xF9,0x80,0x07,0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0x80,0x03,0xFF,0xFD,0xFF,0xFD,0xFF,0xE1,0xFF,0xFF;/*机,2*/uchar code RLtable=0x7f,0xff,0xbf,0xff,0xdf,0xff,0xef,0xff,0xf7,0xff,0xfb,0xff,0xfd,0xff,0xfe,0xff,0xff,0x7f,0xff,0xbf,0xff,0xdf,0xff,0xef,0xff,0xf7,0xff,0xfb,0xff,0xfd,0xff,0xfe;/右移列扫描端uchar code Rempty=0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,/清屏显示0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;uchar code Lupdown1=0xEF,0xEF,0xF7,0xDF,0xFB,0xBF,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDE,0xF7, 0xDE,0xF7,0xC0,0x07,0xFE,0xFF,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF;/*单,0*/uchar code Lupdown2=0xFF,0xBF,0xEF,0xBF,0xEF,0xBF,0xEF,0xBF,0xEF,0xBF,0xE0,0x03,0xEF,0xFF,0xEF,0xFF, 0xEF,0xFF,0xE0,0x1F,0xEF,0xDF,0xEF,0xDF,0xEF,0xDF,0xDF,0xDF,0xDF,0xDF,0xBF,0xDF;/*片,1*/uchar code Lupdown3=0xEF,0xFF,0xEE,0x0F,0xEE,0xEF,0xEE,0xEF,0x02,0xEF,0xEE,0xEF,0xCE,0xEF,0xC6,0xEF, 0xAA,0xEF,0xAA,0xEF,0x6E,0xEF,0xEE,0xED,0xEE,0xED,0xED,0xED,0xED,0xF1,0xEB,0xFF;/*机,2*/uint flag=0;uchar a=0,b=0,c=0;void send_data1(uchar dat)uchar j,temp1,temp2;RCK=0;temp1=table_Hh8dat;temp2=table_Lh8dat;for(j=0;j8;j+)SCK=0;DS1=temp1&0x80;DS2=temp2&0x80;temp2=1;temp1=1;SCK=1;temp1=table_Hl8dat;temp2=table_Ll8dat;for(j=0;j8;j+)SCK=0;DS1=temp1&0x80;DS2=temp2&0x80;temp2=1;temp1=1;SCK=1; RCK=1;void send_data2(uchar dat)uchar j,temp1,temp2;RCK=0;temp1=table1_HH8dat;temp2=table_Lh8dat;for(j=0;j8;j+)SCK=0;DS1=temp1&0x80;DS2=temp2&0x80;temp2=1;temp1=1;SCK=1;temp1=table1_HL8dat;temp2=table_Ll8dat;for(j=0;j8;j+)SCK=0;DS1=temp1&0x80;DS2=temp2&0x80;temp2=1;temp1=1;SCK=1; RCK=1;void Sendlight(void) uchar i;while(1)OE=1;for(i=0;i16;i+)OE=1;send_data2(i);OE=0;delay(1);delay(70);for(i=0;i=400) flag=0; break;void Sendword(void) uchar i; while(1) OE=1; for (i = 0 ; i = 400) flag = 0 ; break; void Sendwyk(void) /*-显示“单片机”左移-*/ sendWordL(Rempty,Rtable1,RLtable);sendWordL(Rtable1,Rtable2,RLtable);sendWordL(Rtable2,Rtable3,RLtable);sendWordL(Rtable3,Rempty,RLtable);/*-右移-*/sendWordR(Rempty,Rtable1,RLtable);sendWordR(Rtable1,Rtable2,RLtable);sendWordR(Rtable2,Rtable3,RLtable); sendWordR(Rtable3,Rempty,RLtable);void dishi_init()TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;void main() dishi_init();while(1) if (KEY0 = 0) delay(10); if (KEY0 = 0) Sendlight(); if (KEY1 = 0) delay(10); if (KEY1 = 0) Sendword(); if (KEY2 = 0) Sendwyk();void ser() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;flag+;*#includedelay.hvoid delay(unsigned int z)unsigned int x,y;for(x=0;xz;x+)for(y=0;y110;y+);*#includesend_LCDarray_data.h#includedelay.h/*-16*16LED点阵屏方向移动显示驱动-*/*-给595送16位字节函数-*/void sendData(uchar Hdata,uchar Ldata,uchar H,uchar L)uchar j;RCK=0;for(j=0;j8;j+)SCK=0;DS1=Hdata&0x80;DS2=H&0x80;Hdata=1;H=1;SCK=1;for(j=0;j8;j+)SCK=0;DS1=Ldata&0x80;DS2=L&0x80;Ldata=1;L=1;SCK=1;RCK=1;/*-字符显示右移函数-*/void sendWordR(uchar *former_word,uchar *later_word,uchar *lie)uchar j,k,tempH,tempL,lieH,lieL,i;for(j=0;j16;j+)i=10;while(i-)/循环显示10次,使其显示停留时间长一点for(k=0;kj+1;k+)OE=1;tempH=later_word30-2*k;/传入第一个字高位数据tempL=later_word31-2*k;/传入第二个字低位数据lieH=lie2*(j-k);lieL=lie2*(j-k)+1;sendData(tempH,tempL,lieH,lieL);OE=0;delay(1);for(k=0;k15-j;k+)OE=1;tempH=former_word2*k;/传入第二个字高位数据tempL=former_word2*k+1;/传入第二个字低位数据lieH=lie2*(j+1+k);lieL=lie2*(j+1+k)+1;sendData(tempH,tempL,lieH,lieL);OE=0;delay(1);/*-字符显示左移函数-*/void sendWordL(uchar *former_word,uchar *later_word,uchar *lie)uchar j,k,tempH,tempL,lieH,lieL,i;for(j=0;j16;j+)i=10;while(i-)/循环显示10次,使其显示停留时间长一点for(k=0;kj+1;k+)OE=1;tempH=later_word2*k;/传入第一个字高位数据tempL=later_word2*k+1;/传入第二个字低位数据lieH=lie30-2*(j-k);lieL=lie31-2*(j-k);sendData(tempH,tempL,lieH,lieL);OE=0;delay(1);for(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件开发技术交流题目
- 工程经济实际应用考题试题及答案
- 国际贸易实务案例分析测试卷及解析
- 经济学与统计方法试题及答案
- 水利水电工程投资风险识别试题及答案
- 乡村旅游+农业特色产业融合协议
- 2025年经济法概论新趋势试题及答案
- 行政管理团队精英试题及答案
- 2025年中级经济师学习资源试题及答案
- 文职基本知识考试试题及答案
- 自动生成的文档-2025040814-11
- (二模)济宁市2025年4月高三高考模拟考试生物试卷(含答案)
- DB32T 4772-2024自然资源基础调查技术规程
- 膝关节韧带损伤术后护理
- 雕像制作合同协议
- 列那狐测试题及答案
- 《酉阳杂俎》女性角色研究
- 浙江省嘉兴市2025届高三下学期4月教学测试物理+答案
- 婴幼儿照护 课件 2遗尿现象的干预
- 2025年广东省深圳市31校中考一模历史试题及答案
- 餐饮厨房燃气设备安全操作与维护
评论
0/150
提交评论