單片機(jī)課程設(shè)計報告基于單片機(jī)的遙控窗簾設(shè)計_第1頁
單片機(jī)課程設(shè)計報告基于單片機(jī)的遙控窗簾設(shè)計_第2頁
單片機(jī)課程設(shè)計報告基于單片機(jī)的遙控窗簾設(shè)計_第3頁
單片機(jī)課程設(shè)計報告基于單片機(jī)的遙控窗簾設(shè)計_第4頁
單片機(jī)課程設(shè)計報告基于單片機(jī)的遙控窗簾設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、河南理工大學(xué)微機(jī)原理與單片機(jī)接口技術(shù)課程設(shè)計報告題目:基于單片機(jī)的遙控窗簾設(shè)計姓 名: 學(xué) 號: 專業(yè)班級: 自動化10-4班 指導(dǎo)老師: 蘇珊 所在學(xué)院: 電氣工程與自動化學(xué)院 2013年01月17日摘要本設(shè)計是基于51系列單片機(jī)控制,L298驅(qū)動芯片驅(qū)動電機(jī)正反轉(zhuǎn)以及電機(jī)的調(diào)速,2722解碼芯片與無線電遙控器組成的無線電模塊,霍爾元件起到定位作用,防止窗簾的過卷的無線遙控與有線按鍵同時可控的電動窗簾。其中51單片機(jī)是整個系統(tǒng)的CPU,是系統(tǒng)的核心,它可以接收來自按鍵或者遙控的控制信號以及霍爾傳感器的觸發(fā)信號,并對信號做出判斷進(jìn)而做出相應(yīng)的響應(yīng),通過L298驅(qū)動芯片控制電機(jī)的啟動、正反轉(zhuǎn)以及

2、調(diào)速和停止的功能,達(dá)到控制窗簾開關(guān)的目的,同時通過霍爾傳感器定位窗簾的位置來防止窗簾的過卷,并且在電機(jī)正反轉(zhuǎn)以及調(diào)速的同時會有相應(yīng)的LED做出相應(yīng)的指示,使得系統(tǒng)狀態(tài)可視化。本系統(tǒng)共包括6個模塊,分別是:CPU主控制模塊,電機(jī)及其驅(qū)動模塊,遙控控制模塊,按鍵控制模塊,霍爾傳感器控制模塊,LED指示模塊。最終完成的功能是:1、遙控按下A鍵時,窗簾關(guān)住,同時在關(guān)住的過程中可以通過遙控的C鍵調(diào)整關(guān)窗簾的速度,D鍵可使窗簾隨時停止運(yùn)動,若不人為在此過程中使得窗簾停止運(yùn)動則在窗簾運(yùn)動到頭時霍爾傳感器會感應(yīng)到窗簾的位置而自動使得窗簾停止運(yùn)動。2、當(dāng)遙控按下B鍵時,窗簾打開,同時打開的過程中C鍵D鍵以及霍爾

3、傳感器起到相同的作用。3、有線的按鍵也有四個鍵,這四個鍵的作用與遙控的四個鍵的作用是一樣的,達(dá)到遙控和有線同時可控的作用。4、LED為指示的作用,當(dāng)窗簾關(guān)的狀態(tài)時,LED向窗簾關(guān)的方向流水指示,當(dāng)窗簾開的狀態(tài)時,LED向窗簾開的方向流水指示,同時LED流水的速度反映的是電機(jī)的轉(zhuǎn)速。目錄摘要21、概述4主要芯片41.2 STC89C52單片機(jī)41.3 L298電機(jī)驅(qū)動芯片41.4 無線電遙控接收模塊41.5 總結(jié)52、系統(tǒng)總體方案及硬件設(shè)計6系統(tǒng)總體方案6硬件設(shè)計63、 軟件設(shè)計8程序流程8程序說明84、 proteus仿真9仿真圖9仿真圖說明95、 課程設(shè)計體會11參考文獻(xiàn)12附1 程序源代碼

