资源简介
STm32f103写的DAC8552的驱动程序,经过实际测试,是可以用的
代码片段和文件信息
#include “stm32f10x.h“
#include “DAC8552.h“
uint16_t Zero_Voltage_OutPut = No_Impedance;
uint16_t LOAD_Channel = Load_AB;
uint16_t Channel_A_OutPut=32767 Channel_B_OutPut=16384;//max=65535
void DAC8552_GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_SetBits(GPIOE GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOE &GPIO_InitStructure);
}
void DAC8552_RCC_Configuration(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE ENABLE);
}
//------------------------------------------------------------------------------
//函数名称:输出DAC
//函数功能:输出设定的电压
//参数传递:无
//------------------------------------------------------------------------------
void DAC8552_Out_Put_Voltage(void)
{
DAC8552_DA_convert(Channel_A_OutPut Channel_A);
DAC8552_DA_convert(Channel_B_OutPut Channel_B);
}
//------------------------------------------------------------------------------
//函数名称:延时
//函数功能:延时
//参数传递:无
//------------------------------------------------------------------------------
void DAC8552_delay1ms (uint16_t n)
{
while(n--);
}
//------------------------------------------------------------------------------
//函数名称:写数据
//函数功能:送0的子程序
//参数传递:无
//------------------------------------------------------------------------------
void DAC8552_SEND_0(void)
{
DIN_0;
//DAC8552_delay1ms(20);
SCLK_1;
//DAC8552_delay1ms(20);
SCLK_0;
//DAC8552_delay1ms(20);
}
//------------------------------------------------------------------------------
//函数名称:写数据
//函数功能:送1的子程序
//参数传递:无
//------------------------------------------------------------------------------
void DAC8552_SEND_1(void)
{
DIN_1;
//DAC8552_delay1ms(20);
SCLK_1;
//DAC8552_delay1ms(20);
SCLK_0;
//DAC8552_delay1ms(20);
}
//------------------------------------------------------------------------------
//函数名称:写入DA输出寄存器的数据
//函数功能:D/A转换的子程序
//参数传递:unsigned int datasheet 输出的电压
//------------------------------------------------------------------------------
void DAC8552_DA_convert(uint16_t datasheet uint16_t channel)
{
uint16_t i;
uint16_t abm;
m=((Zero_Voltage_OutPut|channel)|LOAD_Channel); //在此处设置参考电压、输出通道以及输出阻抗大小
b=datasheet&0x00ff;
a=datasheet>>8; //取高8位
SYNC_1;
SYNC_0;
for(i=0;i<8;i++)
{
if((m&0x80)==0)
{DAC8552_SEND_0();}
else
{DAC8552_SEND_1();}
m<<=1;
}
for(i=0;i<8;i++)
{
if((a&0x80)==0)
{DAC8552_SEND_0();}
else
{DAC8552_SEND_1();}
a<<=1;
}
for(i=0;i<8;i++)
{
if((b&0x80)==0)
{DAC8552_SEND_0();}
else
{DAC8552_SEND_1();}
b<<=1;
}
//DAC8552_delay1ms(100);
SYNC_1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3143 2013-07-25 20:02 User\DAC8552.c
文件 1697 2013-07-25 19:15 User\DAC8552.h
文件 238 2013-07-25 19:36 User\main.c
文件 22693 2013-07-11 16:49 User\stm32f10x_it.c
文件 2086 2011-04-04 19:03 User\stm32f10x_it.h
目录 0 2013-07-25 20:02 User
----------- --------- ---------- ----- ----
29857 6
- 上一篇:IMX385对接海思原理图
- 下一篇:基于SSH框架的BookShop网上书店实现
相关资源
- LQFP48-STM32F103Cx封装
- STM32F1系列读写内部FLASH
- STM32F1系列ADC DMA读取例程
- 串口打印 温湿度 STM32
- fft算法1024
- AD7606驱动代码 stm32
- 基于STM32的倾斜仪程序具体设计在博客
- STM32F103C8T6-ADC例程
- STM32F103驱动DS18B20程序
- ADS1256 基于 RT-Thread 4.0.2 版本驱动程序
- STM32 硬件IIC读取BH1750
- STM32控制LED灯
- STM32CubeF4固件包STM32Cube_FW_F4_V1.22.0
- STM32库函数代码自动生成器V1.2破解版
- Qt与stm32通信绘制波形
- INA226使用教程.docx
- STM32HAL库驱动SPILCD代码
- STM32F103RBT6系统原理图
- 使用STM32控制无源蜂鸣器发声播放音乐
- ST LIS3DH STM32 驱动参考代码
- STM32的AD采集信号,并发送到串口
- STM32串口连续接收一帧数据
- Keil.STM32F4xx_DFP.2.5.0.pack
- EC20开发资料,含源码
- 基于stm32智能门锁系统.rar
- STM32官方开发板原理图和PCB
- uCOS-II_DDS_FFT
- STM32的TFTLCD显示程序,亲测能用
- STM32 TIM3 四通道PWM输出实验.rar
- CUBEMX生成STM32代码删除编译信息文件(
评论
共有 条评论