基于单片机的电子显示屏控制综述.docx

上传人:b****5 文档编号:29374105 上传时间:2023-07-22 格式:DOCX 页数:21 大小:503.42KB
下载 相关 举报
基于单片机的电子显示屏控制综述.docx_第1页
第1页 / 共21页
基于单片机的电子显示屏控制综述.docx_第2页
第2页 / 共21页
基于单片机的电子显示屏控制综述.docx_第3页
第3页 / 共21页
基于单片机的电子显示屏控制综述.docx_第4页
第4页 / 共21页
基于单片机的电子显示屏控制综述.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于单片机的电子显示屏控制综述.docx

《基于单片机的电子显示屏控制综述.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子显示屏控制综述.docx(21页珍藏版)》请在冰豆网上搜索。

基于单片机的电子显示屏控制综述.docx

基于单片机的电子显示屏控制综述

摘要

在现代信息化社会的高速发展的过程中,最具意义的莫过于大屏幕显示已经从公共信息展示等商业应用开始向消费类多媒体应用渗透。

随着宽带网络的发展,数字化的多媒体内容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体内容的中心。

LED显示屏的控制系统包括数码管的显示驱动、键盘扫描管理芯片、输入输出接口电路。

信号控制、转换盒数字化处理电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等。

从商业应用和消费者需求的角度看,背光LED是显示器技术领域的一项革命性的创新,从平板显示器向塑料显示器过渡,还需要3到5年的时间,不过,我们很快就能看到可卷曲型显示器了,而且可以制成织入衣物中的显示器。

关键词:

单片机;点阵模块;控制系统;串并行传输;锁存;

 

1绪论

1.1技术概述

LED电子显示屏是由几万——几十万个半导体发光二极管像素点均匀排列组成。

LED

显示屏的控制系统包括数码管的显示驱动、键盘扫描管理芯片、输入输出接口电路。

信号控制、转换盒数字化处理电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等。

本次设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个简易的LED显示屏,它由5V电源直接供电。

在硬件方面,除了CPU外,使用4块8×8的LED显示屏进行显示,LED采用的是动态扫描显示,通过LED能够比较准确显示图形。

LED显示器集微电子技术、计算机技术、信息处理于一体,以其色彩鲜艳、动态范围广、亮度高、寿命长、工作稳定可靠等优点,成为最具优势的新一代显示媒体。

目前,LED显示器已广泛应用于大型广场、商业广告、体育场馆、信息传播、新闻发布、证券交易等,可以满足不同环境的需要。

在性能上,LED发展十分迅速。

2001年,红色LED的亮度为1000mcd,比1982年的3mcd高出500~3000倍,转换效率也达到20%。

高亮度LED的出现具有划时代意义,它将是人类继爱迪生发明白炽灯泡之后最伟大的发明之一。

最早研制的LED只能发出红色的光,用于电子设备中的指示灯,随着黄色、绿色和蓝色LED相继问世,如今,LED已能发出红色、黄的、蓝色、绿色、橙色、琥珀色、蓝绿双色、红绿双色、黄绿色、纯绿色、翠绿色、白色各种光束。

在我们当今生活中,人们接口通常是LED显示器和小型键盘。

常见的工作方式有两种:

一是直接使用系统中的CPU对显示器进行动态扫描和键盘检测;二是专用的显示、键盘芯片。

以AT89C51系列单片机为核心构成的显示/键盘电路,他具有功能强、价格低廉等特点。

LED显示通常要占用单片机的串行口,往往在控制系统中有一定的局限性。

为此,采用AT89C5单片机串行口和I/O扩展芯片扩展并行口,设计了一个8位的LED显示驱动电路,通过对串行口动态扫描,把要显示的数据从单片机的串行口送到LED显示器的字段和字位,从而实现用单片机最少的外部资源达到最佳的显示效果。

1.2本课题的背景和意义

随着信息技术的发展,现在信息显示系统已从基本功能、单一设备、简单封闭性控制盒手工操作方式发展成为自动化、网络化、多功能、多媒体的智能化信息显示系统。

信息获取、处理和发布手段向着多元化发展,显示终端广泛采用LED、LCD/PDP/CRT等多品种多规格、大容量、高清晰度设备,系统网络日益智能化、标准化、扩展性强、可以灵活地与其他信息子系统连接成为整体型的综合信息服务系统。

对于一般照明而言,人们更需要白色的光源。

1998年发白光的LED的开发成功。

白光LED的发光效率正在逐步提高,商品化的器件已达到白炽灯水平,实验室的白光LED发光效率接近荧光灯的水平,并在稳步增长之中。

由于它还具有无污染、长寿命、耐振动和抗冲击的鲜明特点,故白光LED是LED产业中最被看好的新兴产品,在全球能源短缺的忧虑再度升高的背景下,白光LED在照明市场的前景备受全球瞩目,欧洲、美国及日本等先进国家也投入许多人力,并成立专门的机构推动白光LED研发工作。

