历史上的今天
返回首页

历史上的今天

今天是:2024年12月18日(星期三)

正在发生

2019年12月18日 | 经典的运用PIC单片机实现LED点阵手写屏设计方案

2019-12-18 来源:elecfans

本文提出了一种基于PIC单片机的LED点阵手写屏设计方案,本方案采用PIC 16F877A单片机为主要核心控制元件,设计了一个32×32 LED点阵模块的书写显示屏。它主要由光笔模块和点阵显示模块组成,光笔模块利用光敏电阻的光电特性,实现微亮检测功能。


1  概述

本方案采用PIC 16F877A单片机为主要核心控制元件,设计了一个32×32 LED点阵模块的书写显示屏。它主要由光笔模块和点阵显示模块组成,光笔模块利用光敏电阻的光电特性,实现微亮检测功能。光笔反馈信号经放大器LM324比较后,送给单片机处理。32×32点阵显示模块、驱动模块由74HC595外设驱动阵列和8位串行输入/输出移位寄存器ULN2803A组成。光笔通过显示屏微亮扫描寻找坐标值,按键和LED指示灯可实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示功能。


2  方案总体构成

本方案中的系统设计包括三大部分:PIC 16F877A单片机主控器、光笔控制器、点阵显示屏。系统的结构如图1所示。

图1 系统结构框图

PIC系列单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。其内部还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,并包括A/D和D/A模块,执行速度快,功能强大。


光笔选用光敏电阻作为感应器件,根据光敏电阻的光电特性,光敏电阻两瑞电压因光电阻的变化而变化。电压值经电压比较器LM324比较后可输出高/低电平。光电特性非线性易调节,且灵敏度较好。


LED与数码管同步使用,LED用于功能指示灯,数码管用于32×32点阵LED模块书写显示屏当前光笔所在的行/列坐标值。


3  硬件设计

3.1 分析与计算

3.1.1 光笔选取与参数设计

点阵用微亮的光进行扫描,光笔用来感应。当光笔感应到光时,通过程序可获当前点阵光对应的坐标值。从而做出相对应的处理。光笔起着关键作用,其感应器件是光敏电阻。光敏电阻的光电特性如图2所示。

图2 光敏电阻光电特性


光敏电阻安装在光笔笔头,用于感应点阵扫描光。光笔电路图如图3所示。电路经过放大器LM324进行正相输入/反相输入电压比较,输出高低电位。经测量可知,在光照条件下,LM324输出端为0V(RB0),光敏电阻两端电压为0V;无光时,光敏电阻两端电压为2.8V,LM324输出端为高电位。由分压公式可得出RP阻值为7360Ω。当光笔接收到不同光线时,只需调节电位器,光笔正常工作。所以,在不同环境下,只需调节电位器,点阵显示屏一样正常工作。

图3 光笔电路图


3.1.2 屏亮自动调节设计

屏亮自动调节设计采用光敏电阻和LM317(三端可调正电压稳压器)实现屏亮自动调节。由光敏电阻光电特性原理可知,光敏电阻在不同光线照射下,阻值不一样。根据此原理,光敏电阻与LM317可调电阻并联。当光线不一样时,LM317输出不一样的电压阻值。屏亮自动调节电路如图4所示。

图4 LID屏亮度自动调节电路


LM317输出电压计算,Vout由调节端的总电阻R和电流I共同决定。其输出电压计算公式为:

这里通过改变电阻而改变电压。


3.1.3超时关显示节电设计

当光笔长时间(1~5min时间可由控制器输入设定)未接触显示屏,能自动关闭显示并进入休眠状态。进入休眠状态由程序控制,单片机进入休眠后,消耗电流在2mA以下。


3.2 电路设计

3.2.1 点阵显示屏电路设计

32×32点阵LED显示屏共有32个端口,如不驱动点阵,占用单片机I/O过多。这里采用74HC595(八外设驱动阵列)、ULN2803A(8位串行输入/输出移位寄存器)点阵行驱动和74HC154、7404点阵列驱动。共同完成32×32点阵LED显示屏驱动。显示屏行驱动电路如图5所示、列驱动电路图如图6所示。仅仅用到8个I/O口,点用资源少,易控制并且显示效果很好。

图5 显示屏行驱动电路图

图6 显示屏列驱动电路图


3.2.2 坐标显示电路设计

根据题目要求,在“点亮”功能下,光笔接融到显示屏某点时,控制板同步显示该点的坐标值。坐值标为数字,所以可采用四个数码管作为显示器件。采用74LS164扩展单片机I/O口,其电路如图7所示。共有四套这样的电路,其中两套用于X轴显示,另外两套用于Y轴显示。

图7 坐标显示电路


4  软件设计

该系统对软件设计要求高,大部分功能只能由软件完成。因程序量大,时间有限,采用C语言编程,这样就大大提高了程序移值性问题,提高了编程效率。编程关键点在于微亮扫描与捕捉储存,如图8所示。

图8 扫描与储存部分流程图


5  总结

本方案所设计的32×32点阵LED模块书写显示屏,采用PIC 16F877A单片机为主要核心控制元件,主要由光笔模块和点阵显示模块组成,应用光敏电阻的光电特性,对光进行检测感应,反馈给单片机,光笔通过显示屏微亮扫描寻找坐标值,按键和LED指示灯可实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示功能。从而也证实了本方案具有较强的实用性。

推荐阅读

史海拾趣

Aavid Niagra公司的发展小趣事

