題 目 風扇模擬控制系統
1.用4個LED顯示電風扇的工作狀態(1,2,3,4四檔風力),顯示風類:“自然風”、 “常風”和“睡眠風”。(20分)
2.設計 “自然風”、 “常風”和“睡眠風” 三個風類鍵用于設置風類;
設計一個“搖頭” 鍵用于控制電機搖頭。(20分)
3.設計一個“定時”鍵,用于定時時間長短設置;(20分)
4*.設計過熱檢測與保護電路,若電風扇電機過熱,則電機停止轉動,蜂鳴器報警,電機冷卻后電機又恢復轉動。
5*. 用LCD作為用戶界面顯示風扇運行模式等信息。
6@.其他功能(創新部分 10分)
【摘 要】本設計以直流電機控制為基礎,基于傳感器技術,以單片機控制技術為核心,實現電風扇的智能控制,同時設計采用輕觸開關即可具有電風扇的調檔功能。使用集成電路LM298N完成電風扇的驅動設計,通過單片機STC89C52的定時器0以及定時器1產生不同占空比的PWM波形控制電風扇電機驅動芯片從而改變電風扇電機的輸入電流,最終實現電風扇電機轉速調節功能,使得設計更加人性化,更加環保節能。
任 務 書 1
摘 要 Ⅰ
目 錄 Ⅱ
引 言 Ⅲ
一、 方案設計 Ⅳ
二、 硬件電路 Ⅳ
2.1電路系統框圖 Ⅳ
2.2 STC89C52RC最小系統 Ⅴ
2.3 按鍵模塊 Ⅴ
2.4 LED指示燈模塊 Ⅵ
2.5電機溫度實時測量模塊 Ⅵ
2.6電機驅動模塊 Ⅵ
2.7 LCD顯示模塊 Ⅶ
三、軟件程序 Ⅷ
3.1主函數程序流程圖 Ⅷ
3.2按鍵模塊接口程序 Ⅸ
3.3 LED指示燈接口程序 Ⅸ
3.4 電機測溫接口程序 Ⅸ
3.5 電機驅動接口程序 Ⅸ
3.6 LCD顯示驅動程序 Ⅸ
四、 調試結果 Ⅹ
五、 小結 Ⅺ
附錄一 總電路仿真 ⅩⅢ
附錄二 程序清單 ⅩⅣ
附錄三 元件清單 ⅩⅤ
引言
單片機原理應用廣泛根據單片機原理及應用課程的要求,主要進行兩個方面的設計,即單片機最小系統和存儲器擴展設計、接口技術應用設計。其中,單片機最小系統主要要求學生熟悉單片機的內部結構和引腳功能、引腳的使用、復位電路、時鐘電路、4個并行接口和一個串行接口的實際應用,從而可構成最小應用系統,并編程進行簡單使用。電風扇模擬控制系統具有電路簡單、成本較低、操作方便、靈敏可靠等優點,經使用效果良好, 具有較高的推廣價值,在很多領域都有廣泛的應用。
本文設計出以STC89S52單片機為核心的電風扇模擬控制系統,采用了LCD1206直接指示,顯示狀態,并自動復位的設計思想,它能根據按鍵輸入的信號,經過單片機的控制處理并產生不同的與輸入信號相對應的輸出信號,最后通過LCD1206顯示相應的狀態,分別顯示當前電機實時溫度以及當前風力,充分利用了單片機系統結構簡單、功能強大、可靠性好、實用性強的特點。
一、方案設計1.1簡介
本人首先設計了硬件電路,硬件電路充分體現了模塊化的思想,主要由以下幾個模塊組成,
- STC89C52單片機最小系統;
- 按鍵模塊:共六個按鍵,三個控制風力的大小,兩個控制電機的搖頭以及睡眠定時功能;
- LED指示燈模塊: 共四個綠色LED指示燈,分別指示風扇電機運行狀態,自然風(natural wild),常風(ordinary wind),睡眠風(sleep wind),無風(no wind)
- 電機溫度實時測量模塊: 本系統采用DS18B20測量電機實時溫度
- 電機驅動模塊:本系統采用LM298N集成驅動芯片驅動電機轉動
- LCD顯示模塊: 本系統采用LCD1206模塊顯示電風扇實時狀態
1.2課程設計目的(1) 綜合所學的單片機原理及接口技術等課程的理論知識完成本課程設計;
(2) 學習并掌握基本電路設計與使用方法,單片機的編程與應用方法;
(3) 提高綜合分析、解決實際問題的能力。
1.3任務和要求本設計以STC89C52處理器為核心,單片機作為外圍檢測與控制電路設計實現智能家居系統。其中單片機系統通過傳感器檢測到相關信息,向嵌入式平臺發送相對應的信息,嵌入式平臺做出相應判斷與處理,并同時通過網絡告知主人與物管人員做出相應處理,以保證業主的財產人身安全。
本設計主要設計指標:
- 按鍵輸入模塊,4個按鍵分別調整“睡眠風”,“自然風”,“常風”,“無風”
2個按鍵分別控制 “搖頭” “定時”;
(3) 當前轉速顯示、當前電機溫度顯示,狀態在LCD上顯示。
2、硬件電路
2.1電路系統框圖
2.2 STC89C52RC最小系統
2.3 按鍵模塊
TIME BUTTON:定時按鈕
SHAKE BUTTON:搖頭按鈕
NATURAL WIND 自然風按鈕
ORDINARY WIND 常風按鈕
SLEEP WIND 睡眠風按鈕
2.4 LED指示燈模塊
NATURAL WIND 自然風指示燈
ORDINARY WIND 常風指示燈
SLEEP WIND 睡眠風指示燈
NO WIND 無風指示燈
2.5 電機溫度實時測量模塊
采用DS18B20測量電機實時溫度
2.6 電機驅動模塊
采用LM298N驅動芯片驅動兩個直流電機
2.7 LCD顯示模塊
采用LCD1206輸出顯示當前狀態
2.8 蜂鳴器報警模塊
3、軟件程序3.1 主函數程序流程圖
3.2 按鍵模塊驅動程序#include "head_file.h"
sbit Natural_wind_button =P2^0;
sbit Ordinary_wind_button =P2^1;
sbit Sleep_wind_button =P2^2;
sbit Time_button =P3^6;
sbit Shake_button =P3^7;
void BUTTON_Config()
{
Natural_wind_button = 1;
Ordinary_wind_button = 1;
Sleep_wind_button =1;
Time_button = 1;
Shake_button = 1;
}
3.3 LED指示燈驅動程序#include "head_file.h"
sbit Natural_wind_LED =P2^3;
sbit Ordinary_wind_LED =P2^4;
sbit Sleep_wind_LED =P2^5;
sbit NO_Wind_LED =P2^6;
sbit Buzzer =P0^3;
void GUIDE_Led_Config()
{
Natural_wind_LED = 1;
Ordinary_wind_LED = 1;
Sleep_wind_LED = 1;
NO_Wind_LED = 0;
Buzzer = 0;
}
4、調試結果 在將近一周的單片機課程設計,終于完成了電風扇模擬控制系統的設計,雖然沒有完全達到設計要求,但還是收獲良多。通過這次課程設計,使我更進一步地熟悉了單片機芯片的工作原理和其具體的使用方法。單片機課程設計重點就在于軟件算法的設計,需要有很巧妙的程序算法,這鍛煉了自己獨立思考問題的能力和通過查看相關資料來解決問題的習慣。還有了解了課程設計的一般步驟,和設計中應注意的問題。
課程設計是需要我們每個人去用心去做,抓緊學習的機會,通過查閱更多的資料,使得理論與實踐相結合,在做模擬仿真的時候,利用自己平時所學到的,以及老師對同學們的指點,就可以在無限的探索中體驗求知的快感,當自己做出一個作品時或是仿真實驗成功時,總能體會到著勞動成果來之不易。在課設的同時,不僅鍛煉了動手動腦能力,知識面廣闊了,感謝自己,同時更感謝辛勤付出的老師。
在此要感謝老師,感謝老師給我這樣的機會鍛煉。在整個設計過程中我懂得了許多東西,也培養了我獨立學習工作的能力,樹立良好的學習心態,虛心求教,相信會對今后的學習工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創造過程中的探索的艱難和成功的喜悅。雖然這個項目還有不足之處,但是在設計過程中所學到的東西是這次設計的最大收獲和財富,真是受益匪淺。
附錄一:總電路仿真
附錄二:程序清單
Main.c //主函數
Button.c //按鍵驅動程序
ds18B20.c //ds18b20驅動程序
guide_led.c //led指示燈初始化程序
L298n.c //l298n驅動程序
Lcd1206.c //lcd1206驅動程序
head_file.h //全部頭文件聲明
附錄三:元件清單
STC89C52RC單片機
1個
輕觸開關
6個
綠色LED燈珠
4個
12v直流電機
2個
LM298N芯片
1個
DS18B20傳感器
1個
LCD1206
1個
1K貼片電阻
4個
4.7K貼片電阻
1個
100R電阻
2個
電機驅動程序