找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 25466|回復(fù): 23
打印 上一主題 下一主題
收起左側(cè)

單片機風(fēng)扇模擬控制系統(tǒng)設(shè)計

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:444437 發(fā)表于 2018-12-11 21:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
題    目           風(fēng)扇模擬控制系統(tǒng)
1.用4個LED顯示電風(fēng)扇的工作狀態(tài)(1,2,3,4四檔風(fēng)力),顯示風(fēng)類:“自然風(fēng)”、 “常風(fēng)”和“睡眠風(fēng)”。(20分)
2.設(shè)計 “自然風(fēng)”、 “常風(fēng)”和“睡眠風(fēng)” 三個風(fēng)類鍵用于設(shè)置風(fēng)類;
設(shè)計一個“搖頭” 鍵用于控制電機搖頭。(20分)   
3.設(shè)計一個“定時”鍵,用于定時時間長短設(shè)置;(20分)
4*.設(shè)計過熱檢測與保護電路,若電風(fēng)扇電機過熱,則電機停止轉(zhuǎn)動,蜂鳴器報警,電機冷卻后電機又恢復(fù)轉(zhuǎn)動。
5*. 用LCD作為用戶界面顯示風(fēng)扇運行模式等信息。
6@.其他功能(創(chuàng)新部分 10分)
【摘 要】本設(shè)計以直流電機控制為基礎(chǔ),基于傳感器技術(shù),以單片機控制技術(shù)為核心,實現(xiàn)電風(fēng)扇的智能控制,同時設(shè)計采用輕觸開關(guān)即可具有電風(fēng)扇的調(diào)檔功能。使用集成電路LM298N完成電風(fēng)扇的驅(qū)動設(shè)計,通過單片機STC89C52的定時器0以及定時器1產(chǎn)生不同占空比的PWM波形控制電風(fēng)扇電機驅(qū)動芯片從而改變電風(fēng)扇電機的輸入電流,最終實現(xiàn)電風(fēng)扇電機轉(zhuǎn)速調(diào)節(jié)功能,使得設(shè)計更加人性化,更加環(huán)保節(jié)能。
任  務(wù)  書              1
摘 要              Ⅰ
目 錄              Ⅱ
引 言              Ⅲ
一、 方案設(shè)計              Ⅳ
二、 硬件電路              Ⅳ
2.1電路系統(tǒng)框圖              Ⅳ
2.2 STC89C52RC最小系統(tǒng)              Ⅴ
2.3 按鍵模塊              Ⅴ
2.4 LED指示燈模塊              Ⅵ
2.5電機溫度實時測量模塊              Ⅵ
2.6電機驅(qū)動模塊              Ⅵ
2.7 LCD顯示模塊              Ⅶ
三、軟件程序              Ⅷ
3.1主函數(shù)程序流程圖              Ⅷ
3.2按鍵模塊接口程序              Ⅸ
3.3 LED指示燈接口程序              Ⅸ
3.4 電機測溫接口程序              Ⅸ
3.5 電機驅(qū)動接口程序              Ⅸ
3.6 LCD顯示驅(qū)動程序              Ⅸ
四、 調(diào)試結(jié)果              Ⅹ
五、 小結(jié)              Ⅺ
附錄一 總電路仿真              ⅩⅢ
附錄二 程序清單              ⅩⅣ
附錄三 元件清單              ⅩⅤ

引言

   

單片機原理應(yīng)用廣泛根據(jù)單片機原理及應(yīng)用課程的要求,主要進行兩個方面的設(shè)計,即單片機最小系統(tǒng)和存儲器擴展設(shè)計、接口技術(shù)應(yīng)用設(shè)計。其中,單片機最小系統(tǒng)主要要求學(xué)生熟悉單片機的內(nèi)部結(jié)構(gòu)和引腳功能、引腳的使用、復(fù)位電路、時鐘電路、4個并行接口和一個串行接口的實際應(yīng)用,從而可構(gòu)成最小應(yīng)用系統(tǒng),并編程進行簡單使用。電風(fēng)扇模擬控制系統(tǒng)具有電路簡單、成本較低、操作方便、靈敏可靠等優(yōu)點,經(jīng)使用效果良好, 具有較高的推廣價值,在很多領(lǐng)域都有廣泛的應(yīng)用。

