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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

5、依照控制管腳,用程序輸入對應的碼值,能夠實現對應的動作,調試通過。1和15和8引腳直接接地。4管腳VS接2.5到46的電壓,它是用來驅動電機的。9引腳是用來接4.5到7V的電壓的,它是用來驅動L298芯片的。6和11引腳是它的使能端,一個使能端控制一個電機,至于那個控制那個你自己焊接,你可以把它理解為總開關,只有當它們都是高電平的時候兩個電機才有可能工作。5,7,10,12是298的信號輸入端和單片機的IO口相連。2,3,13,14是輸出端。輸入5和7控制輸出2和3, 輸入的10,12控制輸出的13,14。在我們的課程設計中,因為我們的窗簾只用到了一個電機,所以我們的驅動芯片也只用到了一路驅動

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

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

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

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

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

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

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

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

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

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

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

17、的設計自己是比較認真的,也希望以后專業(yè)課程能夠多一些比例。參考文獻1 楊凌霄,王麗·微機原理與單片機接口技術·中國電力出版社,2012,231-3762 郭天祥·51單片機C語言教程·中國電子工業(yè)出版社,2009-01-013 邱關源,羅先覺·電路·高等教育出版社,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 百度文庫·霍爾傳感器的原理與應用, :/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正反轉控制位定義sbit QR=P14; /遙控按鍵I位定義sbit DJF=P31; /L298正反轉控制位定義sbit EAB=P15; /L298電機驅動使能位定義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;/打開定時器/*延時子函數*/delay(char s)uchar i,j;for(i=0;i<=100;i+)for(j=0;j<=s;j+);/*遙控控制電機及流水燈速度控制子函數*/void SD() if(QR=1)delay(5); /單次和長按都可以調速x+;if(x=2) q=q+2;if(q>=50

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

22、按下則電機正傳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按下則電機反轉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按下則電機速度漸漸升起來 n=v=0; SD();if(AJD=1) /遙控按鍵D按下則電機停轉 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按下則電機正傳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按下則電機反轉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按下則電機速度漸漸升 a=b=0;JSD();if(L3=1)xx=0;if(L4=0) /按鍵L4按下則電機停轉a=b=0;n=v=0;dd=0;d=0;P2=0xff; DJZ=0;DJF=0;q=0;h=5;BZ=1;/*定時器0進行霍爾傳感器信號的掃描和相應按鍵或遙控模式的轉換*/void Timer0() int

溫馨提示

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

評論

0/150

提交評論