2 系统软件设计
2.1 基于Keil Cx51的软件设计思想
程序设计思想是首先上电/复位AD7705,配置AT89S51单片机的串行接口,然后将AD7705的通道1初始化,注意读写数据之前必须调用重新排序子程序。查询DRDY引脚,如果为低电平,则读通道数据寄存器,把数据转化为电压值,再调显示子程序,调延时,做电压转换为功率值的数据处理。返回,继续采集数据,查询DRDY,显示,直到结束。主程序流程图如图4所示。
2.2 AD7705的初始化配置及对寄存器操作子程序
在使用AD7705之前,首先要对所有寄存器进行设置和初始化。系统需确定AD7705芯片的主要参数具体设计:主时钟取FCLK=2.457 6 MHz,输入通道选择单极性,数据更新速率为50 Hz。由于AD7705输入基准电压等于+5 V,输入负端接地,正端最大输入幅度+l_3 V,故增益可以选择4。当参数设置完毕以后,写入设置寄存器位MD1和MDO分别为0和1,完成系统自校准。在设置参数之前,首先对通信寄存器进行一次写操作,以决定下一个是什么样的寄存器和什么样的操作内容,再进行下一步的参数写入。与初始化以后,单片机就可以从模/数转换器中读数据,读取数据之前必须确定数据寄存器的状态。通过查询DRDY引脚,如果DRDY引脚处于低电平,则数据已经转换完成,可以读取。AD7705的初始化配置及对寄存器操作程序流程图如图5所示。
A/D转换器输出的是16进制数据,需要转换为电压值输出。
V=5.0(data-out/65 536.0)
得到的电压值还得转化为功率显示。通过实验在ND:YAG激光器上测量了不同激励电流下的系统输出电压,并实测了经精密激光功率计LOGO检测到的数据,得出两者之间的线性关系为P=50V。
A/D转换器的子程序如下: