基于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);? //當高位為零時?結束循環(huán)
i=0;
select_bit=0xfe;
do
{ P1=tab[*p];
P3=select_bit;
dl_ms();?
select_bit=(select bit<<1)+1;
//從最右邊一位開始顯示,循環(huán)左移
p++;
i++;
}while(i<j);
p=cur_buf; //指針歸位
return;}
這樣,在主程序中,只要在程序第一次運行時進行初始化,然后再循環(huán)調用顯示函數即可實現實時顯示功能。
5 結束語
筆者曾用純硬件電路設計過氣壓計。實踐表明,由于受溫度的影響及硬件參數的限制,實時顯示時穩(wěn)定性較差,并且精確度不高。而改用V/F變換信號及編程的方法實現該測量則完全克服了上述缺點。結果表明:該方法具有精度高、穩(wěn)定性好、功能易于擴展等優(yōu)點,可為儀器及電子產品設計提供一種新的思路。
脈沖點火器相關文章:脈沖點火器原理
評論