LED点阵书写显示
LED点阵书写显示屏
摘要:随着时代的发展,数字电子技术已经普及到我们生活,工作,科研,各个领域,而LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内/外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用,本项目设计的led点阵书写显示屏采用了stc89c52单片机作为系统的控制芯片,系统分别由点阵模块、光笔、控制器模块、点阵驱动模块、键盘模块五部分组成。其操作方便,功能强大,在控制器的管理下在点阵显示屏上实现“点亮、划亮、反显、整屏擦除、连写多字、对象拖移”的书写功能并由键盘模块来控制来对各种功能来进行切换。
关键词:单片机 LED点阵 光电三极管
1. 设计方案的比较和选择
1.1点阵模块的选择
方案一:采用小型号的S241128K8X8点阵来组合成32x32书写显示屏
方案二:采用CILE-HL 2088A\B8X8点阵来组合成32x32书写显示屏
方案一组成的点阵显示屏较小,而方案二相对较大,为了避免光笔在操作的过程中的误差,因而采用了方案二。
1.2光笔的选择
方案一:采用光敏二极管作为感光器件。
方案二:采用光敏三极管作为感光器件。
光电二极管不能对光电转换的信号进行放大,二光电三极管可以对光电转换的信号进行放大,综合光笔整个电路选择故采用方案二。
1.3点阵驱动模块选择
方案一:采用串行方式驱动行列。
方案二:采用并行方式来驱动行列。
1.4控制系统的论证与选择
方案一:采用AT89C52作为控制系统。
方案二:采用STC89C52作为控制系统。
由于整个显示屏在扫描的过程中速度很大51系列的单片机满足不了所需要求,故采用方案二STC系列单片机作为控制系统的控制。
2.系统硬件设计
2.1系统总体设计方案
系统总体框图如图1所示。光笔把吸收到的光转变成电信号从而传给单片机处理,由键盘切换控制其各种模式从而把信号送到点阵显示屏上显示,用液晶来显示光笔接触到的点的坐标。
图1 系统总体框图
2.2主要单元模块的电路原理图设计
1.光笔的设计
当光电三极管检测到有光的时候就把光信号转换为电信号传给lm358进行放大,再经过lm393传给单片机处理。其电路原理如图2所示。
图2 光笔的电路原理图
2.点阵驱动控制设计
由于串行方式不能满足整个屏的运行速度,所以采用74h574作为行列的并行驱动芯片再经过tip127j进行放大后接到各个行码和列码。其驱动电路分别如图3和图4所示。
(1)行驱动
图3 行驱动电路原理图
(2)列驱动
图4 列驱动电路原理图
3.系统软件设计
主控制芯片采用stc89c52,控制程序使用c语言进行编程,控制程序流程图如图5所示。
图5 控制程序流程图
4.测试方法及结果分析
4.1测试仪器:
万用表、示波器
4..2测试方法
在光笔电路调试的过程中,先用万用表测其在有光条件下的阻值,再测量其在无光条件下的阻值,看看其两者的变化。
4.3测试结果
通过有光时和无光时的阻值可见光电三极管在有光的情况下阻值小无光时组织大。
5.总结与体会
通过这次电子设计比赛我们受益匪浅,同时也让我们陷入深刻的沉思。
我们以满怀的热情来参加这次比赛,经过这四天三夜的努力之后,我们没有顺利地完成这次比赛。知识的薄弱令我们在设计的过程中走了弯路,几天下来我们只完成了硬件的制作,失败是成功之母,虽然在这次比赛中我们没有完成任务,但并没有丧失我们的信心。即使在整个过程中我们都是困难重重,但经过我们大家的共同努力,我们也克服了重重困难。
参考文献
1、张志良.单片机原理与控制技术第2版.北京.机械工业出版社,2005.
2、张大明.单片机控制应用技术.北京.机械工业出版社,2006.
3、陈永真.全国大学生电子设计竞赛试题精解选.北京.电子工业出版社.2007.
LED点阵书写显示的更多相关文章
- 单片机与控制实验(2)——LED点阵显示屏
一.实验目的和要求 了解LED点阵显示的基本原理和实现方法.掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法. 二.实验设备 单片机测控实验系统 LED点阵显示器实验模块 Keil开发环境 STC ...
- LED点阵显示名字
学习了一周的单片机,然后中途有事打断了两周,现在温习一下之前学的东西,用“普中科技单片机”上的LED点阵显示自己的名字. P1接J19(绿).P2接J20(红),P0接J12(数码管段选):5V电压: ...
- LED点阵显示
/*********************************************************** 8*8LED点阵---显示数字实验 实现现象:下载程序后点阵上显示数字0 注意 ...
- 基于Proteus仿真的Arduino学习(2)——LED点阵探究A(LED点阵基础)
一.前言: 随着LED的普及,以LED点阵为基础的显示设置层出不穷.例如,公交车的线路提示牌.高速公路的信息提示牌,安装在大楼上的广告屏幕等.下面,我们将由简单到复杂地探索各种LED点阵的使用方法,同 ...
- 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595
如图3,点阵屏分单色和彩色,点阵屏是由许多点组成的,在一个点上,只有一颗一种颜色的灯珠,这就是单色点阵屏,彩色的在一个点上有三颗灯珠,分别是RGB三原色. 图4你可能没看出来,那么大块黄色的就是点阵屏 ...
- 「雕爷学编程」Arduino动手做(22)——8X8 LED点阵MAX7219屏
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 音响音箱/恒温壶/电量显示/电子数字时钟等LED数码管显示驱动IC-VK1640B 8段12位/12段8位显示
市面上最常用的数码管为七段/八段显示,八段数码管比七段数码管多一个发光二极管单元(比七段数码管多一个点),又按能显示多少个"8"可分为1位.2位.4位等等.数码管又分为共阳极驱动/ ...
- 实现定时器定时 1 秒钟,LED 亮灭显示
实现定时器定时 1 秒钟,LED 亮灭显示 要求 每隔一秒钟,实现LED灯的显隐转换 实验代码 /*************************************************** ...
- 单线制DS18B20温度传感器LED数码管显示当前的温度值
/******************************************* 程序功能:利用单线制DS18B20温度传感器 LED数码管显示当前的温度值 ***************** ...
随机推荐
- 跟我学Spring Boot(一)创建Spring Boot 项目
本人开发环境为idea15.02 + jdk8 步骤1: 步骤2: 步骤3: 步骤4: 步骤5: 相关目录介绍: resources/static:这里主要存放一些资源文件 例如 css.js.ima ...
- vs2008 安装部署 启动项
具体操作办法如下: 鼠标右键安装项目->视图->注册表 依次创建键: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion ...
- Python 单列
1.__new__内置方法 在对类进行实例化时自动执行 功能1:为对象分配空间 功能2:返回空间的引用 2.单列实现方法 class MusicPlayer: # 记录对象内存引用,初始值为None ...
- 几张图片帮助记忆docker基本原理(转)
写的非常好的一篇文章,不知道为什么被删除了. 利用Google快照,做个存档. 快照地址:地址 作者地址:青牛 什么是dockerDocker 是一个开源项目,诞生于 2013 年初,最初是 dotC ...
- centos7 hdfs yarn spark 搭建笔记
1.搭建3台虚拟机 2.建立账户及信任关系 3.安装java wget jdk-xxx rpm -i jdk-xxx 4.添加环境变量(全部) export JAVA_HOME=/usr/java/j ...
- ps中为什么在图片上面添加不了文字
我们在使用PS对某些图片进行处理时,往往会添加一些文字:但有时因图片格式问题,导致添加文字是一个小黑点,无法看清,下面就为大家讲解一下具体的处理方法. 工具/原料 Photoshop CS5.图片 ...
- 创建视图&新建表按照视图结构
create view V_tableTemp as select a.* from TEMPCLIENT a ,TEMPCLIENTSTUFF b where a.CORNO<>' ...
- 树状数组(hdu-4325,hdu-1166,pat-1057)
1.hdu-4325 题意:插花,要么给出插花的范围,要么查询某个点的花的个数. 思路:通过更新,每次更新区间S到T的数值,表插入花(这一点一开始没想到), 要么查询某个点的花的数目. (与以往单纯的 ...
- mongoDB的安装与连接
1.安装mongoDB 官网下载安装: https://www.mongodb.com/download-center/community 安装时选择自定义设置,安装到C盘program Files文 ...
- 第16章:MongoDB-聚合操作--聚合管道--$project
①$project $project作用:修改文档的结构,可以用来重命名.增加或删除文档中的字段. 执行的规则如下: |- 普通列({成员 : 1 | true}):表示要显示的内容: |- “_id ...