4、13附2 系統(tǒng)原理圖211、 概述1.1 主要芯片本設(shè)計用到的主要芯片有:STC89C52單片機(jī)、L298電機(jī)驅(qū)動芯片、2272解碼芯片組成的無線電遙控接收模塊。1.2 STC89C52單片機(jī)52系列的單片機(jī)是51系列單片機(jī)的一個增強(qiáng)型的子系列,其內(nèi)部資源要比51的稍微多一點(diǎn),其中定時/計數(shù)器比51的多了一個計數(shù)器2,對于我們的課程設(shè)計我們用到了52單片機(jī)的兩個定時器和一個外部中斷資源。1.3 L298電機(jī)驅(qū)動芯片L298可直接的對電機(jī)進(jìn)行控制,無需隔離電路。通過單片機(jī)的I/O輸入改變芯片的控制端的電平,即可以對電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作,非常方便,亦能滿足直流減速帶你及的大電流要求。調(diào)試時在

5、依照控制管腳,用程序輸入對應(yīng)的碼值,能夠?qū)崿F(xiàn)對應(yīng)的動作,調(diào)試通過。1和15和8引腳直接接地。4管腳VS接2.5到46的電壓,它是用來驅(qū)動電機(jī)的。9引腳是用來接4.5到7V的電壓的,它是用來驅(qū)動L298芯片的。6和11引腳是它的使能端,一個使能端控制一個電機(jī),至于那個控制那個你自己焊接,你可以把它理解為總開關(guān),只有當(dāng)它們都是高電平的時候兩個電機(jī)才有可能工作。5,7,10,12是298的信號輸入端和單片機(jī)的IO口相連。2,3,13,14是輸出端。輸入5和7控制輸出2和3, 輸入的10,12控制輸出的13,14。在我們的課程設(shè)計中,因?yàn)槲覀兊拇昂熤挥玫搅艘粋€電機(jī),所以我們的驅(qū)動芯片也只用到了一路驅(qū)動

6、,用5、7管腳控制2、3管腳的輸出來控制電機(jī)的正反轉(zhuǎn)以及調(diào)速功能。1.4 無線電遙控接收模塊2722是一個解碼芯片,其地址是通過2722的管腳進(jìn)行的硬件編碼的,每個遙控器與接收模塊對應(yīng),其編碼是焊盤事先設(shè)計好的。具體原理不再做分析,這個無線電模塊很好使用,遙控上的按鍵A、B、C、D對應(yīng)接收模塊上的A、B、C、D管腳,當(dāng)按下遙控器上的按鍵時,接收模塊對應(yīng)管腳便成為了高電平鎖存輸出,同時I管腳(有效信號確認(rèn))輸出一個高電平脈沖,當(dāng)松開按鍵時I管腳再次變?yōu)榈碗娖?,而對?yīng)A、B、C、D仍為高電平(鎖存),當(dāng)按下其他的按鍵時,剛才的那個高電平鎖存輸出管腳變?yōu)榈?,這次的對應(yīng)管腳鎖存輸出高,同樣I管腳輸出一

7、個高電平觸發(fā)脈沖。我們的課設(shè)中A、B、C、D、I分別與單片機(jī)的I/O口連接檢測無線信號,通過相應(yīng)的無線電遙控信號來控制系統(tǒng)的狀態(tài)。1.5 總結(jié)本系統(tǒng)共包括5個模塊,分別是:CPU主控制模塊,電機(jī)極其驅(qū)動模塊,遙控控制模塊,按鍵控制模塊,LED指示模塊。最終完成的功能是:1、遙控按下A鍵時,窗簾關(guān)住,同時在關(guān)住的過程中可以通過遙控的C鍵調(diào)整關(guān)窗簾的速度,D鍵可使窗簾隨時停止運(yùn)動,若不人為在此過程中使得窗簾停止運(yùn)動則在窗簾運(yùn)動到頭時霍爾傳感器會感應(yīng)到窗簾的位置而自動使得窗簾停止運(yùn)動。2、當(dāng)遙控按下B鍵時,窗簾打開,同時打開的過程中C鍵D鍵以及霍爾傳感器起到相同的作用。3、有線的按鍵也有四個鍵,這四