它将成为21世纪的新一代光源——第四代电光源,以代替白炽灯、荧光灯和高压气体放电灯等传统光源,白光LED孕育着巨大的商机。

自从50多年前出现发光二极管LED以来,人们一直在努力追求实现固体光源,第一个商品化二极管产生于1960年。

随着发光二极管制造工艺的不断进步和新型材料的开发及应用,使得发光二极管从信号显示逐步成为照明光源,从单色发展到白光;发白色光的LED半导体固体光源性能不断完善并进入实用阶段。

LED是一种能发光的半导体固态器件,其发光机理:

在半导体PN结上施加正向电压时,半导体材料中的电子和空穴在PN结处相复合,发出与电子和空穴之间的能量差相对应的光子而发光。

用多原子晶体可产生红光、黄光、蓝光和白光。

白色LED技术从1988年开发成功以来,基于白色LED的照明在国内迅速兴起。

由于白色LED光源具有发光效率高、使用寿命长、可低电压驱动、无汞和紫外线污染等特点,所以称为极具发展潜力的新型光源。

用途越来越广,被用来各行各业。

 

2系统设计简介

2.1LDE点阵屏简介

LED点阵屏通过LED点阵组成,以红色或绿色灯珠亮灭来显示文字、图片、动画、视频等,是各部分组件都模块化的显示器件,通常由显示模块、控制系统及电源系统组成。

LED点阵显示屏制作简单,安装方便,被广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。

LED点阵屏是20世纪90年代出现的新型平板显示器件,由于其亮度高、画面清晰、色彩鲜艳,使它在公众多媒体显示领域一枝独秀,因此市场空间巨大。

8×8点阵由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行之1电平,某一列置0电平,这相应的二极管就亮;

2.2设计要求

1、利用8×8点阵屏显示汉字。

2、利用按键控制点阵屏依次显示“口”“日”“曰”“田”“目”“四”“回”七个汉字。

2.3设计方案论证

根据系统的设计要求,选择HSN-1588UR8×8点阵屏作为本系统的电子显示屏,选择单片机AT89C51为显示系统的核心来完成数据处理、显示等功能。

选用数字温度传感器HSN-1588UR,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。

该系统的总体设计思路如下:

将设计好的显示程序烧录到AT89C51单片机上,经过AT89C51单片机处理,将把汉字在点阵屏上通过LED灯组合显示出来,本系统点阵屏用8×8点阵屏HSN-1588UR以按键控制实现汉字的显示与切换。

显示“口”“日”“曰”“田”“目”“四”“回”七个汉字。

按照系统设计功能的要求,确定系统由2个模块组成:

主控制器和显示电路。

本课题以是89C51单片机为核心设计的一种电子显示屏控制系统,系统整体硬件电路包括,LED点阵显示电路,单片机主板电路等组成。

系统框图主要由主控制器、单片机复位、时钟振荡、LED显示。

电子显示屏总体电路结构框图如图2.3所示。

 

图2.3电子显示屏总体电路结构框图

2.4硬件设计电路

电子显示屏设计电路图如图2.4所示,控制器使用单片机AT89C51,电子显示屏使用HSN-1588UR8×8点阵屏,使用74LS245来驱动LED点阵屏。

图2.4.174LS245电路图

图2.4.2电子显示屏设计电路图

3设计语言及软件介绍

3.1C语言介绍

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

用C语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C语言编程在单片机系统设计中已得到越来越广泛的运用。

针对PIC单片机的软件开发,同样可以用C语言实现。

但在单片机上用C语言写程序和在PC机上写程序绝对不能简单等同。

现在的PC机资源十分丰富,运算能力强大,因此程序员在写PC机的应用程序时几乎不用关心编译后的可执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。

写单片机的C程序最关键的一点是单片机内的资源非常有限,控制的实时性要求又很高,因此,如果没有对单片机体系结构和硬件资源作详尽的了解,是无法写出高质量实用的C语言程序。

3.2KeilC软件介绍

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

KeilμVision3是2006年1月30日ARM推出全新的针对各种嵌入式处理器的软件开发工具,集成KeilμVision3的RealViewMDK开发环境。

RealViewMDK开发工具KeilμVision3源自Keil公司。

RealViewMDK集成了业内领先的技术,包括KeilμVision3集成开发环境与RealView编译器。

支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。

图3.2.1C51工具包整体结构图

Keil是目前进行51单片机开发最常用的编译软件。

关于Keil的使用,有很多的资料介绍,这里只介绍其整个编译过程,在最短时间内开始使用Easy51DP-2开发板。

对于Keil更详细的介绍,可以参考一些专门书籍资料。

