汉字滚动信息显示屏.docx

上传人:b****6 文档编号:7707126 上传时间:2023-01-25 格式:DOCX 页数:14 大小:225.51KB
下载 相关 举报
汉字滚动信息显示屏.docx_第1页
第1页 / 共14页
汉字滚动信息显示屏.docx_第2页
第2页 / 共14页
汉字滚动信息显示屏.docx_第3页
第3页 / 共14页
汉字滚动信息显示屏.docx_第4页
第4页 / 共14页
汉字滚动信息显示屏.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

汉字滚动信息显示屏.docx

《汉字滚动信息显示屏.docx》由会员分享,可在线阅读,更多相关《汉字滚动信息显示屏.docx(14页珍藏版)》请在冰豆网上搜索。

汉字滚动信息显示屏.docx

汉字滚动信息显示屏

 

大学生科技创新项目

汉字信息滚动显示屏

 

目录

摘要1

关键词1

1引言1

1.1.设计意义1

1.2.系统功能要求1

2方案设计2

3硬件设计1

4软件设计6

5系统调试1

6.设计总结1

7.参考文献1

汉字信息滚动显示屏

摘要

LED显示屏又叫电子显示屏或者飘字屏幕。

是由LED点阵组成,通过红色,蓝色,绿色LED灯的亮灭来显示文字、图片、动画、视频,内容可以随时更换,各部分组件都是模块化结构的显示器件。

通常由显示模块、控制系统及电源系统组成。

显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,电源系统负责将输入电压电流转为显示屏需要的电压电流。

 LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。

这些优点概括起来是:

亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。

LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。

本设计是基于LM3S3748单片机的8x8显示屏,其中包含了硬件、软件、调试等方案的设计

关键词:

LM3S3748;LED;单片机

1引言

1.1.设计意义

 LED显示屏采用了低电压扫描驱动,具有耗电省、使用寿命长、成本低、亮度高、视角大、可视距离远、防水、规格品种多等优点,可以满足各种不同应用场景的需求,发展前景非常广阔,被公认为最具增长潜力也是发展最快的的LED应用市场。

2008年LED显示屏市场规模约100亿元。

随着北京奥运会、上海世博会、广州亚运会等重大赛会的举办和筹备,体育场馆、机场、车站、银行、医院、公共广场、商业场所、居民社区的大面积应用,LED显示屏的市场应用空间不断扩大。

此外,已架设的大型LED显示屏幕每10年将历经一次换机潮,随着人们生活水平的提高,户外LED显示屏将逐渐应用于各个行业。

而汉字的滚动显示又给视觉带来了震撼,所以应用范围十分广泛!

1.2.系统功能要求

设计一个能显示32X64点阵图文LED显示屏,要求文字能滚动显示。

既能带给人们需要的信息,又给视觉上造成一种震撼!

2方案设计

2.1总体设计

2.2设计论证

为了实现汉字的滚动显示,我们采用了动态扫描的方法!

动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如8行)的同名列共用一套驱动器。

具体就8x8的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第8行之后,又重新燃亮第1行,反复轮回。

当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。

采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。

显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。

显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。

从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。

显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。

当列数很多时,并列传输的方案是不可取的。

采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。

但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。

这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。

对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。

即在显示本行各列数据的同时,传送下一列数据。

为了达到重叠处理的目的,列数据的显示就需要具有所存功能。

经过上述分析,就可以归纳出列驱动器电路应具有的功能。

对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。

这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示

3硬件设计

3.1电源、单片机系统

本设计是基于LM3S3748单片机的32×64显示屏,其中包含了硬件、软件、调试等方案的设计

.电源部分

 

 

3.2.单片机系统

LM3S3748是32位机,工作频率可达到50MHZ,它的资源非常丰富,4个通用定时器模块(GPTM),每个可提供2个16位定时器,34个中断源,8个优先级,64KB单同期Flash,16KB单周期访问SRAM,2个同步串行接口(SSI),3个完全可编程UART,8个10位ADC模块,8个PWM发生器。

 

3.3点阵及其驱动部分

点阵显示用是动的态扫描来实现的。

在采用扫描方式显示时,由于每行要带动8个二极管,每行电流较大。

若每个二极管安5mA计算,8个二极管就得40mA电流,超出单片机管脚的承受范围,因此每行都加有一个驱动器,本设计的行驱动用的是十六个pnp型三极管。

三极管的发射极接5V电压,集电极接点阵的行线,而其基级本应接单片机,但该接线方式占用为了16个单片机管脚,为了节省单片机管脚,用了一片74LS154译码器,这样就只需要3个管脚了。

74LS154的管脚图及其说明如图三。

点阵及其驱动部分总体接线图如图五(未画完整)

