本專案設計是基於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 通過這樣確定出一定的位置,然後 編碼 為你想要位置所代表的數字。矩陣鍵盤其實 都很固定,很多東西其實也可以算是一沉不...