本文設(shè)計出以STC89S52單片機為核心的電風(fēng)扇模擬控制系統(tǒng),采用了LCD1206直接指示,顯示狀態(tài),并自動復(fù)位的設(shè)計思想,它能根據(jù)按鍵輸入的信號,經(jīng)過單片機的控制處理并產(chǎn)生不同的與輸入信號相對應(yīng)的輸出信號,最后通過LCD1206顯示相應(yīng)的狀態(tài),分別顯示當(dāng)前電機實時溫度以及當(dāng)前風(fēng)力,充分利用了單片機系統(tǒng)結(jié)構(gòu)簡單、功能強大、可靠性好、實用性強的特點。


一、方案設(shè)計
1.1簡介

本人首先設(shè)計了硬件電路,硬件電路充分體現(xiàn)了模塊化的思想,主要由以下幾個模塊組成,

  • STC89C52單片機最小系統(tǒng);
  • 按鍵模塊:共六個按鍵,三個控制風(fēng)力的大小,兩個控制電機的搖頭以及睡眠定時功能;
  • LED指示燈模塊: 共四個綠色LED指示燈,分別指示風(fēng)扇電機運行狀態(tài),自然風(fēng)(natural wild),常風(fēng)(ordinary wind),睡眠風(fēng)(sleep wind),無風(fēng)(no wind)
  • 電機溫度實時測量模塊: 本系統(tǒng)采用DS18B20測量電機實時溫度
  • 電機驅(qū)動模塊:本系統(tǒng)采用LM298N集成驅(qū)動芯片驅(qū)動電機轉(zhuǎn)動
  • LCD顯示模塊: 本系統(tǒng)采用LCD1206模塊顯示電風(fēng)扇實時狀態(tài)

1.2課程設(shè)計目的

(1) 綜合所學(xué)的單片機原理及接口技術(shù)等課程的理論知識完成本課程設(shè)計;

(2) 學(xué)習(xí)并掌握基本電路設(shè)計與使用方法,單片機的編程與應(yīng)用方法;

(3) 提高綜合分析、解決實際問題的能力。

1.3任務(wù)和要求

本設(shè)計以STC89C52處理器為核心,單片機作為外圍檢測與控制電路設(shè)計實現(xiàn)智能家居系統(tǒng)。其中單片機系統(tǒng)通過傳感器檢測到相關(guān)信息,向嵌入式平臺發(fā)送相對應(yīng)的信息,嵌入式平臺做出相應(yīng)判斷與處理,并同時通過網(wǎng)絡(luò)告知主人與物管人員做出相應(yīng)處理,以保證業(yè)主的財產(chǎn)人身安全。

本設(shè)計主要設(shè)計指標(biāo):

  • 按鍵輸入模塊,4個按鍵分別調(diào)整“睡眠風(fēng)”,“自然風(fēng)”,“常風(fēng)”,“無風(fēng)”

2個按鍵分別控制 “搖頭” “定時”;

  • 直流電機轉(zhuǎn)速控制,通過LM298N芯片驅(qū)動

(3) 當(dāng)前轉(zhuǎn)速顯示、當(dāng)前電機溫度顯示,狀態(tài)在LCD上顯示。

2、硬件電路
2.1電路系統(tǒng)框圖

2.2 STC89C52RC最小系統(tǒng)


2.3 按鍵模塊

TIME BUTTON:定時按鈕

SHAKE BUTTON:搖頭按鈕

NATURAL WIND 自然風(fēng)按鈕

ORDINARY WIND 常風(fēng)按鈕

SLEEP WIND  睡眠風(fēng)按鈕


2.4 LED指示燈模塊

NATURAL WIND 自然風(fēng)指示燈

ORDINARY WIND 常風(fēng)指示燈

SLEEP WIND 睡眠風(fēng)指示燈

NO WIND 無風(fēng)指示燈

2.5 電機溫度實時測量模塊
采用DS18B20測量電機實時溫度

2.6 電機驅(qū)動模塊
采用LM298N驅(qū)動芯片驅(qū)動兩個直流電機

