具體實(shí)現(xiàn)功能
(1)LCD1602液晶第一行顯示當(dāng)前的PM2.5值,第二行顯示當(dāng)前的溫度值和濕度值;
(2)可以設(shè)置PM2.5報(bào)警值、溫濕度上下限報(bào)警值。共4個(gè)按鍵:復(fù)位按鍵、減鍵、加鍵、設(shè)置鍵;
(3)當(dāng)溫濕度值低于或高于設(shè)定的范圍時(shí),相應(yīng)的指示燈亮,蜂鳴器報(bào)警;
(4)當(dāng)PM2.5值高于設(shè)定的報(bào)警值,蜂鳴器和指示燈發(fā)出聲光報(bào)警。
設(shè)計(jì)介紹
51單片機(jī)簡(jiǎn)介
51單片是一種低功耗、高性能CMOS-8位微控制器,擁有靈巧的8位CPU和可編程Flash,使得51單片機(jī)為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活、高效的解決方案。
本設(shè)計(jì)所使用的芯片可兼容以下所有的51系列單片機(jī)(包括AT系列和STC系列)。
資料內(nèi)容
仿真實(shí)現(xiàn)(protues8.7)
本設(shè)計(jì)利用protues8.7軟件實(shí)現(xiàn)仿真設(shè)計(jì),具體如圖。
程序(Keil5)
本設(shè)計(jì)利用keil5軟件實(shí)現(xiàn)程序設(shè)計(jì),主程序如下:
/*********************************************************/
// 主函數(shù)
/*********************************************************/
void main(void)
{
uchar i; // 循環(huán)變量
LcdInit(); // 液晶功能初始化
LcdShowInit(); // 液晶顯示初始化
AlarmInit(); // 報(bào)警值初始化
while(1)
{
PM=Get_ADC08321(); // 讀取PM2.5
PM=(PM/2.5)*5; //
LcdGotoXY(0,7); // 液晶定位到第0行第7列
LcdPrintNum1(PM); // 顯示測(cè)量結(jié)果
/*溫濕度讀取*/
EA=0;
ReadDhtData(); // 檢測(cè)溫濕度數(shù)據(jù);
EA=1;
LcdGotoXY(1,2); // 定位到要顯示溫度的地方
LcdPrintNum2(temp); // 顯示溫度值
LcdGotoXY(1,11); // 定位到要顯示濕度的地方
LcdPrintNum2(humi); // 顯示濕度值
// 報(bào)警判斷
AlarmJudge();
/*按鍵掃描和延時(shí)*/
for(i=0;i30;i++)
{
KeyScanf(); // 按鍵判斷
DelayMs(10);
}
}
}
程序運(yùn)行結(jié)果如圖:
全部?jī)?nèi)容
全部資料包括程序(keil5)、protues仿真(protues8.7)、開發(fā)資料、資料使用介紹、仿真視頻、程序講解視頻、仿真講解視頻、最小系統(tǒng)介紹視頻等。
資料獲取
https://docs.qq.com/doc/DT0N5SGpVU2pvYUNn
審核編輯 黃宇
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44484瀏覽量
631800 -
51單片機(jī)
+關(guān)注
關(guān)注
273文章
5696瀏覽量
122965 -
監(jiān)測(cè)
+關(guān)注
關(guān)注
2文章
3493瀏覽量
44393 -
系統(tǒng)仿真
+關(guān)注
關(guān)注
0文章
19瀏覽量
4604
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論