LED点阵书写显示屏论文1Word文档格式.docx

上传人:b****4 文档编号:7438479 上传时间:2023-05-08 格式:DOCX 页数:39 大小:241.41KB
下载 相关 举报
LED点阵书写显示屏论文1Word文档格式.docx_第1页
第1页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第2页
第2页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第3页
第3页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第4页
第4页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第5页
第5页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第6页
第6页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第7页
第7页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第8页
第8页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第9页
第9页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第10页
第10页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第11页
第11页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第12页
第12页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第13页
第13页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第14页
第14页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第15页
第15页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第16页
第16页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第17页
第17页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第18页
第18页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第19页
第19页 / 共39页
LED点阵书写显示屏论文1Word文档格式.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

LED点阵书写显示屏论文1Word文档格式.docx

《LED点阵书写显示屏论文1Word文档格式.docx》由会员分享,可在线阅读,更多相关《LED点阵书写显示屏论文1Word文档格式.docx(39页珍藏版)》请在冰点文库上搜索。

LED点阵书写显示屏论文1Word文档格式.docx

附录2总电原理图(32×

32点阵连接电路)20

附录3源程序21

第一章绪论

1.1课题来源

本课题来源于全国大学生电子设计竞赛LED点阵书写显示屏,它是一种控制半导体发光二极管的显示装置,其主要功能是实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示。

1.2设计任务及要求

设计并制作一个基于32×

32点阵LED模块的书写显示屏,其系统结构如图1-1所示。

在控制器的管理下,LED点阵模块显示屏工作在人眼不易觉察的扫描微亮和人眼可见的显示点亮模式下;

当光笔触及LED点阵模块表面时,先由光笔检测触及位置处LED点的扫描微亮以获取其行列坐标,再依据功能需求决定该坐标处的LED是否点亮至人眼可见的显示状态,从而在屏上实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示功能。

图1-1LED点阵书写显示屏系统结构示意图

设计的最终要求是:

在点亮功能下当光笔接触屏上某点LED时,能即时点亮该LED;

在划亮功能下当光笔快速划过时,能同步点亮划过的各LED,其速度要求2S内能划过并点亮40点LED;

在反显功能下能对屏上显示的信息实现反向显示;

在屏幕擦除功能下能实现对屏上所显示信息整屏擦除;

在笔画擦除功能下,能用光笔擦除屏上所显汉字的笔画;

在连写多字功能下,能结合自选的擦除方式,在30S内以划亮方式写出四个汉字且存入机内;

在对象拖移功能下,能用光笔将选定显示内容在屏上进行拖移,先用光笔以划亮方式在屏上圈定欲拖移显示对象,再用光笔将该对象拖移到屏上另一位置;

当光强改变时,能自动连续调节屏上显示亮度;

当光笔连续未接触屏面的时间超过1-5MIN时,自动关闭屏上显示,并使系统进入休眠模式。

第二章系统方案设计

2.1.系统的总体设计

根据课题要求,LED点阵书写显示屏由主控模块,按键电路、LED点阵模块、光笔电路及LED点阵驱动显示等部分组成。

系统框图如图2-1所示:

图2-1系统框图

2.2.1.核心控制模块的的设计

核心控制模块是系统的大脑,控制着系统的所有输入输出、计算、判断与决策。

“LED点阵书写显示屏”检测精度要求高且数据存储容量大,选择适合的控制模块,能确保其快速是实现稳定及达到系统要求的基本条件。

使用STC系列单片机,该系列单片机是高集成单片机,功能和性能都要比51系列强大很多。

比如STC11F32是1T单片机,速度是AT89S51的12倍。

而且内部集成了内置振荡器和复位,EEPROM、ADC、PWM、四态I/O接口。

2.2.2.光笔设计

光笔设计的关键是选择合适的传感器件,只有具有很高的灵敏度和一定的响应时间的传感器才能完成系统的要求及功能。

方案一:

