![](https://csdnimg.cn/release/download_crawler_static/86753074/bg5.jpg)
ANDI R16,$F8;屏蔽无效位
CPI R16,$08:检查"START"信号是否发送成功
BRNE ERROR;"START"信号发送未成功,转入出错处理
LDI R16,$56;发送 X9221 器件地址 56="5"器件标识,"6"器件地址
OUT TWDR,R16
LDI R16,$84
OUT TWCR,R16;软件清除 TWINT 标志
IN R16,TWSR
ANDI R16,$F8
CPI R16,$18;检查 X9221 器件地址是否发送成功
BRNE ERROR;X9221 器件地址发送未成功,转入出错处理
LDI R16,$2F;设置所发送的数据(0~63 有效,例中为 47)
OUT TWDR,R16;数据输出到数据寄存器 TWDR
LDI R16,$84
OUT TWCR,R16;软件清除 TWINT 标志;检查数据"2F"是否发送完成,类似于上述循环继续
LDI R16,$94;发送"STOP"信号,一次'$2F'数据发送完成
OUT TWCR,R16
ERROR:···;出错处理过程
END
在此例程中,器件的地址对 X9221 来说为 56,其中"5"是器件本身固有的以区别于其它类型的设备,
而"6"是设计硬件时规定的,可以是"0~F"任何十六进制数值;例程中 AVR 单片机仅作为主机使用且向
X9221 发送数据,其实从 X9221 中读取当前数据也是一样的。本例程采用查询方式,程序显得繁琐,但是
如果采用中断方式的话,程序就会显得简单多,只要标志 SREG 寄存器中"I"位和 I2C 总线控制寄存器中的
"TEWIE"置"1",即中断使能有效,当"TWINT"标志置"1"立即产生中断请求,表明完成当前数据发送完成,
可以准备下一个字节数据发送或停止发送等操作。
4 X9221 可编程数字电位器在半导体专用设备一些应用研究
4.1 用于测量微小电压变化
图 4 是微小电压测量电路模型,用于芯片键合设备中去检测吸头上是否有芯片吸附以及吸头是否堵塞、
或者芯片是否丢失等现象。当内径为大约 0.1~0.15 mm 的吸头去吸附一个小芯片时,如果芯片较透明,
光敏传感器检测出来的电压变化较小,一般在 10~50 mV 间;同样当吸头吸附一个小芯片时,气路真空的
压力也会产生变化,这种压力的变化以传感器电压变化输出。为了改变电位器"中间抽头"以便与传感器检
测输入电压相匹配,计算机通过 RS232 接口向单片机发送数据,单片机收到数据后转发给 X9221 可编程
数字电位器以改变基准电压值。比较基准电压 U∑+按下式确定: