EDN首页   博客首页

日志档案

发表于 2007-9-10 21:27:52

0

标签: 无标签

MAX5250产生阶梯与锯齿波

#include
#include
#include

sbit clk5250=P1^0;
sbit din5250=P1^1;
sbit cs5250=P1^2;
sbit cl5250=P1^3;

#define uchar unsigned char
#define uint unsigned int

/*************************************************
MAX5250驱动程序
名称: write5250(void)
功能: 向MAX5250写数据
输入参数: 电压值vin (10位数据位,6位控制位)
输出参数: 无
*************************************************/

write5250(void)
{
uchar i,k;
uint vcon,Icon,j;
vcon=55296;//设定初始值(0 V)
Icon=47104;
cs5250=1;
clk5250=0;              //CS下降沿,时钟要保持为0
_nop_();
for(k=0;k<6;k++)
  { for(j=0;j<1024;j++)
     { cs5250=0; 
       for(i=0;i<16;i++)     //串行方式送16位数据
       { din5250=(bit)(vcon&0x8000) ;   //从高位开始一位一位传送
         vcon<<=1;
         clk5250=1;                 //时钟上升沿,数据移入shift register
         _nop_();              
         clk5250=0;             
         _nop_();
        }
      cs5250=1;               //禁止片选,数据移入input/DAC寄存器,进行转换
      vcon="vcon"+4;           //数据位从第三位开始,加4
      cs5250=0;
      _nop_();
     for(i=0;i<16;i++)
       { din5250=(bit)(Icon&0x8000); //从高位开始一位一位传送
         Icon<<=1;
         clk5250=1;
         _nop_();
         clk5250=0;
         _nop_();
       }
     }
    Icon="Icon"+81;           //设定阶梯电压位50毫伏一级
    vcon="55296";            //锯齿波电压初始值重载(0 V)
    if(k==5)               //一周期完毕
       { k="0";
         Icon="47104";         //阶梯电压初始值重载(0 V)
       }
  }
}

 

系统分类: 单片机   |   用户分类: 单片机程序   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(312)    回复(0)  

投一票您将和博主都有获奖机会!