|
基于51单片机的,通过DA TL5615输出电压,控制宽带高增益压控放大芯片AD603的放大倍数。放大倍数由DA输出电压与AD603的另一固定的参考电压之差共同决定
完整代码下载:
AD603-TL5615直流电机.rar
(24.75 KB, 下载次数: 21)
代码预览:
- #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); // 输出电流
- }*/
复制代码 |
评分
-
查看全部评分
|