《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx

上传人:b****6 文档编号:4394440 上传时间:2022-12-01 格式:DOCX 页数:17 大小:147.16KB
下载 相关 举报
《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx_第1页
第1页 / 共17页
《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx_第2页
第2页 / 共17页
《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx_第3页
第3页 / 共17页
《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx_第4页
第4页 / 共17页
《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx

《《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx》由会员分享,可在线阅读,更多相关《《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx(17页珍藏版)》请在冰豆网上搜索。

《基于AT89C5151的88点阵LED数码字符显示器的设计》.docx

《基于AT89C5151的88点阵LED数码字符显示器的设计》

第一章引言

LED是光二极管LIGHTEMINTTINGDIODE的英文缩写,是一种直接能将电能转化为可见光的半导体。

LED点阵是由发光二极管排列组成的显示器件,在日常生活中随处可见,其发光类型属于冷光源,效率及发热量是普通发光器件难以比较的。

它采用低电压扫描驱动,具有耗电少、使用寿命长、本钱低、亮度高、故障少、视角大、可视距离远、可靠耐用、应用灵活、平安、响应时间短、绿色环保、控制灵活等特点。

随着社会经济的不断进步,人们对LED显示器的认识不断加深,其应用领域越来越广。

本设计是基于AT89C5151的8×8点阵LED数码字符显示器的设计,LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成.LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等。

本文讲述了基于AT89C51单片机8×8LED数码字符显示器的根本原理、硬件组成与设计,Proteus软件仿真,程序设计等根本环节与相关技术。

LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活。

适用于火车,汽车站,码头,金融证券市场,文化中心,信息中心体育设施等公共场所。

该工程广泛涉及了计算机及电子技术中的电源技术,单片机技术,数据通讯技术,显示技术,存储技术,系统软件技术,接口及驱动等技术。

本设计是8×8点阵LED数码字符显示器的设计。

整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。

通过该芯片控制一个驱动器来驱动显示屏显示,该电子屏可以各种文字或单色图像,采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。

第二章方案选择及总体设计

2.1方案确定

2.1.1功能要求

1、采用MCS-51单片机作为微处理器。

2、设计一个8×8点阵LED数码字符显示器。

3、在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰。

4、动态显示“8〞“0〞“5〞“1〞几个字符。

2.1.2方案确定

采用AT89C51单片机作为微处理器,将共阳极二极管用共阴型接法连接成8×8点阵LED数码字符阵列,通过程序控制,采用动态显示,建立字符库“元〞“旦〞“快〞“乐〞。

2.2器件选择

微处理器采用AT89C51系列单片机,AT89C51单片机是这几年在我国非常流行的单片机,是一种带4K字节闪烁可编程可擦除只读存储器〔FPEROM—FlashProgrammableandErasableReadOnlyMemory〕高性能单片机,可擦除只读存储器可以反复擦除100次,具有低功耗、高性能的特点,并且可与工业标准的MCS—51指令集和输出管脚相兼容,对于本设计需要实现的功能,完全可胜任。

 

第三章控制系统硬件设计

3.1整体模块设计

本设计行、列驱动电路,显示器电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如图1所示。

图硬件系统框图

此次需要实现的功能是利用一个AT89C51,一个8×8LED点阵,动态显示“元旦快乐〞4个字,采用PC上位机驱动显示电路。

3.2单片机最小系统设计

AT89C51单片机最小系统电路由复位电路、晶振电路两局部组成。

3.2.1晶振电路设计

AT89C51单片机芯片内部设有一个由反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡电路的的输入端和输出端,时钟可有内部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。

系统采用的定时元件为石英晶体和电容组成的并联谐振回路。

晶振频率fosc采用12MHZ,C1、C2的电容值取30pF,电容的大小起频率微调的作用。

晶振电路图如下图。

图3.2.1晶振电路图

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,至少也要10~20mA,假设电流不够大,那么LED不够大。

而不管是AT89C51的I/O口,还是TTL、CMOS的输出端,其高态输出电流都不是很高,不过1~2mA而已。

因此很难直接高态驱动LED,这时候就需要额外的驱动电路,通常有共阳型与共阴型LED阵列驱动电路,本设计才用共阴型高态扫描信号驱动电路。

共阴型LED阵列驱动电路采用高态扫描,也就是任何时间只有一个高态信号,其它那么为低态。

一行扫描完成后,再把高态信号转化到近邻的其他行,扫描信号接用一个反向驱动器,AT89C51本身内置一个反向驱动器,本设计将AT89C51作为点矩阵显示控制系统的控制核心,通过点矩阵实时显示并移动字符。

单片机的串口与行驱动器相连,用来发送显示数据信息。

P0口与LED阵列的行引脚相连,送出数据、地址以及系统控制信号。

输出低态时,最大可吸取0.5A,即500mA,假设每个LED取30mA,7个LED同时点亮,需要210mA,完全满足LED点亮的根本条件。