8、個鍵的作用與遙控的四個鍵的作用是一樣的,達(dá)到遙控和有線同時可控的作用。4、LED為指示的作用,當(dāng)窗簾關(guān)的狀態(tài)時,LED向窗簾關(guān)的方向流水指示,當(dāng)窗簾開的狀態(tài)時,LED向窗簾開的方向流水指示,同時LED流水的速度反映的是電機(jī)的轉(zhuǎn)速。2、系統(tǒng)總體方案及硬件設(shè)計我們的課設(shè)系統(tǒng)共包括5個模塊,分別是:CPU主控制模塊,電機(jī)及其驅(qū)動模塊,遙控控制模塊,按鍵控制模塊,霍爾傳感器控制模塊,LED指示模塊。51單片機(jī)是整個系統(tǒng)的CPU,是系統(tǒng)的核心,它可以接收來自按鍵或者遙控的控制信號以及霍爾傳感器的觸發(fā)信號,并對信號做出判斷進(jìn)而做出相應(yīng)的響應(yīng),通過L298驅(qū)動芯片控制電機(jī)的啟動、正反轉(zhuǎn)以及調(diào)速和停止的功能,

9、達(dá)到控制窗簾開關(guān)的目的,同時通過霍爾傳感器定位窗簾的位置來防止窗簾的過卷,并且在電機(jī)正反轉(zhuǎn)以及調(diào)速的同時會有相應(yīng)的LED做出相應(yīng)的指示,使得系統(tǒng)狀態(tài)可視化。我們的硬件設(shè)計部分原理圖完全是自己重新設(shè)計的,把單片機(jī)的最小系統(tǒng)和L298的驅(qū)動芯片部分以及電源部分焊在了老師發(fā)的那塊萬用版上,按鍵及顯示部分焊在了另外一塊萬用版上,最小系統(tǒng)那塊板子上焊的很多用于外拓的排針,包括無線接收模塊,霍爾傳感器模塊以及按鍵控制部分還有電機(jī)的輸出都是通過最小系統(tǒng)的那塊板子通過杜邦線連接起來的。遙控器接收模塊的五個管腳輸出與單片機(jī)的P10P14連接,用來接收遙控的控制信號;P33、P34、P35、P37與按鍵的控制信號

10、連接,用來檢測按鍵的控制信號;P30、P31與L298的驅(qū)動芯片的正反轉(zhuǎn)控制管腳連接,用來控制電機(jī)的正反轉(zhuǎn)以及通過占空比控制電機(jī)的速度;P15與驅(qū)動芯片L298的使能管腳連接,至高時使能驅(qū)動芯片的一路電機(jī)控制,使得驅(qū)動芯片接到相應(yīng)的控制信號后能夠驅(qū)動電機(jī)正反轉(zhuǎn);P32管腳與霍爾傳感器的OUT相連,用來檢測霍爾傳感器發(fā)出的低脈沖信號,當(dāng)霍爾傳感器檢測到窗簾運(yùn)動的位置的時候,給單片機(jī)發(fā)出一個低脈沖信號,觸發(fā)單片機(jī)的外部中斷,在外部中斷中達(dá)到窗簾防過卷的功能。指示部分為八個LED分別串聯(lián)電阻與單片機(jī)的P2口相連接,用來指示系統(tǒng)的運(yùn)行狀態(tài)。電源部分我們通過兩個獨(dú)立電源供電分別是:1、5V給芯片及傳感器