2.7 LCD顯示模塊
采用LCD1206輸出顯示當(dāng)前狀態(tài)
2.8 蜂鳴器報警模塊

3、軟件程序3.1 主函數(shù)程序流程圖
3.2 按鍵模塊驅(qū)動程序
#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指示燈驅(qū)動程序
#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、調(diào)試結(jié)果
  • 小結(jié)

     在將近一周的單片機課程設(shè)計,終于完成了電風(fēng)扇模擬控制系統(tǒng)的設(shè)計,雖然沒有完全達(dá)到設(shè)計要求,但還是收獲良多。通過這次課程設(shè)計,使我更進一步地熟悉了單片機芯片的工作原理和其具體的使用方法。單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,這鍛煉了自己獨立思考問題的能力和通過查看相關(guān)資料來解決問題的習(xí)慣。還有了解了課程設(shè)計的一般步驟,和設(shè)計中應(yīng)注意的問題。

    課程設(shè)計是需要我們每個人去用心去做,抓緊學(xué)習(xí)的機會,通過查閱更多的資料,使得理論與實踐相結(jié)合,在做模擬仿真的時候,利用自己平時所學(xué)到的,以及老師對同學(xué)們的指點,就可以在無限的探索中體驗求知的快感,當(dāng)自己做出一個作品時或是仿真實驗成功時,總能體會到著勞動成果來之不易。在課設(shè)的同時,不僅鍛煉了動手動腦能力,知識面廣闊了,感謝自己,同時更感謝辛勤付出的老師。

在此要感謝老師,感謝老師給我這樣的機會鍛煉。在整個設(shè)計過程中我懂得了許多東西,也培養(yǎng)了我獨立學(xué)習(xí)工作的能力,樹立良好的學(xué)習(xí)心態(tài),虛心求教,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中的探索的艱難和成功的喜悅。雖然這個項目還有不足之處,但是在設(shè)計過程中所學(xué)到的東西是這次設(shè)計的最大收獲和財富,真是受益匪淺。

附錄一:總電路仿真

附錄二:程序清單
Main.c          //主函數(shù)
Button.c        //按鍵驅(qū)動程序
ds18B20.c       //ds18b20驅(qū)動程序
guide_led.c     //led指示燈初始化程序
L298n.c         //l298n驅(qū)動程序
Lcd1206.c       //lcd1206驅(qū)動程序
head_file.h     //全部頭文件聲明

附錄三:元件清單
STC89C52RC單片機
1個
輕觸開關(guān)
6個
綠色LED燈珠
4個
12v直流電機
2個
LM298N芯片
1個
DS18B20傳感器
1個
LCD1206
1個
1K貼片電阻
4個
4.7K貼片電阻
1個
100R電阻
2個
電機驅(qū)動程序
#include "head_file.h"
uchar t0, add0;
uchar t1,add1;
sbit EN0=P3^4;
sbit EN1=P3^5;

sbit IN0=P3^0;
sbit IN1=P3^1;
sbit IN2=P3^2;
sbit IN3=P3^3;

void L298_Config()
{
                 t0=50;
                 t1=50;
                 IN0=0;
                 IN1=1;
                 IN2=0;
           IN3=1;

}

void TIM_Config()
{
                TMOD = 0x11;
    TH0 = (65536-50000)/256;;
    TL0 = (65536-50000)%256;;
    ET0 = 1;
    TR0 = 1;

                TH1 = (65536-50000)/256;;
                TL1 = (65536-50000)%256;;
                ET1 = 1;
    TR1 = 1;

                EA = 1;
}

void TIM0() interrupt 1
{
                         TH0=(65536-50000)/256;
       TL0=(65536-50000)%256 ;

       if(add0==100)
       {
            add0=0;
                                                EN0=1;
       }
       if(add0==t0)
       {
                                                EN0=0;
       }
                         add0++;
}