各行的同名列共用一个列驱动,数据通常存储在单片机的存储器中,按8位一个字节的形式存放。

由于列线过多,故多采用串行传输。

由于每次要传输16位,而且数据要逐位输给驱动器,只有当一行中各列数据都已传输到位后,这一行的各列才能进行并行显示,耗时较长。

为了满足以上要求,驱动选择74LS595移位寄存器。

74HC595是硅结构的CMOS器件,。

74HC595是有8位移位寄存器和一个存储器,三态输出功能。

移位寄存器和存储器是分别的时钟。

数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。

如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。

移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。

其特点:

8位串行输入/8位串行或并行输出存储状态寄存器,三种状态;输出寄存器可以直接清除100MHz的移位频率。

输出能力:

并行输出,总线驱动;串行输出;标准中等规模集成电路。

74LS595的管脚图及其说明如图四。

对3个输入信号进行译码。

得到8个输出状态。

G1,G2A,G2B,为数据允许输出端,G2A,G2B低电平有效。

G1高电平有效。

A,B,C为译码信号输出端,Y0~Y7为译码输出端,低电平有效

图三74LS154管脚图

管脚及其说明:

QA--QH:

八位并行输出端。

QH':

级联输出端。

SI:

串行数据输入端。

74595的控制端说明:

/SCLR(10脚):

低点平时将移位寄存器的数据清零。

SCK(11脚):

上升沿时数据寄存器的数据移位。

QA-->QB-->QC-->...-->QH;下降沿移位寄存器数据不变。

(脉冲宽度:

5V时,大于几十纳秒就行了)

RCK(12脚):

上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。

(5V时,大于几十纳秒就行了),更新显示数据。

/G(13脚):

高电平时禁止输出(高阻态)。

如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。

比通过数据端移位控制要省时省力。

图四:

74LS595管脚图

4.软件设计

本软件要求实现如下要求:

汉字要稳定、明亮并且文字要以一定速度滚动显示。

显示屏软件模块:

初始化程序、主程序、多字滚动、显示程序、扫描程序。

显示程序的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。

软件设计中,显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。

显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。

显示驱动器程序由定时器T0中断程序实现。

系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。

#include"systemInit.h"

#include

#include

#include

#definePART_LM3S1138

#include

//将较长的标识符定义成较短的形式

#defineSysCtlPeriEnableSysCtlPeripheralEnable

#defineSysCtlPeriDisableSysCtlPeripheralDisable

#defineGPIOPinTypeInGPIOPinTypeGPIOInput

#defineGPIOPinTypeOutGPIOPinTypeGPIOOutput

#defineucharunsignedchar

#defineuintunsignedint

chartable[5][32]={{0x01,0x00,0x01,0x00,0x01,0x00,0x3f,0xfc,0x01,0x10,0x01,0x20,0xff,0xfe,0x00,0x80,

0x01,0x00,0x03,0x10,0x05,0x10,0x09,0xf0,0x11,0x00,0x21,0x00,0x01,0xfe,0x00,0x00},

{0x08,0x00,0x0b,0xfe,0x48,0x20,0x49,0xfc,0x49,0x24,0x49,0x24,0x49,0x24,0x49,0x24,

0x49,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x11,0x34,0x11,0x28,0x20,0x20,0x40,0x20},

{0x02,0x00,0x01,0x00,0x3f,0xf8,0x08,0x20,0x04,0x20,0x04,0x40,0xff,0xfe,0x01,0x00,

0x01,0x00,0x01,0x00,0x7f,0xfc,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00},

{0x08,0x20,0x08,0x20,0x7f,0xfc,0x08,0x20,0x09,0x20,0x01,0x00,0xff,0xfe,0x01,0x00,

0x01,0x00,0x1f,0xf0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1f,0xf0}//,

//{0x00,0x00,0x7f,0xf8,0x00,0x10,0x00,0x20,0x00,0x40,0x01,0x80,0x01,0x00,0x01,0x00,

//0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00}

};

/*chartable[4][32]={

{0x01,0x00,0x01,0x00,0x01,0x00,0x0f,0xe0,0x09,0x20,0x09,0x20,0x0f,0xe0,0x09,0x20,

0x09,0x20,0x0f,0xe0,0x01,0x00,0x01,0x02,0x01,0x02,0x01,0xfe,0x00,0x00,0x00,0x00},

{0x00,0x00,0x0f,0xf0,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x3f,0xf8,

0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x00,0x05,0x00,0x03,0x00,0x00,0x00},

{0x00,0x00,0x08,0x40,0x08,0x40,0x08,0x40,0x08,0x40,0x09,0xf8,0x7f,0x48,0x08,0xcc,

0x09,0x4a,0x0a,0x49,0x08,0x88,0x09,0x08,0x0a,0x08,0x08,0x38,0x08,0x00,0x00,0x00},

{0x00,0x00,0x01,0x80,0x02,0x40,0x04,0x20,0x08,0x10,0x10,0x08,0x27,0xe4,0x40,0x02,

0x00,0x00,0x0f,0xf0,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x08,0x0f,0xf8,0x00,0x00}

{0x00,0x00,0x00,0x80,0x00,0x80,0x01,0xfc,0x02,0x24,0x7e,0x24,0x42,0x20,0x24,0x20,

0x18,0x20,0x18,0x50,0x24,0x88,0x41,0x04,0x81,0x04,0x82,0x02,0x04,0x01,0x00,0x00}

};*/