11、和LED供電;2、7.2V給驅(qū)動芯片的電機(jī)控制輸出端供電,用來驅(qū)動電動機(jī)。并且根據(jù)L298驅(qū)動芯片的功能這兩個電源是共地的。我們選用的這兩部分電源分別為并聯(lián)的4.5V的干電池,7.2V的蓄電池。利用自鎖開關(guān)對電源進(jìn)行控制并且每個電源都有相應(yīng)的LED進(jìn)行通電指示,以保證供電的可靠。3、 軟件設(shè)計總體的軟件設(shè)計部分的程序總共包括四個模塊,其中主函數(shù)部分主要進(jìn)行無線遙控的按鍵掃描和有線按鍵掃描并對電機(jī)的正反轉(zhuǎn)和速度進(jìn)行控制;定時器0對響應(yīng)的停止信號進(jìn)行掃描,當(dāng)按下遙控器D鍵或者有線按鍵d時程序做出相應(yīng)的判斷,判斷對模式進(jìn)行轉(zhuǎn)換還是電動機(jī)的停止信號,并設(shè)置相應(yīng)的標(biāo)志位和對電機(jī)進(jìn)行停止控制。定時器1對指

12、示部分的LED進(jìn)行控制,當(dāng)電機(jī)正轉(zhuǎn)的時候,LED往一個方向流水,當(dāng)電機(jī)往相反方向轉(zhuǎn)動時,LED往另外一個方向流水,并且程序會根據(jù)電機(jī)轉(zhuǎn)動的速度調(diào)整流水燈的流水速度,從而使得系統(tǒng)的運(yùn)行狀態(tài)可視化。外部中斷0是對霍爾傳感器的信號進(jìn)行判斷的部分,當(dāng)單片機(jī)接收到外部中斷的時候程序控制電機(jī)停轉(zhuǎn)與否,從而達(dá)到防過卷的功能。4、 proteus仿真由仿真圖可以看出,該系統(tǒng)主要有按鍵控制模塊,流水燈指示模塊,CPU控制模塊,L298驅(qū)動電機(jī)模塊。其中,用SW1模仿無線電按鍵控制,因?yàn)楦鶕?jù)無線電遙控模塊的特點(diǎn),每次按下一個遙控鍵的時候?qū)?yīng)的管腳為鎖存輸出高電平,所以用自鎖式的撥碼開關(guān)代替遙控模塊達(dá)到仿真的目的,

13、S0代表確認(rèn)鍵;S1、S2、S3、S4分別代表手動控制的四個按鍵,根據(jù)程序的設(shè)計實(shí)現(xiàn)與遙控按鍵相同的功能。流水燈實(shí)現(xiàn)窗簾的正轉(zhuǎn)與反轉(zhuǎn)的指示功能。L298是驅(qū)動電機(jī)的部分,由單片機(jī)引出P3.0,P3.1控制驅(qū)動的輸入端,驅(qū)動的輸出端則連到電機(jī)兩端。工作時,當(dāng)按下按鍵SW1的1,經(jīng)過P3.0,P3.1分別輸出高低電平,然后由驅(qū)動輸出1,2管腳的高低電平,電機(jī)正轉(zhuǎn),流水燈從下往上正流;當(dāng)按下按鍵2,電機(jī)反轉(zhuǎn),流水燈反向流動。當(dāng)按下按鍵3時,并按確認(rèn)鍵S0時,通過PWM波來調(diào)節(jié)占空比,從而使電機(jī)調(diào)速。當(dāng)按下按鍵4時,讓電機(jī)停轉(zhuǎn)。按下S1時,電機(jī)正轉(zhuǎn),按下S2時,電機(jī)反轉(zhuǎn),按下S3時,電機(jī)調(diào)速,按下S4

