標(biāo)題:
基于STM32的ADC雙通道電流+電壓采樣源程序
[打印本頁(yè)]
作者:
lijun19990429
時(shí)間:
2019-7-15 17:18
標(biāo)題:
基于STM32的ADC雙通道電流+電壓采樣源程序
我在做雙向DC-DC實(shí)驗(yàn)的時(shí)候 需要用到STM32的ADC采樣然后用PWM輸出
而我采樣是采兩個(gè) 一個(gè)是電壓 一個(gè)是電流 所以需要用到雙通道
這份代碼是我不用DWM實(shí)現(xiàn)的ADC雙通道采樣
單片機(jī)源程序如下:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
#include "lcd.h"
#include "adc.h"
#define adcDiv100 adcx/100
int main(void)
{
u16 adcx=0;
u16 adcy=0;
u16 led0pwmval=600;
delay_init(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
uart_init(115200); //串口初始化為115200
LED_Init(); //LED端口初始化
TIM3_PWM_Init(899,0); //不分頻。PWM頻率=72000000/900=80Khz
Adc_Init();
LCD_Init();
while(1)
{
adcx=Get_Adc_Average(ADC_Channel_1,50);//通道1采樣50次
LCD_ShowxNum(120,120,adcx,4,16,0);//120 120為起始點(diǎn)坐標(biāo) 4為長(zhǎng)度:顯示的位數(shù) 16為字體大小 模式:[7]、[6:1]、[0]
delay_ms(10);
if(adcx>1740)//1.4
{
led0pwmval+=10;
if(led0pwmval>750)
led0pwmval=750;
}
else if(adcx<980)//0.78
{
led0pwmval-=10;
if(led0pwmval<300)
led0pwmval=300;
}
TIM_SetCompare2(TIM3,led0pwmval);
//LCD_ShowxNum(120,140,(u32)TIM3->CCR1,4,16,0);
adcy=Get_Adc_Average2(ADC_Channel_2,50);
LCD_ShowxNum(156,230,adcy,4,16,0);//顯示ADC的值
delay_ms(10);
if(adcy>1110)//0.9
{ led0pwmval=899;
TIM_SetCompare2(TIM3,led0pwmval);
break;
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
雙向DC-DC實(shí)驗(yàn)最終版.7z
(225.99 KB, 下載次數(shù): 151)
2019-7-15 17:52 上傳
點(diǎn)擊文件名下載附件
ADC雙通道采樣
下載積分: 黑幣 -5
作者:
LQ^2
時(shí)間:
2019-11-27 17:24
我想下載但是積分不夠哈哈哈
作者:
LQ^2
時(shí)間:
2019-11-28 10:04
拿正點(diǎn)原子的例程糊弄人??
作者:
盧OK
時(shí)間:
2023-4-26 00:56
可測(cè)交流電壓?jiǎn)?hr noshade size="2" width="100%" color="#808080">
作者:
liufeng180840
時(shí)間:
2023-6-20 15:00
抄正點(diǎn)原子的資料發(fā)到這里賺分
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1