在Keil里,每一个完整的程序,都是以一个工程的形式建立的。

一个工程里可以有一个或多个*.c文件和*.h文件,但只可以有一个main()函数。

一般的做法是将包含main()函数的C文件加入到工程中,其他文件以#include头文件的形式加到这个C文件里。

这样,在编译的时候,其他的文件会被自动的导入到工程里来。

打开Keil软件后,出现(图3.2.2)所示界面。

当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。

图3.2.2Keil软件主界面

首先点击Project->NewProject…(Project->OpenProject…为打开一个已经存在的工程),如图3.2.3所示。

图3.2.3Keil软件打开新工程界面

点开后,在出现的对话框中选择工程存在路径,单击“保存”后,出现(如图3.2.4所示)界面。

在此界面上选择电路板上所用的单片机型号:

AtmelAT89S51(或者是AT89S52,视开发板上具体型号而定),单击“确定”。

图3.2.4选择电路板上所用的单片机型号

设置完成后,软件会提示“是否将8051上电初始化程序添加入工程?

”如图3.2.5所示,这个一般选择“否”。

(关于STARTUP.A51的相关内容可查阅相应资料)

图3.2.5是否将8051上电初始化程序添加入工程

这样,就建立了一个空的51工程。

接下来的事,就是在这个工程里面加入自己的程序代码。

点击

,或者File->New,便建立了一个空的文本框。

现在,就可以开始在里面输入你的代码了。

保存时注意:

如果是用C语言写的程序,则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm。

到目前为步,我们已经建立了一个工程,也写了一个程序代码。

但现在还不能开始编译。

因为还没有将程序代码添加到工程里面去。

下一步就是将写完的程序添加到工程里面,如图3.2.6所示,在左边ProjectWorkspace里的SourceGroup1上右击,选择AddFilestoGroup’SourceGroup1’。

在打开的对话框中,选择刚存的文件路径和对应的扩展名。

这样,程序就添加进了这个工程。

图3.2.6添加文件到工程中

下一步,就开始编译刚输入进去的代码。

点击工具栏中的

按钮。

接着,Keil会打出下面的提示:

Buildtarget'Target1'

assemblingled.asm...

linking...

ProgramSize:

data=8.0xdata=0code=100

"first"-0Error(s),0Warning(s).

其中“"first"-0Error(s),0Warning(s).”说明现在的工程编译通过,0个错误和0个警告。

建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:

单击

,或者在ProjectWorkspace里Target1上右击,选择“OptionsforTarget‘Target1’”。

出现如图3.2.7所示对话框,选择“Output”按图示,将箭头所指的多选框勾上,点“确定”。

现在再点击

重新编译,系统提示:

“creatinghexfilefrom"first"...”。

便会在工程所在文件夹里生成HEX文件。

图3.2.7生成HEX文件

3.3Proteus介绍

3.3.1Proteus的工作过程

运行proteus 的ISIS 程序后,进入该仿真软件的主界面。

在工作前,要设置view 菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。

通过工具栏中的p(从库中选择元件命令)命令,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source 菜单的Definecode generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source 菜单的Add/removesource files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令仿真程序和电路的运行情况。

3.3.2Proteus软件所提供的元件资源

Proteus 软件所提供了30 多个元件库,数千种元件。

元件涉及到数字和模拟、交流和直流等。

3.3.3Proteus 软件所提供的仪表资源

对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。

在Proteus 软件包中,不存在同类仪表使用数量的问题。

Proteus 还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。

3.3.4Proteus 软件所提供的调试手段

Proteus 提供了比较丰富的测试信号用于电路的测试。

这些测试信号包括模拟信号和数字信号。

对于单片机硬件电路和软件的调试,Proteus 提供了两种方法:

一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。

对于总体执行效果的调试方法,只需要执行debug 菜单下的execute 菜单项或F12 快捷键启动执行,用debug菜单下的pause animation 菜单项或pause 键暂停系统的运行;或用debug 菜单下的stop animation 菜单项或shift-break 组合键停止系统的运行。

其运行方式也可以选择工具栏中的相应工具进行。

