位置:51电子网 » 技术资料 » 显示光电

BC7281A串行通讯的解决方案

发布时间:2007/8/28 0:00:00 访问次数:775

作者:中科院上海技术物理研究所 陈木旺 陈育伟 童子磊
---------------------------------------------
摘   要:本文重点阐述数码管显示及键盘接口专用控制芯片BC7281A与MCU串行通讯中应注意的几个问题,给出了有效的解决方法,并提出了改进建议。

  关键词:嵌入式系统;串行通信;BC7281A

  传统的数码管显示和键盘接口一般直接采用MCU的I/O口对键盘或数码管进行动态扫描的方法,硬件上需要较多的外围部件,且占用MCU大量I/O口,软件上则浪费CPU资源,且给编程人员带来很大的不便。数码管显示及键盘接口专用控制芯片以其实现方法简单、功能强大等显著特点得到广泛的应用。这种芯片外围部件少、与MCU通讯一般采用串行接口或总线、在硬件上和软件上都占用极少资源、且功能强大、使得编程人员可以将更多的时间花在控制上。目前的这类接口芯片主要有:BC728X、HD7279A、ZLG7290、CH451等,BC7281A是其中性价比较高的一种。

  典型应用电路

  BC7281A的典型应用电路如图1所示,显示位数为16位,连接的键盘个数为64个,其外接移位寄存器采用74HC164,控制MCU采用ATMEL公司的AT89C51,为简单起见,图中仅画出与BC7281A相关的电路。

  BC7281A与MCU之间的通讯

  BC7281A与MCU之间的通讯是采用2线高速串行接口,这两个连线分别是数据线DAT和同步时钟线CLK,其中DAT为双向数据传输线,BC7281A既用该线从MCU接收数据,也用该线向MCU发送数据。BC7281A的DAT引脚为漏极开路输出结构,使用时须在该线上加20KW左右的上拉电阻。CLK引脚为串行时钟接口的同步时钟,由MCU控制,下降沿有效。串行接口数据宽度为8位,时序图如图2所示。

  由于BC7281A的2线串行接口是自行规定的,一般MCU都不具备此通讯接口,但可以采用软件实现。MCU发送指令或数据到BC7281A子程序为SEND,MCU接收数据子程序为RECEIVE,采用51指令系统编写,其中DATA_OUT为MCU向BC7281A发送数据的寄存器,该寄存器既能直接寻址又能位寻址,DATA_IN为MCU接收BC7281A的数据寄存器,CLK和DAT定义为MCU的I/O口,分别连接到BC7281A芯片上的CLK和DAT引脚。

  MCU发送指令或数据到BC7281A子程序

SEND:   CLR        CLK

              SETB        CLK             ;发送握手请求脉冲

WAIT1:        JB        DAT,SEND    ; DAT

              CLR        CLK             ;建立通讯

              SETB        CLK

WAIT2:        JNB        DAT,WAIT2 ;发送串行数据

              MOV        BIT_COUNT,#8

SEND_LOOP:       MOV        C,DATA_OUT.7 ; BIT7

                     MOV        DAT,C

                            CLR        CLK ; CLK                                                                    &n

作者:中科院上海技术物理研究所 陈木旺 陈育伟 童子磊
---------------------------------------------
摘   要:本文重点阐述数码管显示及键盘接口专用控制芯片BC7281A与MCU串行通讯中应注意的几个问题,给出了有效的解决方法,并提出了改进建议。

  关键词:嵌入式系统;串行通信;BC7281A

  传统的数码管显示和键盘接口一般直接采用MCU的I/O口对键盘或数码管进行动态扫描的方法,硬件上需要较多的外围部件,且占用MCU大量I/O口,软件上则浪费CPU资源,且给编程人员带来很大的不便。数码管显示及键盘接口专用控制芯片以其实现方法简单、功能强大等显著特点得到广泛的应用。这种芯片外围部件少、与MCU通讯一般采用串行接口或总线、在硬件上和软件上都占用极少资源、且功能强大、使得编程人员可以将更多的时间花在控制上。目前的这类接口芯片主要有:BC728X、HD7279A、ZLG7290、CH451等,BC7281A是其中性价比较高的一种。

  典型应用电路

  BC7281A的典型应用电路如图1所示,显示位数为16位,连接的键盘个数为64个,其外接移位寄存器采用74HC164,控制MCU采用ATMEL公司的AT89C51,为简单起见,图中仅画出与BC7281A相关的电路。

  BC7281A与MCU之间的通讯

  BC7281A与MCU之间的通讯是采用2线高速串行接口,这两个连线分别是数据线DAT和同步时钟线CLK,其中DAT为双向数据传输线,BC7281A既用该线从MCU接收数据,也用该线向MCU发送数据。BC7281A的DAT引脚为漏极开路输出结构,使用时须在该线上加20KW左右的上拉电阻。CLK引脚为串行时钟接口的同步时钟,由MCU控制,下降沿有效。串行接口数据宽度为8位,时序图如图2所示。

  由于BC7281A的2线串行接口是自行规定的,一般MCU都不具备此通讯接口,但可以采用软件实现。MCU发送指令或数据到BC7281A子程序为SEND,MCU接收数据子程序为RECEIVE,采用51指令系统编写,其中DATA_OUT为MCU向BC7281A发送数据的寄存器,该寄存器既能直接寻址又能位寻址,DATA_IN为MCU接收BC7281A的数据寄存器,CLK和DAT定义为MCU的I/O口,分别连接到BC7281A芯片上的CLK和DAT引脚。

  MCU发送指令或数据到BC7281A子程序

SEND:   CLR        CLK

              SETB        CLK             ;发送握手请求脉冲

WAIT1:        JB        DAT,SEND    ; DAT

              CLR        CLK             ;建立通讯

              SETB        CLK

WAIT2:        JNB        DAT,WAIT2 ;发送串行数据

              MOV        BIT_COUNT,#8

SEND_LOOP:       MOV        C,DATA_OUT.7 ; BIT7

                     MOV        DAT,C

                            CLR        CLK ; CLK                                                                    &n

相关IC型号

热门点击

 

推荐技术资料

按钮与灯的互动实例
    现在赶快去看看这个目录卞有什么。FGA15N120AN... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!