采用核心部件为光敏电阻制成的光笔检测系统。

光敏电阻是将光能转换为电能的一种传感器件,它是构成光电式传感器的主要部件。

光敏电阻结构简单、使用方

便、价格便宜,但经调试发现其响应时间长,不易检测。

方案二:

采用光敏二极管,与光敏电阻相比有较好的高频特性,具有一定的可靠性,功耗低.相比于光敏电阻而言灵敏度较差,需要较高倍数的放大器才能实现精准识别的效果。

方案三:

采用光敏三极管,其工作原理与光敏二极管相似。

但光敏三极管除了具有光敏二极管能将光信号转换成电信号的功能外,还有对电信号放大的功能。

所以其灵敏度更高,响应时间快。

基于以上分析,我们采用光敏三极管作为光笔的检测部件。

2.2.3.显示方案的设计

采用LCD液晶显示器。

LCD有明显的优点:

微功耗、尺寸小,超薄轻巧、显示信息量大、字迹清晰、美观、视觉舒适。

使整个控制系统更加人性化。

采用LCM301液晶显示器,其是串行口显示,所需I/O口较少,节省了资源,焊接电路时也较为方便。

2.2.4.点阵显示模式设计

将点阵的驱动电源分为两路,一路为正常电压,另一路通过硬件电路调节恰好能使点阵处于微亮状态。

结合软件实现点阵的显示模式的改变。

这样节省了资源的同时,也节约了时间

第三章系统硬件设计

3.1光笔的设计

光笔用光电三极管3DU33型光敏三极管检测点阵屏发光的强弱变化电压信号,LM393为比较器。

由于点阵的光强相对较弱,通过光电三极管的电流很小,通过串接硅二极管来提升光电三极管发射极电压,方便后级比较器作业,便于单片机检测信号。

光笔原理图如下图3-1所示:

图3-1光笔原理图

在一空的笔壳内,将光敏三极管放置在笔壳底端,光敏三极管的引脚从一个与其直径等宽的空管引出至空管的顶部,并在其中一引脚中接一弹片,在接近的地方用铜片贯穿空管且正好卡在笔管的内部。

与此同时,用一弹簧套在空管外部,并将其底不固定,这样,当笔管在点阵屏上上下抖动时,内部光敏三极管就能很好的检测了。

其结构如图3-2所示:

图3-2光笔的结构图

32LED点阵的连接

经分析要想得到32×

32的点阵需要用16个共阳型8×

8点阵(其引脚图如图3-3所示)来构建。

其方法是将点阵对应的行线和列线分别进行连接,使每一条行线引脚接一行32个LED,列线也相同。

图3-3LED点阵

32LED点阵的驱动控制电路

32×

32LED点阵的行信息控制用2片74HC154,构成5—32译码器,单片机口线控制其译码输出。

列的微亮扫描、点亮也分别用2片74HC154,4个片选分别单独控制,微亮扫描(2.5V)、点亮(5V)电源分别通过三极管构成的开关加到点阵的列控制端。

由于整屏显示是1024个灯循环亮,为提高显示亮度,限流电阻取51欧姆(取消也可以,但为了防止制作调试过程中烧坏LED灯,不取消为好),电路如图3-4所示。

微亮扫描时流过LED的电流为:

(2.5-1.8)/51=13.7mA

点亮点阵时流过LED的电流为:

(5-1.8)/51=62.7mA

流过LED电流虽然比较大,但时间很短,因此不会烧坏LED灯。

图3-4LED驱动电路

3.4显示电路部分功能及原理

为了满足系统在工作时能准确显示光笔对应亮点所处的行列坐标值,我们采用型号为LCM103的液晶显示器显示。

LCM103为10位多功能通用型8段式液晶显示模块,内含看门狗时钟发生器2种频率的蜂鸣驱动电路内置显示RAM,可显示任意字段笔画划3-4线串行接口可与任何单片机接口。

其接口应用模块如图3-5所示:

引脚排列图如表3-1所示。

