LED32*32点阵书写屏设计方案

一、引言

       目前LED显示屏都是采用字模软件生成好的字节序列然后进行显示,而LED点阵书写屏是一种无需通过字模软件编码即可给LED显示屏提供显示信息的一种新的交互方案,通过光敏二极管或光敏三极管在屏幕上捕获LED点阵的驱动信号,从而反馈至控制器点位的坐标,进行相应显示功能。这里介绍一下我在很多年前读大一参加比赛时候做的一个比较完整的点阵书写屏设计方案。有需要请留言。

二、系统整体架构

书写屏采用STC单片机为控制器,采用LED扫描和显示屏二分法,设计了一个32×32 单色LED点阵模块的点阵书写屏,

                                              

                                                                        图1 系统整体结构图

主要包括:

  1. STC12C5A60S2(STC89C52RC)为主控,1T单片机
  2. 光笔检测模块,利用光敏二极管的光电特性,实现微亮检测功能
  3. 点阵模块,由168X8 单色共阳LED点阵级联
  4. 行驱动模块,由两片74HC154构成5-32译码器实现对行信号的选择,选中的行用4953均流驱动LED,控制LED的亮度均匀
  5. 列驱动模块,采用474HC595串行移位控制器实现对列信号的选择,三线控制可以很方便的实现扩展同时节省IO口资源
  6. 单片机最小系统,人机交互部分采用四个独立按键和液晶LCD1602实现对程序功能的选择

程序运行时, LCD1602菜单显示并配合按键实现各个功能的切换和相互调用,光笔通过显示屏微亮扫描寻找光笔的位置,可依据功能可实现点亮(单点)、划亮(多点)、反显、整屏擦除、笔画擦除等基本书写显示功能, “坐标显示、连写多字、显示内容移动、对象拖移、画空框、画实框、区域填充、掉电唤醒” 等其他特殊功能。

书写屏驱动方式合理、控制方式灵活、光笔灵敏度高、抗自然光干扰能力强、显示内容丰富、程序资源丰富、二次开发简单,可作为控制类课程设计、电子类毕设、单片机学习的优秀硬件平台。

三、电路原理

3.1 行驱动

行驱动模块由两片75HC154416,高速)和一片反相器(与非门、斯密特反相器均可)级联构成32行信号输出,实现对行信号的选择,选中的行采用专用的LED驱动芯片4953,每一片可驱动两行驱动LED,实现动态控制过程中LED的亮度均匀。

                                          

3.2 列驱动

列驱动模块用四片74HC595级联实现列的控制。74HC595具有十分明显的优点:18位串行输入/8位串行或并行输出,存储状态寄存器,具有三种状态;2,并行输出时具备总线驱动;3,只需使用3IO口即可实现多位数据的输出。

                                                     

3.3 光笔检测

光笔检测模块主要为光敏二极管,采用的光敏二极管开关时间小于1us,有光时电阻1k左右,无光时电阻100K左右,串接一个500K的电位器到地,同时用一个反相器(与非门、斯密特反相器都可)对光敏二极管的检测信号进行整形,调节电位器的值使得一旦检测到光强超过自然光光笔检测模块输出低即可,单片机检测的接口为P3.2。同时预留了一个外接光笔检测模块,单片机检测的接口为P3.3

                                                              

3.4 控制和显示

控制和显示部分包括单片机的最小系统,LCD1602显示电路和4个独立按键,四个按键功能分别为:确定Enter、功能上翻Up、功能下翻Down、返回退出Return

   

四、程序结构

控制系统的软件编写采用c语言,在KEIL V4集成环境中编写和调试。为了编写和调试的方便,采用结构模块化设计,根据按键检测、扫描、LED屏的显示,LCD1602液晶显示菜单等各个模块的功能分别设计程序,构建头文件,使程序在调试开发的时候,十分方便,极大缩减了开发周期。本系统使用LCD1602液晶和4个按键来作为人机交互界面,从而方便的实现各个功能的切换,LCD1602的操作比较的简单,作为显示信息,两排显示通过按键切换已经足够。 

                                                              

 

五、实物照片和视频记录

曾经将这个测试视频上传到了土豆,应该还能看:http://www.tudou.com/programs/view/kVOucCTUMlI/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SecureCRT日志配置

SecureCRT设置 日志文件名: D:\Embedded\SecureCRT\SessionLog\%S__%Y-%M-%D_%h%m.log 连接时: [%Y%M%D %h:%m:%s] 在每行: [%h:%m:%s]

linux6添加chkconfig管理,10、14 Linux系统服务管理工具-chkconfig

chkconfig --listchkconfig --level 3 network offchkconfig --level 345 network offchkconfig --del networkchkconfig --add networkchkconfig工具crond、iptables、firewalld、nginx、httpd、mysql等等,都属于服务。chkconfig工具,在centos6和之前的…

Exchange2003-2010迁移系列之二,迁移前的准备工作(上)

Exchange2010迁移前的准备工作(上) 上篇博文发出后,很多博友支持得非常给力,在此一并谢过!也有一些博友反映看得不是很明白,但仍然支持…..本文中首先就环境问题再为大家解释一下,然后介绍如何进…

BMP图像文件格式分析附带图解

From: http://www.raidcn.com/js/BMPTuXiangWenJianGeShiFenXiFuDaiTuJie.html 认识BMP文件格式,以及bmp文件存储结构 ,通过winhex查看文件结构解析。 一、认识BMP文件格式. 1、 BMP格式是由微软公司开发。通常BMP图像文件的后缀名是BMP,但…

