新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 多媒體投影機(jī)遙控器的單片機(jī)仿真

多媒體投影機(jī)遙控器的單片機(jī)仿真

作者: 時(shí)間:2009-12-24 來源:網(wǎng)絡(luò) 收藏

1.2 讀按鍵碼軟件設(shè)計(jì)
圖4是讀按鍵碼控制軟件的主程序流程。圖5是中斷讀入鍵碼數(shù)據(jù)的程序流程圖。

中斷讀鍵碼程序在編程設(shè)計(jì)中非常重要。它要完成遙控碼起始位的識別及脈寬計(jì)數(shù)、遙控碼編碼位的寬度計(jì)數(shù)、結(jié)束位的認(rèn)別等功能。通過大量的不同種類的遙控碼波形實(shí)驗(yàn)分析,遙控碼的幀間歇位寬度均在10 ms以上,起始位碼寬度在100μs―20ms之間,編碼位在100μs―5ms之間,為確保對所有讀碼的成功,采用以下設(shè)計(jì)方法:
(1)尋提起始位方法:用16位DPTR計(jì)數(shù)器對高電平進(jìn)行寬度計(jì)數(shù),計(jì)數(shù)采樣周期為21μs,當(dāng)高電平結(jié)束時(shí),如高8位計(jì)數(shù)器為非零,則說明高電平寬度超過5.35ms(255×21μs),緊接來的低電平碼就是起始位,否則重新開始。
(2)讀起始位方法:采用16位DPTR對低電平進(jìn)行寬度計(jì)數(shù)(最大可讀寬度為1.376s),當(dāng)高電平跳變時(shí)結(jié)束計(jì)數(shù),并將DPTR的高8位、低8分別存入R4,R5寄存器。
(3)讀遙控編碼的方法:采用DPTR低8位計(jì)數(shù)器對碼(高電平或低電平)進(jìn)行寬度計(jì)數(shù),電平跳變時(shí)結(jié)束計(jì)數(shù),并將值存入規(guī)定的地址,在高電平碼計(jì)數(shù)時(shí),如 DPTR高8位計(jì)數(shù)器為非零(寬度大于5.35ms),則判定為結(jié)束幀間隔位,在相應(yīng)存儲單元寫入OOH作為結(jié)束標(biāo)志。

紅外遙控器相關(guān)文章:紅外遙控器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