点阵式LED“0-9”数字显示技术.doc

上传人:xin****828 文档编号:6621575 上传时间:2020-03-01 格式:DOC 页数:18 大小:676.50KB
返回 下载 相关 举报
点阵式LED“0-9”数字显示技术.doc_第1页
第1页 / 共18页
点阵式LED“0-9”数字显示技术.doc_第2页
第2页 / 共18页
点阵式LED“0-9”数字显示技术.doc_第3页
第3页 / 共18页
点击查看更多>>
资源描述
目 录第一章 绪 论2第二章 方案设计32.1 方案确定32.1.1 功能要求32.2.2 方案确定32.2 器件选择3第三章 硬件电路设计43.1 整体模块设计43.2 单片机最小系统设计43.2.1 晶振电路设计43.2.2 复位电路设计53.3 驱动电路设计63.4 LED点阵显示设计7第四章 软件电路设计104.1 软件设计思想104.2 主程序流程图13第五章 系统仿真与调试145.1 系统仿真145.2 性能分析14结束语 14参考文献15致谢15附录16第一章 绪 论LED是发光二极管LIGHT EMINTTING DIODE的英文缩写,是一种直接能将电能转化为可见光的半导体。LED点阵是由发光二极管排列组成的显示器件,在日常生活中随处可见,其发光类型属于冷光源,效率及发热量是普通发光器件难以比拟的。它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远、可靠耐用、应用灵活、安全、响应时间短、绿色环保、控制灵活等特点。随着社会经济的不断进步,人们对LED显示器的认识不断加深,其应用领域越来越广。本设计是基于AT89C5151的88点阵LED数码字符显示器的设计,LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。本文讲述了基于AT89C51单片机88 LED数码字符显示器的基本原理、硬件组成与设计,Proteus软件仿真,程序设计等基本环节与相关技术。LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活。适用于火车,汽车站,码头,金融证券市场,文化中心,信息中心体育设施等公共场所。该项目广泛涉及了计算机及电子技术中的电源技术,单片机技术,数据通讯技术,显示技术,存储技术,系统软件技术,接口及驱动等技术。本设计是88点阵LED数码字符显示器的设计。整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个驱动器来驱动显示屏显示,该电子屏可以各种文字或单色图像,采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。第二章 方案设计2.1 方案确定 2.1.1 功能要求 1、采用MCS-51单片机作为微处理器。 2、设计一个88点阵LED数码字符显示器。 3、在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰。 4、动态显示“0-9”几个字符。 2.2.2 方案确定 采用AT89C51单片机作为微处理器,将共阳极二极管用共阴型接法连接成88点阵LED数码字符阵列,通过程序控制,采用动态显示,建立字符库“0-9”。2.2 器件选择微处理器采用AT89C51系列单片机,AT89C51单片机是这几年在我国非常流行的单片机,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)高性能单片机,可擦除只读存储器可以反复擦除100次,具有低功耗、高性能的特点,并且可与工业标准的MCS51指令集和输出管脚相兼容,对于本设计需要实现的功能,完全可胜任。第三章 硬件电路设计3.1 整体模块设计本设计行、列驱动电路,显示器电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如图1所示。图1 硬件系统框图此次需要实现的功能是利用一个AT89C51,一个88LED点阵,动态显示“0-9”10个字,采用PC上位机驱动显示电路。3.2 单片机最小系统设计AT89C51单片机最小系统电路由复位电路、晶振电路两部分组成。3.2.1 晶振电路设计AT89C51单片机芯片内部设有一个由反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡电路的的输入端和输出端,时钟可有内部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率fosc采用12MHZ,C1、C2的电容值取30pF,电容的大小起频率微调的作用。晶振电路图如图所示。图2 晶振电路图 3.2.2 复位电路设计AT89C51单片机在启动运行时或者出现死机时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。单片机有多种复位方式,常用的复位操作有上电复位和手动复位方式。本设计采用最简单的上电复位方式,电路如图3所示。上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由RST引脚送入到内部的复位电路,对AT89C51单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使AT89C51单片机可靠复位。当上电时,C1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以取得很好的效果。 AT89C51单片机复位电路如下图所示: 图3 上电复位电路图 图4 按键电平复位电路图复位电路工作原理: 上电瞬间RST引脚的电位与VCC等电位,RST引脚为高电平,随着电容C5充电电流的减少,RST引脚的电位不断下降,可以保持RST引脚在为高电平的时间内完成复位操作。当单片机已在运行当中时,按下复位键S5后再松开,也能使RST引脚为一段时间的高电平,从而实现AT89C51单片机复位。3.3 驱动电路设计正向点亮一颗LED,至少也要1020mA,若电流不够大,则LED不够大。而不管是AT89C51的I/O口,还是TTL、CMOS的输出端,其高态输出电流都不是很高,不过12mA而已。因此很难直接高态驱动LED,这时候就需要额外的驱动电路,通常有共阳型与共阴型LED阵列驱动电路,本设计才用共阴型高态扫描信号驱动电路。共阴型LED阵列驱动电路采用高态扫描,也就是任何时间只有一个高态信号,其它则为低态。一行扫描完成后,再把高态信号转化到近邻的其他行,扫描信号接用一个反向驱动器,AT89C51本身内置一个反向驱动器,本设计将AT89C51作为点矩阵显示控制系统的控制核心,通过点矩阵实时显示并移动字符。单片机的串口与行驱动器相连,用来发送显示数据信息。P0口与LED阵列的行引脚相连,送出数据、地址以及系统控制信号。输出低态时,最大可吸取0.5A,即500mA,若每个LED取30mA,7个LED同时点亮,需要210mA,完全满足LED点亮的基本条件。图5 驱动电路图所要显示的信号各个经过一个限流电阻送入晶体管的基极,而每个NPN晶体管的的集极连接VCC、射极输出经一个100的限流电阻连接到LED阵列的列阵脚。对于高态的显示信号,将可提供其所连接LED的驱动电流,而这个驱动电流经过LED到输出端,形成正向回路,即可点亮该LED。其中每个晶体管任何时间只需负责驱动一个LED,所以选择30mA射极电流的晶体管。驱动电路如图5所示。3.4 LED点阵显示设计 本设计采用ATMEL公司的AT89C51作矩阵显示控制系统控制核心,12MHZ晶振,88点阵共阳LED显示器。其中,P0口作为字符数据输出口,P3口为字符显示扫描输出口,第31脚(EA)接电源。本设计LED矩阵显示器电路选用88点阵模块,系统由单片机控制。 LED显示屏是将发光二极管按行按列布置的,在扫描驱动方式下可以按行扫描按列控制,也可以按列扫描按行控制。本文就是使用1块88点阵,采用按列扫描按行控制控制方式,扫描顺序自左向右,以满足汉字显示的要求。88点阵LED结构如图6所示。图6 LED数码显示管88 点阵LED的工作原理。图7为88点阵LED外观及引脚图,其等效电路如图8所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。 图7 88点阵LED外观及引脚图图8 88点阵LED等效电路一个88点阵是由64个发光二极管按规律组成的,如图8所示。图中,行接低电平,列接高电平,发光二极管导通发光。第四章 软件电路设计4.1 软件设计思想 利用数组将各数字字符的编码存放在寄存器中,在执行显示过程中从寄存器中将对应数字或字符编码的数组一一轮流调出即可实现动态。(1) 数字09点阵显示代码的形成如下图所示,假设显示数字“0”123 45 6 7 8 00 00 3E 41 41 41 3E 00因此,形成的列代码为00H,00H,3EH,41H,41H,3EH,00H,00H;只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。送显示代码过程如下所示送第一列线代码到P3端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右,送第二列线代码到P3端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右,如此下去,直到送完最后一列代码,又从头开始送。数字“1”代码建立如下图所示123 45 6 7 8 其显示代码为00H,00H,00H,00H,21H,7FH,01H,00H 数字“2”代码建立如下图所示123 45 6 7 8 00H,00H,27H,45H,45H,45H,39H,00H数字“3”代码建立如下图所示123 45 6 7 8 00H,00H,22H,49H,49H,49H,36H,00H 数字“4”代码建立如下图所示123 45 6 7 8 00H,00H,0CH,14H,24H,7FH,04H,00H数字“5”代码建立如下图所示123 45 6 7 8 00H,00H,72H,51H,51H,51H,4EH,00H数字“6”代码建立如下图所示123 45 6 7 8 00H,00H,3EH,49H,49H,49H,26H,00H数字“7”代码建立如下图所示123 45 6 7 8 00H,00H,40H,40H,40H,4FH,70H,00H数字“8”代码建立如下图所示123 45 6 7 8 00H,00H,36H,49H,49H,49H,36H,00H 数字“9”代码建立如下图所示123 45 6 7 8 00H,00H,32H,49H,49H,49H,3EH,00H4.2 主程序流程图开始初始化调出显示程序调整数据指针Y是否显示完毕N图10 主程序流程图第五章 系统仿真与调试5.1 系统仿真 5.2 性能分析此次系统设计结果较好,LED显示屏能很好的显示信息。LED显示屏由4块88的LED小模块组成,整个显示屏可以显示“0-9”字型。这个方案设计的88的点阵LED图文显示屏,电路简单,成本较低,且较易扩展;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰。结束语本次课程设计到现在有一个多星期,回顾这些天我感到学到了很多东西,在写这个心得的时候,我想就这些天的收获,说一说自己内心的想法。本设计是一个8x8的点阵LED数码显示器,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际。参考文献1 张靖武,周灵彬 单片机系统的PROTEUS设计与仿真电子工业出版社2 吴金戌,沈庆阳,郭庭吉 8051单片机实践与应用清华大学出版社3 李群芳,肖看 单片机原理、接口及应用清华大学出版社4 张毅刚,彭喜元等 新编MCS-51单片机应用设计 哈尔滨工业大学出版社 5 张义和,陈敌北编著 例说8051人民邮电出版社致 谢感谢我的任课老师许老师,他严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。感谢我的指导老师彭老师,这篇论文的每个细节和每个数据,都离不开你的细心指导。而你开朗的个性和宽容的态度,让我对专业课更感兴趣。 在此,我还要感谢在一起研究的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。附 录附录A 电路总图附录B 源程序#include unsigned char code tab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; unsigned char code digittab108=0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,/0 0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00,/1 0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00,/2 0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00,/3 0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,/4 0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00,/5 0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00,/6 0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00,/7 0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00,/8 0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00/9 ; unsigned int timecount; unsigned char cnta; unsigned char cntb; void main(void) TMOD=0x01; TH0=(65536-1000)/256; TL0=(65536-1000)%256; TR0=1; ET0=1; EA=1; while(1) ; void t0(void) interrupt 1 using 0 TH0=(65536-1000)/256; TL0=(65536-1000)%256; P3=tabcnta; P1=digittabcntbcnta; cnta+; if(cnta=8) cnta=0; timecount+; if(timecount=333) timecount=0; cntb+; if(cntb=10) cntb=0;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!