专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

DAC7611驱动程序

作者:佚名   来源:本站原创   点击数:  更新时间:2012年03月08日   【字体:

#include<reg52.h> //单片机控制PWM输出工程芯片测试20120301
#include<intrins.h>
#define uint unsigned int

sbit  CS =P4^3;     //输出片选信号
sbit  CLK=P1^6;     //输出时钟
sbit  SDI=P1^7;  //输出数据
sbit   LD=P1^5;     //输出数/模转换过程启动信号

/******初始化DAC7611******************/
void init_da(void)
{
  LD=0;       // 装载引脚置低
  CS=1;    //片选置高
  CLK=1;     //时钟置高
  SDI=0;
}

/*****时钟脉冲子函数***********/
void clock(void)
{
  CLK=0;
  _nop_();
  CLK=1;   //产生一个时钟脉冲
  _nop_(); 
}
/******DAC7611转换***************/

void DAC_7611(uint vol)
{
  uint i,j; 
  vol<<=4;
  LD=1;                   //装载引脚置高
  _nop_();
  CS=0;             //片选拉低,准备转换        
  for(i=0;i<12;i++)
   { 
     j=vol;
     SDI=j&0x8000;  
     clock();
     vol<<=1;
   }
  CLK=1;                 // 输出时钟置高
  _nop_();
  CS=1;                    //DAC7611片选引脚CS置高 
  _nop_(); 
  LD=0;                    //装载引脚LD置低以启动数模转换
  _nop_();
  _nop_();
  _nop_();
  _nop_();

  LD=1;    //LD置高  
}

/**********主程序*****************/
void main()
{  
  init_da();  
  DAC_7611(1111);

}

关闭窗口

相关文章