8x8LED点阵屏仿电梯数字滚动显示说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湄洲湾职业技术学院8*8LED点阵屏仿电梯数字滚动显示说明书系部:自动化工程系
年级: 10 级专业:电气自动化应用技术
姓名:郑沁杰学号: 1001020205
导师姓名:郑德山职称:副教授
2013 年 05 月 26 日
目录
1.前言 (1)
2.系统设计技术参数要求 (2)
3.系统设计 (3)
3.1 系统设计总框图 (3)
3.2 各模块原理说明 (4)
3.3系统原理说明 (5)
3.4 系统操作说明 (5)
3.5系统操作注意事项 (6)
4.参考文献 (7)
5. 致谢词 (8)
6.附录 (9)
6.1元件清单 (9)
6.2系统原理图 (10)
6.3 PCB原理设计 (11)
6.4 系统程序 (11)
1.前言
LED市场比较好,但是现在市场竞争也比较激烈,和做其他产品差不多。

LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。

在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。

本文设计的是一个用8x8的点阵LED图文显示屏,图形或文字显示有静止、移入移出显示方式。

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

文章给出了一种基于MCS-51单片机的8×8 点阵LED显示屏的设计方案。

包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。

在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。

它用高亮度发光二极管芯阵列组合后,环氧树脂与塑模封装而成。

具有高亮度,功耗低,引脚少,视角大,寿命长,耐湿,耐冷热,耐腐蚀等特性,LED显示屏以突出的优势成为平板显示的主流产品之一。

LED这一显示产品使用在我们日常的生活中扮演者越来越重要的角色。

因此,有必要对LED显示产品和单片机的应用进行了解。

2.系统设计技术参数要求
(1).电源:4.5V—6V。

(2).芯片STC89C52驱动点阵屏。

3.系统设计
本设计的LED点阵显示主要由四个模块组成,其核心元件是一块单片机AT89C52。

系统主要通过单片机STC89C52 对各个模块进行实时控制,其中rst 口用来接复位按键,此模块用于控制电路以便于实现恢复到刚开始的状态;P1口用来接流水灯用来计数的,P0接上拉电阻后与点阵相接,P2 口也用来接到LED 点阵显示器进行显示,以达到设计的效果。

本点阵显示设计的电源是用一个:4.5V—6V的直流电源。

因此,不必用一个可以降压到6v的变压器。

可以直接采用3到4个1.5v 的干电池串联起来使用。

为了使电池的串联得到方便与牢固,可以用一个电池槽装电池,这是最经济、简便的做法。

软件设计的设计思路是:单片机STC89C52是用来编译程序的、驱动led点阵显示器的是P0口加一个10K的上拉电阻、点阵显示器是显示的,也就是说主程序进行键盘扫描,判断采用何种方式进行显示,初始化状态为逐个样式显示,判断后进入相应显示程序方式。

设置相应的程序入口,反复查表,并在显示过程中反复扫描指令进行延迟,并通过判断是否退出相应的方式显示样式,进入主程序。

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

3.1 系统设计总框图
设计电路选用STC89C52作为主控制系统来控制点阵的显示,采用阵列式按键控制本设计系统将要实现的全部功能。

本设计方案,并设计出如图 1 所示的系统框图:
图 1 系统框图
如图1 所示,系统的整个控制流程是:由单片机STC89C52的内部程序定时控制LED点阵显示
器使之显示出本论文所要实现的效果。

3.2 各模块原理说明
图2 8*8点阵LED结构图
当STC89C52单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入上拉电阻10K等作为点阵行驱动。

当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由 A 向B 传输;(发送)当/CE为高电平时,
图 3 STC89C52引脚图
主程序先清除运行标志,并设置运行标志(标志为逐个样式显示),然后调用初始化程序,为后面程序要用到的数据调入,并清零一些用到的数据单元。

主程序流程图如图 10 所示:
图 4点阵PCB路线图
本次设计的LED点阵显示采用一块STC89C52 作为主控模块。

以STC89C52芯片为核心,构成一个最小的系统模版。

实现一个点阵显示加led流水灯电子产品设计。

除此之外,还要对单片机STC89C52、上拉电阻和LED显示器等元器件进行管脚功能的确定。

因为在实际中个别元器件的管脚排序有些是不一样的。

单片机的P0 口、P1 口、P2 口、和P3 口分别是做其他功能使用。

同时指出的是在使用P0 口为通用I/O 口接口时,连接点阵要加入上拉电阻进行驱动LED点阵的显示,这样才能使产品能够正常的运行。

根据系统设计方案,本系统的调试共分为三大部分:软件调试,硬件调试和软硬联调。

