<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è) > 嵌入式系統 > 設計應用 > 用ZHX1010實(shí)現單片機之間的紅外通信

用ZHX1010實(shí)現單片機之間的紅外通信

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

摘要:是ZiLOG公司的紅外收發(fā)芯片,該芯片在1米范圍內的最高速度可達115.2kbps,2.4V~5.5V的寬電源范圍可使其與各種電壓的CPU進(jìn)行方便的接口。文中介紹了的特點(diǎn)、結構和使用方法,并給出了它與AT89C51的接口應用。 關(guān)鍵詞: 引言 目前的應用系統之間一般都使用UART進(jìn)行通信,通過(guò)電平轉換口將信號變成RS232或RS485信號來(lái)進(jìn)行直接通信。這種有線(xiàn)通信的好處是通信誤碼率比較低,受干擾的機率相對較少,但對于要經(jīng)常插拔通信 線(xiàn)的系統來(lái)說(shuō),有線(xiàn)通信反而容易出現故障。筆者在開(kāi)發(fā)織機控制系統時(shí),要用一個(gè)手持式編程器來(lái)修改控制系統的工作參數。在實(shí)際使用過(guò)程中,由于工作人員要經(jīng)常插拔通信線(xiàn),因此會(huì )經(jīng)常出現接觸不良、繞毀通信芯片的情況。筆者利用ZiLOG公司生產(chǎn)的IrDA芯片ZHX1010設計了一個(gè)紅外無(wú)線(xiàn)通信電路。 1 ZHX1010介紹 ZHX1010是一個(gè)符號IrDA SIR(Serial Infrared,串行紅外協(xié)議)的收發(fā)模塊,該模塊在1米范圍內的最高速度可達115.2kbps。而且它的供電范圍較寬(2.4~5.5V),可方便地與各種電壓的CPU進(jìn)行接口。 ZHX1010在3V供電時(shí),其典型電流只有90μA,非常適用于電池供電產(chǎn)品。此外,ZHX1010體積小,僅有 9.9mm%26;#215;3.7mm,且其外圍元件少(只需一個(gè)電阻和一個(gè)電容)。 ZHX1010有6個(gè)引腳,依次是LEDA、TXD、RXD、SD、Vcc和GND。LEDA內部與IRED紅外發(fā)光二極管相連,外部接一限流電阻到 Vcc,以給紅外管提供工作電流。但應注意提供的最大電流不能超過(guò)500mA(20%的占空比)。TXD是數據發(fā)送引腳,該腳內部帶有下拉電阻,可以直接接到MCU的數據發(fā)送端,當器件進(jìn)入省電模式時(shí),該下拉電阻開(kāi)路。RXD是接收到紅外數據后的輸出腳,它是一個(gè)三態(tài)輸出引腳,擺率控制的CMOS輸出驅動(dòng)器可驅動(dòng)標準CMOS或LSTTL負載。該引腳無(wú)需外接電阻。SD是省電模式控制腳,該引腳輸入高電平時(shí),ZHX1010進(jìn)入省電模式,此時(shí)的最大電流只有1μA。 2 ZHX1010與AT89C51的接口電路 AT89C51的工作電壓為5V,而ZHX1010的工作電壓范圍較寬,從2.4V到5.5V,因此可以直接相連。此外,AT89C51有一個(gè)UART,非常適合于傳輸串行數據,當使用22.1184MHz的晶振時(shí),其最高波特率可以達到115.2kbps。 圖1給出了ZHX1010與AT89C51的具體接口連接方式。

本文引用地址:http://dyxdggzs.com/article/201610/307524.htm
1.png

3 程序設計 使用ZHX1010的目的是在兩個(gè)系統之間進(jìn)行無(wú)線(xiàn)數據通信,因此,AT89C51的UART應工作于方式2,而且應使其波特率可調,以適用于不同通信距離的應用場(chǎng)合。其工作方式初始化程序如下: InitComm: MOV TMOD,#21H MOV TH1,#250 ;22.1184M晶振 MOV TL1,#250 ;9600bps SETB TR1 MOV SCON,#50H MOV 87H,#0H CLR RI SETB REN SETB ES ;允許接收中斷 RET 為了避免數據丟失,接收紅外數據采用中斷方式,接收到的數據可保存在cReceBuffer中,中斷部分的具體程序如下: cReceBuffer EQU 40H ;數據接收緩沖區 cReceLen EQU 50H ;數據接收長(cháng)度 CommIntProc: PUSH ACC PUSH R0 MOV A,#cReceBuffer ;計算要保存數據的當前地址 ADD A,cReceLen MOV R0,A MOV A,SBUF MOV @R0,A ;保存收到的數據 INC cReceLen ;收到的數據長(cháng)度加1 POP R0 POP ACC RETI 數據收到后,便可根據不同的命令來(lái)完成不同的功能: MOV A,cReceBuffer ;首字節是命令號 CJNE A,#1,Command1 ;讀取設定的數據 … Command1: CJNE A,#2,Command2 ;修改設定的數據 … Command2: ;其他命令 RET 4 總結 在使用ZHX1010時(shí),要注意現場(chǎng)的環(huán)境情況。在筆者實(shí)際使用過(guò)程中,常常會(huì )出現收發(fā)誤碼率較高的情況,經(jīng)檢查發(fā)現是ZHX1010的紅外發(fā)送、接收頭比較臟,其原因是織造廠(chǎng)的環(huán)境比較惡劣,空氣比較潮濕,很容易在發(fā)送、接收端聚集灰塵,從而影響通信。另外,一個(gè)系統完成從發(fā)送到接收的狀態(tài)轉換時(shí),要經(jīng)過(guò)至少2ms的延時(shí)才能保證接收比較可靠。



關(guān)鍵詞: ZHX1010 單片機 紅外通信

評論


相關(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>