新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 紅外遙控器在單片機(jī)控制系統(tǒng)中的應(yīng)用

        紅外遙控器在單片機(jī)控制系統(tǒng)中的應(yīng)用

        作者: 時(shí)間:2012-08-31 來(lái)源:網(wǎng)絡(luò) 收藏

        3 軟件設(shè)計(jì)

        本系統(tǒng)旨在識(shí)別指令代碼并依據(jù)指令信息實(shí)現(xiàn)新鍵功能, 我們的思路是在中斷服務(wù)程序中識(shí)別指令代碼并保存數(shù)據(jù), 用主程序?qū)?shù)據(jù)進(jìn)行比較和處理, 從而實(shí)現(xiàn)各種功能。

        3. 1 中斷服務(wù)程序

        3. 1. 1 代碼的判斷

        代碼的判斷是用計(jì)數(shù)和比較的方法來(lái)實(shí)現(xiàn)的,進(jìn)入中斷的同時(shí)立即打開(kāi)定時(shí)器T 1, 開(kāi)始計(jì)數(shù), 代碼/ 00和/ 10的計(jì)數(shù)時(shí)間由其脈沖寬度決定, 分別為1ms 和2ms, 則理論計(jì)數(shù)值A(chǔ)0、A1 分別可由以下公式得出:

        A0= 1ms/ 一個(gè)機(jī)器周期

        A1= 2ms/ 一個(gè)機(jī)器周期

        當(dāng)采用不同頻率的晶振時(shí), 理論計(jì)數(shù)值也將隨之不同。

        考慮到基準(zhǔn)頻率的誤差, 實(shí)際計(jì)數(shù)值很難保證與理論計(jì)數(shù)值完全一致, 為此需給/ 00和/ 10的實(shí)際計(jì)數(shù)值開(kāi)設(shè)一個(gè)窗口, 以免丟失數(shù)據(jù); 同時(shí), 為增強(qiáng)抗干擾性, 窗口寬度應(yīng)適中, 經(jīng)過(guò)實(shí)驗(yàn), 我們確定的窗口寬度為0. 224ms, 具體數(shù)值如表2 所列。

        表2 記數(shù)窗口數(shù)值
        表2 記數(shù)窗口數(shù)值

        當(dāng)實(shí)際計(jì)數(shù)值在A0L ~ A0H時(shí), 我們認(rèn)為接收的代碼是/ 00; 實(shí)際計(jì)數(shù)值在A1L~ A1H 時(shí), 則將代碼記為/ 10。

        3. 1. 2 指令的識(shí)別

        將接收的指令代碼逐位存儲(chǔ)在RAM 區(qū)的2AH~ 2FH 單元中, 則可以存儲(chǔ)48 位共3 組指令代碼, 存儲(chǔ)的有效方式如表3 所列。

        表3 存儲(chǔ)方式
        表3 存儲(chǔ)方式

        在表3 中, jjH 表示的是表1 中的任意一個(gè)按鍵的功能操作碼, 只有當(dāng)2A= 2C= E2H, 且2B= 2D=jjH 的時(shí)候, 此指令代碼才被認(rèn)為是有效的, 將jjH代表的操作碼存入數(shù)據(jù)暫存單元1EH 中, 主程序即可以使用。



        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 石阡县| 巨野县| 顺平县| 谢通门县| 道孚县| 七台河市| 龙岩市| 古丈县| 肥西县| 内乡县| 永和县| 随州市| 德令哈市| 印江| 合水县| 高雄市| 桐梓县| 玉树县| 昌都县| 涞水县| 金昌市| 日照市| 抚松县| 定日县| 镇江市| 涞水县| 扶绥县| 营口市| 民丰县| 张家港市| 静乐县| 北流市| 清苑县| 仁化县| 辽源市| 徐州市| 东海县| 开封县| 桂东县| 邵阳市| 遂平县|