串行A/D转换器转换后的结果是以串行方式输出,数字量以串行方式输出可简化系统的连线,缩小电路板的面积,节省系统的资源。下面以TLC2543为例,介绍串行A/D驱动程序的设计。
89C51单片机与TLC2543芯片的接口电路图如下图所示。TLC2543的3个控制输入端CS(的反)、I/OCLOCK、DATAINPUT和一个数据输出端DATAOUT分别与单片机的P1.4、Pl.l、P1.2和P1.3引脚相连,单片机采用的晶振频率为12MHz。
电路设计时,我们将TLC2543有两个基准电压输入REF+、REF-分别与电源(VCC)、GND相连,这样连接可保证数字输出的满度和零点,但在高精度的测量要求中,如果VCC的质量一般,应专门设计高精度的电压基准电路。由于TLC2543的转换速度很快,因此这里的转换结束标志接在单片机的Pl.0引脚,采用查询方式。
TLC2543通过串行接口与单片机通信,接口程序按照TLC2543的工作时序要求编写,根据图9-2中硬件连接关系,编写单片机89C51采样外部AINO通道模拟量的程序。主要包括用于实现读取TLC2543的A/D转换值子程序,具体C51程序如下。