通用型智能LED显示面板设计
2.3 通信接口电路
此显示面板既可作为智能调节仪表的显示器使用,也可作为独立显示器使用。但是,无论何种应用,都需数字通信。
AT89C5X单片机有一个内置的串行通信接口。在作为智能调节仪表的显示器使用时,考虑到智能调节仪表与上位机通信要占用仪表的串行
通信接口,因此,显示面板与调节仪表的通信就不能使用此接口。为此,本显示面板自定义了与调节仪表的通信接口电路,即将单片机的P3. 2、P3.3、P3.4、P3.5作为与调节仪表的数字通信接口。通信时,可将两个单片机的P3.2、P3.3交叉相连作为握手信号,P3.4、P3.5互联作为数据传输线。P3.2、P3.3具有外部中断功能,故可设计采用外部中断方式来进行通信,以提高数据的传输速度。
若作为独立显示器使用时,可使用显示面板内部的串行通信接口。该方式只需要对连接串口引脚的发光二极管进行调整即可。
2.4 按键
通常根据按键数量的多少,可将按键的设计分为矩阵式键盘和独立式键盘。
矩阵式键盘常用在按键数量较多的系统中,这种键盘由行线和列线组成,按键设置在行、列结构的交叉点上。行列线分别连在按键开关的两端。
独立式键盘通常用在按键较少的系统中,每个按键单独占有一根I/O口线,各键的工作状态相互独立,互不影响。由于本文的显示面板的调节按键只有4个,因此,设计使用独立式按键接法。其键盘接口电路如图2所示。本文引用地址://m.amcfsurvey.com/article/187722.htm
图2中,单片机P0口的P0.4、P0.5、P0.6、P0.7分别与按键1、2、3、4相连,以对按键操作进行控制。在按键处理时,通常要考虑按键去抖问题,经常使用的硬件去抖方法有滤波消抖电路和双稳态消抖电路,也可以采用软件去抖。本文在设计时,考虑到LED显示面板大小的限制,故采用软件去抖方法。
3 软件设计
本LED显示面板的功能可用C51语言实现。软件功能包括正常运行和仪表参数设定。
3.1 主程序
本设计的主程序主要完成显示面板功能的确定、系统初始化、定时器初始化、按键功能的实现以及二极管的功能实现等。
(1)显示面板功能的确定
这里采用组合键操作来进行显示面板的功能切换。
初始状态下,若作为调节仪表的显示器使用,则其正常工作状态,为状态1。
在状态1情况下,按下按键4不释放,再将按键1按下,此时仍可作为调节仪表的显示器使用,但系统会进入参数设定状态,此为状态2。为了提醒进入状态2,红色发光二极管会闪烁三次以提示参数设定完毕,连按两次按键4,即可返回状态1。
在状态1下,按下按键4不释放,再将按键2按下,此时将为独立的显示单元使用状态,该状态为状态3。同样,为了提醒是进入状态3,绿色发光二极管会闪烁三次予以提示。若需状态3返回状态1,只要在正常巡检情况下,将按键2按下即可。
(2)系统初始化
系统初始化主要包括按键、LED数码管以及发光二极管的初始状态设定。本面板右边四个按键对应P0口初始状态值为0xf0;LED数码管对应的P1、P2口的初始状态值可先设置为0x00、0x00,经过一段时间延迟后再设置为0xff,0xff,这样,在程序开始执行时就可以检查数码管是否能正常工作;发光二极管对应的P3口的P3.0、P3.1、P3.6、P3.7的初始状态设置与LED数码管相同。
(3)定时器初始化
定时器的初始化包括定时器工作方式的设定和定时初值的设置。
本文的LED数码管采用动态(扫描)驱动显示方法,设计时要注意扫描时间的设置。该时间要既能保证LED数码管的亮度,又不会使人眼感觉到闪烁。
定时器的工作模式为方式1。此模式下的计数脉冲频率为fcont=fosc/12,计数初值x可以通过公式设定:
X=M-计数值=M-t/T=M-fosct/12
其中,fosc为振荡器的振荡频率,t为要定时的时间。M为定时器的最大定时时间。
根据视觉暂留特性。人眼睛对动态频次的分辨率一般为1/16~1/24s,因此,可以将LED数码管轮流显示的时间设定为小于这个分辨率的任何一个时间。本文在设计时,经过多次试验发现,将定时器的初值设定为EC00H(2.78ms)比较合适,此时,在状态1、3下,对于LED数码管的闪烁,人眼几乎不可识别。
(4)按键功能的实现
在状态1及状态3下,按键的功能比较容易理解,这里来对状态2下的按键功能进行说明,图3所示依次为1、2、3、4键。其中按键1可进入设定状态,上面一行显示参数的值,下面一行显示当前是第几个参数;按键2用于对当前闪烁数据位进行加1操作,可依次从0增加到9,当增加到10时,又自动变为0;按键3用于改变设定的位,每按下一次,闪烁数据位向后移动一位,当移动到第四位再按下此键时,闪烁位变为第一位;按键4用于确认参数的设定和保存。
燃气报警器相关文章:燃气报警器原理
评论