标题:
单片机AD603 DA TL5615控制直流电机
[打印本页]
作者:
wd5601236
时间:
2016-10-17 12:29
标题:
单片机AD603 DA TL5615控制直流电机
基于51单片机的,通过DA TL5615输出电压,控制宽带高增益压控放大芯片AD603的放大倍数。放大倍数由DA输出电压与AD603的另一固定的参考电压之差共同决定
0.png
(56.95 KB, 下载次数: 89)
下载附件
2016-10-17 13:53 上传
完整代码下载:
AD603-TL5615直流电机.rar
(24.75 KB, 下载次数: 21)
2016-10-17 13:52 上传
点击文件名下载附件
下载积分: 黑币 -5
代码预览:
#include "TLC5615.H"
sbit TLV5616_CS = P2^2;
sbit TLV5616_SCLK = P2^1;
sbit TLV5616_DIN = P2^0;
#define HIGH 1;
#define LOW 0;
/******************************************************************************/
/* 函数功能: 输出0-2000mv电压 */
/* 参数: 电压值 */
/* 返回: 无 */
/******************************************************************************/
void TLV5616_ExportVol(uint vol)
{
uint da=0;//idata da=0;
uchar i;//idata i;
TLV5616_CS = HIGH;
TLV5616_SCLK = LOW;
da = (vol / 5000.0) * 4096; // 计算输出电压的DA值,公式: vol = 2*REF*DA/0x1000(v)
TLV5616_CS = LOW;
for(i=0; i<16; i++)
{
TLV5616_SCLK = LOW;
if(da & 0x8000)
TLV5616_DIN = 1;
else
TLV5616_DIN = 0;
_nop_();
TLV5616_SCLK = HIGH;
da = da << 1;
}
TLV5616_SCLK = LOW;
TLV5616_CS = HIGH;
}
/******************************************************************************/
/* 函数功能: 输出0-20mA电流 */
/* 参数: 百分比 * 1000 */
/* 返回: 无 */
/******************************************************************************/
/*void ExportCurrent(uint percent)
{
uint idata vol; //电压 mv
if(percent <= 840) // 84% 防止电压超范围
vol = 0;
else if(percent >= 1000) // 100% 防止电压超范围
vol = 2000;
else
vol = (percent - 840) / 0.08; // 计算控制电压(mv)
TLV5616_ExportVol(vol); // 输出电流
}*/
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1