單片機課程設(shè)計 電風(fēng)扇模擬控制_第1頁
單片機課程設(shè)計 電風(fēng)扇模擬控制_第2頁
單片機課程設(shè)計 電風(fēng)扇模擬控制_第3頁
單片機課程設(shè)計 電風(fēng)扇模擬控制_第4頁
單片機課程設(shè)計 電風(fēng)扇模擬控制_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、信 息 工 程 學(xué) 院 課 程 設(shè) 計 報 告設(shè)計題目: 電風(fēng)扇模擬控制系統(tǒng) 名 稱: 電子信息專業(yè)基礎(chǔ)課程設(shè)計 班 級: 電子1101班 姓 名: 王強 劉繪明 學(xué) 號: 2011013526 2011013512 設(shè)計時間: 2013.12.23 至 2014.01.05 指導(dǎo)教師: 徐明鵑 評 語: 評閱成績: 評閱教師: 目 錄1、 課程設(shè)計的性質(zhì)和目的.32、 課程設(shè)計的要求.33、 主要儀器設(shè)備及軟件.31、Keil軟件簡介.32、Proteus繪圖軟件簡介.34、 課程設(shè)計題目及要求.35、 課題分析及設(shè)計思路.41、設(shè)計主要內(nèi)容.42、 AT89C51單片機簡介.43、 ULN

2、2003簡介.54、 直流電機簡介.65、 數(shù)碼管簡介.66、 硬件設(shè)計框圖.77、 硬件設(shè)計電路圖.78、 單片機控制直流電機流程圖.89、 軟件仿真.86、 程序主要代碼與分析.97、 實驗結(jié)果截圖.128、 心得體會.13一、課程設(shè)計的性質(zhì)和目的通過課程設(shè)計,進行硬件設(shè)計和程序設(shè)計的方法和技能訓(xùn)練,鞏固在課堂上學(xué)到的有關(guān)軟件程序設(shè)計和硬件電路設(shè)計的基本知識和基本方法,通過具體課題的訓(xùn)練,進一步熟悉匯編語言的結(jié)構(gòu)和使用方法,掌握軟硬結(jié)合的控制程序設(shè)計,達到能獨立閱讀、查閱資料、編制和調(diào)試完善特定功能的目的。2、 課程設(shè)計的要求 1、遵循硬件設(shè)計模塊化。2、要求程序設(shè)計結(jié)構(gòu)化。3、程序簡明易

3、懂,多運用輸入輸出提示,有出錯信息及必要的注釋。4、要求程序結(jié)構(gòu)合理,語句使用得當(dāng)。5、適當(dāng)追求編程技巧和程序運行效率。三、主要儀器設(shè)備及軟件 PC機、Keil軟件、Proteus繪圖軟件及仿真等。 1、Keil軟件簡介 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。 Keil C51生成的目標代碼效率非常之

4、高,多數(shù)語句生成的匯編代碼很緊湊理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。2、 Proteus繪圖軟件簡介 Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430

5、等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。四、課程設(shè)計題目及要求 課程設(shè)計題目是電風(fēng)扇模擬控制系統(tǒng),設(shè)計要求是:1、設(shè)計3個按鍵分別控制“自然風(fēng)”“常風(fēng)”,“睡眠風(fēng)”(用直流電機的不同轉(zhuǎn)速進行模擬); 2、在數(shù)碼管上顯示按鍵的區(qū)別;3、設(shè)計風(fēng)扇的過熱保護,即風(fēng)扇運行一段時間后,暫停5s。五、課題分析及設(shè)計思路1、 設(shè)計主要內(nèi)容本設(shè)計以AT89C51單片機為核心,從而建立一個控制系統(tǒng),實現(xiàn)通過3個按鍵控制直流電機的不同轉(zhuǎn)速,以達到模擬風(fēng)扇的“自然風(fēng)”、“常風(fēng)”和“睡眠風(fēng)”三種狀態(tài),并在數(shù)碼管上

6、顯示三個數(shù)字表示三種狀態(tài),同時設(shè)計風(fēng)扇過熱保護,運行一段時間后,暫停5S。 2、AT89C51單片機簡介AT89C51是一個低功耗,高性能CMOS8位單片機,片內(nèi)含4kBytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及89C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案.AT89C51具有如下特點:40個引腳,4k Bytes Flas

7、h片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器,32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,片內(nèi)時鐘振蕩器。 此外,AT89C51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。AT89C51單片機的基本結(jié)構(gòu)和外部引腳如下圖所示 。 圖2.13、 ULN2003簡介

