基于51单片机控制的数字气压计设计与实现
该中断函数主要用于完成脉冲的读取和气压值的计算。ph是个全局变量,可用来保存气压值。
(2)在显示函数里,将气压值先按位进行分离并保存到数组,然后送段码和相应位选就可以显示出相应的气压值了。具体程序如下:
void display(uint ph_in)
{ uchar i=0;
uchar j=0;
uchar select_bit=0; //位选
do {
cur_buf[i]=ph_in%10;
i++;
j=i;
}while(ph_in=ph_in/10);? //当高位为零时?结束循环
i=0;
select_bit=0xfe;
do
{ P1=tab[*p];
P3=select_bit;
dl_ms();?
select_bit=(select bit<<1)+1;
//从最右边一位开始显示,循环左移
p++;
i++;
}while(i<j);
p=cur_buf; //指针归位
return;}
这样,在主程序中,只要在程序第一次运行时进行初始化,然后再循环调用显示函数即可实现实时显示功能。
5 结束语
笔者曾用纯硬件电路设计过气压计。实践表明,由于受温度的影响及硬件参数的限制,实时显示时稳定性较差,并且精确度不高。而改用V/F变换信号及编程的方法实现该测量则完全克服了上述缺点。结果表明:该方法具有精度高、稳定性好、功能易于扩展等优点,可为仪器及电子产品设计提供一种新的思路。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码