讓紅外線(xiàn)模塊工作起來(lái),首先你得給它供電,然后你得有個(gè)CPU來(lái)處理它發(fā)送數(shù)據(jù),通過(guò)單片機(jī)處理以后,我們才能知道紅外模塊發(fā)送的是什么數(shù)據(jù)。紅外接收端和CPU連接,紅外接收端給CPU的數(shù)據(jù),是一些PWM波,也就是一些高低電平組成連續(xù)波形。因此,我們需要CPU具有處理這些波形的能力。
CPU需要的功能:
1、定時(shí)功能:也就是計(jì)時(shí)用;
2、捕獲功能:上升沿捕獲,下降沿捕獲;
3、中斷功能:定時(shí)時(shí)間,上升沿捕獲,下降沿捕獲;
首先將CPU的捕獲IO設(shè)置為上升沿捕獲,等待上升沿到來(lái),上升沿到來(lái),定時(shí)器開(kāi)始計(jì)時(shí);然后將CPU的捕獲IO口捕獲設(shè)置為下降沿捕獲,等待下降沿到來(lái),下降沿到來(lái),停止計(jì)時(shí),計(jì)算這2個(gè)沿的時(shí)間Time,這個(gè)時(shí)間,也就是高電平的時(shí)間。
通過(guò)這個(gè)高電平時(shí)間來(lái)確定收到數(shù)據(jù)是0或者1,也有可能是重復(fù)碼和引導(dǎo)碼。
1、Time為0.56ms(高電平時(shí)間)時(shí),收到的電平為0;
2、Time為1.685ms(高電平時(shí)間)時(shí),收到的電平為1。
3、Time為2.25ms(高電平時(shí)間)重復(fù)碼;重復(fù)碼,就是重復(fù)按某一個(gè)鍵。
4、Time為4.5ms(高電平時(shí)間),引導(dǎo)碼;
紅外線(xiàn)發(fā)送的每一幀數(shù)據(jù),除了引導(dǎo)碼以外,有32位有效數(shù)據(jù),每個(gè)字節(jié)為8位,一幀數(shù)據(jù)的有效數(shù)據(jù)也就是4個(gè)字節(jié)。
從高位到低位,高兩個(gè)字節(jié)為地址碼和地址反碼,后面兩個(gè)字節(jié)為數(shù)據(jù)碼和數(shù)據(jù)反碼。
得到32位數(shù)據(jù)后,需要對(duì)數(shù)據(jù)進(jìn)行處理:
我們定義一個(gè)32位的變量RevData。
同時(shí)定義4個(gè)8位的變量,地址碼AdrCode,地址反碼AdrInv,數(shù)字碼keyValue,數(shù)字反碼keyIvalue。
將變量RevData右移24位后,將值賦給地址碼AdrCode;
將變量RevData右移16位后,和0xff進(jìn)行與運(yùn)算后賦值給地址反碼AdrInv。
如果將AdrCode取反后,等于AdrInv,說(shuō)明接收的數(shù)據(jù)是正確的。
將變量RevData右移8位后賦值給數(shù)字碼keyValue
直接將變量RevData賦予給數(shù)字反碼keyIvalue
如果將keyValue取反后,與keyIvalue相等,說(shuō)明接收到數(shù)據(jù)無(wú)誤。
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650584 -
cpu
+關(guān)注
關(guān)注
68文章
11080瀏覽量
217120 -
紅外模塊
+關(guān)注
關(guān)注
0文章
14瀏覽量
9840
發(fā)布評(píng)論請(qǐng)先 登錄
紅外對(duì)管的工作原理?
紅外熱像儀的工作原理
求大神分享一份設(shè)計(jì)紅外遙控開(kāi)關(guān)的方案
可控硅在紅外遙控開(kāi)關(guān)中的應(yīng)用及工作原理

一文詳解紅外遙控模塊工作原理
紅外線(xiàn)接收模塊測(cè)放器的工作原理

電視遙控交流開(kāi)關(guān)的工作原理

紅外遙控的原理詳細(xì)說(shuō)明

紅外遙控模塊工作原理、重要環(huán)節(jié)及應(yīng)用
解析紅外遙控模塊的工作原理

評(píng)論