总体构成
本测量仪的信号采样通过P0口的八根输入线可接受八路经过整形后的标准TTL电平,因此可测量不同传感器传来的脉冲型物位采样信号,只要在原始信号基础上加以整形处理即可,每来一个脉冲均被P0口捕捉到并可以通过软件编制使脉冲计数增一,定时读取计数和便可以换算成相应的物位情况。通过P3.3~P3.5 三条线与串行显示驱动器Max7219的连接加以软件编程可完成八位数码管显示驱动,利用P1.3~P1.6四条口线接入四个按键,完成按键操作,利用 P2口作为八路输出控制,可驱动八路固态继电器。具体组成见图1。
图1
硬件线路设计
AT89C52 芯片是基于MCS-51结构的高集成度8位微控制器,其主要特性是具有一个用于多处理器通讯的增强型串口和一个增/减定时器计数器,专门适用于控制应用。选用89C52的另外一个重要原因就是在芯片上实现了256字节的RAM,高端128字节的地址和特殊功能寄存器(SFR)的地址相同,但可以通过不同寻址方式区分,因此解决了测量仪的软件编程所用的RAM空间,不必再另外扩展随机存储器,节约了硬件资源。
串行显示设计
多位LED显示时,常将所有位的段选线并联在一起,由一个8位I/O口控制,也可采用并行扩展口构成显示电路,通常,需要扩展器件管脚的较多,价格较高。在本测量仪中,为了节约I/O口资源,采用了由Max7219芯片构成的串行显示方式。Max7219是串行输入,输出共阴极显示驱动电路,可直接与单片机的3条I/O线接口,特别适用于I/O口线少的系统,并且可以程序控制数码管的亮度。在本设计中,采用P3.3~P3.4三条线经74LS273锁存后与Max7219相连接,P3.3、P3.4锁存后分别作为7219串行数据输入信号DIN和时钟信号 CLK,P3.5输出口锁存作为LOAD信号。具体硬件线路图见图2。
软件计数器的设计
在物位测量仪表中,当传感器书送来的信号为脉冲量时,通常需要通过专门计数器芯片如8254等来完成脉冲的计数,CPU将此变化的计数信号处理后使传感器送来的脉冲的个数与物位信号相对应。而在本设计中,巧妙利用了89C52的P0口资源,将脉冲量整形后直接送至P0口的8条数据线,此时P0口作为数据输入口使用。通过软件设计,每路开辟存贮单元(利用片内RAM),当P0口有电平跳变时,相应的计数单元计数加1,通过软件设置定时器,当定时时间到时,读取存储单元数值并清零,这样就完成了软件计数器的功能,节约了硬件资源,降低了硬件成本。
本设计的创新点在于充分利用了AT89C52的硬件资源,实现了软件计数器,能够对脉冲量信号所反映的物位信号通过数码管来显示,显示部分的处理采用Max7219显示驱动器,与软件编程相结合,大大节约了硬件资源,减少了通用的单片机扩展芯片,降低了成本。