14、時,電機(jī)停轉(zhuǎn)。5、 課程設(shè)計體會我們這次做的課程設(shè)計的題目是“遙控窗簾”,我們用到的主控芯片是STC89C52單片機(jī),用到的芯片有L298驅(qū)動芯片、2272組成的無線電遙控接收模塊,霍爾傳感器。雖然說課程設(shè)計的題目是我們自己選的,但是所用的芯片都是老師給發(fā)的,這就減少了我們這次設(shè)計中的一部分工作,老師給發(fā)的芯片和模塊都是運(yùn)用起來比較方便的,當(dāng)然這樣使我們開擴(kuò)了自己的眼界,通過對這些芯片和模塊的網(wǎng)上搜索資料我們了解這些芯片的一些基本原理,并熟悉了這些芯片和模塊的使用方法,我覺得這也是一個非常有用的環(huán)節(jié),這樣的過程會為我們以后做課題時選擇模塊和芯片打下了一定的基礎(chǔ),最起碼我們通過老師發(fā)芯片我們自己

15、查詢資料的過程我們對這些模塊的使用是已經(jīng)非常熟悉了,等到以后在做設(shè)計的時候可能就睡想起來現(xiàn)在用過的芯片和模塊。通過這次課程設(shè)計的全過程:從最開始的構(gòu)思,到硬件原理圖的設(shè)計,到硬件原理圖的實(shí)物焊接,到編寫程序軟件設(shè)計,到最后的軟硬件結(jié)合起來的調(diào)試,到最終的窗簾的外包裝,所有的這些都是我們自己構(gòu)思與設(shè)計的,最終實(shí)現(xiàn)了課程設(shè)計中的所有要求。感觸很深,在這過程中我不僅一次的遇到問題和錯誤,并不斷的解決這些問題的過程中學(xué)到了很多。當(dāng)然也有一些由于時間問題還未解決的問題,比如:我們本來是想用到一個超聲波模塊的,用來對距離進(jìn)行檢測,使得電機(jī)有一個啟動和停止的過程,但是由于寫程序調(diào)試的時候老是出現(xiàn)問題,而且測

16、距的數(shù)據(jù)老是不準(zhǔn)確,最終由于時間的問題沒有解決這個問題,放棄了這項功能,當(dāng)然再接下來的時間我還是會想辦法解決這個問題的。通過這次課程設(shè)計我對一個系統(tǒng)的整體設(shè)計有了初步的了解與認(rèn)識,自己覺得一個系統(tǒng)的的完成跟一個大程序的編寫是有些類似的地方的,他們都是有若干的獨(dú)立又相互之間有聯(lián)系的模塊組成的。把每一個模塊的設(shè)計都完成了那么這個系統(tǒng)的設(shè)計也就完成了一大部分了,當(dāng)然最后還要把他們結(jié)合起來進(jìn)行最終的調(diào)試,使得系統(tǒng)能夠完成最終的功能,當(dāng)然如果系統(tǒng)是閉環(huán)的話,也要保證系統(tǒng)的穩(wěn)定性與快速性等問題。本人覺得課程設(shè)計這方面的課程對相關(guān)專業(yè)課的扎實(shí)與提高有很大的作用,對我們綜合能力的提高有很大的幫助,所以對這方面

17、的設(shè)計自己是比較認(rèn)真的,也希望以后專業(yè)課程能夠多一些比例。參考文獻(xiàn)1 楊凌霄,王麗·微機(jī)原理與單片機(jī)接口技術(shù)·中國電力出版社,2012,231-3762 郭天祥·51單片機(jī)C語言教程·中國電子工業(yè)出版社,2009-01-013 邱關(guān)源,羅先覺·電路·高等教育出版社,2006-03-01,115-1204 百度文庫·L298中文資料,2009-09-10/2013-01-12 5 百度文庫·2262/2272編解碼集成電路介紹, :/wenku.baidu /view/4db6fff8941ea76e58fa044a

18、.html,2006-06-05/2013-01-126 百度文庫·霍爾傳感器的原理與應(yīng)用, :/wenku.baidu /view/cf5d144e852458fb770b568f.html,2010-05-26/2013-01-13附1 程序源代碼#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit AJA=P10; /遙控按鍵A位定義sbit AJB=P11; /遙控按鍵B位定義sbit AJC=P12; /遙控按鍵C位定義sbit AJD=P13; /遙控按鍵D位定義sb