图驱动电路图

所要显示的信号各个经过一个限流电阻送入晶体管的基极,而每个NPN晶体管的的集极连接VCC、射极输出经一个100Ω的限流电阻连接到LED阵列的列阵脚。

对于高态的显示信号,将可提供其所连接LED的驱动电流,而这个驱动电流经过LED到输出端,形成正向回路,即可点亮该LED。

其中每个晶体管任何时间只需负责驱动一个LED,所以选择30mA射极电流的晶体管。

驱动电路如下图。

3.4LED点阵显示设计

本设计采用ATMEL公司的AT89C51作矩阵显示控制系统控制核心,12MHZ晶振,8

8点阵共阳LED显示器。

其中,P0口作为字符数据输出口,P2口为字符显示扫描输出口,第31脚(EA)接电源,P1.7开关S1,改变电阻〔270*8〕的大小可改变显示字符的亮度,驱动用9012三极管。

本设计LED矩阵显示器电路选用8×8点阵模块,系统由单片机控制。

LED显示屏是将发光二极管按行按列布置的,在扫描驱动方式下可以按行扫描按列控制,也可以按列扫描按行控制。

本文就是使用1块8×8点阵,采用按列扫描按行控制控制方式,扫描顺序自左向右,以满足汉字显示的要求。

8×8点阵LED结构如下图。

图.1LED数码显示管

8×8点阵LED的工作原理。

图为8×8点阵LED外观及引脚图,其等效电路如图8所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。

例如如果想使左上角LED点亮,那么Y0=1,X0=0即可。

应用时限流电阻可以放在X轴或Y轴。

图8×8点阵LED外观及引脚图

图8×8点阵LED等效电路

一个8×8点阵是由64个发光二极管按规律组成的,如下图。

图中,行接低电平,列接高电平,发光二极管导通发光。

 

第四章控制系统软件设计

4.1软件设计思想

主程序先进行设置中断,并启动,再进行键盘扫描载入“8051〞字型,然后判断一组字型是否扫描完,按不同情况进行循环调用子程序。

进入子程序后,首先设置相应的程序,反复调用显示子程序,并在显示过程中反复调用键盘扫描子程序进行延时,判断是否退出相应的方式显示子程序。

设计过程中,能很好得提高按键响应速度。

如下图为软件系统框图。

图软件系统框图

字符编码:

8×8点阵可以看成是从上至下8个字节,每个字节8位,因为该点阵为共阴型点阵,因此假设该灯亮,那么该位为“1〞;该灯不亮,那么该位为“0〞。

所以“元旦快乐〞的编码为,从上至下:

“元〞:

0xe20xa40x240x240xff0x000x7e0x00;

“旦〞:

0xff0x000x7e0x420x7e0x420x7e0x00;

“快〞:

0x460x2a0x120xfe0x570x520x7e0x12;

“乐〞:

0x100x180x920x540xfe0x120x120x7e。

4.2主程序流程图

主程序首先设置并启动T0中断,然后调用初始化程序,为后面程序要用到的数据调入,并清零一些用到的数据单元,然后载入“元旦快乐〞字型,进行扫描。

图10为主程序流程图,详细主程序清单及子程序设计见附录C。

图4.2主程序流程图

 

第五章系统仿真及性能分析

5.1软件系统仿真

本设计是以KeilC与Proteus.ISIS相结合方式来实现本LED点矩阵显示器的仿真实现过程。

电路的核心是单片机AT89C51。

单片机的P0口八个引脚通过总线连接到LED矩阵显示器的段选码和位选码〔a、b、c、d、e、f、g和1、2、3、4、5、6、7、8〕的引脚上,来作为控制信号的来源。

如下图。

图动态程序调试

图延时程序调试

5.2硬件仿真结果分析

此次系统设计结果较好,LED显示屏能很好的显示信息。

LED显示屏由4块8×8的LED小模块组成,整个显示屏可以显示8×8的“8051〞字型。

这个方案设计的8x8的点阵LED图文显示屏,电路简单,本钱较低,且较易扩展;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰。

图5.2.1显示汉字“元〞

图5.2.2显示汉字“旦〞

图5.2.3显示汉字“快〞

图5.2.4显示汉字“乐〞

第六章总结致谢

本次课程设计到现在有一个多星期,回忆这些天我感到学到了很多东西,在写这个心得的时候,我想就这些天的收获,说一说自己内心的想法。

本设计是一个8x8的点阵LED数码显示器,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。

图形或文字显示有静止、移入移出等显示方式。

本系统具有硬件少,结构简单,容易实现,性能稳定可靠,本钱低等特点。

总结本文的研究工作,主要做了下面几点工作:

一、通过查阅大量的相关资料,详细了解了LED的发光原理和LED显示屏的原理,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些优点,明确了研究目标。

