基于單片機的紅外遙控設(shè)計_第1頁
基于單片機的紅外遙控設(shè)計_第2頁
基于單片機的紅外遙控設(shè)計_第3頁
基于單片機的紅外遙控設(shè)計_第4頁
基于單片機的紅外遙控設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的紅外線遙控電機設(shè)計 信息與控制工程系1、 摘要:本文是經(jīng)過實際制作和調(diào)試而來介紹基于單片機的紅外線遙控電機的設(shè)計。在設(shè)計和制作過程中,采樣的芯片有AT89C51、74LS00、紅外線接受頭等。同時還介紹設(shè)計、制作和調(diào)試過程中遇到的問題是如何解決的。該系統(tǒng)可以實現(xiàn)的功能:檢測功能,自動判別功能,無線控制功能。2、 工作原理 在實際的工程操作過程中,有一些地方是我們不希望其他的非工作人員到達的地方時,高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。我們就要需要對這些地方施行一定的措施,對一些特定的裝置施行無線遙控。實施無線遙控的優(yōu)點有很多的,例如

2、:可以實現(xiàn)無線操作,智能操作,操作人員活動范圍大,使用方便,操控精準,無操作盲點。既可以省錢,又可以節(jié)省勞動力,同時,還可以對特定的人群和特定的設(shè)備實施保護;但無線遙控同樣也有其缺點:遙控距離不可以太遠,信號的錯誤接收,遙控的接收和發(fā)射范圍受到一定的限制等,雖然這些缺點通過一定的軟件和硬件可以得到改善,但效果并不是很明顯。 單片機是一種智能化的芯片,在處理信號方面有其特大的優(yōu)點。本設(shè)計,采樣了兩片AT89C51單片機芯片,這種芯片在市場上隨處都可以買到的,價格也不是很貴,性能還算穩(wěn)定,其芯片有40個引腳,4個I/O口,2個中斷口,2個定時/計數(shù)器,芯片內(nèi)有4KB的存儲,基本上可以滿足一些小產(chǎn)品

3、的開放?;趩纹瑱C的紅外線控制,其系統(tǒng)框圖如下圖1-1: 遙控器發(fā)射端有8個可以自由設(shè)置的按鍵,一旦按鍵確定下來,其對應(yīng)的單片機的端口功能也就確定下來了,這也將是軟件設(shè)計的基礎(chǔ)。當操作者按下發(fā)射端上對應(yīng)的功能鍵鍵時,首先對應(yīng)按鍵的脈沖信號傳送給單片機的輸入/輸出口,觸發(fā)相應(yīng)的功能,按照對應(yīng)的程序發(fā)出相應(yīng)的脈沖個數(shù),進而發(fā)射給遙控器接收端,接收端采樣中斷的處理的方法,對接收到的脈沖信號立即進行動作處理,之所以不采樣查詢的方式,是因為,可能會存在這樣的一個狀態(tài),當脈沖信號來的時候,我就要執(zhí)行器立即動作,可是現(xiàn)在的程序并沒有執(zhí)行到這里,那導(dǎo)致的后果就是已經(jīng)傳送過來的脈沖信號“失效”。當遙控器接收端接

4、收到相應(yīng)的脈沖個數(shù)時候,此時發(fā)出相應(yīng)的控制信號,來對驅(qū)動電路進行控制。 在這個設(shè)計中,由于要對被控對象實施高精度的控制,所以對電動機的控制要求很高,按照控制的要求來說,我們本應(yīng)該使用伺服電動機或是步進電機,同時配上脈沖編碼器來實現(xiàn)的。但由于受到實驗條件和實驗器材的限制,我們對這個部分做了一個小小的處理,采樣了中斷和定時器中斷來處理兩個被檢測信號。 當遙控系統(tǒng)出故障的時候,我們可以采用手動裝置來實現(xiàn)和遙控一樣的操作。這樣就保證了系統(tǒng)的可靠工作。3、 方案論證:一、硬件:(1) 遙控器發(fā)射端:方案一:采樣純數(shù)字電路的來實現(xiàn)對紅外線線信號的發(fā)射,電路結(jié)構(gòu)簡單,調(diào)試方便。但一旦電路制作成功之后,調(diào)試到

