欢迎来到51自学网!

51自学网

当前位置: 主页 > 软件教程 > 单片机教程 >

DAC7611驱动程序

时间:2018-08-22 00:54来源:网络整理 作者:51自学网
#includereg52.h //单片机控制PWM输出工程芯片测试20120301 #includeintrins.h #define uint unsigned int sbit CS =P4^3; //输出片选信号 sbit CLK=P1^6; //输出时钟 sbit SDI=P1^7; //输出数据 sbit LD=P1^5; //输出数/模转换

#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);

}

【发表评论】【告诉好友】【收藏此文】【】

(责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容