關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 一種紅外遙控式步進電機控制器的設計與實現

        一種紅外遙控式步進電機控制器的設計與實現

        作者: 時間:2012-12-24 來源:網絡 收藏

        紅外接收電路的輸出接單片機的P3.2,該口對應的第二功能是外部中斷0(INT0),利用該口的第二功能,一旦紅外線信號到來,P3.2被拉低,單片機中止當前的工作轉移到接收、處理紅外信號。開啟中斷功能的目的,既減輕了單片機的工作負擔,又保證接收到的紅外信號的完整性,單片機進入睡眠后,利用外部中斷功能完成對單片機的喚醒,其接線圖如圖3所示。

        本文引用地址:http://www.104case.com/article/159589.htm

        c.JPG


        紅外發送電路可選用昂達播放器的器,也可采用電視器。由于系統簡單,采用昂達播放器的器。
        2.3 時鐘電路
        時鐘電路采用DS1302集成芯片,其主要特點是采用串行數據傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關閉充電功能。采用普通32768 Hz晶振,的啟閉時間都保存在DS1302自帶的RAM中,不需要單獨的EEPROM。
        DS1302與CPU的連接僅需要三條線,即SCLK(7)、I/O(6)、RST(5)。

        3 系統軟件設計
        軟件系統主要包括主程序、紅外中斷子程序、A/D轉換子程序、顯示子程序、時鐘控制子程序及程序。下面主要介紹紅外線解碼程序。
        3.1 紅外線解碼原理
        昂達播放器的遙控器產生的遙控編碼是連續的32位二進制碼組,其中前16位為用戶識別碼,能區別不同的電器設備,防止不同機種遙控碼互相干擾。該芯片的用戶識別碼同定高8位地址為0BFH,低8位地址為40H;后16位為8位操作碼(功能碼)及其反碼。
        遙控器按鍵按下后,周期性地發出同一種32位二進制碼,周期約為108 ms。一組碼本身的持續時間隨它包含的二進制“0”和“1”的個數不同而不同,大約在45~63 ms之間。
        當一個鍵按下超過36 ms,振蕩器使芯片激活,將發射一組108 ms的編碼脈沖,這108 ms發射代碼由一個起始碼(9 ms),一個結果碼(4.5 ms),低8位地址碼(9~18 ms),高8位地址碼(9~18 ms),8位數據碼(9~18 ms)和這8位數據的反碼(9~18 ms)組成。如果鍵按下超過108 ms仍未松開,接下來發射的代碼(連發代碼)將僅由起始碼(9 ms)和結束碼(2.5 ms)組成。
        其代碼寬度的計算方法為:
        16位地址碼的最短寬度:1.12×16=18 ms
        16位地址碼的最長寬度:2.24 msX16=36 ms
        已知8位數據代碼及其8位反代碼的寬度和不變:(1.12 ms+2.24 ms)x8=27 ms。所以得32位代碼的寬度為(18 ms+27 ms)~(36 ms+27 ms)。
        解碼的關鍵是如何識別“0”和“1”,代碼格式以接收代碼為準,接收代碼與發射代碼反向。從位的定義我們可以發現“0”、“1”均以0.56 ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56 ms,“1”為1.68 ms,所以必須根據高電平的寬度區別“0”和“1”。如果從0.56 ms低電平過后,開始延時,0.56 ms以后,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,
        延時必須比0.56 ms長些,但又不能超過1.12 ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此取(1.12 ms+0.56 ms)/2=0.84 ms最為可靠,一般取0.84 ms左右均可;根據碼的格式,應該等待9 ms的起始碼和4.5 ms的結果碼完成后才能讀碼。
        3.2 解碼程序設計
        根據以上分析,采用89C2051單片機實現紅外解解碼的思路為:有信號產生中斷→EA清零→延時小于9 ms (低電平)→等待高電平的到來→延時小于4.5 ms(高電平)→等待下一次高電平的到來→延時0.84 ms左右→讀區P3.2腳電平值→再等待下一次高電平的到來→延時0.84 ms左右→讀取P3.2腳電平值,依次取得32位代碼,前16位為識別碼,后18位既為8位數據碼和8位數據反碼。解碼中斷服務程序流程圖如圖4所示。

        d.JPG



        4 結束語
        通過系統調試及運行結果表明,采用作為執行元件,89C2051單片機作為控制器,光敏元件傳感器作為檢測元件,以輸入按鈕作為輸入信號,以紅外遙控裝置進行遙控操作,并輔以時鐘控制及狀態顯示的步進電機控制系統,能夠方便實現步進電機的、自動及遙控多功能操作,操作更加方便可靠。

        紅外遙控器相關文章:紅外遙控器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 芒康县| 翁源县| 德格县| 宣汉县| 阳原县| 胶南市| 五华县| 乐陵市| 连城县| 长海县| 宝兴县| 兖州市| 西丰县| 双柏县| 汶上县| 乌兰浩特市| 胶州市| 固原市| 杨浦区| 乐业县| 永宁县| 磐安县| 三台县| 察隅县| 福海县| 崇礼县| 高邑县| 商水县| 绥宁县| 鹤峰县| 黎平县| 水富县| 昭觉县| 马山县| 临泽县| 延安市| 临沂市| 门头沟区| 莫力| 洱源县| 肇源县|