5、滿意的性能后,電路就固定了,不能夠?qū)υ瓉淼碾娐愤M行升級,要是想升級的話,就必須通過改變硬件電路的結(jié)構(gòu)來實現(xiàn)特定的功能,同時,對實現(xiàn)功能的增加也是極不方便的。方案二:采樣單片機電路來實現(xiàn)遙控器的發(fā)射功能,電路結(jié)果簡單,電路的功能可以是自由改變的,可以自由的增加一些功能,對整個系統(tǒng)的升級是很方便的,只有通過對軟件的改寫就可以實現(xiàn)特定的功能,相對于通過純數(shù)字電路來實現(xiàn)的功能來說具有更大的優(yōu)勢。鑒于實際工業(yè)現(xiàn)場的環(huán)境,在設(shè)計中,采樣方案二是符合我們的功能要求,所以就選擇了單片機電路來實現(xiàn)遙控器發(fā)射端的任務(wù)。詳細電路見圖2-1。 圖2-1 遙控器發(fā)射端電路圖具體的動作過程:當操作者要實現(xiàn)一個工業(yè)動作的時

6、候,只需要按下手中的遙控器按鍵,就可以實現(xiàn)。例如:按鍵1的作用是加緊一個重物,只要操作者 按下遙控器上按鍵1,一個低電平就傳送到單片機的輸入/輸出口,單片機接收 到這個信號的時候,將程序轉(zhuǎn)移到對應(yīng)的程序入口,發(fā)射相應(yīng)的一個脈沖序列,這個脈沖序列,是唯一的,不會和其他脈沖數(shù)相同。在37KHZ脈沖載波下,將這 個唯一的脈沖序列傳送出來,發(fā)射個遙控器接收端。(2)遙控器接收端方案一:采樣專用的紅外線接收器,可以輸出很精確的,很規(guī)范的理想脈沖序列,但同樣的也存在的問題,系統(tǒng)的升級和換代的不到很好的解決。只有改變硬件的電路,或者是增加硬件電路來實現(xiàn)特定的功能。使得問題復(fù)雜化,提高了系統(tǒng)的開銷費用。方案二

7、:采樣單片機電路來實現(xiàn)紅外線遙控器的接收,也可以得到精確的脈沖序列,不會因為不是專用的芯片而使得脈沖序列有所丟失。同時也可以在單片機的P1口增加手動操作按鍵,這些按鍵的作用和遙控器上按鍵的作用上一樣的,就是為了在遙控系統(tǒng)出問題的時候,我們操作者可以通過手動的按鍵來實現(xiàn)特定的功能,提高系統(tǒng)連續(xù)工作的可靠性。鑒于實際的工業(yè)應(yīng)用,我們采樣方案二來實現(xiàn)對紅外線的接收。詳細的電路圖見圖2-2: 圖2-2 遙控器接收端電路圖具體的動作過程:當紅外線接收端接收到一個發(fā)射端發(fā)射的脈沖信號時,通過中斷和計數(shù)器來對脈沖序列信號進行處理,中斷響應(yīng)立即執(zhí)行相應(yīng)的操作功能,計算器對傳來的脈沖個數(shù)進行計數(shù),識別功能鍵號。

8、而當遙控器系統(tǒng)出現(xiàn)問題的時候,只需要通過操作手動按鍵就可以來實現(xiàn)和遙控器一樣的功能。(2) 控制與驅(qū)動電路方案一:采樣直接控制的方法。由于單片機輸出的信號,從電壓來看,的確是5V。但是,從電流來看,小的很。也就是說單片機直接來對H橋式電路實施控制,是行不通的,在實際的調(diào)試中,我們已經(jīng)得到了驗證了。方案二:采樣一個74LS00來實現(xiàn)信號的放大,具體的就是的通過單片機的端口電壓信號來控制74LS00的輸出信號,這個信號電壓仍然是5V,但是它的輸出電流大大的增加,在對H橋式電路實施控制的時候,明顯的可以看出。鑒于單片機輸出的電流信號太弱,所以采樣了一個74LS00來對電流信號進行放大。詳細的電路見圖