8、 在自動化密集的的場合會有很多被控元件如繼電器,微型電機,風(fēng)機,電磁閥,空調(diào),水處理等元件及設(shè)備,這些設(shè)備通常由CPU所集中控制,由于控制系統(tǒng)不能直接驅(qū)動被控元件,這需要由功率電路來擴展輸出電流以滿足被控元件的電流,電壓。ULN2XXXX高壓大電流達林頓晶體管陣列系列產(chǎn)品就屬于這類可控大功率器件,由于這類器件功能強、應(yīng)用范圍語廣。因此,許多公司都生產(chǎn)高壓大電流達林頓晶體管陣列產(chǎn)品,從而形成了各種系列產(chǎn)品。N2003是什么- 原理:ULN2003也是一個7路反向器電路,即當(dāng)輸入端為高電平時ULN2003輸出端為低電平,當(dāng)輸入端為低電平時ULN2003輸出端為高電平,繼電器得電吸合。如下圖所示 圖

9、3.1 ULN2003A在各種控制電路中常用它作為驅(qū)動繼電器的芯片,其芯片內(nèi)部做了一個消線圈反電動勢的二極管。ULN2003的輸出端允許通過IC 電流200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。輸出電流大,故可以直接驅(qū)動繼電器或固體繼電器(SSR)等外接控制器件,也可直接驅(qū)動低壓燈泡。本實驗中,ULN2003A用于驅(qū)動直流電機。 4、直流電機簡介直流馬達指能將直流電能和機械能相互轉(zhuǎn)換的電機。應(yīng)用:電動自行車,電腦風(fēng)扇、抽水機、吹風(fēng)機、甩干機和壓縮機、跑步機、電動車、汽車方向盤驅(qū)動、電梯、DVD的驅(qū)動、大型軋鋼設(shè)備、大型精密機床、礦井卷揚機、市內(nèi)電車、電纜設(shè)備、測速電機等

10、。直流馬達可分為機殼、定子和轉(zhuǎn)子組成。直流電機運行時靜止不動的部分稱為定子,定子的主要作用是產(chǎn)生磁場,運行時轉(zhuǎn)動的部分稱為轉(zhuǎn)子,其主要作用是產(chǎn)生電磁轉(zhuǎn)矩和感應(yīng)電動勢,是直流電機進行能量轉(zhuǎn)換的樞紐(電樞)。 5、數(shù)碼管顯示 數(shù)碼管內(nèi)部由七個條形發(fā)光二極管和一個小圓點發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。常見數(shù)碼管有10根管腳。管腳排列如下圖所示。其中COM為公共端,根據(jù)內(nèi)部發(fā)光二極管的接線形式可分為共陰極和共陽極兩種。使用時,共陰極數(shù)碼管公共端接地,共陽極數(shù)碼管公共端接電源。每段發(fā)光二極管需510mA的驅(qū)動電流才能正常發(fā)光,一般需加限流電阻控制電流的大小。 LED數(shù)碼管的ag七個發(fā)光二極管。

11、加正電壓的發(fā)光,加零電光,不同亮暗組合就能形成不同的字形,這種組合稱為字形碼。 圖5.1 6、硬件設(shè)計框圖 圖6.17、 硬件設(shè)計電路圖本電路由AT89C51和ULN2003A為核心。 圖7.1 8、單片機控制直流電機流程圖 主程序 定位 返回下一個信號 延遲輸出讀取數(shù)組初始化信號定位聲明變量與函數(shù)定 位開 始 關(guān)閉輸出判斷按鍵狀態(tài);去抖動函數(shù)讀取數(shù)組;輸出延遲超過4次? NO YES 圖8.1 9、軟件仿真(1)、把程序在Keil uVision3中調(diào)試,成功無錯誤后生成Hex文件。(2)、根據(jù)電路圖在proteus軟件中回去電路圖,檢查無錯誤。(3)、雙擊89C51導(dǎo)入生成Hex文件。(4

12、)、點擊proteus軟件左下方的開始鍵,進行仿真,觀察高低電平情況。六、程序主要代碼與分析#include<reg51.h> /包含reg51.h的頭文件#define OUTPUT P1 /定義輸出端口P1#define SEG P0 /定義SEG位置sbit BUTTON1=P20; /聲明開關(guān)1sbit BUTTON2=P21; /聲明開關(guān)2sbit BUTTON3=P22; / 聲明開關(guān)3unsigned char steps=20; /定義20步unsigned int times1=50; /聲明開關(guān)1的延時時間(×5ms)unsigned int time

13、s2=100;unsigned int times3=150;/*1相激勵信號數(shù)組*/char code excite=0x01,0x02,0x04,0x08;char code TAB3=0xf9, 0xa4, 0xb0; /聲明數(shù)碼管的值void step_rst(void); /聲明定位函數(shù)void delay5ms(int); /聲明延遲函數(shù)void debouncer(void); /聲明去抖函數(shù)/=主程序=main() /主程序 unsigned char i; /聲明無符號變量i OUTPUT=0; /輸出step_rst(); P2=0xff; /設(shè)置輸入口while(1) /

