#include "reg52.h"
//12位数模转化DAC7512的接口程序,由51单片机实现
//函数接口:void DAchange(unsigned int dat)
sbit NSYNC=P0^5; //dac7512 使能端
sbit SCLK=P0^6; //dac7512 时钟端
sbit DIN=P0^7; //dac7512 数据端
//da驱动程序
void DAchange(unsigned int dat)
{
unsigned char DA,i,j,DAL,DAH;
if(dat>4095)
{
dat=0;
}
else
{
DAL=dat%256 ;
DAH=dat/256 ;
NSYNC=0;
i=0;
while(i<2)
{
if(i<1)
{
DA=DAH;
}
else
{
DA=DAL;
}
for(j=8;j>0;j--)
{
DIN=(DA&0x80);
DA=(DA<<1);
SCLK=1;
SCLK=0;
}
i=i+1;
}
NSYNC=1;
}
}
void main(void )
{
while(1)
{
DAchange(3000) ;
}
|
楼主这个芯片后续成功了吗 我现在做的是没输出 ,但时序是对的 用逻辑分析仪看过 求回复