9、2-3、圖2-4:具體的工作過程:例如兩臺電動機同時動作的時候,可以假設(shè)單片機端口的控制信號,分別為P0.0=0、P0.11、P0.31、P0.41,規(guī)定P0.0=0、P0.11、 P0.31、P0.41的時候,電動機1為反轉(zhuǎn);當P2.0=1、P2.11、P2.30、P2.51時,電動機2為正轉(zhuǎn)。此時,P0.0、P0.1、P0.3、 P0.4、 P2.0、P2.1、P2.3、 P2.5口通過74LS00芯片對電流信號進行放大,通過74LS00的輸出口給H橋?qū)嵤┛刂?。使得相?yīng)的三極管基極得電,此時三極管相當于開關(guān),形成一條電流得通路,電動機得電,按照特定得規(guī)律旋轉(zhuǎn)。此時,如果被控制的對象受到一定

10、外界因素的影響或是不滿足功能要求的時候,這個時候就會從檢測裝置傳來一個中斷信號,對系統(tǒng)實施強制性的動作;如果單片機的旋轉(zhuǎn)滿足了一定的功能要求,脈沖編碼器也會傳來一個信號的,此時我們利用計數(shù)器對這一路實施強制性的中斷。 圖2-3 控制電路(3) 執(zhí)行器 方案一:采樣普通的直流電動機。普通電動機容易在市場上買到,可以很方便的進行使用和編程。但是對控制的精度不夠。方案二:采樣步進電機。步進電機用電脈沖信號進行控制,以實現(xiàn)對生產(chǎn)過程或設(shè)備的數(shù)字控制。它可以把脈沖數(shù)轉(zhuǎn)化為角位移,其編程不是很困難。在設(shè)計的設(shè)計的過程中,我們采樣的都是步進電機和脈沖編碼器結(jié)合起來進行設(shè)計的。將步進電動機所轉(zhuǎn)的角度通過鋸齒來

11、形成一系列的脈沖數(shù),這些脈沖數(shù)是通過脈沖編碼器來記錄的,當滿足設(shè)定值時,單片機就動作。 圖2-4 電動機驅(qū)動(H橋式電路)(4) 檢測裝置此部分主要包括重量檢測和高度檢測,重量檢測采樣霍爾元件;高度檢測通過脈沖編碼器來實現(xiàn)。由于實際的檢測元件價格很高,在一般的地方買不到,所以這部分采用的是一個開關(guān)來模擬的。(5)系統(tǒng)總電路圖2-5:二、軟件(1)遙控器發(fā)射端程序流程圖:(2)遙控器接收端程序流程圖:(3)檢測裝置程序流程圖:由于采用了開關(guān)量來實現(xiàn),所以就不很簡單了.程序流程就省略.(4)源程序:'遙控器發(fā)射程序 '* ' 初始化程序 '* CLEAR: MOV

12、P0,#00H MOV P2,#00H CLR P3.5 RET'*' 鍵盤消抖動程序'* KEYWORK: MOV A,#0FFH MOV P0,A MOV A,P0 CPL A ANL A,#00H JZ NEXT LCALL DD NEXT: MOV A,#0FFH MOV P2,A MOV A,P2 CPL A ANL A,#00H JZ KEYWORK LCALL DD0 DD: LCALL DL10MS MOV A,#0FFH MOV P0,A MOV A,P0 CPL A ANL A,#00H DD0: MOV A,#0FFH MOV P2,A MOV A

13、,P2 CPL A ANL A,#00H RET'*' 延時10ms程序'*DL10MS: MOV R4,#90DL10MS1: MOV R3,#54DELAY: DJNZ R3,DELAY DJNZ R4,DL10MS1 NOP NOP NOP NOP NOP NOP RET '* ' 主程序 '* ORG 0000H AJMP START ORG 0030H START:LCALL CLEAR LCALL KEYWORK JB ACC.0,ONE JB ACC.1,FOUR JB ACC.2,FIVE JB ACC.3,EIGHT JB AC

14、C.4,TWO JB ACC.5,THREE JB ACC.6,SIX JB ACC.7,SEVEN SJMP START'*' 發(fā)脈沖程序'* ONE: MOV A,#02H '待機 LJMP REMOTE RET TWO: MOV A,#03H '7.62cm LJMP REMOTE RET THREE: MOV A,#04H '8.4cm LJMP REMOTE RET FOUR: MOV A,#05H '9.14cm LJMP REMOTE RET FIVE: MOV A,#06H '10.14cm LJMP REMOTE

