压力数据采集监测系统 压力是日常生活中经常遇到的物理量。在有些需要经常监测压力的场合,如果采用PC机等数据采集系统,成本会比较高,此时最好采用以单片机为中心的数据采集监测系统。本文介绍一个简单的可采集2路压力的压力数据采集检测系统。其中第一路压力变化范围是0-30kPa,第二路压力变化范围是0-50kPa。要求实时采集并显示这2路压力值,同时当第一路压力超过25kPa、第二路压力超过40kPa时报警灯亮。 为使问题简化,在此我们要求显示分辨率为小数点后一位的数值,要求用三位数码管显示压力值,二位数码管显示通道标志,即最左边一位显示“C”,左边第二位显示通道号“1”或“2”。要求不间断地轮流显示两个压力点,在转换通道间隙关显示。 1题目分析 根据要求,可以组成一个以单片机为中心的测量报警系统,在此选用AT89S51为控制机,采用ADC0809芯片进行模数转换。压力信号首先要经过压力传感器(内含放大器)变换为0-5V的电压信号,然后此信号再送入ADC0809进行模数转换,转换后的数字量送入单片机。此量值与输入的电压值相对应,例如,因为采用的AD卡是8位的,其输出的数码为0-255,输入电压范围是0-5V,如果输入量是线性变化的,则7FH对应2.49V, FFH对应4.99V。如果要显示实际压力值,则还要进行标度变换。对本例而言,第一路压力P1的标度变换应该是B1=30kPa/255,第二路压力P2的标度变换是B2=50kPa/255。如果采集的数字值用D表示,则变换后的压力值分别为P1=D1*B1,P2=D2*B2。这就是我们准备显示的数字量。 2 硬件设计电路 根据本项目的要求,硬件电路设计如图1所示,用AT89S51的P1.1、P1.2作为2路压力的报警端,两路压力信号经IN0、IN1分别送ADC0809转换。 转换启动信号(START)和地址锁存信号(ALE)连接在一起,由WR信号控制地址写入,进行通道的选择。按图中连接情况,通道IN0、IN1的地址分别为2FF0H、2FF1H。8255是用于共阴极数码管显示的接口芯片,8255的A、B、C及控制口的地址分别为4FFCH、4FFDH、4FFEH、4FFFH。 五位数码管显示缓冲区的存储单元设为内部RAM 28H-2CH(对应C0-C4)。 转换后的数据以定时传送方式送89s51.所以要运行一个延时子程序,以等待AD转换完成后进行数据的读操作,为此口地址和RD信号相与后送0809的OE端。当RD有效时,转换数据送至数据总线,由89s51接收。 FFH对应4.99V。如果要显示实际压力值,则还要进行标度变换。对本例而言,第一路压力P1的标度变换应该是B1=30kPa/255,第二路压力P2的标度变换是B2=50kPa/255。如果采集的数字值用D表示,则变换后的压力值分别为P1=D1*B1,P2=D2*B2。这就是我们准备显示的数字量。 2 硬件设计电路 根据本项目的要求,硬件电路设计如图1所示,用AT89S51的P1.1、P1.2作为2路压力的报警端,两路压力信号经IN0、IN1分别送ADC0809转换。 转换启动信号(START)和地址锁存信号(ALE)连接在一起,由WR信号控制地址写入,进行通道的选择。按图中连接情况,通道IN0、IN1的地址分别为2FF0H、2FF1H。8255是用于共阴极数码管显示的接口芯片,8255的A、B、C及控制口的地址分别为4FFCH、4FFDH、4FFEH、4FFFH。 五位数码管显示缓冲区的存储单元设为内部RAM 28H-2CH(对应C0-C4)。 转换后的数据以定时传送方式送89s51.所以要运行一个延时子程序,以等待AD转换完成后进行数据的读操作,为此口地址和RD信号相与后送0809的OE端。当RD有效时,转换数据送至数据总线,由89s51接收。