DAC8760完全资料含STM32驱动源码

2026/1/19 0:22:12

电压输出范围0-5V, 电流输出范围0-24mA,以下是PCB截图.

以下是在STM32F103上测试通过的程序,(72M系统时钟) //库文件名: dac8760.h #ifndef _dac8760_H #define _dac8760_H

#include \

//*********************************************************** //以下是使用到的SPI通讯端口,需要根据实际连接情况进行配置 #define DAC8760_GPIO GPIOA

#define DAC8760_RCC RCC_APB2Periph_GPIOA #define DAC8760_DIN GPIO_Pin_11 //写数据线 #define DAC8760_SCK GPIO_Pin_12 //时钟线 #define DAC8760_LAT GPIO_Pin_13 //使能线

#define DIN_1 GPIO_SetBits(DAC8760_GPIO, DAC8760_DIN) #define DIN_0 GPIO_ResetBits(DAC8760_GPIO, DAC8760_DIN)

#define SCK_1 GPIO_SetBits(DAC8760_GPIO, DAC8760_SCK) #define SCK_0 GPIO_ResetBits(DAC8760_GPIO, DAC8760_SCK)

#define LAT_1 GPIO_SetBits(DAC8760_GPIO, DAC8760_LAT) #define LAT_0 GPIO_ResetBits(DAC8760_GPIO, DAC8760_LAT)

//********************************************************** #define V_0_5 0x0000 //电压范围0-5V #define V_0_10 0x0001 //电压范围0-10V

#define I_4_20 ((u16)(1<<9)) //电流范围4-20mA #define I_0_20 ((u16)(2<<9)) //电流范围0-20mA #define I_0_24 ((u16)(3<<9)) //电流范围0-24mA

//**********************************************************

extern void DAC8760_Init(void); extern void DAC8760_Out(u16 dat); #endif

//文件名: dac8760.c

/****************************************************************************

DAC8760控制程序

****************************************************************************/ #include \#include \

//********************************************************** void DAC8760_Write(u8 add,u16 dat); void DAC8760_Config(void); //u16 DAC8760_Read(u16 add); void DAC8760_Init(void); void DAC8760_Out(u16 dat);

//**********************************************************

void DAC8760_Write(u8 add,u16 dat)//写寄存器 {

h_8bit=(dat>>8)&0x00FF;//取高8位数据 u8 i;

u8 h_8bit, l_8bit;

l_8bit=dat&0x00FF; //取低8位数据

}

SCK_1;

add<<=1;

if(add&0x80) { } else { }

DIN_0; DIN_1;

for(i=8;i>0;i--)//写8位地址 {

SCK_0; LAT_0;

} /*

for(i=8;i>0;i--)//写高8位数据 {

SCK_0;

}

if(h_8bit&0x80) { } else { } SCK_1;

h_8bit<<=1;

DIN_0; DIN_1;

for(i=8;i>0;i--)//写低8位数据 {

SCK_0;

}

if(l_8bit&0x80) { } else { } SCK_1;

l_8bit<<=1;

DIN_0; DIN_1;

LAT_1; DIN_1;

u16 DAC8760_Read(u16 add)//00 读状态寄存器, 01 读数据寄存器, 02 读控制寄存器, 0B 读配置寄存器 {

u16 i,dat;


DAC8760完全资料含STM32驱动源码.doc 将本文的Word文档下载到电脑
搜索更多关于: DAC8760完全资料含STM32驱动源码 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219