15、 RET SIX: MOV A,#07H '10.67cm LJMP REMOTE RET SEVEN: MOV A,#08H ' 復(fù)位 LJMP REMOTE RET EIGHT: MOV A,#09H '電源 LJMP REMOTE RET'*' 編碼發(fā)射程序'* REMOTE: MOV R1,A LJMP OUT3OUT:MOV R0,#55HOUT1:SETB ET1 SETB TR1 NOP NOP NOP NOP NOP DJNZ R0,OUT1 MOV R0,#32HOUT2:CLR TR1 CLR ET1 NOP NOP NOP

16、NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R0,OUT2 DJNZ R1,OUT LCALL DL500MS RETOUT3:MOV R0,#0FFH LJMP OUT1'*' 500ms延時程序'* DL500MS: MOV R4,#32HDL5000MS1:LCALL DL10MS DJNZ R4,DL5000MS1 RET 接收程序'*'主程序和中斷程序入口'*ORG 0000H LJMP STARTORG 0003H LJMP INTEX0ORG 000BH RETIORG 0013H RETIORG 00

17、1BH RETIORG 0023H RETIORG 002BH RETI '*' 初始化程序'* CLEAR: CLR A DEC A MOV P0,A MOV P1,A MOV P2,A MOV P3,A CLEAR1: MOV IE,#00H SETB EX0 SETB EA RET '* ' 主程序 '* START: LCALL CLEAR '* '中斷接收程序 '* INTEX0: CLR EX0 JNB P3.1,READ1 READOUTT0: SETB EX0 RETI READ1: CLR A MOV D

18、PH,A MOV DPL,A HARD1: JB P3.1 HARD11 INC DPTR NOP NOP AJMP HARD1 HARD11: MOV A,DPH JZ READOUTT0 CLR A READ11: INC A READ12: JNB P3.1,READ12 MOV R1,#06H READ13: JNB P3.1,READ11 LCALL DELAY DJNZ R1,READ13 MOV R2,A DEC A DEC A JZ FUN0 DEC A JZ FUN1 DEC A JZ FUN2 DEC A JZ FUN3 DEC A JZ FUN4 DEC A JZ FUN

19、5 DEC A JZ FUN6 DEC A JZ FUN7 DEC A JZ FUN8 NOP NOP LJMP READOUTT0 FUNO:MOV R0,#02H MOV A,R2 CLR C SUBB A,R0 JNC NEXT0 RET FUN1:MOV R0,#03H MOV A,R2 CLR C SUBB A,R0 JC NEXT1 RET FUN2:MOV R0,#04H MOV R0,#03H MOV A,R2 CLR C SUBB A,R0 JC NEXT2 RET FUN3: MOV R0,#05H MOV A,R2 CLR C SUBB A,R0 JC NEXT3 RET

20、 FUN4: MOV R0,#06H MOV A,R2 CLR C SUBB A,R0 JC NEXT4 RET FUN5:MOV R0,#07H MOV A,R2 CLR C SUBB A,R0 JC NEXT5 RET FUN6:MOV R0,#08H MOV A,R2 CLR C SUBB A,R0 JC NEXT6 RET FUN7:MOV R0,#09H MOV A,R2 CLR C SUBB A,R0 JC NEXT7 RET FUN8:MOV R0,#10H MOV A,R2 CLR C SUBB A,R0 JC NEXT8 RET NEXTO:CJNE A,#00H,$ CJN

21、E A,#01H,X1 CJNE A,#02H,X2 CJNE A,#03H,X3 CJNE A,#04H,X4 CJNE A,#05H,X5 CJNE A,#06H,X6 CJNE A,#07H,X7 CJNE A,#08H,X8 RET NEXT1:CJNE A,#00H,$ CJNE A,#01H,X9 CJNE A,#02H,X10 CJNE A,#03H,X11 CJNE A,#04H,X12 CJNE A,#05H,X13 CJNE A,#06H,X14 CJNE A,#07H,X15 CJNE A,#08H,X16 RET NEXT2:CJNE A,#00H,$ CJNE A,#

