ZLG7290在电阻对焊控制系统中的应用

2011-08-26 08:05冀春涛
制造业自动化 2011年17期
关键词:无子键盘器件

冀春涛,蒋 莉

JI Chun-tao, JIANG Li

(南昌航空大学 航空制造工程学院,南昌 330063)

0 引言

为了保证气门杆焊接质量,设计了电阻对焊控制系统,其主控制器件选择单片机AT89C51,外部扩展键盘及显示电路。早期的键盘及显示驱动芯片是通过并行口与单片机连接的,电路比较复杂、功耗大、占用单片机端口多。如Intel8279虽然应用比较成熟,但由于上述缺点,现已逐步退出市场。本文选用一种带I2C总线的接口芯片ZLG7290对键盘及显示电路控制管理[1],由于该芯片与主控制器件AT89C51仅通过2根线相连,简化了系统线路,而且可以管理多达64只独立的数码管和按键。在简化电路结构的同时,改善系统电磁兼容性和可维护性。

1 I2C接口电路的设计

控制系统采用AT89C51为控制中心,除了系统所必须的复位电路、时钟电路外,还包括了外部扩展的信号处理电路、数据存储电路、键盘及显示电路。充分利用ZLG7290芯片为带I2C总线接口的器件,通过单片机的2根通用I/O线,即P1.6、P1.7脚分别与ZLG7290的SCL、SDA脚相连,严格遵守总线规约来模拟I2C总线进行数据传输。按照I2C总线协议的要求,需在信号线SDA和SCL上分别加上拉电阻R12、R13(其值取3.3KΩ)。另外,ZLG7290还需外接晶体振荡电路来供系统正常稳定的工作,晶振X2通常取值8MHz,调节电容C15和C16取值为22pF。然而复位信号是与主控制器件AT89C51共用一个电路,这里只需通过设置不同的电平信号就可加以控制。这样,通过芯片ZLG7290来对9个薄膜按键和5只8段LED显示器的驱动管理,从而实现了对焊接过程中所需的焊接参数进行输入、修改和显示等功能。按键及数码管显示与ZLG7290连接的外围电路原理图如图1所示。

图1 键盘显示电路

2 键盘及显示程序的设计

2.1 软件环境设置

单片机AT89C51为系统的核心器件,但由于该器件自身并不带有I2C总线接口,故需要采用单片机的2根通用I/O口线,严格地遵循总线规约来模拟I2C总线从而实现主器件(AT89C51)与从器件(ZLG7290)之间的传输通信。89C51模拟I2C总线主控制程序包括向从机发送数据函数和向从机读取数据函数。此程序采用Keil C51语言进行编写[2],在µVision2集成开发环境下调试,在调试中可对一些简单的库函数进行直接调用,如<reg51.h>。整个完整的程序包括了模拟I2C总线程序和ZLG7290的C51程序。对于I2C总线的C51程序是用在ZLG7290与AT89C51之间单个主器件下的传输通讯,硬件接口是SDA、SCL,使用89C51的I/O口作SDA、SCL。程序的接口界面需要包含以下几个函数:

1) bit ISendByte(uchar sla,uchar c) (无子地址写)

2) bit IRcvByte(uchar sla,uchar *c) (无子地址读)

3) bit ISendStr(uchar sla,uchar suba,uchar*s,uchar no)(有子地址读N字节数据)

4) bit IRcvStr(uchar sla,uchar suba,uchar*s,uchar no) (有子地址写N字节数据)

5) bit ISendStr(uchar sla,uchar *s,uchar no)(无子地址写多字节数据)

6) bit IRcvStr(uchar sla,uchar *s,uchar no)(无子地址读单字节数据)

以上每一个函数都有返回值,当返回值为1时,表示操作成功,否则,操作失败(其中sla为器件从地址,suba为器件只地址,*s为数据接收/发送区指针,no为接收/发送字节数)。一般在用户程序的开头加入#include<I2C_C51.C>即可模拟I2C总线C51程序,但是会受到一些条件的限制,为了避免这一现象的发生,对I2C_C51.C作了如下设置:sbit SDA=P1^7;/*模拟I2C数据传送位*/ sbit SCL=P1^6;/*模拟I2C时钟控制位*/。从而在编写程序时可对I2C_C51.C软件包程序进行直接调用。

2.2 软件流程与实现

因单片机AT89C51不具备I2C总线接口,在系统中使用通用I/O口P1.6、P1.7来模拟I2C总线接口的时钟线(SCL)和时钟数据线(SDA)与带I2C总线接口的键盘显示芯片ZLG7290连接。其ZLG7290芯片与主芯片AT89C51的数据传输流程图如图2所示。

键盘及显示程序用C语言实现:

图2 I2C总线接口数据传输流程图

以上程序经过调试,达到了设计效果。

3 结论

在电阻对焊控制系统中采用I2C总线接口器件,使电路得以简化,抗干扰性和可维护性得以提高。ZLG7290与传统的键盘显示驱动芯片相比体积小、成本低,布线简单。尽管串行口器件较并行口速度慢,但涉及键盘显示的操作发生在对速度要求不高的参数设置和显示阶段,因而不会影响控制系统的整体性能。系统在汽车气门杆电阻对焊的显示控制系统中取得了较好的应用效果。程序采用高级C51语言编写,缩短了软件的开发周期,与汇编语言编写的程序相比具有更好的可读性和可移植性。

[1]广州周立功单片机发展有限公司.ZLG7290 I2C接口键盘及LED驱动器.http//www.xafb.com/ZLG7290.pdf

[2]赵亮.单片机C语言编程与实现[M].北京:人民邮电出版社,2004.

猜你喜欢
无子键盘器件
“无子”问题与社会、家庭应对策略*
——以民国之前文献为中心
你知道手机拨号键盘上为什么要有*和#吗?
“无子”问题与社会、家庭应对策略
键盘猫
Cлово месяца
ikbc R300机械键盘
徐母育弯枣树
兰芝无责 仲卿之过
旋涂-蒸镀工艺制备红光量子点器件
基于 OLED 显示单元的红外上转换器件研究进展