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