LDAC为低电平,则所选择的DAC输出电压更新且LOAD变为低电平。在图(b)中,串行编程期间内LDAC为高电平,新数值被LOAD的脉冲低电平打入第一级锁存器后,Р再由LDAC脉冲低电平传送到DAC输出。数据输入时最高有效位(MSB)在前。使用两个8时钟周期的数据传送示于图(c)和图(d)中。РC语言程序:Р#include<reg52.h>Р#include <intrins.h>Р#define uint unsigned intР#define uchar unsigned charРsbit DADATA=P0^4;Рsbit DACLK=P0^5;Рsbit DALOAD=P0^6;Рsbit DALDAC=P0^7;Рvoid TLC5620(float date)Р{Р?uchar i=0,dat=0;Р?DACLK=0;Р?DALOAD=1;Р?DALDAC=1;Р?_nop_();Р?_nop_();Р?for(i=0;i<3;i++)Р?{Р DACLK=1;Р _nop_();Р _nop_();Р DADATA=0;//0通道 0倍增益Р _nop_();Р DACLK=0;Р _nop_();Р _nop_();Р?}Р?datt=(uchar)(date*256/5);//基准电压为5V 不放大增益Р for(i=0;i<8;i++)Р?{Р?DACLK=1;Р _nop_();Р _nop_();?Р dat=datt&0x80;//送数据Р if(dat)?DADATA=1;Р else DADATA=0;Р?DACLK=0;Р _nop_();Р _nop_();Р datt<<=1;Р?}Р _nop_();Р DALDAC=0;Р _nop_();Р DALOAD=0;Р _nop_();Р DALOAD=1;Р _nop_();?Р}