基于AT89C52單片機(jī)的遙控電扇
4.2 遙控碼的編碼格式
遙控碼采用脈沖,不同的脈沖個(gè)數(shù)代表不同的碼,最小為2個(gè)脈沖,最大為17個(gè)脈沖。
為了使接收可靠,第一位碼寬為3 ms,其余為1 ms,遙控碼數(shù)據(jù)幀間隔大于10 ms,其編碼波形如圖4所示。本文引用地址:http://butianyuan.cn/article/171297.htm
如圖4所示,當(dāng)某個(gè)操作鍵按下時(shí),單片機(jī)先讀出鍵值,然后根據(jù)鍵值設(shè)定遙控碼的脈沖個(gè)數(shù),再調(diào)制成40 kHz的方波由紅外線發(fā)射管發(fā)射出去。在上述的發(fā)射電路中,一共設(shè)置了4個(gè)按鍵,其中S2,S3,S4,S5的編碼分別是電器碼2,3,4,5,對(duì)于發(fā)射電路,每發(fā)送一個(gè)數(shù)據(jù)幀最短的時(shí)間間隔是10 ms。例如在按下S4時(shí),即先發(fā)送3 ms的前導(dǎo)碼,隨后再發(fā)送5個(gè)1 ms的脈沖,就表示按鍵S4被按下了,單片機(jī)紅外接收電路在接收到一串串脈沖之后,通過軟件完成對(duì)紅外的解碼,通過設(shè)置,每個(gè)編碼對(duì)應(yīng)于電動(dòng)機(jī)不同的操作,比如2這個(gè)編碼,那么單片機(jī)的P0口輸出00000000,再經(jīng)過DAC0808之后,輸出電壓為0,這樣電動(dòng)機(jī)就可以停止工作了。類似的編碼3,4,5分別對(duì)應(yīng)直流電機(jī)的低速,中速和高速的操作。
4.3 單片機(jī)紅外發(fā)送和接收程序
由于程序較長,所以在本設(shè)計(jì)中只給出部分的核心的紅外發(fā)送和接收程序。關(guān)于紅外的發(fā)送程序如下:
評(píng)論