voidWR_595(chardat)//写一个字节的数据

{

uinti;

for(i=0;i<8;i++)//循环8次把编码传给锁存器

{

if(((dat<

=0)

{

GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_3,0x00);

}

else

{

GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_3,0xff);

}

GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_1,0x00);

GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_1,0xff);

}

}

voidOUT_595(void)

{

GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_0,0x00);

GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_0,0xff);

}

voidleft(charm)

{

chari;

for(i=0;i

{

GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_1,0x00);

GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_1,0xff);

}

}

intmain(void)

{

inti,j,k;

clockInit();

SysCtlPeriEnable(SYSCTL_PERIPH_GPIOF);//使能KEY所在的GPIO端口

GPIOPinTypeOut(GPIO_PORTF_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4);

SysCtlPeriEnable(SYSCTL_PERIPH_GPIOA);//使能KEY所在的GPIO端口

GPIOPinTypeOut(GPIO_PORTA_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|

GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);

GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_2,0xff);

while

(1)

{

for(j=0;j<64;j++)

{

for(k=0;k<60;k++)

{

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

{

WR_595(table[0][i*2]);

WR_595(table[0][i*2+1]);

WR_595(table[1][i*2]);

WR_595(table[1][i*2+1]);

WR_595(table[2][i*2]);

WR_595(table[2][i*2+1]);

WR_595(table[3][i*2]);

WR_595(table[3][i*2+1]);

//WR_595(table[4][i*2]);

//WR_595(table[4][i*2+1]);

left(j);

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_4,0x00);

OUT_595();

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,i);

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_4,0xff);

}

}

}

}

}

5系统调试

◆调试主要分为硬件调试和软件调试:

硬件调试:

在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。

在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道到底是哪一方出错了。

当然,在设计的过程中也存在着失误和不足,在调试中进行修改了。

焊接完成后,检验点阵、及线路的好坏:

烧进检验程序,点阵将自第一排向下(上)点亮。

检验无异常,下载主程序

◆软件调试:

◆软件经调试无误,直接将其下再到单片机中,看是否达到所要的效果软件部分是先参考书上的例子,然后自己根据硬件电路写程序,在编写程序过程中都采用C语言编写。

刚刚开始,编写不会一次性通过,经过仔细分析修改最后编译成功。

但是,在实际过程中,LED显示屏出现各种各样的乱码,通过再次认真仔细分析多次修改程序后,程序能够正常运行.

6.设计总结

本文设计的32x64的点阵LED汉字更滚动显示屏,能够在目测条件下实现汉字的滚动显示,LED显示屏各点亮度均匀、充足!

,显示的文字较稳定、清晰。

文字左右滚动显示。

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

在此次设计中,我们得到以下体会:

  一、在这次点阵设计的过程让我进一步熟悉KEIL及Proteus的使用。

二、本次设计结果仍有缺陷,有一行总是全亮,干扰显示。

三、通过这次点阵设计,重新复习并进一步学习了LM3S3748优点,明确了研究目标。

四、本文设计的LED显示屏能够实现在目测条件下LED显示屏各点亮度均匀、充足,实现汉字的滚动显示!

五、在后的设计中,既要想到电路器件的联合使用,又要灵活变通,举一反六、在焊接方面,我们了解到焊接某些器件时,要先消去电烙铁上的静电,防止静电对芯片特别是放大器件造成伤害,焊接二极管、三极管等芯片时要快,防止持续高温损坏芯片。

7.参考文献

[1]刘欣铭,张广斌.LED显示屏技术综述[J].黑龙江电力,2003,25(4):

294-296.

[2]阳进.基于单片机的LED显示屏的汉字显示[J].中国科技信息,2005,(12):

112.

[3]MarkNelson著.潇湘工作室译.串行通信开发指南[M].中国水利水电出版社,2002.

[4]王宜怀.单片机原理及其嵌入式应用教程[M].北京希望电子出版社,2002.

[5]韩润萍,陈小萍.点阵LED显示屏控制系统[J].微计算机信息,2003,19(10):

50-51.

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

当前位置:首页 > 农林牧渔 > 畜牧兽医

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

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