版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要步進電機作為執(zhí)行元件,是機電一體化的關鍵產(chǎn)品之一,廣泛應用在各種領域中,它是電脈沖信號進行控制的,將電脈沖信號轉化成相應的角轉移或線轉移的微電動機。它最突出的優(yōu)點是在寬廣的頻率范圍內通過改變脈沖信號來進行調速,快速啟停、正反轉控制及制動等,并且其開環(huán)系統(tǒng)既簡單、廉價,又可行,因此在辦公自動化設備以及各種控制裝置等眾多領域有著極其廣泛的應用。隨著微電子和計算機的發(fā)展,步進電機的需求量與日俱增,研制步進電機驅動器及其控制系統(tǒng)具有十分重要的意義。本課程設計介紹了四相五線步進電機及單片機的工作原理,利用MCS-51系列單片機和無線發(fā)送接收模塊設計一個步進電機無線控制系統(tǒng),用c語言編寫出實現(xiàn)電機的起
2、停控制、正反轉控制和給定轉速控制的程序源代碼,通過單片機,電機的驅動芯片L298以及相應的紅外線遙控按鍵實現(xiàn)以上功能。關鍵詞:步進電機;電脈沖信號;單片機;L298;紅外線遙控目 錄1前 言11.1步進電機簡介21.2步進電機工作原理21.3紅外線控制原理41.4課程設計任務51.5課程設計目的51.6課程設計要求52系統(tǒng)總體設計方案62.1 步進電機設計方框圖62.2 驅動控制系統(tǒng)組成62.3 信號分配72.4 控制步進電機的速度83 硬件設計93.1 AT89S52 介紹93.2單片機小系統(tǒng)原理圖103.3驅動電路設計103.4 紅外線接收發(fā)射電路113.5遙控器設計124 軟件設計及調試
3、134.1 系統(tǒng)工作流程135 系統(tǒng)聯(lián)調及操作說明145.1 軟件介紹145.2 keil軟件介紹155.3 仿真與調試155.4 硬件接線及調試165.5實例調試結果和分析186 總 結19參考文獻.20附錄1 21附錄2351、前 言1.1步進電機簡介步進電機最早是在1920年由英國人所開發(fā)的,1950年后期晶體管的發(fā)明也逐漸應用在步進電機上,這使數(shù)字化的控制變得更為容易。以后經(jīng)過不斷改良,使得今日步進電機已廣泛運用在需要高定位精度、高分解性能、高響應性、信賴性等靈活控制性高的機械系統(tǒng)中。在生產(chǎn)過程中要求自動化、省人力、效率高的機器中,我們很容易發(fā)現(xiàn)步進電機的蹤跡,尤其以重視速度、位置控制
4、、需要精確操作各項指令動作的靈活控制性場合步進電機用得最多。步進電機還具有快速啟動、精確步進和定位等特點,因而在數(shù)控機床,繪圖儀,打印機以及光學儀器中得到廣泛的應用。如今,步進電動機已成為除直流電動機和交流電動機以外的第三類電動機。傳統(tǒng)電動機作為機電能量轉換裝置,在人類的生產(chǎn)和生活進入電氣化過程中起著關鍵的作用。1.2步進電機工作原理表1.1步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進電機件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度,稱為“步距角”,
5、它的旋轉是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時也可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。 由此可見:電機的位置和速度與導電次數(shù)(脈沖數(shù))和頻率成一一對應關系。而方向由導電順序決定。不難推出:電機定子上有m相勵磁繞阻,其軸線分別與轉子齒軸線偏移1/m,2/m(m-1)/m,1。并且導電按一定的相序,電機就能正反轉被控制這是步進電機旋轉的物理條件。只要符合這一條件,我們理論上可以制造任何相的步進電機,出于成本等多方面考慮,市場上一般以二、三、四、五相為多。拍數(shù):完成一個磁場周期性變化所需脈沖數(shù)或導電狀態(tài)用n表示,
6、或指電機轉過一個齒距角所需脈沖數(shù),以四相電機為例,有四相四拍運行方式即AB-BC-CD-DA-AB,四相八拍運動方式即A-AB-B-BC-C-CD-D-DA-A.注:2相勵磁通過的電流是1相勵磁時通過電流的2倍,轉矩也是1相勵磁的2倍。此時電機的振動較小且應答頻率升高,目前仍廣泛使用此種方式。四相四拍如下(1相激磁):表1.1序號代碼ABCD10xf8100020xf4010030xf2001040xf10001四相四拍如下(2相激磁):表1.2序號代碼ABCD10xfc110020xf6011030xf3001140xf91001四相八拍如下(1-2相激磁):表1.3序號代碼ABCD10xf
7、8100020xfc110030xf4010040Xf6011050xf2001060xf3001170xf1000180xf910011.3紅外線控制原理 紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強、成本低等特點。因而,繼彩電、錄像機之后,在錄音機、音響設備、空凋機以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應用編/解碼專用集成電路芯片來進行控制操作,發(fā)射部分包括鍵盤矩陣、編碼調制、LED紅外發(fā)送器;接收部分包括光、電轉換放大器、解調、解碼電路。 當發(fā)射器按鍵按下后,即有遙控編碼發(fā)出,所按的鍵不
8、同遙控編碼也不同。這種遙控編碼具有以下特征:采用脈寬調制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進制的“1”?!?”和“1”組成的32位二進制碼經(jīng)38kHz的載頻進行二次調制以提高發(fā)射效率,達到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,當一個鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個起始碼(9ms),一個結果碼(4.5ms),低8位地址碼(9ms18ms),高8位地址碼(9ms18ms)
9、,8位數(shù)據(jù)碼(9ms18ms)和這8位數(shù)據(jù)的反碼(9ms18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結束碼(2.5ms)組成。 解碼的關鍵是如何識別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”均以0.56ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。如果從0.56ms低電平過后,開始延時,0.56ms以后,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,延時必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為“0”
10、,讀到的已是下一位的高電平,因此?。?.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。 一體化紅外線接收器是一種集紅外線接收和放大于一體,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作,而體積和普通的塑封三極管大小一樣,它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸。1.4課程設計任務:利用MCS-51系列單片機和無線發(fā)送接收模塊設計步進電機控制電路,能實現(xiàn)步進電機的無線控制,步進電機能實現(xiàn)起??刂?、正反轉控制和給定轉速控制。1.5課程設計目的1)了解單片機軟件編程和調試能力,為以后的學習和開發(fā)工作打下強勁基礎
11、; 2)掌握步進電機的工作原理和工作方式;3)掌握紅外線接收、發(fā)射模塊的使用,以及工作原理和解碼方法。1.6課程設計要求1)進行方案論證,說明控制系統(tǒng)的工作原理;2)設計控制系統(tǒng)的硬件電路,給出電路原理圖和元器件清單;3)給出軟件流程圖并編寫程序源代碼;4)完成系統(tǒng)的調試,給出調試結果并分析;5)撰寫符合要求的程序設計說明書程圖。2系統(tǒng)總體設計方案2.1 步進電機設計方框圖單片機小系統(tǒng)遙控器驅動電路步進電機紅外線接收電路圖2.1本系統(tǒng)是用單片機軟件程序來產(chǎn)生脈沖分配信號,即把數(shù)字控制計數(shù)的高精度等方面的優(yōu)勢有效地應用于步進電機控制系統(tǒng),同時本系統(tǒng)設計的步進電機控制器硬件電路十分簡單,成本低,使
12、用方便。本電路包括發(fā)射電路,控制電路,驅動電路等。2.2 驅動控制系統(tǒng)組成 使用控制步進電機必須由環(huán)形脈沖,驅動電路組成的控制系統(tǒng),其方框圖2.2如下: 脈沖信號信號分配功率放大步進電機負載圖2.2 控制系統(tǒng)組成圖功率放大電路方案一:采用大功率晶體管組合電路構成驅動電路,這種方法結構簡單、成本低、易實現(xiàn),但由于在驅動電路中采用了大量的晶體管相互連接,使得電路復雜、抗干擾能力差、可靠性下降,我們知道在實際的生產(chǎn)實踐過程中,可靠性是一個非常重要的方面。因此,此方案不宜采用。功率放大電路方案二:采用專用的電機驅動芯片,例如L298N等電機驅動芯片,由于它內部已經(jīng)考慮到了電路的抗干擾能力,安全、可靠性
13、,所以我們在應用時只需考慮到芯片的硬件連接、驅動能力等問題就可以了,所以此種方案的電路設計簡單、抗干擾能力強、可靠性好。設計者不需要對硬件電路設計考慮很多,可將重點放在算法實現(xiàn)和軟件設計中,大大的提高了工作效率。綜上所述,本設計選擇方案二。2.3 信號分配四相電機工作方式有二種,四相四拍為AB-BC-CD-DA-AB,步距角為1.8度;四相八拍為AB-B-BC-C-CD-D-AB(步距角為0.9度,這里我們用的正反轉都是四相八拍的,即1-2激磁),1-2激磁正反轉如表2.3。表2.3序號代碼ABCD10xf8100020xfc110030xf4010040Xf6011050xf2001060x
14、f3001170xf1000180xf91001(18表示脈沖周期;ABCD表示電機的各相,1表示此時有一個脈沖,0表示沒有脈沖)。2.4 控制步進電機的速度如果給步進電機發(fā)一個控制脈沖,它就轉一步,再發(fā)一個脈沖,它會再轉一步。兩個脈沖的間隔越短,步進電機就轉得越快。調整單片機發(fā)出的脈沖頻率,就可以對步進電機進行調速。具體實現(xiàn)用延時時間的長短來決定。延時時間有兩種方案方案一:采用消耗指令的方法達到延時的效果,此方案不僅占用大量的CPU空間,降低了單片機的使用效率而且延時時間不易計算。方案二:采用定時的方法,采用定時器延時的方法可以比較精確的控制延時的時間,延時方式可以選則工作方式0、工作方式1
15、和工作方式2.本設計采用定時器工作方式2,即具有自動填充功能。3 硬件設計3.1 AT89S52 介紹 AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有8k在系統(tǒng)可編程 Flash 存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口
16、線,看門狗定時器,2個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口, 片內晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結, 單片機一切工作停止,直到下一個中斷或硬件復位為止。圖3.1芯片AT89S523.2單片機小系統(tǒng)原理圖單片機小系統(tǒng)原理圖有晶振、復位電路組成。復位電路中電容C4和電阻R4組成上電復位電路,當上電時,電容充電R4端有高電平,單片機復位。按下復位按鈕R5和R4形成回路,單片機復
17、位腳高電平復位。晶振電路給單片機的正常工作提供時序。圖3.2 單片機最小系統(tǒng)3.3驅動電路設計驅動電路由L298、7805、1N4007、VCC、GND組成。L298內部包含4通道邏輯驅動電路。是一種二相和四相電機的專用驅動器,內含二個H橋的高電壓大電流雙全橋式驅動器,接收標準TTL邏輯電平信號,可驅動46V、2A以下的電機。所以,L298有很強的驅動能力,通過該驅動電路可以很好的驅動4相8拍電機正常運轉,驅動電路中含有穩(wěn)壓芯片7805。由于7805有內部電流的限制以及過熱保護和安全工作區(qū)的保護,使它基本上不會損壞。如果散熱條件良好它能提供大于1.5A的電流,在接入外部器件后就能獲得各種不同的
18、電壓。本設計中采用的7805將12V的輸入電壓穩(wěn)壓成5V輸出,能夠給單片機小系統(tǒng)和其他芯片提供穩(wěn)定的直流電壓。圖3.3驅動電路3.4 紅外線接收、發(fā)射電路圖3.4 紅外線接收發(fā)射電路紅外線接收模塊由VS838集成芯片構成,接收頭接收到信號,數(shù)據(jù)端電平升高,三極管9014的工作狀態(tài)為放大,輸出有高電平轉為低電平,從而使單片機可以采集到遙控器發(fā)送的數(shù)據(jù)。3.5遙控器設計圖3.5當遙控器按了正轉/反轉鍵后紅外線接收頭收到信號,然后傳輸給單片機,再由單片機控制步進電機正轉/反轉,若沒有設置速度默認速度為150轉/分鐘。當設置鍵按下,步進電機停止旋轉,此時可人為設置轉速,轉速由三位數(shù)組成,當設置完速度后
19、按確認鍵確認設置,然后再按正轉/反轉步進電機將按照設置的速度旋轉。4 軟件設計及調試4.1 系統(tǒng)工作流程開始初始化正轉/反轉/設置鍵按下?YN正轉鍵按下反轉鍵按下設置鍵按下給P2口送正轉碼給P2口送反轉碼轉速設置反轉/設置?正轉/設置?YNNY設置完畢?NY確認鍵?YN圖4.1主程序流程圖5 系統(tǒng)聯(lián)調及操作說明5.1 軟件介紹PROTEUS 是單片機課堂教學的先進助手。 PROTEUS不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。 它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應。這在相
20、當程度上替代了傳統(tǒng)的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調試、運行結果等。 課程設計、畢業(yè)設計是學生走向就業(yè)的重要實踐環(huán)節(jié)。由于PROTEUS提供了實驗室無法相比的大量的元器件庫,提供了修改電路設計的靈活性、提供了實驗室在數(shù)量、質量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學生實踐精神、創(chuàng)造精神的平臺 隨著科技的發(fā)展,“計算機仿真技術”已成為許多設計部門重要的前期設計手段。它具有設計靈活,結果、過程的統(tǒng)一的特點??墒乖O計時間大為縮短、耗資大為減少,也可降低工程制造的風險。相信在單片機開發(fā)應用中PROTEUS也能茯得愈來愈廣泛的應用。 使用Proteus 軟
21、件進行單片機系統(tǒng)仿真設計, 是虛擬仿真技術和計算機多媒體技術相結合的綜合運用,有利于培養(yǎng)學生的電路設計能力及仿真軟件的操作能力;在單片機課程設計和全國大學生電子設計競賽中,我們使用 Proteus 開發(fā)環(huán)境對學生進行培訓,在不需要硬件投入的條件下,學生普遍反映,對單片機的學習比單純學習書本知識更容易接受,更容易提高。實踐證明,在使用 Proteus 進行系統(tǒng)仿真開發(fā)成功之后再進行實際制作,能極大提高單片機系統(tǒng)設計效率。因此,Proteus 有較高的推廣利用價值。5.2 keil軟件介紹Keil是德國知名軟件公司keil(現(xiàn)已并入RAM公司)開發(fā)的微控制器軟件開發(fā)平臺,是目前RAM內核單片機開發(fā)
22、的主流工具。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開放方案,通過一個集成開發(fā)環(huán)境將這些部分組合在一起,界面友好,易學易懂,在調試程序,軟件仿真方面也有很強大的功能。因此,很多工程師十分喜歡它。 單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種Keil軟件圖標是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機
23、的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內你只能買到該軟件、
24、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也會令你事半功倍。5.3 仿真與調試1)在Proteus軟件中繪制出硬件電路圖。根據(jù)系統(tǒng)設計要求,選擇元器件,設計出硬件電路圖。2)編寫系統(tǒng)程序。根據(jù)系統(tǒng)要求,畫流程圖。在keil中編程,過程中先將各模塊搞好,分別調試各模塊,調試好后,編寫主程序,將各系統(tǒng)結合,使成為系統(tǒng)軟件。各模塊調試后,在調試主程序,看是否能實現(xiàn)系統(tǒng)功能。3)硬件和軟件電路的聯(lián)合模擬調試在Proteus軟件中進行。先將編譯好的HEX文件加載到89S52中,在運行硬件電路,如能運行,使用按鍵進行模擬和清零實驗
25、,若沒達到要求,進行相應修改,直到符合要求。5.4 硬件接線及調試設置速度為每分鐘30轉時P2.0的波形如圖5.1所示圖5.1設置速度為每分鐘100轉時P2.0的波形如圖5.2所示圖5.2設置速度為每分鐘150轉時P2.0的波形如圖5.3所示 圖5.3設置速度為每分鐘200轉時P2.0的波形如圖5.4所示圖5.45.5實例調試結果和分析 根據(jù)我們的設計方案,我們做出步進電機遙控系統(tǒng)的實物,并在實驗室進行測試,根據(jù)實驗現(xiàn)象分析出以下結果:上電后,在遙控器上按正轉鍵,步進電機實現(xiàn)正轉;上電后,在遙控器上按反轉鍵,步進電機實現(xiàn)反轉;在步進電機運轉時,在遙控器上按停止鍵,步進電機立即停止運轉;上電后,
26、先在遙控器上按設置鍵進行設置,在按三位有效的數(shù)字鍵,給定步進電機速度,然后按確認鍵鍵確認,最后按正轉反轉鍵,則步進電機按指定的速度實現(xiàn)正轉反轉。分析:該系統(tǒng)通過89S52單片機控制步進電機運轉情況,可靠性高,在步進電機運行時能夠方便設定步進電機的啟停、轉速和方向,使系統(tǒng)能夠應用于惡劣環(huán)境中,保證人員安全,適用范圍較廣,且電路簡單,成本較低,控制方便,移植性強,實用價值高。6 總 結本次課程設計是我到目前為止覺得最有意義也是收獲最大的一次實習,可以說是有苦也有甜。身為電氣工程系的學生,設計是我們將來必須的技能。而這次課程設計恰恰給我們提供了一個應用自己所學知識的平臺。因為這次課程設計需要動腦動手
27、,把自己課堂上學到的軟件和硬件知識全部應用進來。要想完成好這次課程設計,首先要弄懂步進電機的工作原理,與外部電路的連接,單片機原理,匯編語言等。這其中有以前課堂上學過的也有需要我們自學研究的,這不僅考察了自己原來的知識程度還加強了我們獨立獲取知識并加以運用的能力。這次課程設計我不僅學到了很多的知識,還制作了自己的東西,使自己很有成就感。這是我第一次課程設計也是我最深刻的一次,因為是五人一組團隊完成,使我體會到了分工合作的力量與重要性。雖然電機部分我沒有花太多的精力,但通過合理分工,我們仍然按時完成了指定任務,并且通過相互幫助相互指點,使我們對彼此負責的那部分任務都有了更好的了解和掌握。通過這次
28、實驗,我對步進電機的了解擴寬了,對單片機和外圍電路的認識也更為清晰了,這為我以后工作提供了堅實的基礎。在摸索改如何設計電路使之實現(xiàn)所需功能的過程中還培養(yǎng)了我的設計思維,增加了實際動手能力,讓我體會到了設計電路的艱辛的同時,更讓我體會到了成功的喜悅。兩個星期很快過去了,看著自己的勞動成果,心里滿是欣慰。最后,感謝老師和同學們的悉心指導和幫助。參考文獻1李廣弟等.單片機基礎M.北京航空航天出版社,2001.2王東峰等.單片機C語言應用100例M.電子工業(yè)出版社,2009.3陳海宴.51單片機原理及應用M.北京航空航天大學出版社,2010.4劉守義等.單片機技術基礎M.西安電子科技大學出版社,200
29、7.5李平等.單片機入門與開發(fā)M.機械工業(yè)出版社,2008.附 錄1程序源代碼:#include<reg52.h>#define uchar unsigned charuchar key1=0,key2=0,key3=0,key4=0,key5=0,key6=0,key7=0,key8=0, key9=0,key0=0,key10=0,key11=0,key12=0,key13=0,key14=0;uchar irtime,m,aa,bb,cc,tt=0,t=0,n=0;uchar IRcord4;uchar irdata33;uchar table=0xf8,0xfc,0xf4,
30、0xf6,0xf2,0xf3,0xf1,0xf9;uchar table1=0xf9,0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8;int date1=150;sbit IR=P32; bit irpro_ok,irok;void Ir_work();void Ircordpro();void timer0() interrupt 1 irtime+; void timer1() interrupt 3t+;if(t=600/date1)t=0;n=1;void into0() interrupt 0 static uchar i; static bit startfl
31、ag; if(startflag) if(irtime<63&&irtime>=33) i=0; irdatai=irtime; irtime=0; i+; if(i=33) irok=1; i=0; if(key13=1)tt+;P1=tt; elseirtime=0;startflag=1;void init() EA = 1; ET0=1; ET1=1; TR0=1; TR1=1; IT0 = 1; EX0 = 1; TMOD=0x22; TH0=0x00; TL0=0x00; TH1=0x06; TL1=0x06; void Ir_work() switch
32、(IRcord2) case 0x0d: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=1;key10=0;key11=0; key12=0;key14=0;break;case 0x00: key1=1;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break; case 0x01: key1=0;key2=1;key3=0;key4=0;key5=0; key
33、6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break; case 0x02: key1=0;key2=0;key3=1;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x04: key1=0;key2=0;key3=0;key4=1;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0; key12=0;key1
34、4=0;break;case 0x05: key1=0;key2=0;key3=0;key4=0;key5=1;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x06: key1=0;key2=0;key3=0;key4=0;key5=0;key6=1;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x08: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0
35、;key7=1;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x09: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=1;key9=0;key0=0;key10=0;key11=0;key12=0;key14=0;break;case 0x0a: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=1;key0=0;key10=0;key11=0;key12=0;key14=0;b
36、reak;case 0x0c: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=1;key11=0;key12=0;key14=0;break;case 0x0e: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=1;key12=0;key14=0;break;case 0x10: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7
37、=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=1;key14=0;break;case 0x11: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0; key12=0;key13=1;key14=0;break;case 0x12: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14
38、=1;break; default:break; irpro_ok=0; void Ir_work1()switch(IRcord2)case 0x0c: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=1;key11=0;key12=0;key14=0;break; case 0x0e: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=1;key12=0;key14=0;
39、break;case 0x10: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=1;key14=0;break;case 0x11: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key13=1;key14=0;break;case 0x12: key1=0;key2=0;key3=0;key4=0;key5=0;key6=0;key7=0;key8=0;key9=0;key0=0;key10=0;key11=0;key12=0;key14=1;break; default:break;void Ircordpro() uchar i, j, k; uchar cord,value; k=1; for(i=0;i<4;i+) for(j=1;j<=8;j+) cord=irdatak; if(cord>7) value=value|0x80; else value=value; if(j<8) value=value>>1; k+; IRcordi=va
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年考古發(fā)掘項目土方清理與保護合同3篇
- 2025版信息安全保密協(xié)議合同5篇
- 二零二五年房地產(chǎn)項目配套基礎設施建設合同3篇
- 二零二五年度智能交通管理系統(tǒng)免責協(xié)議范本4篇
- 2025版鋁材回收利用項目合作協(xié)議4篇
- 2025年度殘疾人勞動合同簽訂中的殘疾人權益保障與就業(yè)促進2篇
- 2025餐飲企業(yè)員工勞動合同15篇
- 2025年度商業(yè)廣場墻面LED廣告屏租賃合同標的協(xié)議4篇
- 2024食用油倉儲物流服務合作合同3篇
- 標識標牌施工質量保障合同(2025年度)3篇
- 2025年浙江省湖州市湖州職業(yè)技術學院招聘5人歷年高頻重點提升(共500題)附帶答案詳解
- ZK24600型平旋盤使用說明書(環(huán)球)
- 城市基礎設施維修計劃
- 2024山西廣播電視臺招聘專業(yè)技術崗位編制人員20人歷年高頻500題難、易錯點模擬試題附帶答案詳解
- 新材料行業(yè)系列深度報告一:新材料行業(yè)研究框架
- 人教版小學英語各冊單詞表(帶英標)
- 廣東省潮州市潮安區(qū)2023-2024學年六年級上學期期末考試數(shù)學試題
- 鄉(xiāng)村治理中正式制度與非正式制度的關系解析
- 智能護理:人工智能助力的醫(yī)療創(chuàng)新
- 國家中小學智慧教育平臺培訓專題講座
- 5G+教育5G技術在智慧校園教育專網(wǎng)系統(tǒng)的應用
評論
0/150
提交評論