基於51微控制器室內室外環境檢測儀控制設計

2021-10-13 05:21:53 字數 2540 閱讀 3687

本專案設計是基於51微控制器的時鐘+溫濕度+pm2.5+12864b液晶屏diy製作的畢業設計,也可以應用於室內環境檢測儀。該室內環境檢測系統,時間採用專門的ds1302時鐘晶元,溫濕度採用dht22模組,比dht11要好。pm2.5採用雷射pm2.5檢測感測器。51微控制器室內環境檢測儀成品實物截圖:

說明:沒有採用簡單的模組堆積,除了雷射pm2.5檢測感測器以外其他均與電路板一化體設計,同時還增加了時間校準介面,預留了串列埠除錯介面。左側從上到下依次為pm2.5感測器介面、電源指示燈、電源開關。右側為四個側邊按鍵,第乙個按鍵為進入時間校準介面和確定介面,第二個按鍵為向上按鍵,第三個按鍵為向下按鍵,第四個為返回按鍵,可以調整年月日時分秒和星期。內建一顆cr2032電池,可以保證斷電情況下時間不會中斷。為了好看,我自己做了乙個亞克力板外殼。很多同學問我pcb的問題,該pcb設計是為了方便做手工pcb打洞,過孔做的小了一些,如果要在網上打樣,把過孔調到正常大小。

void hgarden(int x);//空心圓

void sgarden(int x);//實心圓

void timesetting(int x);

/********************************************

介面文字顯示

********************************************/

//第1介面顯示

unsigned char code charcode[13]="0123456789.-:";

unsigned char code temperature="溫度:";

unsigned char code tsign="℃";

unsigned char code humidity="濕度:";

unsigned char code hsign="rh";

unsigned char code pm1="pm2.5:";

unsigned char code tpm1="ug/m3";

//第2介面顯示

unsigned char code year1="年";

unsigned char code mouth1="月";

unsigned char code day1="日";

unsigned char code hour1="時";

unsigned char code minute1="分";

unsigned char code second1="秒";

unsigned char code week3="周";

unsigned char code week1="星期";

//清屏

unsigned char code clear=" ";

unsigned char code week2_0="日";

unsigned char code week2_1="一";

unsigned char code week2_2="二";

unsigned char code week2_3="三";

unsigned char code week2_4="四";

unsigned char code week2_5="五";

unsigned char code week2_6="六";

unsigned int flagkeyup_down=1;

unsigned int page=1;

unsigned int i,j,m;

unsigned int flag2,flag3;

uchar uart_upload[9];

uchar uartnum[11]=;

uchar uartdata[5];

uint pm_rateh,pm_ratel,pm_particle,pm_density;//低脈衝率高位。低脈衝率低位, 比率,顆粒,濃度

uchar accord,pm_urv=20,temp_pm; //pm_urv pm上限值

51微控制器 按鍵,鍵盤檢測

但凡做和51微控制器有關的東西,我們組都會用到按鍵.迷之有緣 獨立按鍵的原理很簡單,沒有按鍵按下時,全部為高電平,按下時接觸地變為地電平,檢測是否有低電平來檢測按下動作。矩陣鍵盤稍微複雜一點,分別檢測行,檢測列,以此來確定按鍵位置。注意的是,按下時會有抖動,因為寫程式時,需要消抖。常用的方式是延時函...

51微控制器 PM2 5檢測

include include define uint unsigned int define uchar unsigned char 微控制器型號stc12c5a60s2 感測器gp2y1014au uchar set st uchar tab 5 uint dust set 150 固體顆粒的閾...

基於51微控制器矩陣鍵盤程式

用矩陣鍵盤輸入數字在數碼管顯示 矩陣鍵盤 的編寫有點像vhdl 編碼器的書寫,很多那些數字都是根據唯一的掃瞄位置來定,也就是說這些數字可以任意設定,主要就是巧妙在 0xf0 0xfe 通過這樣確定出一定的位置,然後 編碼 為你想要位置所代表的數字。矩陣鍵盤其實 都很固定,很多東西其實也可以算是一沉不...