void TIM1() interrupt 3
{
                         TH1=(65536-50000)/256;
       TL1=(65536-50000)%256 ;

       if(add1==100)
       {
            add1=0;
                                                EN1=1;
       }
       if(add1==t1)
       {
                                                EN1=0;
       }        
                         add1++;  

以上圖文的Word格式文檔下載(內(nèi)容和本網(wǎng)頁上的一模一樣,方便大家保存):
電風(fēng)扇模擬控制系統(tǒng).doc (678.09 KB, 下載次數(shù): 326)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:695103 發(fā)表于 2020-2-19 13:37 | 只看該作者
有完整的程序么
回復(fù)

使用道具 舉報

板凳
ID:695114 發(fā)表于 2020-2-20 15:21 | 只看該作者
有沒有完整的程序呀
回復(fù)

使用道具 舉報

地板
ID:463546 發(fā)表于 2020-3-4 12:09 | 只看該作者
主程序的代碼有嗎
回復(fù)

使用道具 舉報

5#
ID:432653 發(fā)表于 2020-3-4 16:24 | 只看該作者
我也有
回復(fù)

使用道具 舉報

6#
ID:463546 發(fā)表于 2020-3-5 08:14 | 只看該作者

可以發(fā)一下主程序的代碼嗎
回復(fù)

使用道具 舉報

7#
ID:696032 發(fā)表于 2020-6-13 11:37 | 只看該作者
需要分享,感謝感謝
回復(fù)

使用道具 舉報

8#
ID:779310 發(fā)表于 2020-6-18 23:35 | 只看該作者
寫的真好
回復(fù)

使用道具 舉報

9#
ID:779310 發(fā)表于 2020-6-18 23:35 | 只看該作者
寫的太好了,學(xué)習(xí)了
回復(fù)

使用道具 舉報

10#
ID:787341 發(fā)表于 2020-6-23 09:30 | 只看該作者
有主程序的代碼嗎,可以分享一下嗎
回復(fù)

使用道具 舉報

11#
ID:793766 發(fā)表于 2020-6-30 13:51 來自手機 | 只看該作者
有完整的代碼嘛
回復(fù)

使用道具 舉報

12#
ID:795717 發(fā)表于 2020-7-27 19:58 | 只看該作者
請問有主程序嗎?可以分享一下嗎?
回復(fù)

使用道具 舉報

13#
ID:812886 發(fā)表于 2020-8-10 14:20 | 只看該作者
可以上傳完整的電路圖嗎?方便大家在技術(shù)上交流。
回復(fù)

使用道具 舉報

14#
ID:828721 發(fā)表于 2020-10-12 13:39 | 只看該作者
您好樓主,請問有實物圖嗎
回復(fù)

使用道具 舉報

15#
ID:848407 發(fā)表于 2020-11-26 00:41 | 只看該作者
新人以練代學(xué),加油
回復(fù)

使用道具 舉報

16#
ID:852209 發(fā)表于 2020-12-3 09:24 來自手機 | 只看該作者
可以發(fā)一下主程序代碼嗎?
回復(fù)

使用道具 舉報

17#
ID:867934 發(fā)表于 2020-12-25 21:58 來自手機 | 只看該作者
程序代碼可以發(fā)嗎
回復(fù)

使用道具 舉報

18#
ID:868146 發(fā)表于 2020-12-26 13:12 | 只看該作者
可以分享一下代碼嘛?
回復(fù)

使用道具 舉報

19#
ID:892032 發(fā)表于 2021-3-15 10:22 | 只看該作者

能發(fā)下全部的代碼么
回復(fù)

使用道具 舉報

20#
ID:939295 發(fā)表于 2021-6-22 08:27 | 只看該作者
求代碼和仿真
回復(fù)

使用道具 舉報

21#
ID:1030094 發(fā)表于 2022-5-27 22:35 | 只看該作者

我也需要,求求了
回復(fù)

使用道具 舉報

22#
ID:1051232 發(fā)表于 2022-11-9 18:43 | 只看該作者
有沒有完整代碼呀
回復(fù)

使用道具 舉報

23#
ID:1051232 發(fā)表于 2022-11-9 18:45 | 只看該作者

我也需要求求了
回復(fù)

使用道具 舉報

24#
ID:1040060 發(fā)表于 2023-5-30 20:30 | 只看該作者
求代碼和仿真,非常感謝
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表