位置:51电子网 » 技术资料 » 测试测量

用ZHX1010实现单片机之间的红外通信

发布时间:2008/6/3 0:00:00 访问次数:743

        

    

    摘要:zhx1010是zilog公司的红外收发芯片,该芯片在1米范围内的最高速度可达115.2kbps,2.4v~5.5v的宽电源范围可使其与各种电压的cpu进行方便的接口。文中介绍了zhx1010的特点、结构和使用方法,并给出了它与at89c51的接口应用。

    关键词:红外通信 单片机 zhx1010

    引言

    目前的单片机应用系统之间一般都使用uart进行通信,通过电平转换口将信号变成rs232或rs485信号来进行直接通信。这种有线通信的好处是通信误码率比较低,受干扰的机率相对较少,但对于要经常插拔通信 线的系统来说,有线通信反而容易出现故障。笔者在开发织机控制系统时,要用一个手持式编程器来修改控制系统的工作参数。在实际使用过程中,由于工作人员要经常插拔通信线,因此会经常出现接触不良、绕毁通信芯片的情况。笔者利用zilog公司生产的irda芯片zhx1010设计了一个红外无线通信电路。

    1 zhx1010介绍

    zhx1010是一个符号irda sir(serial infrared,串行红外协议)的收发模块,该模块在1米范围内的最高速度可达115.2kbps。而且它的供电范围较宽(2.4~5.5v),可方便地与各种电压的cpu进行接口。

    zhx1010在3v供电时,其典型电流只有90μa,非常适用于电池供电产品。此外,zhx1010体积小,仅有9.9mm×3.7mm,且其外围元件少(只需一个电阻和一个电容)。

    zhx1010有6个引脚,依次是leda、txd、rxd、sd、vcc和gnd。leda内部与ired红外发光二极管相连,外部接一限流电阻到vcc,以给红外管提供工作电流。但应注意提供的最大电流不能超过500ma(20%的占空比)。txd是数据发送引脚,该脚内部带有下拉电阻,可以直接接到mcu的数据发送端,当器件进入省电模式时,该下拉电阻开路。rxd是接收到红外数据后的输出脚,它是一个三态输出引脚,摆率控制的cmos输出驱动器可驱动标准cmos或lsttl负载。该引脚无需外接电阻。sd是省电模式控制脚,该引脚输入高电平时,zhx1010进入省电模式,此时的最大电流只有1μa。

    2 zhx1010与at89c51的接口电路

    at89c51的工作电压为5v,而zhx1010的工作电压范围较宽,从2.4v到5.5v,因此可以直接相连。此外,at89c51有一个uart,非常适合于传输串行数据,当使用22.1184mhz的晶振时,其最高波特率可以达到115.2kbps。

    图1给出了zhx1010与at89c51的具体接口连接方式。

    

    

    

    3 程序设计

    使用zhx1010的目的是在两个单片机系统之间进行无线数据通信,因此,at89c51的uart应工作于方式2,而且应使其波特率可调,以适用于不同通信距离的应用场合。其工作方式初始化程序如下:

    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 ;数据接收长度

    commintproc:

    push acc

    push r0

    mov a,#crecebuffer ;计算要保存数据的当前地址

    add a,crecelen

    mov r0,a

    mov a,sbuf

    mov @r0,a ;保存收到的数据

    inc crecelen ;收到的数据长度加1

    pop r0

    pop acc

    reti

    数据收到后,便可根据不同的命令来完成不同的功能:

    mov a,crecebuffer ;首字节是命令号

    cjne a,#1,command1

    

        

    

    摘要:zhx1010是zilog公司的红外收发芯片,该芯片在1米范围内的最高速度可达115.2kbps,2.4v~5.5v的宽电源范围可使其与各种电压的cpu进行方便的接口。文中介绍了zhx1010的特点、结构和使用方法,并给出了它与at89c51的接口应用。

    关键词:红外通信 单片机 zhx1010

    引言

    目前的单片机应用系统之间一般都使用uart进行通信,通过电平转换口将信号变成rs232或rs485信号来进行直接通信。这种有线通信的好处是通信误码率比较低,受干扰的机率相对较少,但对于要经常插拔通信 线的系统来说,有线通信反而容易出现故障。笔者在开发织机控制系统时,要用一个手持式编程器来修改控制系统的工作参数。在实际使用过程中,由于工作人员要经常插拔通信线,因此会经常出现接触不良、绕毁通信芯片的情况。笔者利用zilog公司生产的irda芯片zhx1010设计了一个红外无线通信电路。

    1 zhx1010介绍

    zhx1010是一个符号irda sir(serial infrared,串行红外协议)的收发模块,该模块在1米范围内的最高速度可达115.2kbps。而且它的供电范围较宽(2.4~5.5v),可方便地与各种电压的cpu进行接口。

    zhx1010在3v供电时,其典型电流只有90μa,非常适用于电池供电产品。此外,zhx1010体积小,仅有9.9mm×3.7mm,且其外围元件少(只需一个电阻和一个电容)。

    zhx1010有6个引脚,依次是leda、txd、rxd、sd、vcc和gnd。leda内部与ired红外发光二极管相连,外部接一限流电阻到vcc,以给红外管提供工作电流。但应注意提供的最大电流不能超过500ma(20%的占空比)。txd是数据发送引脚,该脚内部带有下拉电阻,可以直接接到mcu的数据发送端,当器件进入省电模式时,该下拉电阻开路。rxd是接收到红外数据后的输出脚,它是一个三态输出引脚,摆率控制的cmos输出驱动器可驱动标准cmos或lsttl负载。该引脚无需外接电阻。sd是省电模式控制脚,该引脚输入高电平时,zhx1010进入省电模式,此时的最大电流只有1μa。

    2 zhx1010与at89c51的接口电路

    at89c51的工作电压为5v,而zhx1010的工作电压范围较宽,从2.4v到5.5v,因此可以直接相连。此外,at89c51有一个uart,非常适合于传输串行数据,当使用22.1184mhz的晶振时,其最高波特率可以达到115.2kbps。

    图1给出了zhx1010与at89c51的具体接口连接方式。

    

    

    

    3 程序设计

    使用zhx1010的目的是在两个单片机系统之间进行无线数据通信,因此,at89c51的uart应工作于方式2,而且应使其波特率可调,以适用于不同通信距离的应用场合。其工作方式初始化程序如下:

    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 ;数据接收长度

    commintproc:

    push acc

    push r0

    mov a,#crecebuffer ;计算要保存数据的当前地址

    add a,crecelen

    mov r0,a

    mov a,sbuf

    mov @r0,a ;保存收到的数据

    inc crecelen ;收到的数据长度加1

    pop r0

    pop acc

    reti

    数据收到后,便可根据不同的命令来完成不同的功能:

    mov a,crecebuffer ;首字节是命令号

    cjne a,#1,command1

    

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!