基于STM32的LED点阵屏的设计与实现
2 软件系统设计
本文引用地址:http://www.amcfsurvey.com/article/266574.htmSTM32 系列微控制器采用C 语言进行程序设计,开发调试环境为Keil MDK.主程序流程图如图4 所示。
图4 主程序流程图
当系统上电后,LCD 与LED 点阵屏分别显示各自的开机界面。与此同时,STM32 对键盘进行扫描。
任何状态,按下"背光"键就可打开或关闭液晶的背光灯,此功能使得该点阵屏在夜间也可以随意使用,白天可以将背光手动关闭,减小功耗,节约能源。
当"设定"键按下后,进入功能选择显示界面。
此时按上下键可进行功能选择。依次进入点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移、设定休眠时间、调节亮度等功能。指示图标在哪种功能前闪动,代表该功能被选中,点阵屏即可在系统控制下执行相应功能。在任何一种功能下,按下"确定"键即可显示光笔位置的坐标。此功能在各项功能下均可跟随光笔坐标,以便快速确定光笔所在位置。
在连写多字功能中,每写好一个字后,按下自定义的"1"键将写好的字存储至相应的数据缓冲区,四个字写完后,用光笔靠近点阵屏给STM32 一个信号即可将已存储的四个字逐个轮流显出。为方便书写,加快书写速度,字体存储后,当光笔靠近点阵屏时,给予自动清屏。在对象拖移功能中,先圈定对象,用光笔在对象上选定坐标参考点进行拖动,判断光笔当前坐标与参考点坐标的关系,对圈定对象对应的RAM 区数据进行相应的操作[4],之后更新参考点坐标值,重复上述指令,直至对象拖移结束。
在调节亮度功能下,点阵屏可根据环境自动改变亮度。操作人员也可根据需要手动调节,并保持该亮度[4].
3 测试方案与测量结果
3. 1 测量设备
主要的测量设备有直流稳压源YB1730、数字式万用表( FLUKE 15B) 、万用表SJ47100MHz 和双通道示波器( TeKtronix TDS2012B) .测量单位是秒表,精度0. 01s.
3. 2 实际测量结果
3. 2. 1 点亮、擦除。
"点亮"模式如表1 所示。
表1 "点亮"模式
结果显示: 点亮点准确,坐标显示准确。
"擦除"模式如表2 所示。
表2 "擦除"模式
3. 2. 2 屏亮调节。
屏亮调节测试如表3 所示。
表3 屏亮调节测试
4 结束语
本系统以STM32F103VCT6 作为控制核心,用74HC245、74HC595、74HC138、
74HC04 与4953 驱动32 × 32LED 点阵屏,用光笔来检测LED 点阵屏的扫描从而确定相应点的坐标,用触摸屏切换各个功能并显示当前的坐标和功能模式。经过功能测试表明本系统的硬件稳定,功能完善,采用C 语言编程实现了点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移、显示屏亮度的自动调节以及超时自动关屏等基本功能和发挥功能,还实现了"画圆"和"填充"创新功能。本系统以低廉的成本和逻辑性极强的程序实现LED 显示屏的"手写"功能,其功能还有很强的可扩展性,具有广泛的应用前景。
手机电池相关文章:手机电池修复
led显示器相关文章:led显示器原理
锁相环相关文章:锁相环原理
评论