引脚

符号

说明

输入/输出

1

VDD

正电源,必须接!

输入

2

VLCD

LCD屏工作电压调整,可调整视角对比度,必须接!

3

/INT

WDT/定时器输出,集电极开路输出,不用可不接。

输出

4

LED

不用

5

BZ

压电陶瓷蜂鸣片驱动+极

6

/BZ

压电陶瓷蜂鸣片驱动-极

7

/CS

模块片选,内部上拉,必须接!

8

/RD

模块数据读出控制线,内部上拉

9

/WR

模块数据/指令写入控制线,内部上拉,必须接!

10

DATA

数据输入/输出,内部上拉,必须接!

11

VSS

负电源,接地线,必须接!

图3-5LCD接口应用模块

表3-1LED接口引脚排列图

注:

B处焊盘为用户需降低功耗时外加32.768KHz晶体。

A处两焊盘分别接VDD与VLCD。

3.5键盘的使用及设计

键盘是使用比较简单的独立式键盘,而且具有发光二极管指示功能模块。

在程序中采用中断扫描的方式,在没有键操作时CPU执行正常程序,只在有键操作时才处理键盘程序。

其电路如图3-6所示:

图3-6独立式键盘电路图

按键功能:

按键一:

实现点亮等功能;

按键二:

修改休眠时间;

按键三:

实现多姿连写时的保存与回放;

按键四:

实现整屏擦除于休眠唤醒

3.6光照的检测与控制

经分析,想要实现当环境光强改变时能自动连续调节屏上显示亮度的要求,其关键是对点阵周围环境光照的检测与控制。

我们通过硬件电路很好的完成了对光照的检测。

基本原理是用LM358与光敏电阻够成一恒流源并于三极管的基极连接,当光敏电阻因光强的变化而改变其自身阻值时,三极管的基极电压也会随着变化。

与其集电极连接的发光二极管的亮度也会伴随着改变,以此判断周围光强的变化。

电路如图3-7所示:

图3-7光照检测电路

第四章系统软件设计

4.1主程序设计

主程序包括系统初始化,点阵扫描控制,液晶显示,以及“反显”、“擦除”等功能下数据处理程序,流程图如图4-1所示。

其中点阵扫描控制程序,微亮扫描控制由单片机口控制对以译码器的片选和地址输入,使点阵按行列有规律地循环点亮,由图3-3知点亮显示的列控制信息译码地址与微亮连接在一起,控制点亮的工作过程是通过判断点阵显示缓冲内容对应位的信息,控制其片选,当需要点亮时,控制片选有效,反之,控制片选无效,利用微亮扫描过程实现点亮控制。

4.2外中断0服务程序(坐标检测)

外中断0是作为光笔的检测使用,由图3-2知,光笔碰触显示屏过程中,遇到发光点输出翻转的跳变信号,送给单片机中断,作为中断的触发信号,由于中断程序优先执行,打断微亮扫描过程,在中断服务程序中根据此时的行列扫描的序号,就可判断光点的坐标,进而为其他功能的实现提供依据,流程图如图4-2所示

图4-2

图4-2中断程序框图

4.3.外中断1服务程序(按键处理)

外中断1为按键操作处理程序,如图4-3所示:

图4-3外中断1服务程序框图

4.4.LCM103驱动程序设计

LCM103采用的是串行接口,所有数据都是在脉冲的作用下一位一位按顺序写入模块内部,由时序图知数据线上信息是在脉冲上升沿写入。

写命令的数据格式是12位,单个写数据的格式是13位,写数据也可以连续写,由于每个字位占用内部3个RAM空间存放字段码,因此写数据采用连续写方式比较好。

在数据连续写格式中,前面9位为模式位和模块内部RAM的起始地址,后面数据格式是每3位加1个0,取三个一组构成一个字位的信息,也是12位,这样就可以将所有写操作(命令和数据)分为写9位信息和写12位信息两个功能程序。

