具體實現功能:
由51單片機+DS18B20溫度傳感器+共陽四位數碼管+風扇+獨立按鍵+DC電源構成。
具體功能:
1、采用DS18B20溫度傳感器測溫并用數碼管實時顯示;
2、可以手動設置溫度上下限;共3個按鍵:設置鍵、加鍵、減鍵;
3、溫度小于下限風扇不轉,溫度在上下限之間60%轉動,大于上限時,風扇全速轉動。
設計介紹
51單片機簡介
51單片是一種低功耗、高性能CMOS-8位微控制器,擁有靈巧的8位CPU和可編程Flash,使得51單片機為眾多嵌入式控制應用系統提供靈活、高效的解決方案。
本設計所使用的芯片可兼容以下所有的51系列單片機(包括AT系列和STC系列)。
設計方案
設計方案如下:
本設計利用DS18B20采集環境中的溫度值,將溫度數值反饋給單片機,單片機處理后進行實時顯示。同時,利用三個按鍵設置溫度調節范圍,當實時溫度值超出調節范圍后進行相應的操作。
單片機類設計論文參考模板:
畢設無憂|單片機類畢設論文模板
資料內容
本系統原理圖和PCB設計采用Altium Designer19,具體如圖。
注1:請使用Altium Designer19直接打開資料中的工程文件(資料中已說明打開方式),若要求使用其他版本軟件,請謹慎購買!
注2:此設計需按照原理圖制作實物,不可直接燒錄到任何開發板中運行(需要修改程序)!
Altium Designer19軟件安裝包下載鏈接:
Altium Designer19安裝破解教程(內附安裝包)
51單片機常用元器件封裝下載鏈接:
資料分享|51單片機常用元器件封裝庫
Altium Designer19教程:
AD19簡易教程(原理圖的繪制)
實用技巧|AD19快捷鍵大全
仿真實現(protues8.7)
本設計利用protues8.7軟件實現仿真設計,具體如圖。
注1:請使用protues8.7直接打開資料中的工程文件(資料中已說明打開方式),若要求使用其他版本軟件,請謹慎購買!
注2:由于仿真軟件限制,仿真設計和實物設計無法百分百對應!!
protues8.7軟件資料:
proteus8.7安裝及破解教程(內附安裝包)
若仿真中遇到問題,請參照以下文章解決:
protues仿真常見問題解決方案
Protues8.7簡易教程
程序(Keil5)
本設計利用KEIL5軟件實現程序設計。
注意:請使用KEIL5直接打開資料中的工程文件(資料中已說明打開方式),若要求使用其他版本軟件,請謹慎購買!!
主程序如下:
/****************主函數***************/ void main() { P0 = P1 = P2 = P3 = 0xff; time_init(); //初始化定時器 temperature = read_temp(); //先讀出溫度的值 init_eeprom(); //開始初始化保存的數據 delay_1ms(650); temperature = read_temp(); //先讀出溫度的值 dis_smg[0] = smg_du[temperature % 10]; //取溫度的小數顯示 dis_smg[1] = smg_du[temperature / 10 % 10] & 0xdf; //取溫度的個位顯示 dis_smg[2] = smg_du[temperature / 100 % 10] ; //取溫度的十位顯示 f_pwm_l = 50; while(1) { key(); //按鍵程序 if(key_can < 10) { key_with(); //設置報警溫度 } if(flag_300ms == 1) //300ms 處理一次溫度程序 { flag_300ms = 0; temperature = read_temp(); //先讀出溫度的值 if(menu_1 == 0) { smg_i = 3; dis_smg[0] = smg_du[temperature % 10]; //取溫度的小數顯示 dis_smg[1] = smg_du[temperature / 10 % 10] & 0xdf; //取溫度的個位顯示 dis_smg[2] = smg_du[temperature / 100 % 10] ; //取溫度的十位顯示 } } baojing_kz(); //報警控制函數 } }
程序運行結果如圖:
-
單片機
+關注
關注
6043文章
44619瀏覽量
638469 -
51單片機
+關注
關注
274文章
5705瀏覽量
124286 -
溫控風扇
+關注
關注
1文章
16瀏覽量
5134
原文標題:基于51單片機智能溫控風扇設計
文章出處:【微信號:電子工程師成長日記,微信公眾號:電子工程師成長日記】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論