由于在系统设计中采用模块设计法,所以方便对个电路模块功能进行逐级测试,LED驱动模块的调试,程序模块的调试等,最后将各模块组合后进行整体测试。

点阵屏测试:用3到4节1.5V直流干电池顺向串联的到4.5V到6V的电压,连接点阵屏测试各行各列点阵工作是否正常,显示顺序是否正确。

测试结果无误。

主电路测试:将主电路连接到显示正常的点阵屏上,接上电源,结果点阵屏无法正常显示,点阵屏没有按要求显示。

估计原因:
(1)电路是否有出现断路现象。

经万用表测试,各导线连接全部正常。

(2)晶振不起振。

检测晶振是否坏掉,经过检测,晶振没有坏。

最后经过检测晶振是完好的。

(3)是不是行列接反了,经过思考修改一下行列程序互换,再一次调试硬件果然调试成功。

调试出来的结果与设计的要求基本一致。

具备以下几点:
(1)能显示设计所需要显示的字体。

(2)具备一直循环的显示字体。

(3)]显示字时清晰稳定,没有漏点现象。

3.5系统操作注意事项
(1)、环境温度过高或散热条件不好时,应注意不要长时间开屏.
(2)、操作时手不能带水,防止电路短路。

(3)、电路板的电源要用接近正5V的直流电,防止电压过高烧坏芯片,电压过低不能正常运行。

(4)、操作时不能手直接拿电路板印刷面,要拿边部,防止把铜腐蚀造成电路断路。

(5)、避免点阵全亮,点阵不按要求显示,电源开关要适度按。

(6)、存放产品时应放在干燥的地方,防止潮湿腐蚀电路板。

4.参考文献
[1]张毅刚等,MCS-51单片机用设计,哈工大出版社,2004.08
[2]利、迟荣强编著单片机原理用接口技术高等教育出版社, 2004.01
[3]马忠梅等,单片机的C语言应用程序设计,北京航空航天大学出版社,2003.05 [4]罗亚非等,凌阳单片机原理及毕业设计精选 2006年,科学出版社,2006.05
[5]华东等.,protel电路设计,清华大学出版社,2007.06
[6]黄健等,单片机原理与应用,西北工业大学出版社,2008.06
[7]周明德等,单片机原理与技术,人民邮电出版社,2008.05
[8]李建忠.单片机原理及应用[M].西安:电子科技大学出版社,2008.01
[9] 王正谋.Protel99se电路设计与仿真技术[M].福建:科学技术出版社,2004.01
[10] 郝万新.电路基础[M].大连:理工大学出版社,2000.01
5.致谢词
感谢我的导师郑德山老师,他严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他循循善诱的教导和不拘一格的思路给予我无尽的启迪。

感谢所有教过我的科任老师以及许许多多湄院老师对我的教育培养。

他们细心指导我的学习与研究,在此,我要向诸位老师深深地鞠上一躬。

感谢我的室友们,从遥远的家来到这个陌生的城市里,是你们和我共同维系着彼此之间兄弟般的感情,维系着寝室那份家的融洽。

三年了,仿佛就在昨天。

三年里,我们没有红过脸,没有吵过嘴,没有发生上大学前所担心的任何不开心的事情。

只是今后大家就难得再聚在一起吃每年元旦那顿饭了吧,没关系,各奔前程,大家珍重。

我们在一起的日子,我会记一辈子的。

希望大家都可以找到满意的工作,努力为了明天而奋斗。

感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。

