

void data_pros()//一開始上電,溫度后面會顯示00,濕度后面顯示:8,然后采集到資料后,這兩個就一直在
{
u8 temp;
u8 humi;
u8 temp_buf[3];
u8 humi_buf[3];
DHT11_Read_Data(&temp,&humi);
temp_buf[0]=temp/10+0x30;
temp_buf[1]=temp%10+0x30;
temp_buf[2]='\0';
Show_Str(60,25,RED,YELLOW,temp_buf,24,1);
humi_buf[0]=humi/10+0x30;
humi_buf[1]=humi%10+0x30;
humi_buf[2]='\0';
Show_Str(60,50,YELLOW,YELLOW,humi_buf,24,1);
}
int main(void)
{
u8 i;
SystemInit();
delay_init(72);
LCD_Init();
LCD_Clear(BLACK);
DHT11_Init();
POINT_COLOR=WHITE;
LCD_DrawRectangle(0,0,128-1,128-1);
Show_Str(32,5,BLUE,YELLOW,"系統監控",16,0);
Show_Str(5,25,RED,YELLOW,"溫度 C",24,1);
Show_Str(5,50,YELLOW,YELLOW,"濕度 %",24,1);
while(1)
{
i++;
if(i%20==0)
{
data_pros();
}
delay_ms(10);
}
}
uj5u.com熱心網友回復:
一步一步的調吧,線temp_buff 看看是不是傳感器那邊就是0 還是中間計算的問題 最后看是不是顯示的問題uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
仿真一步一步,看看那一步出問題了。uj5u.com熱心網友回復:
第一步,你先要看你采集到溫度沒有?是不是你采集到的溫度操作了你定義的值。第二步,查看你的顯示程式,是不是0顯示成00,或者十位上顯示過0,后面溫度為0時,你沒有將十位上的零清除!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/109889.html
標籤:單片機/工控
下一篇:verilog問題,求解
