《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)系統(tǒng)中的紅外通信接口
單片機(jī)系統(tǒng)中的紅外通信接口
Epdoc
Epdoc
摘要: 本文結(jié)合復(fù)費(fèi)率電能表中紅外通信的設(shè)計(jì)實(shí)從事貿(mào)易,介紹了單片機(jī)系統(tǒng)中紅外通信的軟硬件設(shè)計(jì)方法,并給出了具體的電路原理和通信源程序.
關(guān)鍵詞: 單片機(jī) 紅外通信 遙控
Abstract:
Key words :
單片機(jī)系統(tǒng)中的紅外通信接口
摘要:本文結(jié)合復(fù)費(fèi)率電能表中紅外通信的設(shè)計(jì)實(shí)從事貿(mào)易,介紹了單片機(jī)系統(tǒng)中紅外通信的軟硬件設(shè)計(jì)方法,并給出了具體的電路原理和通信源程序.
關(guān)鍵詞:單片機(jī),紅外通信,遙控
在許多基于單片機(jī)的應(yīng)用系統(tǒng)中,系統(tǒng)需要實(shí)現(xiàn)遙控功能,而紅外通信則是被采用較多的一種方法.一般市場上的搖控器協(xié)議簡單,保密性不強(qiáng),抗干擾能力較弱.這里,我們介紹一種基于字節(jié)傳輸?shù)募t外遙控系統(tǒng),可以適合于各種復(fù)雜的應(yīng)用場合.
紅外通信的基本原理
紅外通信的基本原理是發(fā)送端將基帶二進(jìn)制信號調(diào)制為一系列的脈沖串信號,通過紅外發(fā)射管發(fā)射紅外信號.常用的有通過脈沖寬度來實(shí)現(xiàn)信號調(diào)制的脈寬調(diào)制(PWM)和通過脈沖串之間的時間間隔來實(shí)現(xiàn)信號調(diào)制的脈時調(diào)制(PPM)兩種方法.本系統(tǒng)采用的為永時市制方法.數(shù)據(jù)比特的傳送仿照不帶奇?zhèn)刃r?yàn)的RS232通信,首先產(chǎn)生一個同步頭,然后接著8位數(shù)據(jù)比特,如圖1所示.
硬件電路設(shè)計(jì)
復(fù)費(fèi)率電能表系統(tǒng)可分為手持遙控器和復(fù)費(fèi)率電能表兩部分.手持遙控器為發(fā)射部分,其基本電路如圖2所示.采用塑封的SE303ANC-發(fā)射二極管,波長為940nm.CPU按照協(xié)議規(guī)定導(dǎo)通或截止發(fā)射二極管,從而產(chǎn)生特定頻率的發(fā)射信號,這里選用的頻率為38.9kHz.復(fù)費(fèi)率電能表紅外接收部分的基本電路如圖3所示.接收管采用日本光電子公司的PIC-12034,其接收頻率為37.9kHz,它直接將37.9kHz的調(diào)制信號解調(diào)為基帶信號,提供緞帶接收CPU.該芯片接收靈敏度高,性能穩(wěn)定.其基本工作過程為:當(dāng)接收至37.9kHz信號時,輸出低電平,否則輸出為高電平.電能表部分采用的是51系列單片機(jī),以中斷方式檢測接收信號.這里的非門對收信號起整形作用.
軟件設(shè)計(jì)
發(fā)射部分的程序相對來說非常簡單,主要是生產(chǎn)不同時間間隔的37.9kHz脈沖串信號控制發(fā)射管的通斷.在發(fā)
射端,CPU不斷掃描鍵盤,一旦發(fā)現(xiàn)有鍵按下,即啟動發(fā)射子程序?qū)⑾鄳?yīng)的數(shù)值發(fā)送出.在 我們的設(shè)計(jì)中,采用的是4×4的小鍵盤,正如和0~F編碼對應(yīng),為了提高可靠性,采用最簡單的糾錯編碼――將每位數(shù)重復(fù)發(fā)送一次,即和鍵盤數(shù)字對應(yīng)的編碼為00~FF.這樣,一個鍵值要發(fā)送8比特.接收端接收滿8比特信號后,再進(jìn)行糾錯處理,不正確的碥碼認(rèn)為無效.收足規(guī)定的號碼后,即調(diào)用號碼分析程序進(jìn)行處理.當(dāng)每收至一個脈沖串信號后即啟動一個定時器.下次中斷發(fā)生時,通過定時器的計(jì)數(shù)值判斷是0還是1.如果定時器溢出,則清除本次接收的號碼,恢復(fù)到接收初始狀態(tài).接收部分的基本程序流程如圖4所示.
在程序設(shè)計(jì)時,應(yīng)該注意MCU的中斷方式采用下降沿觸發(fā):接收端通過T0計(jì)數(shù)值來判斷發(fā)送比特,一般采用硬判決,即取0和1比特時寬的平均值為竟決門限A,當(dāng)T0值大于A時判接收信號為0,小于A時判為1.
復(fù)費(fèi)率電能表中的紅外接收程序(MCU為Intel 8052,采用C語言編寫)見程序清單.
結(jié)語
以上設(shè)計(jì)方案在復(fù)費(fèi)率電能表中應(yīng)用后,效果良好,達(dá)至了設(shè)計(jì)要求.整個系統(tǒng)外圍元件少,調(diào)試方便;軟件工作量也較小.如果應(yīng)用來傳送大量數(shù)據(jù)時,還可以根據(jù)需要改變相應(yīng)的編碼形式,提高數(shù)據(jù)傳送速率.
通信源程序
#include
#include
#include
#pragma OPTIMIZE(5,SPEED)
sbit RECV=P3^3;
bdata unsigned char SIGN,RECVBYTE;
sbit RECVBG=SING^0;
sbit US1AT=SIGN^6;
sbit RECVBITO=RECVBYTE^0;
unsigned char RECVBIT;

