ad7705+兩路SPWM,已經調試成功
單片機源程序如下:
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "SPWM.h"
- #include "public.h"
- #include "printf.h"
- #include "adc.h"
- #include "systick.h"
- #include "spi.h"
- /*把這個SPWM調一下 6路,其中3路一樣,另外3路一樣,這兩組之間互補
- 死區300ns 載頻20K左右,可以自己定 正弦頻率50HZ 三相正弦之間相差120°
- **/
- vu8 key = 0; //按鍵值
- vu16 freq = 20000, Period=0;//PWM與定時器中斷頻率;自動重裝載值
- __IO float Period_percent; //PWM占空比變化因子,用于修改脈寬
- int main(void)
- {
- //u32 ad=0;
- //u8 i;
- NVIC_Configuration();
- delay_init();
-
- //KEY_Init();
- SPIx_Init();
- //Period_percent = ((SystemCoreClock / freq) - 1) / 32767.0;
- //TIM1_PWM_Init(20000,0);//正弦波的頻率為20000/(399+1))50Hz)
- //輸出PWM的頻率為8KHz(一周期400個點,正弦波的頻率為8000/400=20Hz)
- //TIM2_Int_Init(20000,0);
- //-------------------------------------------------------------------
- //adc_init(); //ADC初始化
- printf_init(); //printf初始化
- while(1)
- {
- //printf("adc7705");
- ADC_7705();
- //printf("adc7706");
- delay_ms(1000);
- //頻率可調程序段,觸發外部中斷按鍵調節。 步進未知,自動掃描沒有,不知程序如何執行。
- // key=KEY_Scan(0);
- // if(key == 1 )
- // {
- // freq += 400; //sin頻率 = freq/400
- // Period = (SystemCoreClock / freq) - 1; //算出自動重裝載值,Tout(溢出時間)= ((arr+1)*(psc+1))/Tclk= 1/freq;
- // TIM1->ARR = Period;
- // TIM2->ARR = Period;
- // Period_percent = Period / 32767.0;
- //
- // }
- // else if(key == 2)
- // {
- // freq -= 400;
- // Period = (SystemCoreClock / freq) - 1;
- //TIM1->ARR = Period;
- //TIM2->ARR = Period;
- //Period_percent = Period / 32767.0;
- // }
- //-----------------------------------------------------------------------------
- //-----------------------------------------------------------------------------
- // ad=0;
- // for(i=0;i<50;i++)//讀取50次的AD數值取其平均數較為準確
- // {
- // ADC_SoftwareStartConvCmd(ADC1, ENABLE);
- // while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//轉換結束標志位
- // ad=ad+ADC_GetConversionValue(ADC1);//返回最近一次ADCx規則組的轉換結果
- // }
- // ad=ad/50;
- // printf("電壓值為-------------------- %.3fV\n",ad*3.3/4096);
- // delay_ms1(1000);
- }
- }
復制代碼
所有資料51hei提供下載:
5、20180531PWM+SPWM+AD7705.rar
(357.22 KB, 下載次數: 58)
2018-7-8 02:02 上傳
點擊文件名下載附件
spwm波+AD7705 下載積分: 黑幣 -5
|