用ZHX1010實(shí)現(xiàn)單片機(jī)之間的紅外通信
發(fā)布時(shí)間:2008/6/3 0:00:00 訪問次數(shù):749
    
    摘要:zhx1010是zilog公司的紅外收發(fā)芯片,該芯片在1米范圍內(nèi)的最高速度可達(dá)115.2kbps,2.4v~5.5v的寬電源范圍可使其與各種電壓的cpu進(jìn)行方便的接口。文中介紹了zhx1010的特點(diǎn)、結(jié)構(gòu)和使用方法,并給出了它與at89c51的接口應(yīng)用。
    關(guān)鍵詞:紅外通信 單片機(jī) zhx1010
    引言
    目前的單片機(jī)應(yīng)用系統(tǒng)之間一般都使用uart進(jìn)行通信,通過電平轉(zhuǎn)換口將信號變成rs232或rs485信號來進(jìn)行直接通信。這種有線通信的好處是通信誤碼率比較低,受干擾的機(jī)率相對較少,但對于要經(jīng)常插拔通信 線的系統(tǒng)來說,有線通信反而容易出現(xiàn)故障。筆者在開發(fā)織機(jī)控制系統(tǒng)時(shí),要用一個(gè)手持式編程器來修改控制系統(tǒng)的工作參數(shù)。在實(shí)際使用過程中,由于工作人員要經(jīng)常插拔通信線,因此會(huì)經(jīng)常出現(xiàn)接觸不良、繞毀通信芯片的情況。筆者利用zilog公司生產(chǎn)的irda芯片zhx1010設(shè)計(jì)了一個(gè)紅外無線通信電路。
    1 zhx1010介紹
    zhx1010是一個(gè)符號irda sir(serial infrared,串行紅外協(xié)議)的收發(fā)模塊,該模塊在1米范圍內(nèi)的最高速度可達(dá)115.2kbps。而且它的供電范圍較寬(2.4~5.5v),可方便地與各種電壓的cpu進(jìn)行接口。
    zhx1010在3v供電時(shí),其典型電流只有90μa,非常適用于電池供電產(chǎn)品。此外,zhx1010體積小,僅有9.9mm×3.7mm,且其外圍元件少(只需一個(gè)電阻和一個(gè)電容)。
    zhx1010有6個(gè)引腳,依次是leda、txd、rxd、sd、vcc和gnd。leda內(nèi)部與ired紅外發(fā)光二極管相連,外部接一限流電阻到vcc,以給紅外管提供工作電流。但應(yīng)注意提供的最大電流不能超過500ma(20%的占空比)。txd是數(shù)據(jù)發(fā)送引腳,該腳內(nèi)部帶有下拉電阻,可以直接接到mcu的數(shù)據(jù)發(fā)送端,當(dāng)器件進(jìn)入省電模式時(shí),該下拉電阻開路。rxd是接收到紅外數(shù)據(jù)后的輸出腳,它是一個(gè)三態(tài)輸出引腳,擺率控制的cmos輸出驅(qū)動(dòng)器可驅(qū)動(dòng)標(biāo)準(zhǔn)cmos或lsttl負(fù)載。該引腳無需外接電阻。sd是省電模式控制腳,該引腳輸入高電平時(shí),zhx1010進(jìn)入省電模式,此時(shí)的最大電流只有1μa。
    2 zhx1010與at89c51的接口電路
    at89c51的工作電壓為5v,而zhx1010的工作電壓范圍較寬,從2.4v到5.5v,因此可以直接相連。此外,at89c51有一個(gè)uart,非常適合于傳輸串行數(shù)據(jù),當(dāng)使用22.1184mhz的晶振時(shí),其最高波特率可以達(dá)到115.2kbps。
    圖1給出了zhx1010與at89c51的具體接口連接方式。
    
    
    
    3 程序設(shè)計(jì)
    使用zhx1010的目的是在兩個(gè)單片機(jī)系統(tǒng)之間進(jìn)行無線數(shù)據(jù)通信,因此,at89c51的uart應(yīng)工作于方式2,而且應(yīng)使其波特率可調(diào),以適用于不同通信距離的應(yī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
    為了避免數(shù)據(jù)丟失,接收紅外數(shù)據(jù)采用中斷方式,接收到的數(shù)據(jù)可保存在crecebuffer中,中斷部分的具體程序如下:
    crecebuffer equ 40h ;數(shù)據(jù)接收緩沖區(qū)
    crecelen equ 50h ;數(shù)據(jù)接收長度
    commintproc:
    push acc
    push r0
    mov a,#crecebuffer ;計(jì)算要保存數(shù)據(jù)的當(dāng)前地址
    add a,crecelen
    mov r0,a
    mov a,sbuf
    mov @r0,a ;保存收到的數(shù)據(jù)
    inc crecelen ;收到的數(shù)據(jù)長度加1
    pop r0
    pop acc
    reti
    數(shù)據(jù)收到后,便可根據(jù)不同的命令來完成不同的功能:
    mov a,crecebuffer ;首字節(jié)是命令號
    cjne a,#1,command1
    
    
    摘要:zhx1010是zilog公司的紅外收發(fā)芯片,該芯片在1米范圍內(nèi)的最高速度可達(dá)115.2kbps,2.4v~5.5v的寬電源范圍可使其與各種電壓的cpu進(jìn)行方便的接口。文中介紹了zhx1010的特點(diǎn)、結(jié)構(gòu)和使用方法,并給出了它與at89c51的接口應(yīng)用。
    關(guān)鍵詞:紅外通信 單片機(jī) zhx1010
    引言
    目前的單片機(jī)應(yīng)用系統(tǒng)之間一般都使用uart進(jìn)行通信,通過電平轉(zhuǎn)換口將信號變成rs232或rs485信號來進(jìn)行直接通信。這種有線通信的好處是通信誤碼率比較低,受干擾的機(jī)率相對較少,但對于要經(jīng)常插拔通信 線的系統(tǒng)來說,有線通信反而容易出現(xiàn)故障。筆者在開發(fā)織機(jī)控制系統(tǒng)時(shí),要用一個(gè)手持式編程器來修改控制系統(tǒng)的工作參數(shù)。在實(shí)際使用過程中,由于工作人員要經(jīng)常插拔通信線,因此會(huì)經(jīng)常出現(xiàn)接觸不良、繞毀通信芯片的情況。筆者利用zilog公司生產(chǎn)的irda芯片zhx1010設(shè)計(jì)了一個(gè)紅外無線通信電路。
    1 zhx1010介紹
    zhx1010是一個(gè)符號irda sir(serial infrared,串行紅外協(xié)議)的收發(fā)模塊,該模塊在1米范圍內(nèi)的最高速度可達(dá)115.2kbps。而且它的供電范圍較寬(2.4~5.5v),可方便地與各種電壓的cpu進(jìn)行接口。
    zhx1010在3v供電時(shí),其典型電流只有90μa,非常適用于電池供電產(chǎn)品。此外,zhx1010體積小,僅有9.9mm×3.7mm,且其外圍元件少(只需一個(gè)電阻和一個(gè)電容)。
    zhx1010有6個(gè)引腳,依次是leda、txd、rxd、sd、vcc和gnd。leda內(nèi)部與ired紅外發(fā)光二極管相連,外部接一限流電阻到vcc,以給紅外管提供工作電流。但應(yīng)注意提供的最大電流不能超過500ma(20%的占空比)。txd是數(shù)據(jù)發(fā)送引腳,該腳內(nèi)部帶有下拉電阻,可以直接接到mcu的數(shù)據(jù)發(fā)送端,當(dāng)器件進(jìn)入省電模式時(shí),該下拉電阻開路。rxd是接收到紅外數(shù)據(jù)后的輸出腳,它是一個(gè)三態(tài)輸出引腳,擺率控制的cmos輸出驅(qū)動(dòng)器可驅(qū)動(dòng)標(biāo)準(zhǔn)cmos或lsttl負(fù)載。該引腳無需外接電阻。sd是省電模式控制腳,該引腳輸入高電平時(shí),zhx1010進(jìn)入省電模式,此時(shí)的最大電流只有1μa。
    2 zhx1010與at89c51的接口電路
    at89c51的工作電壓為5v,而zhx1010的工作電壓范圍較寬,從2.4v到5.5v,因此可以直接相連。此外,at89c51有一個(gè)uart,非常適合于傳輸串行數(shù)據(jù),當(dāng)使用22.1184mhz的晶振時(shí),其最高波特率可以達(dá)到115.2kbps。
    圖1給出了zhx1010與at89c51的具體接口連接方式。
    
    
    
    3 程序設(shè)計(jì)
    使用zhx1010的目的是在兩個(gè)單片機(jī)系統(tǒng)之間進(jìn)行無線數(shù)據(jù)通信,因此,at89c51的uart應(yīng)工作于方式2,而且應(yīng)使其波特率可調(diào),以適用于不同通信距離的應(yī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
    為了避免數(shù)據(jù)丟失,接收紅外數(shù)據(jù)采用中斷方式,接收到的數(shù)據(jù)可保存在crecebuffer中,中斷部分的具體程序如下:
    crecebuffer equ 40h ;數(shù)據(jù)接收緩沖區(qū)
    crecelen equ 50h ;數(shù)據(jù)接收長度
    commintproc:
    push acc
    push r0
    mov a,#crecebuffer ;計(jì)算要保存數(shù)據(jù)的當(dāng)前地址
    add a,crecelen
    mov r0,a
    mov a,sbuf
    mov @r0,a ;保存收到的數(shù)據(jù)
    inc crecelen ;收到的數(shù)據(jù)長度加1
    pop r0
    pop acc
    reti
    數(shù)據(jù)收到后,便可根據(jù)不同的命令來完成不同的功能:
    mov a,crecebuffer ;首字節(jié)是命令號
    cjne a,#1,command1
    
熱門點(diǎn)擊
- 單片機(jī)多字節(jié)BCD碼加法減法
- 單片機(jī)C51串口中斷接收和發(fā)送測試
- 用單片機(jī)制作通用型電視遙控器
- 24C04在2051系統(tǒng)中的使用
- 單片機(jī)系統(tǒng)低功耗設(shè)計(jì)策略
- DVB-C信道解調(diào)解碼芯片GX1001的設(shè)計(jì)
- C51絕對地址訪問
- 大家一起來學(xué)單片機(jī):LED花樣燈
- 用MCS-51單片機(jī)串行口對MAX7219及
- 測試PIC單片機(jī)如何省電
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究