Aavid Niagra公司在成立之初,面临着资金短缺、市场竞争激烈以及技术壁垒等多重挑战。然而,创始人凭借对电子散热技术的深刻理解和前瞻性的市场洞察,成功研发出了一款高效能的散热解决方案,赢得了行业内的初步认可。通过与几家大型电子设备制造商的合作,公司逐渐在市场上站稳脚跟,为后续的发展奠定了坚实基础。

安信可(Ai)公司的发展小趣事

在不断创新和突破的过程中,安信可不断推出具有创新性的产品。例如,公司推出的WiFi+BLE蓝牙二合一的Ai-WB1系列模组,凭借其高可靠度、高集成度、应用灵活、高性价比等特点,深受市场欢迎。这款产品不仅为智能设备提供了无线通信连接能力,还广泛应用于工业、商业、消费等各类市场,进一步拓展了安信可的应用领域。

Hanghsing Enterprise Co Ltd公司的发展小趣事

随着物联网技术的快速发展,安信可也迎来了技术升级的关键时刻。2014年9月,安信可成功引入ESP8266 SoC方案,这一技术升级为公司带来了更多的市场机会。到了2016年5月,安信可更是成功转型为一站式物联网模组解决方案提供商,为客户提供从模组到应用的全方位服务。

Advanced Detector Corp公司的发展小趣事

随着技术的不断成熟和市场的扩大,ADC开始将业务扩展到更广泛的领域。公司不仅继续深耕探测器领域,还逐渐拓展到传感器、测量仪器等多个领域。通过不断推出多样化的产品,ADC成功满足了不同客户的需求,并在市场上取得了良好的口碑。

AK-Nord_GmbH公司的发展小趣事

AK-Nord_GmbH深知人才是企业发展的核心。因此,公司注重人才培养和团队建设。公司定期举办内部培训和交流活动,提升员工的专业技能和团队协作能力。同时,公司还积极引进外部优秀人才,为公司的创新发展注入新的活力。这些举措使得AK-Nord_GmbH的团队逐渐壮大,为公司的发展提供了有力的人才保障。

EVER-WAY公司的发展小趣事

作为一家有社会责任感的企业,EVER-WAY公司始终关注环境保护和社会公益事业。公司积极推行绿色生产理念,采用环保材料和节能技术,减少生产过程中的污染和能耗。同时,公司还积极参与社会公益活动,捐款捐物支持灾区重建、教育扶贫等事业。这些社会责任的担当不仅体现了公司的良好形象,也为公司赢得了社会的广泛赞誉和尊重。

问答坊 | AI 解惑

汽车防滑控制系统制动液的使用(下)

(1)打开储液室盖,将新制动液注入储液室,使液面达最高液位标记(如图 1所示“〈”标记)处。(2)如果制动系统刚进行过修理,或平时感觉到制动踏板发软、踏板行程过长,则应排除空气。排除空气应根据不同车型,严格按规定的程序进行操作。(3) ...…

查看全部问答>

DSP SM510仿真器电路图

我从国外网站下载的XDS510电路图,但不知是什么软件画的。请各位路过的神仙试一试,看是否是OrCAD画的。我打不开。…

查看全部问答>

请问各位高手谁用过哪位大侠用过群创AT070TN84这个7寸LCD??

请问各位高手谁用过哪位大侠用过群创AT070TN84这个7寸LCD?? 急!!!…

查看全部问答>

一个十分奇怪的问题(关于Flash的)

我通过串口把数据传输给Flash ,传输完成后,断电过1-2分钟开机,通过串口能打印出刚才下载到Flash中的数据,但是在断电后过大约30分钟以上,具体时间不是很清楚了,(有时5分钟,有时1,2小时),再上电,通过串口发现写入的数据没有了! ...…

查看全部问答>

谁有usb驱动程序的源代码?

个位大侠: 我是刚自学usb驱动程序,正打算做usb驱动程序用于毕业设计. 求一个usb驱动程序源码做参考! 有意者请发一份给我!不慎感激!!! 我的e_mail:zhouq200418055@sina.com.cn…

查看全部问答>

一种神经信号调理电路的设计

人体的神经信号直接表征着人体自我的意思,研究神经信号为了解、识别人体提供了一条途径。多年来。目前,研究内容主要包括神经电极和神经信号调理电路两部分。神经电极可以将神经电信号从人体中提取出来,而神经信号调理电路则对神经信号进行去噪、 ...…

查看全部问答>

请问一个外部存储器总线读写的问题

把液晶控制器以总线连接方式接到2407DSP上,即     LCD 8位数据线 DB7-DB0 接到 DSP数据线 D15-D18 引脚               LCD的 R/W   接到 DSP地址线 A1 引脚   &nb ...…

查看全部问答>

C2000 Launchpad是否可以仿真其他带JTAG的TI MSP430

C2000 Launchpad是否可以仿真其他带JTAG的TI MSP430?? 因为都是JTAG的嘛,不知道行不行.…

查看全部问答>

14年第一天体验了下RTX-51 tiny

今天天气不错,早上看了下RXT-51的操作手册,下午写几行代码试了下,一次性通过。搞了个数码管显示温度的的。 #include #include unsigned int TEM() ; void DS18B20int() ; #define                ...…

查看全部问答>

搬家之后的工作台

本帖最后由 elvike 于 2014-8-21 20:27 编辑 搬家,今年第三次了。不过工作台大了一点。…

查看全部问答>