并且通过对单片机资料的查阅和应用,更进一步增加了对单片机知识的理解和运用能力。

并证实了自己的思路:

“查资料→思考总结→运用→找出过失,再查资料和向别人询问→再次运用〞的正确性。

二,本文设计的LED显示屏能够实现在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。

三,本文列出了系统具体的硬件设计方案,硬件结构电路图,软件流程图和具体汇编语言程序设计与调试等方面。

四,在这次课程设计的过程中学会了PROTEUS的根本使用,感到PROTEUS对电子专业的同学来说是一个很有用的软件。

在运用PROTEUS时可以运用一些快捷的标号,总线的方法画图,这样既能使电路图清晰,简单,更能大大提高画图速度

五,通过这次课程设计,重新复习并进一步增强了动手的能力,学以致用,把只是运用到实际生活中才是根本目的。

六,存在问题:

没有考虑仿真软件是一个理想的仿真环境,而实际连接的电路板会由于譬如连接不当,相邻器件间的干扰等等的问题导致在仿真软件中能良好运行的程序,出现显示问题,经过排查和合理的器件摆放焊接,问题解决。

总体来说这次的科研实践很成功,到达了预想的目的:

学到了知识,提高了能力,完成了任务。

有点缺憾是时间有限,不能进一步深入和扩散学习和研究。

希望有时间可以对程序和电路图作更进一步的改良,譬如实现点阵的上下移动,对角线移动,多色显示等。

 

第七章参考文献

[1]张靖武,周灵彬?

单片机系统的PROTEUS设计与仿真?

电子工业出版社

[2]吴金戌,沈庆阳,郭庭吉?

8051单片机实践与应用?

清华大学出版社

[3]李群芳,肖看?

单片机原理、接口及应用?

清华大学出版社

[4]张毅刚,彭喜元等?

新编MCS-51单片机应用设计?

哈尔滨工业大学出版社

[5]张义和,陈敌北编著?

例说8051?

人民邮电出版社

 

附录

附录A硬件结构图

附录B主程序清单

#include

unsignedcharcodetaba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//行选

unsignedcharcodetabb[]={0xe2,0xa4,0x24,0x24,0xff,0x00,0x7e,0x00};//选列"元"

unsignedcharcodetabc[]={0xff,0x00,0x7e,0x42,0x7e,0x42,0x7e,0x00};//"旦"

unsignedcharcodetabd[]={0x46,0x2a,0x12,0xfe,0x57,0x52,0x7e,0x12};//"快"

unsignedcharcodetabe[]={0x10,0x18,0x92,0x54,0xfe,0x12,0x12,0x7e};//"乐"

unsignedchari,j;

voiddelay(void)//延时5ms

{

unsignedchari,j;

for(i=10;i>0;i--)

for(j=248;j>0;j--);

}

voiddelay1(void)//延时10ms

{

unsignedchari,j,k;

for(k=10;k>0;k--)

for(i=20;i>0;i--)

for(j=248;j>0;j--);

}

voidmain(void)

{

while

(1)

{

for(j=0;j<10;j++)//from上to下3time

{

for(i=0;i<8;i++)

{

P0=taba[i];

P3=tabb[i];

//P1=0xff;

delay();

}

}

//for(j=0;j<2;j++)//from下to上3time

//{

for(i=0;i<8;i++)

{

P0=taba[i];

//P3=tabb[i];

P3=0xff;

delay1();

}

//}

for(j=0;j<10;j++)//from上to下3time

{

for(i=0;i<8;i++)

{

P0=taba[i];

P3=tabc[i];

//P1=0xff;

delay();

}

}

for(i=0;i<8;i++)

{

delay1();

}

for(j=0;j<10;j++)//from上to下3time

{

for(i=0;i<8;i++)

{

P0=taba[i];

P3=tabd[i];//"平"

//P1=0xff;

delay();

}

}

for(i=0;i<8;i++)

{

P0=taba[7-i];

//P3=tabb[i];

P3=0xff;

delay1();

}

for(i=0;i<8;i++)

{

delay1();

}

for(j=0;j<10;j++)//from上to下3time

{

for(i=0;i<8;i++)

{

P0=taba[i];

P3=tabe[i];

//P1=0xff;

delay();

}

}

for(i=0;i<8;i++)

{

delay1();

}

/*for(i=0;i<8;i++)

{

P0=taba[7-i];

//P3=tabb[i];

P1=0xff;

delay1();

}*/

}

}

 

附录C元件清单

元件名称

规格

数量

备注

AT89C51单片机

 

一块

附底座

晶振

12MHZ

一块

 

NPN三极管

9012

八支

 

8×8点阵共阳LED显示器

共阳

一块

 

极性电容

30uf

一个

 

瓷片电容

22pf

两个

 

电阻

10kΩ、220Ω

十个、两个

 

电源插座

 

一个

 

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1