单片机的接口信号必须是数字信号,因此要想用单片机获取气压这类非电信号的信息,必须使用气压传感谢器。气压传感器的作用是将气压信息转换为电流或电压输出,转换手的电流或电压输出常为模拟信号,因此还必须进行A/D转换,以满足单片机接口的需要。
单片机是利用压敏元件将待测气压直接变换为容易测量,传输的电流或电压信号,然后再经过后续电路处理并进行实时显示的一种设备,其中的核心元件就是气压传感器。
本例硬件电路可分为:气压传感器,V/F转换电路,单片机电路和电源电路,如下图所示。(U2为V/F转换芯片LM331,电源转换芯片MC78L05)
程序
*******************************************************************************
本例程序用于实现测量气压,气压值转换为与气压信号大小成正比的频率信号,通过测量频率即可得知气压的相对大小。
定时器0用于完成500ms定时,在此定时时间内计数器T1测量上述频率脉冲信号出现的个数,相当于得到气压信号的数值。
*******************************************************************************
PRESSURE DATA 40H 气压值
CNTER DATA 41H 计数器
**************************************************************************
主程序
**************************************************************************
MAIN: MOV,SP,#60H
SETB EA
SETB ET0 打开定时器0中断
MOV TMOD,#51H 设置T1为16位计数器,T0为16位定时器
MOV TH0,#3CH 定时器0为50ms定时
MOV TH0,#0B0H
MOV TH1,#00H 定时器1从0开始计数
MOV TL1,300H
SETB TR0 启动定时器0
SETB TR1 启动计数器1
MOV CNTER,#00H
SJMP $ 开始无限循环,等待中断到来
**************************************************************************
定时器T0中断
**************************************************************************
T0:
CLR ET0 关闭定时器0中断
INC CNTER
CJNE CNTER,#0AH,EXIT 500ms
CLR TR1 停止计数器1
MOV CNTER,#00H
MOV A,TH1
MOV DBH,A
MOV A,TL1
MOV DBL,A
LCALL FRENQ
LCALL PRESS
LCALL DISPLAY 调用显示气压数值子程序
MOV TH1,#00H 计数器1清0
MOV TL1,#00H
RETI
EXIT: MOV TH0,#3CH 重置TH0和TL0
MOV TH0,#0B0H
SETB ET0 打开定时器0中断
SETB TR1 启动计数器1
RETI
END |