显示字段的排列方式与LED数码管一致,每位字段编码由8段构成(显示RAM

笔画表),占用连续的3个地址空间,但在写入格式中每个数据是4位,编写字符的字段码时要给每个数据后加0,0~9显示字符的字段码如表4-1所示。

表4-10~9显示字符的字段码

字符

二进制

十六进制

D0D1D2D3

1000

0110

1110

86EH

0010

0000

820H

1100

1010

8CAH

8E2H

0100

8A4H

0e6H

0EEH

860H

8EEH

8E6H

地址

低→高

在写数据送显示之前,先按照初始化步骤进行初始化,然后写数据,程序见附录。

第五章系统测试与结果

5.1划亮反显擦除拖移的测试和结果

各模块均调通,将调好的模块连在一起,加上5v电压源,启动进行系统初始化。

按键进入点亮模式,用光电笔在LED点阵书写显示屏上接触,可以看到接触的点点亮,LCD上显示亮点的精确坐标。

用光笔快速的在书写显示屏上划过,发现划过的地方变亮,多次操作都能实现。

再次按键,进入反显模式,光笔划过,发现经过的地方没有亮其他的部分高亮,反显测试正常。

再次按键进入擦除模式,用光笔在屏幕上划过,显示屏亮的地方变暗了。

再按一次键可以看到整屏由亮变暗,实现了擦除这一功能。

最后进入多字连写模式和区域拖动模式用光笔在LED点阵显示屏上写四个字,最后在屏上循环显示。

最后对写的字用笔圈起来可以用笔移动。

实现了对象拖移功能。

经过反复的测试,所有的功能都能很好的实现,系统正常。

5.2屏亮自动调节测试和结果

外部光环境人为地改变后,测试LED点阵书写显示屏的亮度是否发生变化如果发生变化,则表明能够自动调节,结果屏亮随外部环境的变化而改变,系统正常。

5.3超时关显示节电测试和结果

加5v电压启动系统,对系统初始化。

设定待机关显示的时间,在测试点接入万用表,不进行任何操作到设定的时间,看显示屏是否自动关闭。

结果书写显示屏自动关闭,电路板测试点上的电流小于5mA。

表明测试正常,完成系统要求。

总结及展望

本作品完成了题目的基本要求和发挥部分的全部要求,系统性能良好。

通过对作品的各项进行了优化,使系统的性能有了提高。

应用74HC154译码器设计32×

32点阵的行列驱动控制信号,扫描速度满足设计要求。

虽然这次设计满足了课题的要求,但在很多方面都有许多的不足,还不能满足正常的书写需求,但在设计的过程中提高了自己学习思考的能力,让自己能更好的去面对未来的工作。

致谢

通过这次毕业设计,综合的应用并学习了自己的专业知识,得到了许多平时很难道道的知识及经验。

在设计的过程中我得到了很多其他老师和同学的帮助,从人才完成了这次设计。

在本论文的写作过程中,我的导师徐江海老师倾注了大量的心血,从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我表示衷心感谢。

同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和朋友。

参考文献

[1]周航慈,周立功,朱旻等.PHILIPS51LPC系列单片机原理及应用设计[M].北京:

北京航空航天大学出版社,2001.

[2]何立民.单片机应用系统设计[M].北京:

北京航空航天大学出版社,1999

[3]徐江海,单片机实用教程[M],北京:

机械工业出版社,2008

[4]张毅刚,MCS-51单片机应用设计[M],哈尔滨,哈尔滨工业大学出版社,1992

附录1总电原理图(单片机系统与点阵驱动电路)

32点阵连接电路)

附录3源程序

#include"

reg52.h"

#include"

intrins.h"

#defineucharunsignedchar

#defineuintunsignedint

sbitcs103=P1^0;

//液晶

sbitwr103=P1^1;

sbitda103=P1^2;

sbitcsH=P2^6;

//

sbitp14=P1^4;

sbitp15=P1^5;

sbitp16=P1^6;