timer0() interrupt 1 ‖entrance:8*n+3=0Bh;
{
IE=0x8d; ‖1(EA)0(X)0(X)0(X)-1(ET1)1(EX1)0(ET0)1(EX0)
RECVBG=0;
}

EX-INT1() interrupt 2 ‖接收紅外信號
{
TCON=0x45; ‖0(TF1)1(TR1)0(TF0)1(TR0)-0(IE1)1(IT1)0(IE0)1(IT0)
If(RECVBG==0) {RECVBG=1;
RECVBIT=8;
}
eles{BECVBYTE=RECVBYTE<<1;
if(TH0<=4)RECVBIT0=1;
else RECVBIT0=0;
RECVBIT--;
If(RECVBIT==0) { RECVBG=0;
US1AT=1;
}
}
TH0=0;
TL0=0;
TCON=0x55; ‖0(TF1)1(TR1)0(TF0)1(TR0)-0(IE1)1(IT1)0(IE0)1(IT0)
IE=0x8f; ‖Enable the timer0 interrupt
}

void main(){
RECVBYTE=O;
SIGN=O;
TMOD=0x11;
TCON=0x55; ‖0(TF1)1(TR1)0(TF0)1(TR0)-0(IE1)1(IT1)0(IE0)1(IT0)
IP=0x00;
IE=0x8d; ‖1(EA)0(X)0(X)0(X)-1(ET1)1(EX1)0(ET0)1(EX0)
‖基本循環(huán)程序
while(1) {
.
.(略)
.
if(US1AT==1{‖紅外接收處理
.
.(略)
.
}
)
)
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 欧美成人免费高清网站 | 欧美成人做性视频在线播放 | 亚洲h在线观看 | 黄漫无遮挡免费网站3d | 成年人午夜免费视频 | 国产亚洲一区二区精品张柏芝 | 在线看片黄 | 国产亚洲人成网站在线观看 | 亚洲综合激情在线影院 | 韩日一级毛片 | 一区二区中文字幕在线观看 | 丁香五月缴情综合网 | 老司机在线永久免费视频观看 | 国产午夜亚洲精品国产 | 日狠狠| 亚洲成人激情小说 | 影音先锋一区 | 黄色一级片欧美 | 国产在线欧美精品中文一区 | 欧美日韩亚洲第一页 | 欧美a欧美1级 | 久久精品国产大片免费观看 | 九九亚洲精品自拍 | 欧美在线观看a | 亚洲乱码尤物193yw在线播放 | 十八成人网 | 一菊综合网成人综合网 | 精品在线观看国产 | 日日爽爽 | 欧美日韩在线播放 | 欧美亚洲中日韩中文字幕在线 | 国产欧美精品一区aⅴ影院 国产欧美成人一区二区三区 | 日本中文在线播放 | 欧美第一精品 | 成人短视频网站 | 国产成人亚洲综合 | 日韩精品中文字幕久久 | 成人欧美日韩 | 国产欧美日韩在线一区二区不卡 | 久久亚洲网 | 久久久美女视频 |