网站公告列表

  没有公告

加入收藏
设为首页
联系本站
您现在的位置: AnalogCN安诺电子 >> 文章 >> 技术交流 >> 文章正文
  常用数字电位器AD7376A/AD5231的操作         ★★★ 【字体:
常用数字电位器AD7376A/AD5231的操作
作者:佚名    文章来源:Internet    点击数:    更新时间:2008-4-20    
/******************************************************
* 名称: void upx7376a(uchar x)
* 说明: 128位交流数字电位器AD7376A写入数据 
* 功能: 往AD7376A写对应的参数
* 调用:
* 输入: 电位器数据参数x
* 返回值: 无
****************************************************/
void upx7376a(uchar x)
{
  uchar i;
  CS7376L;
  for(i=0;i<8;i++)
  {
    if((x&(1<<(7-i)))) 
    SDIH;  
    else
    SDIL;;
    CLKL;
 asm("nop");
 asm("nop");
 CLKH;
  }
  CS7376H;
}

/******************************************************
* 名称: void SendData_W(uchar cmd,uchar datah,uchar datal)
* 说明: 1024位数字电位器 AD5231写入数据 
* 功能: 往AD5231写入一条指令以及对应的参数
* 调用:
* 输入: 指令名称 cmd
        参数高位 datah
  参数低位 datal
* 返回值: 无
****************************************************/
void SendData_W(uchar cmd,uchar datah,uchar datal)
{
   uchar i,d;
   CS5231L;          //ad5231片选
   D_SCLKL;
   asm("nop");
   d=cmd;
   for(i=0;i<8;i++)
   {
   if((d&(1<<(7-i))))
      WDATAH;
   else
   WDATAL;
      D_SCLKH;
      D_SCLKL;
   } 
   d=datah;
     for(i=0;i<8;i++)
   {
   if((d&(1<<(7-i))))
      WDATAH;
   else
   WDATAL;
      D_SCLKH;
      D_SCLKL;
   }   
   d=datal;
     for(i=0;i<8;i++)
   {
   if((d&(1<<(7-i))))
      WDATAH;
   else
   WDATAL;
      D_SCLKH;
      D_SCLKL;
   }     
   CS5231H; 
}
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    ucos-ii在嵌入式智能视觉监控
    14bit 40 MSamples/s ADC应用
    打造windows下的嵌入式开发工
    DSP和FPGA在汽车电子中的广泛
    [连载]ADSP-TSl01S系列之一 
    ADI ADIS1625x低功耗陀螺仪方
    基于DSP的实时图像跟踪系统的
    wxWidgets和MFC动态类型信息
    用dll方式编译wxWidgets-2.8
    Blackfin时钟控制
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    版权所有:AnalogCN安诺电子 湘ICP备06016315号