对于软件的分步调试,应先执行debug 菜单下的start/restart debugging 菜单项命令,此时可以选择stepover 、step into 和 step out 命令执行程序(可以用快捷键F10、F11 和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。

在执行了start / restart debuging 命令后,在debug 菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。

4系统软件设计

4.1概述

整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。

从软件的功能不同可分为两大类:

一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。

二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。

每一个执行软件是一个小的功能执行模块。

这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。

各执行模块规划好后,就可以规划监控程序了。

首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。

用C语言完成对设计的软件编程,程序开始首先对点阵屏进行复位,检测是否正常工作;接着接收中断信号,主机通过按键控制由电子显示屏显示出来,不断循环。

4.2系统程序设计模块

系统程序主要包括主程序,中断子程序,显示子程序等。

4.2.1主程序

主程序的主要功能是负责汉字显示,首先对单片机进行初始化,初始化完成后进入待机状态等待中断发生。

主程序流程图如图4.2.1所示。

 

图4.2.1主程序流程图

4.2.2中断子程序

本程序主要用到了外部中断源和串行中断。

外部中断源由按键的电平变化触发,外部中断的主要功能是选择LED点阵显示屏的控制方式是由按键控制还是上位机控制串行中断包括发送中断和接收中断都是由软件触发。

中断产生后由预先初始化是设定跳转执行中断子程序。

中断子程序设定了LED点阵显示屏所要显示的内容和显示方式。

中断子程序流程图如图4.2.2所示。

 

图4.2.2中断子程序流程图

4.2.3显示子程序

显示子程序将按照设定好的方式和内容显示出所需要的内容。

4.3控制源程序

4.3.1C语言程序

#include

#include

#defineucharunsignedchar

#defineuintusignedint

ucharcodeM[7][8]=

{

{0x00,0x7E,0x42,0x42,0x42,0x42,0x7E,0x00},

{0x00,0x00,0x3E,0x2A,0x2A,0x3E,0x00,0x00},

{0x00,0x3E,0x2A,0x2A,0x2A,0x2A,0x3E,0x00},

{0x00,0x3E,0x2A,0x3E,0x2A,0x3E,0x00,0x00},

{0x00,0x7F,0x55,0x55,0x55,0x7F,0x00,0x00},

{0x00,0x7E,0x46,0x7A,0x42,0x7A,0x7E,0x00},

{0x00,0x7F,0x41,0x5D,0x55,0x5D,0x41,0x7F}

};

uchari,j;

voidmain()

{

P0=0xFF;

P1=0xFF;

TMOD=0x01;

TH0=(65536-2000)/256;

TL0=(65536-2000)%256;

IT0=1;

IE=0x83;

i=0xFF;

while

(1);

}

voidKey_Down()interrupt0

{

P0=0xFF;

P1=0x80;

j=0;

i=(i+1)%7;

TR0=1;

}

voidShow_Dot_Matrix()interrupt1

{TH0=(65536-2000)/256;

TL0=(65536-2000)%256;

P1=_crol_(P1,1);

P0=~M[i][j];

j=(j+1)%8;

}

4.3.2程序清单

HEX输出文件

4.4调试及仿真

经软件调试-仿真器proteus调试通过,并烧录芯片,得到所要求的设计结果。

如图4.4试验成功。

图4.4.1电子显示屏控制仿真图

图4.4.2电子显示屏控制仿真图

图4.5.1电子显示屏控制实物图

图4.5.2电子显示屏控制仿真图

结论

本设计利用89C51芯片控制HSN-1588UR8×8点阵屏,再以74LS245做LED的驱动电路实现对点阵屏显示的控制,性能稳定,而且扩展性能很强大。

74LS245是用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。

74LS245还具有双向三态功能,既可以输出,也可以输入数据。

当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。

P0口与74LS245输入端相连,E端接地,保证数据线畅通。

如果用C51的P0口输出到数码管,那就要考虑到数码管的亮度以及P0口带负载的能力,选用74LS245提高驱动能力。

P0口的输出经过74LS245提高驱动后,输出到数码管显示电路。

在本项目完成的过程中,我们小组遇到了不少困难,不过基本都能顺利解决。

在全程设计制作的过程中学到了很多东西,对C语言有了更深刻的了解。

有一些问题比较值得注意,比如在作品制作的初期,当时我们还不了解电路中所用芯片的要求与实验箱上的硬件要求是否匹配,后来发现在实验箱上没有所用到的双向总线收发器芯片,导致设计出的电路无法在实验箱上进行硬件仿真测试;在软件平台上连线时,由于不知道8乘8LED显示屏的引脚结构而盲目接线,使显示出的实验结果和预期的不一样。

于是重新连线后解决了这个问题。

在做完设计之后,仔细回想这几天来的收获,和同学们互相帮助,共同进步,也复习了一学期来学过的一些知识。

还有,学会了处理问题的方法,以及更多的耐心和学习的能力。

 

参考文献

[1]李群芳.张士军.单片微型计算机与接口技术.北京:

电子工业出

版社.2008.

[2]李光飞.楼然苗.胡佳文.谢象佐.单片机课程设计实例指导.北京:

北京航空航天大学出版社.2004.

[3]沈德金.陈粤初.单片机接口电路与应用程序实例.北京:

北京航天航空大

学出版社.1990.

[4]徐爱钧.彭秀华.单片高级语言C51应用程序设计.北京:

电子工业出版社.1998.

 

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

当前位置:首页 > 自然科学 > 物理

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

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