<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于USB口的智能遙控信號發(fā)射裝置的設計

基于USB口的智能遙控信號發(fā)射裝置的設計

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

2 軟件設計

  軟件的設計按前面的工作流程來(lái),分為各個(gè)模塊化來(lái)分別設計,主要包含的程序模塊有:串口初始化、PC和單片機的串口通信,單片機對PC傳輸過(guò)來(lái)的數據進(jìn)行解讀和數據的編碼設計、以及數據的無(wú)線(xiàn)發(fā)射這幾個(gè)子程序塊。

基于USB口的智能遙控信號發(fā)射裝置的設計

圖3 無(wú)線(xiàn)發(fā)射模塊電路

  2.1 編碼規則的確定

  手動(dòng)遙控器中使用的是PT2262芯片,雖然可以查到PT2262/PT2272編碼規則,但是為了慎重起見(jiàn)必須重新用示波器測量其編碼規則。當按下遙控器上的一個(gè)按鈕后用示波器測量其發(fā)射波形,繪制出波形圖。通過(guò)比對和計算,確定了手動(dòng)遙控器的編碼規則為:同步碼+八位地址碼+四位數據碼。其中每一位碼都有高阻、高電平和低電平3種狀態(tài),每種狀態(tài)的波形圖如圖4所示。同步碼長(cháng)度為128a其中前4a個(gè)時(shí)間內為窄脈沖。

基于USB口的智能遙控信號發(fā)射裝置的設計

圖4 PT2262的位脈沖波形

  2.2 延時(shí)的設定

  在程序設計中主要的延時(shí)有以下幾個(gè):a、4a、12a和124a的精確設定,通過(guò)測量手動(dòng)遙控器中對應的最小延時(shí)單位a為120μs,由此編寫(xiě)精確的單片機延時(shí)程序。同時(shí)在編程設定延時(shí)的時(shí)候,要考慮全面,值得注意的是在該系統中才用的單片機芯片的指令運算速度是傳統51系列單片機的6倍,這4個(gè)基準延時(shí)的設定要盡量減少偏差,為了提高精度,要把執行每條指令消耗的時(shí)間算進(jìn)去。

  同時(shí)對于4a和12a的延時(shí)編程不能簡(jiǎn)單的用將a的延時(shí)重復執行若干次來(lái)完成,否則會(huì )有較大的誤差,不能被正確解碼。延時(shí)的設定要通過(guò)反復計算和測量看是否精確,不精確則進(jìn)行修改。

  2.3 模擬脈沖編碼

  根據PT2262/PT2272協(xié)議,同時(shí)通過(guò)對手動(dòng)遙控器的發(fā)射波形進(jìn)行測量知道,單片機的模擬編碼應該分為3部分,即同步碼、地址碼和數據碼。

  地址碼和數據碼本來(lái)各有3種狀態(tài),即高電平、低電平和高阻狀態(tài)。手動(dòng)遙控器中地址碼在焊接電路時(shí)已經(jīng)被固定,測量的編碼為高阻狀態(tài),4位數據碼分別由4個(gè)按鈕控制,所以都只有高電平和低電平2種狀態(tài),在遙控的時(shí)候只能按一個(gè)按鈕,所以一個(gè)手動(dòng)遙控器只有4種不同的編碼,因此一個(gè)手動(dòng)遙控器最多只能控制4個(gè)不同的終端。但是在單片機進(jìn)行編碼的時(shí)候可以不受控制靈活多變,如果用1和0來(lái)表示高低電平這兩種狀態(tài)來(lái)編碼的話(huà),那么最多可以控制212個(gè)不同的終端,如果用00、01、10來(lái)表示這3種狀態(tài)的話(huà),那么最多可以控制312個(gè)不同的終端。在普通的工作環(huán)境中僅用1和0兩種狀態(tài)來(lái)編碼就已經(jīng)能夠滿(mǎn)足一般設計需求。

  在用單片機進(jìn)行模擬脈沖編碼的時(shí)候,通過(guò)USB轉串口模塊送過(guò)來(lái)的數據流進(jìn)行相應的算法轉換來(lái)確定8位地址碼和4位數據碼的每一位應有的狀態(tài),再通過(guò)調用不同的基準延時(shí)來(lái)模擬不同狀態(tài)編碼,從而構成模擬的12位的波形編碼,同時(shí)在最后還要加上模擬的同步碼,同步碼可以獨立編一個(gè)程序,直接調用插入即可。這樣通過(guò)單片機的軟件編程完成模擬的PT2262芯片編碼。

萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼


模擬信號相關(guān)文章:什么是模擬信號


手機電池相關(guān)文章:手機電池修復




評論


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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>