sbitp17=P1^7;

uintidatazb[32][2]={0};

//点亮存储单元

uintxdatazb1[32][2]={0};

//第一个字存储

uintxdatazb2[32][2]={0};

//第二个字存储

uintxdatazb3[32][2]={0};

//第三个字存储

uintxdatazb4[32][2]={0};

//第四个字存储

ucharxsdy0=2;

//显示缓冲,低位

ucharxsdy1=1;

ucharxsdy2=11;

ucharxsdy3=3;

ucharxsdy4=10;

ucharxsdy5=5;

ucharxsdy6=6;

ucharxsdy7=11;

ucharxsdy8=8;

ucharxsdy9=9;

//显示缓冲,高位

ucharhsmcs=0;

//行扫描控制

ucharlsmcs=0;

//列扫描控制

ucharp0hc;

//P0缓冲

ucharp2hc;

//P2缓冲

bitbxzb=0;

//

bitbhzl=0;

bitblzl=0;

bitf_x_flag;

//反显状态标志

bitzp_cc_flag;

//整屏擦除状态标志

bitbh_cc_flag;

//笔画擦除标志

bitlz_dx_flag;

//连字多写标志

bitshijiang_flag;

//时间设置标志

bitxz_bc_flag;

//写字保存标志

bithx_flag;

//唤醒标志

bitxm_flag;

//休眠

bityjxs_flag;

ucharjs_5ms;

ucharjs_s;

ucharjs_fen;

ucharjs_fen_set=5;

ucharclzl=0;

uintdlzbw;

//点亮坐标位

uintdlzbw1;

//点亮坐标位缓冲

ucharz_t=0;

//显示方式状态

ucharxzgs;

//写字个数

ucharxs_s;

//字符显示时间

ucharxs_weishu;

sfrAUXR=0x8e;

//扩展RAM的SFR

uintcodelcd[]=//字段编码

{0x86e0,0x8200,0x8ca0,0x8e20,0x8a40,0x0e60,0x0ee0,0x8600,0x8ee0,0x8e60,0x0000,0x0800};

//0123456789空-

voiddelay(uintx)//12MHZ晶振延时Xms的子函数

{

uinty=0;

while(x>

0){

while(y<

1000)y++;

x--;

}

}

voiddel()//延时函数

ucharj;

for(j=0;

j<

10;

j++);

voidwrite12(intdata1)//液晶写12位数据

uchari;

for(i=0;

i<

12;

i++)

{

wr103=0;

//wr=0

if((data1&

0x8000)!

=0){//最高位为1

da103=1;

//输出1

else{//最高位为0

da103=0;

//输出0

del();

wr103=1;

//上升沿

del();

data1<

<

=1;

//数据整体左移1位

voidwrite9(intdata1)//液晶写9位数据

9;

voidyjcsh()//液晶初始化

uintk;

for(k=0;

k<

2000;

k++);

cs103=0;

//cs=0

write12(0x8480);

//定义模块

cs103=1;

//cs=1

write12(0x8300);

//定义内部振荡方式

write12(0x8020);

//开振荡器

cs103=0;

write12(0x8060);

//开显示器

cs103=1;

voidyjxs()//液晶显示

write9(0xa000);

//连续写,从地址00000开始

write12(lcd[js_s%10]);

write12(lcd[js_s/10]);

write12(lcd[xsdy2]);

write12(lcd[js_fen]);

write12(lcd[xsdy4]);

write12(lcd[xsdy5]);

write12(lcd[xsdy6]);

write12(lcd[xsdy7]);

write12(lcd[xsdy8]);

write12(lcd[xsdy9]);

//cs=1,写结束

voiddel1()//扫描延时函数

30;

voidlsm()//列扫描函数

{ucharj;

dlzbw=0x0001;

lsmcs=0;

//列次数初值

p0hc=p0hc&

0xf0;

//p0缓冲低4位清0

p0hc=p0hc|lsmcs;

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2