摘要本文研究了基于P89C51单片机LED8×8点阵显示屏的设计并运用Proteus 软件进行原理图绘制,运用Keil软件进行仿真和调试。
主要介绍了LED8×8点显示屏的硬件电路设计、汇编程序设计与调试、Proteus软件绘制原理图和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。
能帮助广大电子爱好者了解汉字的点阵显示原理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。
利用单片机来设计的系统,既能实现系统所需的功能,也可以满足计数的准确性、迅速性,并且电路简单、操作简单、通用性强。
目录1 绪论 (1)1.1 前言 (1)1.2 选题背景 (1)1.3设计要求 (2)1.4 国内外的研究概况 (2)1.5此次设计研究的主要内容应解决的问题 (2)2 总体设计方案 (3)2.1 硬件电路组成 (3)2.2 系统各单元电路设计 (4)2.2.1 P89C51单片机最小系统 (4)2.2.2 按键控制电路 (4)2.2.3 三极管驱动电路 (4)2.2.4 8×8 LED点阵介绍 (5)2.3 字符的点阵显示原理及字库代码获取方法 (6)3 程序设计 (7)3.1程序流程图 (7)3.2程序设计 (7)4 调试及性能分析 (8)4.1系统调试 (8)4.1.1软件调试 (8)4.1.2硬件调试 (8)4.2设计分析 (8)总结 (9)致谢 (10)参考文献 (11)附录 (12)附录1 原件清单 (12)附录2硬件原理图 (13)附录3程序清单 (14)1 绪论1.1 前言LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。
它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。
同时也可广泛应用到军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业。
目前大多数的LED点阵显示系统自带字库。
其显示和动态效果(主要是显示内容的滚动)的实现主要依靠硬件扫描驱动,该方法虽然比较方便,但显示只能按照预先的设计进行。
而实际上经常会遇到一些特殊要求的动态显示,比如电梯运行中指示箭头的上下移动、某些智能仪表幅值的条形显示、广告中厂家的商标显示等。
这时一般的显示系统就很难达到要求。
另外,由于受到存储器本身的局限,其特殊字符往往难以显示,同时显示内容也不能随意更改。
因此就提出了一种利用PC机和单片机控制的LED显示系统通信方法。
该方法可以对显示内容进行实时控制,从而实现诸如动态显示效果。
同时用户也可以在PC机上进行显示效果的预览,显示内容亦可以即时修改。
同时它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。
LED 显示屏发展较快,本文讲述了基于P89C51单片机8×8 LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术。
1.2 选题背景LED电子显示屏是随着计算机及相关的微电子﹑光电子技术的迅猛发展而形成的一种新型信息显示媒体。
它利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。
LED 点阵电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。
它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。
同时也可广泛应用到军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业。
1.3设计要求利用一块点阵数码板,按编程者要求实现任意符号的显示。
1.4 国内外的研究概况目前大多数的LED点阵显示系统自带字库。
其显示和动态效果(主要是显示内容的滚动)的实现主要依靠硬件扫描驱动,该方法虽然比较方便,但显示只能按照预先的设计进行。
而实际上经常会遇到一些特殊要求的动态显示,比如电梯运行中指示箭头的上下移动、某些智能仪表幅值的条形显示、广告中厂家的商标显示等。
这时一般的显示系统就很难达到要求。
另外,由于受到存储器本身的局限,其特殊字符或图案也往往难以显示,同时显示内容也不能随意更改。
本文提出一种利用PC机和单片机控制的LED显示系统通讯方法。
该方法可以对显示内容(包括汉字和特殊图符)进行实时控制,从而实现诸如闪动、滚动、打字等多种动态显示效果。
该方法同时还可以调节动态显示的速度,同时用户也可以在PC机上进行显示效果的预览,显示内容亦可以即时修改。
在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED显示屏的设计制造技术与应用水平上都得到了迅速的提高,生产也得到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。
1.5此次设计研究的主要内容应解决的问题此次设计研究的主要内容是设计一个符号显示牌:通过程序控制符号显示牌,使符号显示牌,在无按键按下时,显示数字“0-9”,当第一次按下按键时,显示字母“μ”,当第二次按下按键时显示汉字“公”。
应解决的问题:单片机P1口的输出电流不足以驱动二极管,需要加驱动,本次研究中以S8050作为驱动,同时在S8050NPN晶体管基极加4.7K的电阻。
实验前要弄清晶体管三个引脚代表的极性,以免符号显示牌不亮导致而设计失败。
2 总体设计方案2.1 硬件电路组成本产品采用以P89C51单片机为核心芯片的电路来实现,主要由P89C51芯片、晶振电路、三极管驱动电路、按键控制电路、8×8 LED点阵5部分组成,电路框图如图1所示。
其中,P89C51是一种带4kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS 型8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,工业标准的MCS一51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写/擦循环,数据保留时间为10年。
他是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。
因此,在智能化电子设计与制作过程中经常用到P89C51芯片。
时钟电路由P89C51的18,19脚的时钟端(XTAI 1及XTAL2)以及12 MHz晶振X 、电容C2、C3组成,采用片内振荡方式。
复位电路采用简易的上电复位电路,主要由电阻R ,R2,电容C ,开关K 组成,分别接至P89C51的RST复位输人端。
LED 点阵显示屏采用8x8共64个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。
我们把行列总线接在单片机的I/O口,然后把上面分析到的扫描代码送入总线,就可以得到显示的字符了。
我们在实际应用中是将LED点阵的8条列线通过驱动电路接在P1口,8条行线通过限流电阻接在P0口。
单片机89C51按照设定的程序在P1和P0接口输出与内部字符对应的代码电平送至LED点阵的行列线(高电平驱动),从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个字符的显示。
再改变取表地址实现字符的滚动显示。
硬件电路组成框图如图5所示。
图2-1 硬件电路组成框图2.2 系统各单元电路设计2.2.1 P89C51单片机最小系统最小系统包括晶体振荡电路、复位开关和电源部分。
图2-2为P89C51单片机的最小系统。
图2-2 P89C51单片机最小系统2.2.2 按键控制电路单片机开始工作时,P2.0是高电平。
当按键按下时,检测到一个低电平信号,改变P0口输出信号,控制8×8 LED点阵显示屏显示不同字符。
R110kP2.0图2-3 按键控制电路2.2.3 三极管驱动电路扫描驱动电路的功能主要是有P1口输出高电平使三极管发射结导通,发射结输出足够大的电流使二极管导通。
Q1 s8050Q2S8050Q3S8050Q4S8050Q5 S8050Q6S8050Q7S8050Q8S8050R1 4.7k R24.7kR34.7kR44.7kR5 4.7k R64.7kR74.7kR84.7kP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.701234567图2-4 三极管驱动电路2.2.4 8×8 LED点阵介绍图(4)为8×8点阵LED外观及引脚图,,只要其对应的X、Y轴顺向偏压,即可使LED发亮。
例如如果想使左上角LED点亮,则电子模块中的0口为1,A口为0即可。
应用时限流电阻可以放在横轴或列轴。
图2-5 8×8点阵LED外观及引脚(1)把“单片机系统”区域中的P0端口用8芯排芯连接到“点阵模块”区域中的“A~H”端口上;(2)把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“0~7”端口上;为了方便于单片机连接,我们在焊接的过程中特意将0~7接口排列出来作为列,将A~H接口作为行,这样我们就可以直接将P89C51单片机的P0口与0~7接口一次连接,将P89C51单片机的P1口与A~H接口一次连接。
要使LED发亮即使给予数字端高电平,字母端给予低电平,就能使二极管发亮。
2.3 字符的点阵显示原理及字库代码获取方法我们以UCDOS中文宋体字库为例,每一个字由8行8列的点阵组成显示。
我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。
事实上这个汉字屏不仅可以显示汉字,也可以显示在64象素范围内的任何图形。
如查用8位的P89C51单片机控制,如图所示图2-6 8×8点阵等效电路为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。
首先将8行分成4位的上、下两部分,把发光的象素位编为0不发光的象素位为1的十六进制代码。
这样就把要显示的“公”字编为如下代码:0x7f,0xbf,0xc1,0xdf,0xdf,0xdf,0xc1,0xdf由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。
上述方法虽然能够让我们弄清楚字符点阵代码的获取过程。
字符点阵显示一般有点扫描、行扫描和列扫描3种。
为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16×64—1024 Hz,周期小于1 ms 即可。