|
return adc_value;
}
//PM2.5
uint PM_Value()
{
uint adc_value=0; //adc值變量
uint PM_value =0; //PM2.5值變量
led=0;
delay_us(280);
adc_value=ADC_Read();//獲取一次adc值,并累加
if(adc_value==0)
return 0;
delay_us(19);
led=1;
PM_value=((adc_value/255.0)*5*0.17-0.1)*1000;//計算PM2.5值
delay_us(9680);
return PM_value;
}
// 主函數(shù)
void main() {
uchar i;
init_timer0(); // 啟動ADC時鐘
init_lcd(); // 初始化LCD
state = 0; // START初始低
oe = 0; // OE初始關(guān)閉
LCD_ShowString(0, 0, "ADC Value:");
LCD_ShowString(0, 1, "PM2.5: ");
while(1) {
uchar val = ADC_Read();
uchar pm = PM_Value();
LCD_ShowNum(10, 0, val); // 顯示ADC值
i=LCD_ShowNum(6, 1, pm); // 顯示PM2.5模擬值
LCD_ShowString(6+i, 1, "ug/m3 ");
delay_ms(200); // 控制采樣率
}
}
這個是剩下的程序 |
|