22、01H,X17 CJNE A,#02H,X18 CJNE A,#03H,X19 CJNE A,#04H,X20 CJNE A,#05H,X21 CJNE A,#06H,X22 CJNE A,#07H,X23 CJNE A,#08H,X24 RET NEXT3:CJNE A,#00H,$ CJNE A,#01H,X25 CJNE A,#02H,X26 CJNE A,#03H,X27 CJNE A,#04H,X28 CJNE A,#05H,X29 CJNE A,#06H,X30 CJNE A,#07H,X32 CJNE A,#08H,X33 RET NEXT4:CJNE A,#00H,$ CJNE

23、 A,#01H,X34 CJNE A,#02H,X35 CJNE A,#03H,X36 CJNE A,#04H,X37 CJNE A,#05H,X38 CJNE A,#06H,X39 CJNE A,#07H,X40 CJNE A,#08H,X41 RET NEXT5:CJNE A,#00H,$ CJNE A,#01H,X42 CJNE A,#02H,X43 CJNE A,#03H,X44 CJNE A,#04H,X45 CJNE A,#05H,X46 CJNE A,#06H,X47 CJNE A,#07H,X48 CJNE A,#08H,X49 RET NEXT6:CJNE A,#00H,$

24、CJNE A,#01H,X50 CJNE A,#02H,X51 CJNE A,#03H,X52 CJNE A,#04H,X53 CJNE A,#05H,X54 CJNE A,#06H,X55 CJNE A,#07H,X56 CJNE A,#08H,X57 RET NEXT7:CJNE A,#00H,$ CJNE A,#01H,X58 CJNE A,#02H,X59 CJNE A,#03H,X60 CJNE A,#04H,X61 CJNE A,#05H,X62 CJNE A,#06H,X63 CJNE A,#07H,X63 CJNE A,#08H,X64 RET NEXT8:CJNE A,#00

25、H,$ CJNE A,#01H,X65 CJNE A,#02H,X66 CJNE A,#03H,X67 CJNE A,#04H,X68 CJNE A,#05H,X69 CJNE A,#06H,X70 CJNE A,#07H,X71 CJNE A,#08H,X72 RET;*;延遲程序(513us);*DELAY: MOV RO,#0FFHDELAY1: DJNZ RO,DELAY1 RET;*;延遲10ms;*DL10MS:MOV R1,#14HDL10MS1:LCALL DELAY DJNZ R1,DL10MS1 RETEND4、 調(diào)試:(1) 調(diào)試設(shè)備PC機仿真儀器系列開發(fā)系統(tǒng)V-252

26、20MHZ 雙蹤示波器YB1732A3A 直流穩(wěn)壓電源信號發(fā)生器萬用表(2)調(diào)試步驟:a.硬件調(diào)試 給單片機底座上電,不加芯片,用萬用表來檢測各個電源引腳,若是電源引腳上的電壓不對或者說是沒有電壓,則要通過實際的線路來檢查,看是不是線路沒有焊接好,或是虛焊等.同樣的方法,可以利用萬用表來測量各個待測點b.軟件調(diào)試采用在線調(diào)試的方法.將待測試的程序?qū)懭氲脑诰€調(diào)試的單片機芯片內(nèi),首先,調(diào)試發(fā)射端的芯片.具體的方法就是將紅外線發(fā)射管上的引腳的正極接到示波器的引線上,觀察波形情況.若是沒有波形,則說明程序或者是電路的焊接有問題,先查找硬件電路的問題,再進行軟件的查找,直到將信號調(diào)試出來,并達到自己的要求和目的為止!采用在線調(diào)試有利于軟件的調(diào)試和查錯.其次,調(diào)試接收端的芯片.具體的方法就是,先將紅外線接收部分放到一邊,就是純粹的通過手動部分來實現(xiàn)相應(yīng)的功能,當手動部分測試結(jié)束的時候,可以將通過特殊的手段給接收端一個特殊的脈沖信號,看執(zhí)行器是否按照預(yù)期的目的進行動作.最后,將兩部分的電路聯(lián)合起來進行調(diào)試,再調(diào)試的過程中,要確保自己的硬件是沒有問題,

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論