14、while循環(huán)開始 if (BUTTON1=0) /如果開關(guān)1按下 debouncer(); /去抖 SEG=TAB0; /數(shù)碼管顯示1(正常風(fēng)) for(i=0;i<steps;i+) /20步 OUTPUT=excite3-i%4; delay5ms(times1); if(i=19) OUTPUT=0; /輸出為0,開始延時 delay5ms(1000); /延時5000ms else if (BUTTON2=0) /若開關(guān)2被按下 debouncer(); /去抖 SEG=TAB1; / /數(shù)碼管顯示2 for(i=0;i<steps;i+) OUTPUT=excite3-

15、i%4; /控制正轉(zhuǎn) delay5ms(times2); /延時 if(i=19) OUTPUT=0; delay5ms(1000); else if (BUTTON3=0) /若按下開關(guān)3 debouncer(); /去抖 SEG=TAB2; /數(shù)碼管顯示3 for(i=0;i<steps;i+) OUTPUT=excite3-i%4; delay5ms(times3); if(i=19) OUTPUT=0; delay5ms(1000); /=延遲函數(shù)=void delay5ms(int x) /延時函數(shù)開始int i,j; /聲明整型變量i,j for(i=0;i<x;i+)

16、 /計數(shù)x次,延遲約x×5ms for(j=0;j<600;j+); /計數(shù)約600次,延遲約5ms/=去抖函數(shù)=void debouncer(void) /聲明去抖函數(shù)delay5ms(4); /延時20ms/=定位函數(shù)=void step_rst(void) /聲明定位函數(shù)char i; /聲明變量i for(i=0;i<4;i+) OUTPUT=excitei; delay5ms(100); /延時500ms 7、 實驗結(jié)果截圖 (1)、按鍵1按下,數(shù)碼管顯示1,自然風(fēng)。 圖7.1.1(2) 按鍵2按下,數(shù)碼管顯示2,常風(fēng)。圖7.1.2(3) 、按鍵3按下,數(shù)碼管顯

17、示3,睡眠風(fēng)。圖7.1.38、 心得體會 通過本次設(shè)計,使我們學(xué)到了許多書本上無法學(xué)到的知識,也使我深刻體會到單片機技術(shù)應(yīng)用領(lǐng)域的廣泛。不僅讓我對學(xué)過的單片機知識有了很多的鞏固,同時也對單片機這一門課程產(chǎn)生更大的興趣。在本次設(shè)計過程中,我學(xué)會了在網(wǎng)絡(luò)上查找有關(guān)設(shè)計的個硬件的資源,其中包括:直流電機速度控制、AT89C51的腳圖的資料、ULN2003A引腳和驅(qū)動的原理以及數(shù)碼管的顯示原理。本系統(tǒng)是以單片機AT89C51芯片為核心部件,實現(xiàn)了電風(fēng)扇系統(tǒng)控制功能,在軟件上是花費時間最多的,我們上網(wǎng)找資料,上圖書館,盡可能的了解有關(guān)于電風(fēng)扇的知識。通過這次設(shè)計,使我們得到了一次用專業(yè)知識、專業(yè)技能分析

18、和解決問題全面系統(tǒng)的鍛煉。使我們在單片機的基本原理、單片機應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計思路技巧的掌握方面都能向前邁了一大步。在設(shè)計的過程中,不斷的學(xué)習(xí),思考和同學(xué)間的相互討論,運用科學(xué)的分析問題的方法解決遇到的困難,掌握單片機系統(tǒng)一般的開發(fā)流程,學(xué)會對常見問題的處理方法,積累設(shè)計系統(tǒng)的經(jīng)驗,充分發(fā)揮教學(xué)與實踐的結(jié)合。全能提高個人系統(tǒng)開發(fā)的綜合能力,開拓了思維,為今后能在相應(yīng)工作崗位上的工作打下了堅實的基礎(chǔ)。不但加深我對在課程上所學(xué)到的單片機理論知識的認識和理解,重新讓自己認識到了這門學(xué)科的在應(yīng)用方面的廣闊前景,并且通過知識與應(yīng)用于實踐的結(jié)合更加豐富了自己的知識。擴展了知識面,不但掌握了本專業(yè)的相關(guān)知識,而且對其他專業(yè)的知識也有所了解,而且較系統(tǒng)的掌握單片機應(yīng)用系統(tǒng)的開發(fā)過程,因而自身的綜合素質(zhì)有了全面的提高。經(jīng)過這次一個較完整的產(chǎn)品設(shè)計和制作過程,對于認識到自己在知識方面存在的不足,明確今后的學(xué)習(xí)方向是非常有益的,為將來的的就業(yè)提前打了下堅

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論