云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > TLV5618 DA转换驱动程序

TLV5618 DA转换驱动程序

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 3:03:17

TLV5618 DA转换驱动程序

下面是基于STC系列单片机的TLV5618驱动程序,该程序的硬件是基于5V供电的,参考电压为2.5V,编译环境为KEIL C,已调试成功。

//=====================================================================

// TLV5618 DA转换驱动程序 //硬件连接: DIN ——P0^0; // SCLK ——P0^1; // CS ——P0^2; // VDD --逻辑电源(+5V) // AGND --GND(0V)

//writer:谷雨 2008年8月4日于EDA实验室 //说明 参考电压为0—3.5V,本程序为2.5V

// 输出模拟电压为:V=2*Vref*(dignum/0x1000) 注:dignum后四位为:0x0000~~0x0fff

//注意: 所需输入的数字信号值为16位数,其中D15~~D12为特殊位设置,D11~~D0为数据位000~~fff //版本号:V1.0

//=====================================================================

#include //STC单片机头文件 #include #define uint unsigned int #define uchar unsigned char

#define Channal_A 1 //通道A #define Channal_B 2 //通道B #define Channal_AB 3 //通道A&B

//**************************一下为函数声明修************************************** static void DA_conver(uint Dignum);

extern void Write_A_B(uint Data_A,uint Data_B,uchar Channal,bit Model) //================================================================= // 函数名称 :void DA_conver(uint Dignum) // 函数功能 :进行DA转换 // 入口参数 :Dignum:根据说明设置转化数据.头四位为特殊位用于选择转化方式,

// 以及用于通道选择.请自行设置.后12位为需要转换的值 // 出口参数 :无

//================================================================= void DA_conver(uint Dignum) {

uint Dig=0; uchar i=0;

SCLK=1;

CS=0; //片选有效

for(i=0;i<16;i++) //写入16为Bit的控制位和数据 {

Dig=Dignum&0x8000; if(Dig) {

DIN=1; } else {

DIN=0; }

SCLK=0; _nop_(); Dignum<<=1; SCLK=1; _nop_(); }

SCLK=1;

CS=1; //片选无效 }

//================================================================= // 函数名称 :void Write_A_B(uint Data_A,uint Data_B,uchar Channal,bit Model)

// 函数功能 :模式、通道选择并进行DA转换 // 入口参数 :Data_A:A通道转换的电压值 // Data_B:B通道转换的电压值

// Channal:通道选择,其值为Channal_A,Channal_B,或Channal_AB

// Model:速度控制位 0:slow mode 1:fast mode // 出口参数 :无

// 说明: Data_A,Data_B的范围为:0—0x0fff // 本程序如果只需要一个通道时,另外一个通道的值可任意,但是不能缺省

//================================================================= void Write_A_B(uint Data_A,uint Data_B,uchar Channal,bit Model) {

uint Temp; if(Model) {

Temp=0x4000; } else {

Temp=0x0000; }

switch(Channal) {

case Channal_A: //A通道

DA_conver(Temp|0x8000|(0x0fff&Data_A)); break;

case Channal_B: //B通道

DA_conver(Temp|0x0000|(0x0fff&Data_B)); break;

case Channal_AB:

DA_conver(Temp|0x1000|(0x0fff&Data_B)); //A&B通道 DA_conver(Temp|0x8000|(0x0fff&Data_A)); break; default: break; } }

//================================================================= // 函数名称 :int main(void)

// 函数功能 :主函数,无实际意义,仅测试TLV5618用 // 入口参数 :无 1-A;2-B;3-A&B // 出口参数 :无

//================================================================= int main(void) {

Write_A_B(0x0355,0x0000,Channal_A,0); //测量A通道 Write_A_B(0x0000,0x0600,Channal_B,1); //测量B通道

// Write_A_B(0x0504,0x0a47,Channal_AB,1); //测量AB通道,测量时需屏蔽上面两句 while(1);

};

//**************************修改硬件时要修改的部分********************************

sbit DIN = P0^0; //数据输入端 sbit SCLK = P0^1; //时钟信号

sbit CS = P0^2; //片选输入端,低电平有效

搜索更多关于: TLV5618 DA转换驱动程序 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

TLV5618 DA转换驱动程序 下面是基于STC系列单片机的TLV5618驱动程序,该程序的硬件是基于5V供电的,参考电压为2.5V,编译环境为KEIL C,已调试成功。 //===================================================================== // TLV5618 DA转换驱动程序 //硬件连接: DIN ——P0^0; // SCLK ——P0^1; // CS ——P0^2; // VDD --逻辑电源(+5V) // AGND --GND(0V) //writer:谷雨 2008年8月4日于EDA实验室 /

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com