基于单片机的温湿度串口监控系统设计(#0429)
溫濕度是我們日常生產和生活中實時在接觸到的物理量,但是它是看不到的,僅憑感覺只能感覺大概,傳統的指針式的溫度計只能指示溫度,但是精度低,顯示不夠直觀,本系統可以數字化顯示溫濕度,并可以在電腦端查看。
功能描述
1、采用51單片機作為主控芯片;
2、采用LCD1602作為顯示模塊;
3、采用DHT11傳感器檢測溫濕度信息;
4、采用串口將溫濕度信息發送至電腦端;
5、當溫濕度超過設定的閾值時,報警指示燈閃爍,蜂鳴器報警;
6、可以通過按鍵設定溫濕度報警閾值;
按鍵說明
1、設置鍵:進入設置模式;
2、加值鍵:對選中參數進行+1;
3、減值鍵:對選中參數進行-1;
電路設計
采用Altium?Designer作為電路設計工具。Altium?Designer通過把原理圖設計、PCB繪制編輯、拓撲邏輯自動布線、信號完整性分析和設計輸出等技術的完美融合,為設計者提供了全新的設計解決方案,使設計者可以輕松進行設計,熟練使用這一軟件必將使電路設計的質量和效率大大提高。
仿真設計
采用Proteus作為仿真設計工具。Proteus是一款著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。
程序設計
/*********************************************************/
// 10us級延時程序
/*********************************************************/
void Delay10us()
{
?? ?_nop_();?? ?// 執行一條指令,延時1微秒
?? ?_nop_();
?? ?_nop_();
?? ?_nop_();
?? ?_nop_();
?? ?_nop_();
?? ?_nop_();
?? ?_nop_();
?? ?_nop_();
?? ?_nop_();
}
/*********************************************************/
// 讀取DHT11單總線上的一個字節
/*********************************************************/
uchar DhtReadByte(void)
{ ??
?? ?bit bit_i;?
?? ?uchar j;
?? ?uchar dat=0;
?? ?for(j=0;j<8;j++) ? ?
?? ?{
?? ??? ?while(!DHT11_P);?? ?// 等待低電平結束?? ?
?? ??? ?Delay10us();?? ??? ??? ?// 延時
?? ??? ?Delay10us();
?? ??? ?Delay10us();
?? ??? ?if(DHT11_P==1)?? ??? ?// 判斷數據線是高電平還是低電平
?? ??? ?{
?? ??? ??? ?bit_i=1;?
?? ??? ??? ?while(DHT11_P);
?? ??? ?}?
?? ??? ?else
?? ??? ?{
?? ??? ??? ?bit_i=0;
?? ??? ?}
?? ??? ?dat<<=1;?? ??? ? ? ?? ??? ?// 將該位移位保存到dat變量中
?? ??? ?dat|=bit_i; ? ?
?? ?}
?? ?return(dat); ?
}
源文件獲取
關注公眾號【電子開發圈】,首頁回復“溫濕度”獲取;
總結
以上是生活随笔為你收集整理的基于单片机的温湿度串口监控系统设计(#0429)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MPQ8873电源芯片配置
- 下一篇: dfs专栏