19、it DJZ=P30; /L298正反轉(zhuǎn)控制位定義sbit QR=P14; /遙控按鍵I位定義sbit DJF=P31; /L298正反轉(zhuǎn)控制位定義sbit EAB=P15; /L298電機(jī)驅(qū)動使能位定義sbit HR=P16; /霍爾傳感器輸出信號位定義sbit L1=P34; /按鍵L1位定義sbit L2=P35; /按鍵L2位定義sbit L3=P33; /按鍵L3位定義sbit L4=P37; /按鍵L4位定義int q=20,h=2;uchar w=20,a,b,x,xx,BZ=0,d,dd,f,n,v,s1,s2;/*定時器初始化*/void T_init() IE=0x8a;

20、/打開中斷TMOD = 0x01;/定時器工作方式1TH0 = (65536-1000)/256;TL0 = (65536-1000)%256; TH1 = (65536-50000)/256;TL1 = (65536-50000)%256;TCON = 0x50;/打開定時器/*延時子函數(shù)*/delay(char s)uchar i,j;for(i=0;i<=100;i+)for(j=0;j<=s;j+);/*遙控控制電機(jī)及流水燈速度控制子函數(shù)*/void SD() if(QR=1)delay(5); /單次和長按都可以調(diào)速x+;if(x=2) q=q+2;if(q>=50

21、00)q=5000;h=h+1;if(h>=5000)h=5000; x=0;/*按鍵控制電機(jī)及流水燈速度控制子函數(shù)*/void JSD()delay(5); /單次和長按都可以調(diào)速 xx+;if(xx=2) q=q+2;if(q>=5000)q=5000;h=h+1;if(h>=5000)h=5000;xx=0;/*主函數(shù),進(jìn)行遙控按鍵和有線按鍵掃描控制電機(jī)正反轉(zhuǎn)及速度*/void main() P1=0xff;P0=0xff;P2=0xff;P3=0xff;T_init();while(1) if(BZ=0) /遙控按鍵的掃描控制 if(AJA=1|a=1) /遙控按鍵A

22、按下則電機(jī)正傳s2=0;a=1;b=0;n=v=0;dd=1;if(s1=0)P2=0xff;s1+; DJF=1;DJZ=0;delay(w);DJZ=1; delay(q); if(AJB=1|b=1) /遙控按鍵B按下則電機(jī)反轉(zhuǎn)s1=0;b=1;a=0;n=v=0;dd=2;if(s2=0) P2=0xff; s2+; DJZ=1;DJF=0;delay(w);DJF=1;delay(q);if(AJC=1)/遙控按鍵C按下則電機(jī)速度漸漸升起來 n=v=0; SD();if(AJD=1) /遙控按鍵D按下則電機(jī)停轉(zhuǎn) a=b=0;n=v=0;dd=0;d=0;P2=0xff; DJZ=0;

23、DJF=0;q=0;h=5; if(BZ=1) /按鍵的掃描控制if(L1=0|v=1) /按鍵L1按下則電機(jī)正傳s2=0;v=1;n=0;a=b=0;dd=1;if(s1=0)P2=0xff;s1+; DJF=1;DJZ=0;delay(w);DJZ=1; delay(q); if(L2=0|n=1) /按鍵L2按下則電機(jī)反轉(zhuǎn)s1=0;n=1;v=0;a=b=0;dd=2;if(s2=0) P2=0xff; s2+; DJZ=1;DJF=0;delay(w);DJF=1;delay(q);if(L3=0) /按鍵L3按下則電機(jī)速度漸漸升 a=b=0;JSD();if(L3=1)xx=0;if(L4=0) /按鍵L4按下則電機(jī)停轉(zhuǎn)a=b=0;n=v=0;dd=0;d=0;P2=0xff; DJZ=0;DJF=0;q=0;h=5;BZ=1;/*定時器0進(jìn)行霍爾傳感器信號的掃描和相應(yīng)按鍵或遙控模式的轉(zhuǎn)換*/void Timer0() int

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論