資源簡(jiǎn)介
使用STM32F103寫(xiě)的DAC8552的16位DA驅(qū)動(dòng),調(diào)試正常!

代碼片段和文件信息
#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);
}
//------------------------------------------------------------------------------
//函數(shù)名稱:輸出DAC
//函數(shù)功能:輸出設(shè)定的電壓
//參數(shù)傳遞:無(wú)
//------------------------------------------------------------------------------
void?DAC8552_Out_Put_Voltage(void)
{
????DAC8552_DA_convert(Channel_A_OutPut?Channel_A);
????DAC8552_DA_convert(Channel_B_OutPut?Channel_B);
}
//------------------------------------------------------------------------------
//函數(shù)名稱:延時(shí)
//函數(shù)功能:延時(shí)
//參數(shù)傳遞:無(wú)
//------------------------------------------------------------------------------
void?DAC8552_delay1ms?(uint16_t?n)???
{
??while(n--);
}
//------------------------------------------------------------------------------
//函數(shù)名稱:寫(xiě)數(shù)據(jù)
//函數(shù)功能:送0的子程序
//參數(shù)傳遞:無(wú)
//------------------------------------------------------------------------------
void?DAC8552_SEND_0(void)
{
DIN_0;
//DAC8552_delay1ms(20);
SCLK_1;
//DAC8552_delay1ms(20);
SCLK_0;
//DAC8552_delay1ms(20);
}
//------------------------------------------------------------------------------
//函數(shù)名稱:寫(xiě)數(shù)據(jù)
//函數(shù)功能:送1的子程序
//參數(shù)傳遞:無(wú)
//------------------------------------------------------------------------------
void?DAC8552_SEND_1(void)
{
DIN_1;
//DAC8552_delay1ms(20);
SCLK_1;
//DAC8552_delay1ms(20);
SCLK_0;
//DAC8552_delay1ms(20);
}
//------------------------------------------------------------------------------
//函數(shù)名稱:寫(xiě)入DA輸出寄存器的數(shù)據(jù)
//函數(shù)功能:D/A轉(zhuǎn)換的子程序
//參數(shù)傳遞: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);??//在此處設(shè)置參考電壓、輸出通道以及輸出阻抗大小
?????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;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????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
- 上一篇:BosonNetsim6.0使用教程
- 下一篇:STM32F103測(cè)頻率
評(píng)論
共有 條評(píng)論