matlab安装MinGW-64代码C/C++编译器的方法

一、说明 matlab中编写的m文件转成C/C代码,以及matlab中执行C/C带啊,需要用到mex 查看matlab是否支持可以输入mex -setup: 二、安装 如果不支持,没找到,则需要重新安装,下载地址:http://tdm-…

mybatis+spring+c3p0+maven+ehcache

项目截图 pom.xml如下 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">…

windbg linux内核调试,windbg调试虚拟机XP系统

一、先介绍一下被调试的虚拟机系统环境:虚拟机:vmware workstation 10.0版本虚拟机操作系统: Microsoft windows xp professional 2002 service pack3cpu:2.8GHz,2.64GB内存二、这个没有直接关系。做个笔记而已。1.在XP系统中&#xff0c;创建了一个first.c文件测试代码如下:#i…

C#反射技术在多语言实现中的实际用处参考,让初学者学技术有个针对性【附源码】...

做软件&#xff0c;有点儿类似铁人三项比赛&#xff1f;赛跑、射击、游泳? 光某个环节突出&#xff0c;也没多大用&#xff0c;需要整体能力都强&#xff0c;能把整体都可以搞定&#xff0c;才容易得到比赛的胜利&#xff0c;光某一环节非常优秀&#xff0c;也赢得不来整个比…

华为网卡支持linux,在openwrt下对华为WA633无线AP的千兆网卡驱动进行支持

1.下面是这款AP的全裸图&#xff0c;AP的无线网卡采用了AR9223&#xff0c;PHY采用了博通的BCM5461&#xff0c;主控CPU位octeon 500&#xff0c;射频功放采用的是RF5602方案。由于这款CPU并不常见&#xff0c;我至今未在网上找到它的datasheet&#xff0c;导致我们在玩这款AP的…

linux 正则表达式 视频教程,30分钟带你玩转正则表达式

定义&#xff1a;正则表达式说白了就是有普通字符、以及特殊字符组成的文子模式。{匹配模式标准}正则表达式将会作为一个模板与所搜索的字符串进行匹配。可以让使用者轻易达到搜寻/删除/取代某些特定字符的处理程序。此外vim、grep、find、awk、sed等命令都支持正则表达式注&am…

电脑SSH登陆树莓派Raspberry的两种方式

采用SSH登陆Raspberry需要提前知道Raspberry的IP&#xff0c;SSH登陆端口为22&#xff0c;这里分享两种基于SSH网络登陆树莓派的方式。 一、利用路由器搭建局域网登陆树莓派 1、用路由器搭建局域网&#xff0c;电脑无线或有线方式连接路由器&#xff0c;树莓派用网线连接路由…

Linux sed工具用法

一、sed用法 语法&#xff1a; sed [-nefr] [动作] 作用&#xff1a; 以行为单位的新增/删除/修改/插入/替换等功能&#xff0c;bash脚本中常用。sed功能强大&#xff0c;主要体现在[动作]的指定 选项与参数&#xff1a; -n &#xff1a;只有经过 sed 特殊处理的那一行&…

SourceInsight配置

如图&#xff1a; 1&#xff09; SourceInsight: a) 搜索结果直接替换 b) 配置背景色 c) 显示行号、设置tab键宽度为4个空格以及其他 d) 字体设置 e) 不创建备份文件

linux防火墙查看被动模式,Centos7搭建vsftpd及被动模式下的防火墙设置

一、安装vsftpd&#xff1a;yum -y install vsftpd二、 创建用户名useradd zhangsanpasswd 123456useradd lisipasswd 123456在配置文件下设置拒绝匿名访问重启下服务systemctl restart vsftpd.service将lisi添加进黑名单vim /etc/vsftpd/ftpusers黑名单是路径位于/etc/vsftpd/…

前端小知识点(1):undefined和null区别

目录 一、奇怪点 二、历史原因 三、具体区别 四、代码演示 五、运行结果 一、奇怪点 有点奇怪的是&#xff0c;JavaScript语言居然有两个表示"无"的值&#xff1a;undefined和null。这是为什么&#xff1f; 二、历史原因 1995年JavaScript诞生时&#xff0c;…

六款主流数据恢复软件(绿色版)下载

From: http://hi.baidu.com/zhaodx/item/406401abe55cfa9e14107377 由于我们误操作或病毒侵害等意外情况发生&#xff0c;难免会删除硬盘上的有用数据或文件&#xff0c;此时请记住&#xff1a;千万不要再往这个硬盘里复制文件或写入新的数据了&#xff0c;哪怕已经清空了回收站…

树莓派UART串口编程--使用wiringPi库-C开发【1-基础应用】

一、串口说明 莓派3B上UART串口位于GPIO的8脚和10脚&#xff0c;分别为GPIO8Tx&#xff0c;GPIO10Rx。在连接外部接口时&#xff0c;需要交换接口&#xff0c;即GPIO8连接到外设的Rx&#xff0c;GPIO10连接到外设的Tx。Rpi3的接口如下&#xff1a; Rpi3B的GPIO8和GPIO10该串口…

linux mint视频,Linux Mint 20.1 beta 发布,新增免费视频播放器

经过六个月的开发&#xff0c;Linux Mint 20.1“ Ulyssa”的 Beta 版于近日发布了。Mint 20.1 是一个长期支持(LTS)版本&#xff0c;基于 Ubuntu 20.04 LTS &#xff0c;将持续维护到 2025 年。该 Beta 版本基本上实装了此前预告的一些新功能&#xff0c;并提供了 Cinnamon、MA…