标题:
双通道DAC(基于stm32f407)
[打印本页]
作者:
troublechen
时间:
2017-7-20 13:28
标题:
双通道DAC(基于stm32f407)
本人做的,供大家参考
stm32f407单片机源程序如下:
#include "SysTick.h"
#include "key.h"
#include "dac.h"
#include "usart.h"
#include "led.h"
#include "timer.h"
int main()
{
u8 k;
//u8 i = 0;
sum = 0;
/*int dac_value=0;
u16 dacval;
float dac_vol;*/
SysTick_Init(168);
led_init();
USART1_Init();
key_init();
dac_init();
TIM4_Init(50000-1,8400-1);
DAC_SetChannel2Data(DAC_Align_12b_R,0);
DAC_SetChannel1Data(DAC_Align_12b_R,4095);
while(1)
{
k=KEY_Scan(0);
if(k == 1)
{
while(K_UP == 1)
{
i++;
//K_UP = 0;
break;
}
sum += i;
i = 0;
//delay_ms(10000);
}
/*if(sum != 0)
{
printf("%d\r\n",sum);
sum = 0;
}*/
/*led1 = 0;
dac_value+=400;
if(dac_value>=4000)
{
dac_value=4095;
}
DAC_SetChannel1Data(DAC_Align_12b_R,dac_value);
delay_ms(200);
led1 = 1;
dacval=DAC_GetDataOutputValue(DAC_Channel_1);
dac_vol=(float)dacval*(3.3/4096);
printf("输出DAC电压值为:%.2fV\r\n",dac_vol);*/
//}
/*else if(K_DOWN == 0)
{
i--;
printf("%d\r\n",i);
led1 = 0;
dac_value-=400;
if(dac_value<=0)
{
dac_value=0;
}
DAC_SetChannel1Data(DAC_Align_12b_R,dac_value);
delay_ms(200);
led1 = 1;
dacval=DAC_GetDataOutputValue(DAC_Channel_1);
dac_vol=(float)dacval*(3.3/4096);
printf("输出DAC电压值为:%.2fV\r\n",dac_vol);
}
else if(K_LEFT == 0)
{
en = 0;
delay_ms(1000);
led2 = 1;
//en = 1;
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
dac_test.rar
(483.81 KB, 下载次数: 76)
2017-7-20 17:14 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1