欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于單片機紅外遙控器程序的編寫 [打印本頁]

作者: CC51heiW    時間: 2019-11-11 20:29
標題: 關于單片機紅外遙控器程序的編寫
我現在用單片機外接一個紅外模塊,想要通過單片機上按鍵控制紅外模塊發射紅外,這個紅外模塊編碼是5個16進制數組成,遵循NEC協議,我已經有了要發送的編碼,比如這個A1 F1 00 FF 45    ,這個第一位是地址碼,第二位操作碼,三四位用戶碼,第五位解碼。我一共有四個值編碼,分別按下單片機上的四個按鍵比如1、2、3、4.控制這個外接模塊發射紅外信號,從而控制小燈的亮滅。這是我的紅外模塊以及我的一部分程序,不知道接下來怎么寫了,求教

51hei圖片20191111202748.jpg (80.34 KB, 下載次數: 26)

51hei圖片20191111202748.jpg

51hei圖片20191111202805.png (227.73 KB, 下載次數: 24)

51hei圖片20191111202805.png

作者: 來51學習1    時間: 2019-11-12 09:36
你好!
1、for 發送的過程里面不應該有延時
2、用單片機作為主控,直接用單片機發射紅外,不用外置紅外模塊
3、單片機晶振采用 11.0592,單片機波特率要和紅外模塊一致
作者: CC51heiW    時間: 2019-11-12 10:18
來51學習1 發表于 2019-11-12 09:36
你好!
1、for 發送的過程里面不應該有延時
2、用單片機作為主控,直接用單片機發射紅外,不用外置紅外模 ...

波特率是對的,現在的要求是用這個紅外模塊來發送
作者: cm7626    時間: 2019-11-12 11:02
你這個模塊應該是通過串口收發送數據的,可以參考51串口的例子
作者: kmsj    時間: 2019-11-12 11:46
僅僅編一個紅外遙控解碼的程序,難度不太大,最難的是在一段程序里插入紅外遙控解碼程序,紅外發射的信號慢、速率低,造成遙控解碼程序速度也很慢,要想完整解碼所有的紅外發射數據,勢必影響主程序的運行,前段時間我就編了一個紅外接收程序,外部中斷進入紅外接收程序,解碼完成后又用定時中斷退出外部中斷,就用這個方法,我編出來的紅外遙控解碼程序相當好用,靈敏度很高,距離夠遠,對主程序的影響在可以接收范圍之內,我也只能給你一個思路,就是外部中斷進入紅外接收程序,解碼完成后又用定時中斷退出外部中斷,沒有紅外發射就不會進入紅外接收程序。
紅外發射程序沒有編過,難度應該更小,無非就是把數字調制在38K的信號,你要發射的數據A1 F1 00 FF 45最后兩位不對,最后兩位是反碼關系,FF的反碼是00。
作者: bh2030693    時間: 2019-11-12 14:06
你上面的程序是:按鍵控制串口發送5個十六進制代碼。
你的紅外模塊功能和參數我也不知道,所以不清楚你的模塊是怎么工作的?只能猜測它會發射你要的代碼出去。
一般NEC代碼的格式是:一個起始代碼 + 一個用戶碼 + 一個用戶碼反碼 + 一個數據代碼 + 一個數據代碼反碼。
如果你的模塊也是這樣發送的,那就要看你用什么接收這個信號?是模塊還是你學習板上面的紅外接收頭?
如果是模塊的話,估計是通過串行通訊給你的學習板發送代碼,你需要編寫串行通訊接收函數來接收這個信號,再根據信號控制LED燈;
反之要是通過學習板上的接收頭接收,那就要編寫紅外接收函數來處理,而不是串行接收代碼函數。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1