在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!
湄洲湾职业技术学院2013届毕业设计产品说明
.6.附录
6.1元件清单
6.2系统原理图
543E A /V P
31
X 119X 2
18
R E S E T
9
R D 17W R
16I N T 0
12
I N T 113T 0
14
T 115P 10/T 1P 11/T 2P 123P 134P 145P 156P 167P 17
8
P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N 29
A L E /P 30T X D 11R X D 10V C C
40
G N D
20
U 1
*
Y 112m z
C 1
33n f
C 2
33n f
V C C C
R 1
20k
+
C 3
47u f V C C
12345678
h 1h 2h 3h 4h 5h 6h 7h 8
12
J 1
C O N 2
V C C 12345678910111213141516J P 1H E A D E R 8X 2
4h 7h 3h 5h 6653h 8h 4h 1h 27812S 1
S W -P B
P 00P 01P 02P 03P 04P 05P 06P 07P 30P 31P 37P 36
P 34
P 35P 32
P 331
23456789J P 2H E A D E R 9123456789J P 3H E A D E R 9
123456789
J P 5H E A D E R 9V C C P 30P 31P 32P 33P 34P 35P 36P 3712J 2C O N 212
J 3
C O N 212
J 4
C O N 212
J 5
C O N 212
J 6
C O N 212
J 7
C O N 212
J 8
C O N 212
J 9
C O N 2
12J 10
C O N 212
J 11C O N 212
J 12
C O N 212
J 13
C O N 212
J 14
C O N 212
J 15
C O N 212
J 16
C O N 212
J 17
C O N 2
P 00
P 01P 02P 03P 04P 05P 06P 07P 37
P 36
P 30P 31P 32
P 33P 34
P 35
1
2
3
4
5
6
J P 4H E A D E R 3X 2
6.3 PCB原理设计图
6.4 系统程序
nclude"reg52.h"
#define uint unsigned int
#define uchar unsigned char
uchar code dip1_P1[]={
0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x 7F,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40 ,0x80,
0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x 7F,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40 ,0x80,
0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x 7F,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x 7F,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40 ,0x80,
};
uchar code dip1_P3[]={
0xFF,0x7E,0xBD,0xDB,0xE7,0x00,0x81,0x42,0x 24,0x18,
0xFF,0x7E,0xBD,0xDB,0xE7,0x00,0x81,0x42,0x 24,0x18,
0xFF,0x7E,0xBD,0xDB,0xE7,0x00,0x81,0x42,0x
24,0x18,
0xFF,0x7E,0xBD,0xDB,0xE7,0x00,0x81,0x42,0x 24,0x18,
0xFF,0x7E,0xBD,0xDB,0xE7,0x00,0x81,0x42,0x 24,0x18,
0xFF,0x7E,0xBD,0xDB,0xE7,0x00,0x81,0x42,0x 24,0x18,
0xFF,0x7E,0xBD,0xDB,0xE7,0x00,0x81,0x42,0x 24,0x18,
0xFF,0x7E,0xBD,0xDB,0xE7,0x00,0x81,0x42,0x 24,0x18,
0xFF,0x7E,0xBD,0xDB,0xE7,0x00,0x81,0x42,0x 24,0x18,
};
uchar code zi[]={
0XfF,0XeF,0Xe7,0XeF,0XeF,0XeF,0XeF,0Xe6, //1 o
0xff,0xff,0xff,0xff,0xff,
0XFF,0XE6,0XBB,0XBB,0XBB,0XBB,0XBB,0XE6, //0 o
0xff,0xff,0xff,0xff,0xff,
0XFF,0XE6,0XBB,0XBB,0XBB,0XBB,0XBB,0XE6, //0 o
0xff,0xff,0xff,0xff,0xff,
0XfF,0XeF,0Xe7,0XeF,0XeF,0XeF,0XeF,0Xe6, //1 o
0xff,0xff,0xff,0xff,0xff,
0XFF,0XE6,0XBB,0XBB,0XBB,0XBB,0XBB,0XE6, //0 0
0xff,0xff,0xff,0xff,0xff, 0XfF,0Xe6,0Xbb,0Xfe,0Xef,0Xf7,0XbF,0Xa2, //2 o
0xff,0xff,0xff,0xff,0xff,
0XFF,0XE6,0XBB,0XBB,0XBB,0XBB,0XBB,0XE6, //0 o
0xff,0xff,0xff,0xff,0xff,
0XfF,0Xe6,0Xbb,0Xfe,0Xef,0Xf7,0XbF,0Xa2, //2 o
0xff,0xff,0xff,0xff,0xff,
0XFF,0XE6,0XBB,0XBB,0XBB,0XBB,0XBB,0XE6, //0 o
0xff,0xff,0xff,0xff,0xff,
0XfF,0Xa2,0Xbb,0Xfe,0Xef,0XeF,0XeF,0XeF, //5
0xff,0xff,0xff,0xff,0xff,
};
//uchar code hsm[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f};
//行扫描
uchar code hsm[]={0x40,0x20,0x80,0x10,0x 01,0x04,0x02,0x08,};//,0xfd,0xfb,0xfe,0xef ,0xdf,0xf7,0x7f};
//0x20,0x02,0x04,0x01,0x10,0x08,0x40,0x80,
void ys(uint a)
//延时程序
{
uint b,c;
for(b=a;b>0;b--)
for(c=110;c>0;c--);
}
void main()
//主函数
{
while(1)
{
uchar tt,n,i;
for(n=20;n>0;n--) //走字速度调节{
for(i=0;i<8;i++) {
P1=hsm[i]; //行扫描
P2=zi[i+tt]; //取字模
P0=dip1_P1[tt];
P3=dip1_P3[tt];
ys(3);
}
}
tt++; //字位移if(tt==125)
{tt=0;}
}
}。

相关文档
最新文档