为减少接口I/O引脚数量,MAX187采用串行方式实现12位模数转换与数据传输,仅需三条数字I/O线即可与处理器相连。本设计利用PC的Centronics打印机端口实现MAX187与PC间的简易接口:引脚3(CS)置高或置低以启用或禁用器件;引脚4(REF)开路时禁用内部4.096V基准,需外接参考电压,否则应与4.7μF旁路电容C1相连;引脚8(SCLK)输入外部时钟,数据逐位输出。
数据时序:一次完整传输需13个外部时钟脉冲,第一个脉冲下降沿锁存DOUT(引脚6)的最高位MSB;转换在CS变低时启动并须保持至转换结束,DOUT由低到高的跳变表示EOC;随后在后续时钟下降沿逐位输出12位数据。
软件实现:控制程序以Turbo C++ 3.0编写,Port定义与MAX187接口的Centronics端口。程序先下拉CS与SCLK,轮询EOC;检测到有效EOC后产生13个时钟周期,其中首周期锁存MSB,随后调用子程序get_adc()产生其余时钟并读取12位串行数据,通过左移累加转换为并行值adc_val并送屏幕显示。
