8X8点阵LED电路设计.docx
- 文档编号:12891220
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:23
- 大小:123.99KB
8X8点阵LED电路设计.docx
《8X8点阵LED电路设计.docx》由会员分享,可在线阅读,更多相关《8X8点阵LED电路设计.docx(23页珍藏版)》请在冰点文库上搜索。
8X8点阵LED电路设计
贵州大学明德学院
课程设计
课程单片机原理及应用课程设计
题目8X8点阵LED电路设计
院系明德学院机电系
专业班级机械设计制造及其自动化
学生姓名陈伟
学生学号1320031174
指导教师王许
2016年5月9日
贵州大学课程设计任务书
课程单片机原理及应用课程设计
题目8X8点阵LED电路设计
专业班级:
机械设计制造及其自动化姓名:
陈伟学号:
1320031174
一、设计目的:
训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。
二、设计要求:
1.使用MCS-51单片机设计8X8点阵LED电路;
2.选用8X8点阵LED显示器,一个发光二极管控制点阵中的一个点,延时时间为lms;
3.硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。
设计的单元电路必须有工作原理,器件的作用,分析和计算过程;
4.软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;
5.原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单。
三、参考资料:
[1]单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;
[2]单片机原理及应用,张毅刚编著,高等教育出版社;
[3]51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;
[4]单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;
完成期限2012.3.5—2012.3.9
指导教师
专业负责人
2012年3月2日
第1章概述
随着科学技术的发展,社会不断的进步,电子事业也有着突飞猛进的改革。
人们对公共传媒质量的要求越来越高。
随着近几年来LED字符显示器的推出和不断完善,它的应用范围正在扩大,应用效果十分显著。
不难看出,这一电子信息技术发展的新成果,在宣传、政治思想教育、广告娱乐等方面的应用日益突出。
由于大规模集成电路技术的发展,其控制系统已能够取代以前利用复杂电子线路或数字电路构成的控制系统,还可以软件控制来实现,并能够实现智能化。
LED电子显示屏是由几百--几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。
利用不同的半导体材料可以制造不同色彩的LED像素点。
目前应用最广的是红色、绿色、黄色。
而蓝色和纯绿色LED的开发已经达到了实用阶段。
LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。
图文显示可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。
LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。
因而被广泛应用与车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其他公共场所。
LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
该电路系统是采用AT89C2051单片机为控制器,控制点阵LED显示器进行显示,本电路控制模块有主模块和显示模块组成。
主程序模块负责每次显示时的显示地址首址、每个字的显示时间和下一个显示地址的间隔的处理;而子程序模块负责对指定单元的数据进行输出显示,显示一个完整文字的时间约为8ms。
第2章设计思路及方案
2.1设计思路
利用单片机对整个系统进行总体控制,进行显示所要显示的字符。
显示方式分为三种:
逐字显示、上滚显示、左滚显示。
其中显示字模数据由单片机输入显存,点阵的点亮过程有程序控制,由驱动电路完成,点阵采用单色显示,该显示器电路的特点是:
点阵的动态显示过程占用时间比较短,亮度比较高,而且亮度可以改变电阻进行调节。
2.2方案设计
单片机控制的时钟电路,根据不同的要求有不同的设计思路,根据我们现在的水平和现有的设计能力,我们选择了比较简单的那种电路,但是,也是有两种可以选择的方案。
方案一:
显示预先想要显示的内容,在本设计中要求显示“电子设计”四个文字,显示方式分三种:
①逐字显示,②向上滚动显示,③向左滚动显示。
本程序中显示前两中。
方案二:
在8X8LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。
方案三:
点阵LED扫描介绍:
点阵LED一般采用扫描式显示,实际运用分为三种方式:
(1)点扫描
(2)行扫描(3)列扫描
若使用第一种方式,其扫描频率必须大于16*64=1024Hz,周期小于1ms即可。
若使用第二种和第三种方式,则频率必须大于16*7=128Hz,周期小于7.8ms即可符合视觉暂留要求。
此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则亮度会不足。
根据烧入程序的不同而显示的方式就不同。
显示屏在设计与使用中存在如下问题:
1.由于要对显示屏上数以万计的像素进行控制,并且随着显示屏面积的增大,电路结构也非常庞大,因此系统的模块化设计成为重点考虑的问题。
2.为了在屏上显示动画,视频图像等信息,显示系统必须用30帧/秒以上的速度来更新显示画面,这就要求显示系统有非常高的处理速度。
3.为了在显示屏上细致的显示出信息所表示的形状,一般每帧有多至几百KB的显示数据送到显示屏,因此有非常大的数据传输量。
4.用LED器件制造的显示屏主要用于大型公共设施和室外场所,尺寸通常在几米到几十米长,显示数据传输距离达几百米到千米以上。
有上文可以看到LED显示屏的制造技术是集大容量的数据传输,高速处理,高速LED控制,超高亮度LED器件等技术于一体,涉及了计算机,信息,电子技术,色彩学等领域的综合产物,有着较高的技术难度和较大的生产工作量。
对于上文所述的难点有以下解决方案:
1.总体设计采用集散控制方案,在统一协调的基础上来进行分级递阶控制,并通过功能分散,危险分散来达到设计的优化。
2.化整为零,将显示屏分解为规模较小的显示单元,即用显示单元来组成显示系统。
3.显示单元本身具有与显示屏相同的控制功能,并具有良好的嵌入性。
4.显示单元具备稳定,高速,简洁的长距离数据传输系统。
5.显示单元组成的显示系统应结构简单,性能稳定。
第3章硬件电路设计
3.1控制电路设计
本字符显示器采用AT89C51单片机作控制器,12MHZ晶振,8*8点阵共阳LED显示器,其中,P0作为字符数据输出口,P2为字符显示扫描输出口,第31脚(EA)接电源,P1.0~P1.2口分别接开关K1、K2、K3,改变电阻(270*)的大小可改变显示字符的亮度,驱动用9012三极管。
图3-1电路结构图
AT89C51是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C51单片机可为您提供许多较复杂系统控制应用场合。
AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
3.2主要功能特性
·兼容MCS-51指令系统 ·8k可反复擦写(>1000次)ISPFlashROM
·32个双向I/O口 ·4.5-5.5V工作电压
·3个16位可编程定时/计数器 ·时钟频率0-33MHz
·全双工UART串行中断口线 ·256x8bit内部RAM
·2个外部中断源·低功耗空闲和省电模式·中断唤醒省电模式
·3级加密位·看门狗(WDT)电路 ·软件设置空闲和省电功能
·灵活的ISP字节和分页编程 ·双数据寄存器指针
8X8点阵LED结构如下图所示:
图3-2LED内部结构图
从上图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如上图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:
一根竖柱:
对应的列置1,而行则采用扫描的方法来实现。
一根横柱:
对应的行置0,而列则采用扫描的方法来实现。
3.3电源电路
本设计实验所需电源为直流五伏电压源,采用的是固定式三端稳压器7805来实现。
其线路接线图如图3-3所示:
图3-3电源电路
3.4复位电路
单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。
本设计中采用按键复位电路,复位电路如图3-4所示:
图3-4复位电路
3.5主体电路
通过单片机AT89S51的P0口和P1口去驱动点阵LED芯片块。
电路如图3-5所示:
图3-5主体电路
3.6硬件电路连接
1.把“单片机系统”区域中的P0.0~P0.7端口分别通过八个100欧电阻连接到“点阵模块”区域中的“L1-L8”端口上;
2.把“单片机系统”区域中的P1.0~P1.7端口通过三极管8550和10K电阻连接到“点阵模块”区域中的“S1-S8”端口上。
3.7显示部分
1. 8X8 点阵LED工作原理说明
图3-6为8×8点阵LED外观及引脚图,其等效电路如图3-7所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。
例如如果想使左上角LED点亮,则Y0=1,X0=0即可。
应用时限流电阻可以放在X轴或Y轴。
图3-68×8点阵LED外观及引脚图
其等效电路图如下:
图3-78×8点阵LED等效电路
2.点阵LED扫描法介绍
点阵LED一般采用扫描式显示,实际运用分为三种方式:
(1)点扫描;
(2)行扫描;
(3)列扫描。
若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即
可。
若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。
此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。
第4章程序设计
4.1主程序
在刚上电时对系统进行初始化,然后读一次键开关状态,由键标志位值(00H、01H、02H)决定显示的方式。
主程序流程图如下:
图4-1主程序流程图
4.2初始化程序
在系统初始化时,对四个端口进行复位,将显示用的字符数据从ROM表中装入内存单元50H—6FH中。
“电子设计”中的每个字占用8个地址单元。
4.3显示程序
显示主程序负责每次显示时的显示地址首址(在B寄存器中)、每个字的显示时间(由30H中的数据决定)和下一个显示地址的间隔(31H中的数据决定)的处理。
显示子程序则负责对指定8个地址单元的数据进行输出显示,显示一个完整文字的时间约为8ms。
下图为逐字显示及向上滚动显示方式时的显示控制程序流程图:
图4-2控制程序流程图
利用键扫描程序代替显示程序中的1ms延时程序,既为了按键的快速响应,又可以提高动态显示的扫描频率,减少文字显示时的闪烁现象。
对于多个文字的大屏幕显示,应该使用输出数据缓冲寄存器,才可以得到稳定的显示文字。
4.4完整程序
参见附录1
结论
本LED显示屏控制系统已能实现LED显示的基本功能,并且体现出了相对于传统的基于8位/16位普通单片机的显示系统的优越性,如上设计所述,但由于本组成员水平和设计时间有限,离一个完全实用的,能够完全符合市场需求的LED显示系统还有一定的差距.因此,在以后的研制过程中,还需要在以下几个方面做大量的工作:
(1)在系统抗干扰方面,不论是硬件部分还是软件部分,都还必须在工作现场根据实际情况进行大量的实验,调试工作,才能最终实现LED显示系统的可靠工作。
(2)在增强图文屏显示效果上,可使用双色屏或多色屏,双色(或多色)屏所使用的LED点阵单元,在同一点阵位置上安装了两个(或多个)不同颜色的LED发光灯,对不同颜色的显示控制方面进行进一步的设计,以满足显示更加丰富多彩的图形和文字。
(3)由于ARM微处理器的强大运算能力和丰富的片内外围,可将LED显示屏方便地接入以太网络,每一个LED显示控制器可作为一个网络节点,方便的组成基于工业以太网的LED显示网络,在这方面还应该进行进一步的研究与实验,以满足更高,更复杂的使用要求。
参考文献
[1]单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;
[2]单片机原理及应用,张毅刚编著,高等教育出版社;
[3]51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;
[4]单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;
致谢
一周紧张忙碌的课程设计已经接近尾声,首先感谢老师对我们的悉心教导,还要感谢学校给我们提供了这样一次检验自己的机会。
在这次课程设计的整个过程中,我做了一次全面、较规范的设计练习,全面地温习了以前所学过的知识,用理论联系实际并结合单片机原理课程和解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识。
尤其重要的是让我们养成了科学的习惯,在设计过程中一定要注意掌握设计进度,按预定计划完成阶段性的目标。
在整个设计过程中注意对设计资料和计算数据的保存和积累,保持记录的完整性。
在课程设计的实践中进行了设计基本技能的训练,掌握了查阅和使用标准、规范、手册、图册、及相关技术资料的基本技能以及计算、数据处理等方面的能力。
通过对通用89C51单片机机处理器铁电存储器芯片、常用元器件的设计,掌握了一般单片机设计的程序和方法,让我对整个单片机程序的设计,C51语言有了一个比较深的理解。
还有就是增强了自身的动手能力。
通过参考相关的程序设计,自己写出了主要的程序代码。
这些都是将以前书本上讲的或是没有讲的,通过一次课程设计具体的实施,使自己的独立设计能力真正得到锻炼,对于以后我们的发展与学习来说,都可以看作一笔不小的财富,前面还有很多需要我们去尝试。
总而言之,单片机课程设计对我们有很大帮助,我们从中受益匪浅。
附录1完整程序
/*********************************************************************/
//
//采用8*8LED动态显示文字演示程序
//LRM2004.10.9
/*********************************************************************/
//使用AT89C51单片机,12MHZ晶振,P0口输出一行数据,P2口作行扫描,用共阳LED管
//P1口接三个按键,用于逐字显示、向上滚动显示文字、暂停备用。
#include"reg51.h"
#definecharunsignedchar
#defineintunsignedint
sbitf0=P1^0;
sbitf1=P1^1;
sbitf2=P1^2;
sbitf3=P1^3;
sbitf4=P1^4;
/********电子设计8*8字模********************/
//****逐字显示*********************************************
charcodedistab[]=
{
//0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xEF,0x83,0xAB,0x83,0xAB,0x83,0xEE,0xE0,//电
0xFF,0xC7,0xEF,0x83,0xEF,0xEF,0xCF,0xEF,//子
0xB1,0xB5,0x04,0xBF,0xB1,0xB5,0x9B,0xA4,//设
0xBB,0xBB,0x1B,0xA0,0xBB,0xBB,0x9B,0xBB,//计
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};
//****从上到下********************************************
charcodedistab2[]=
{
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xBB,0xBB,0x1B,0xA0,0xBB,0xBB,0x9B,0xBB,//计
0xB1,0xB5,0x04,0xBF,0xB1,0xB5,0x9B,0xA4,//设
0xFF,0xC7,0xEF,0x83,0xEF,0xEF,0xCF,0xEF,//子
0xEF,0x83,0xAB,0x83,0xAB,0x83,0xEE,0xE0,//电
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
//****从左到右********************************************
charcodedistab3[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xC0,0x80,0xBE,0xAA,0xFf,0x2A,0x3E,0x00,//电
0x00,0x00,0x08,0x09,0xFf,0x49,0x08,0x00,//子
0x84,0xb7,0x51,0xB7,0x84,0x44,0xFF,0x04,//设
0x08,0x08,0xFF,0x08,0x08,0x44,0xFF,0x04,//计
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
//********从右到左*****************************************
charcodedistab4[]=
{
/*//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x04,0x08,0x08,0xFF,0x08,0x08,0x44,0xFF,//计
0x04,0x84,0x97,0x71,0xB7,0x84,0x44,0xFF,//设
0x00,0x00,0x00,0x04,0x09,0xFE,0x49,0x08,//子
0x00,0xC0,0x80,0xBE,0xAA,0xFD,0x2A,0x3E,//电
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x08,0x08,0xFF,0x08,0x08,0x44,0xFF,0x04,//计
0x84,0xb7,0x51,0xB7,0x84,0x44,0xFF,0x04,//设
0x00,0x00,0x08,0x09,0xFf,0x49,0x08,0x00,//子
0xC0,0x80,0xBE,0xAA,0xFf,0x2A,0x3E,0x00,//电
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
charcodescan_con[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//列扫描控制字
//****1毫秒延时程序************//
voidkeyscan();
voiddelay1ms(chart)
{
chari,j;
for(i=0;i for(j=0;j<200;j++) keyscan(); } //****逐字显示******************************************* voidfun0() { charm,n,h; for(h=0;h<40;h=h+8) { for(n=0;n<30;n++)//循环延时显示 { for(m=0;m<8;m++) { P0=distab[m+h]; delay1ms (1); P2=scan_con[m]; } } } } //****从下到上滚动显示*********************************** voidfun1() { charm,n,h; for(h=0;h<40;h++)//控制显示字数(32/8=4个) { for(n=0;n<10;n++)//控制帧移动速度 { for(m=0;m<8;m++)//显示1帧扫描(分8行,每行亮1毫秒) { P0=distab[m+h]; delay1ms (1); P2=scan_con[m]; } } } } //****从上到下滚动显示*********************************** voidfun2() { charm,n,h=40; //for(h=40;h>=0;h--)//初值为40显示黑屏之后再显示字 do{//为什么用for循环不能实现用while循环可以 for(n=0;n<10;n++) { for(m=0;m<8;m++) { P0=distab2[m+h]; delay1ms (1); P2=scan_con[m]; } } h--; }while(h>0); } //****从左到右滚动显示******************************** voidfun3() { charm,n,h=40; do{ for(n=0;n<5;n++) { for(m=0;m<8;m++) { P2=distab3[m+h]; delay1ms (1); P0=scan_con[m]; } } h--; }while(h>0); } //****从右到左滚动显示*************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- X8 点阵 LED 电路设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)