⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dac7611-01.c

📁 msp430实验DAC7611,对于初学者很有帮助
💻 C
字号:
#include <msp430x44x.h>
#include<intrinsics.h>
#define uint unsigned int 
sbit  CS =P1^0;     //输出片选信号
sbit  CLK="P1"^1;     //输出时钟
sbit  SDI="P1"^2;  //输出数据
sbit   LD="P1"^3;     //输出数/模转换过程启动信号 
/******初始化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_(); 
  _nop_(); 
  _nop_(); 
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();   //延时一会,使输出模拟电压达到稳定
  LD="1";    //LD置高   
}
/**********主程序*****************/
void main()
{   
  init_da();   
  DAC_7611();  
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -