基于视觉暂留的动态扫描LED旋转屏
3 POVLED软件设计
3.1 程序流程图
51常用的编程语言有汇编语言和C语言。汇编语言的机器代码生成效率很高,虽然可读性不强,但在深刻了解硬件结构上,有着C语言无法比拟的优势。本文的软件编写即是通过汇编语言实现,编程流程如图5所示。整个软件系统包括系统初始化程序、磁电检测程序、红外检测程序、红外解码程序、外部中断程序、SPI总线通信程序、时钟程序等模块组成。本文引用地址://m.amcfsurvey.com/article/167869.htm
SPI总线的基本信号线为3根传输线,即SI,SO,SCK。传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出,该种串行I/O口方式可以减少管脚的使用。
以上模块中,磁电检测模块、SPI通信模块及红外解码模块是POVLED工作的核心。
3.2 延时程序的计算
基于视觉暂留的电子屏读取数据并显示,这个过程需要持续一段时间,这段时间即是上文所提及的“时间区域”概念。在该段时间内,数据禁止被更新。超时之后,读取新一组数据,延时并保留一段时间,整个过程即为动态刷新显示。延时时间的长短,在转速稳定之后反映为字符的宽度,即延时时间越长,显示的信息在空间的位移越大,一个完整的字符就越宽,反之越窄。
本文使用规格为50 mil×80 mil(1 mil=0.025 4 mm),封装型号为0805的贴片二极管,相邻两个二极管之间间距与自身宽度相当。环形显示区宽度为16×2×0.0254×50≈40.6mm;由于显示区近轴点外侧与圆心距离为40mm,故显示区远轴点外侧与圆心距离为80.6mm,取60 mm处进行计算,环形显示区长度为2π×60≈377mm。可以显示正方形汉字个数为377÷40.6≈9.29,向下取整即为9个汉字。故一个刷新周期由9×16=144个延时区间构成,在2200r/min的恒定转速下,1s旋转圈数为2200÷60≈36.67,旋转一圈所需时间为1÷36.67≈27.27ms,可以计算出延时区间长度为27.27÷96≈189μs,如图6所示。
实验表明:延时区间的长度设定在189μs可以获得良好的实验结果,显示效果美观,理论计算正确。
4 结论
(1)实现了基于视觉暂留现象的文字信息显示,磁电传感信号与旋转PCB板物理零点精确同步,信息显示稳定,无闪烁、抖动现象。
(2)采用STC单片机作为整个系统控制核心,软硬件系统结构紧凑、响应快、控制方便、抗干扰能力强,进一步改进后是一种集通信、显示、控制为一体的新型显示屏。
(3)实验表明,该种显示屏可以方便地应用于环形、圆形、柱面、球面等非矩形旋转场合,只需要更换LED硬件显示部分的外形,就可以在以上四种形状中互相转换,成本低、可靠性高,应用前景良好。
评论