|
1.可測(cè)方波信號(hào)頻率范圍:100HZ--1KHZ
2.頻率誤差<2%
3.可以測(cè)正弦波信號(hào)頻率50hz--1khz (MiniSTM32)
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "capture.h"
- #include "lcd.h"
- #include "exti.h"
- #include <stdio.h>
- #include"key.h"
- extern u16 TIM2CH1_CAPTURE_STA; //
- extern u16 chanal_value2; //
- extern u16 chanal_value1;
- extern u32 TIM2CH1_CAPTURE_VAL;
- extern u16 TIM3CH3_CAPTURE_STA; //
- extern u16 freone; //
- extern u16 fretwo; //
- extern u32 TIM3CH3_CAPTURE_VAL;
- u32 Frequency;
- u32 num[3];
- u32 prio[3];
- int main(void)
-
- {
- float Phase;
- u32 temp;
- u8 flag,i;
- u8 outdata[20];
- KEY_Init();
- delay_init();
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- uart_init(9600); //
- LED_Init(); //
- LCD_Init();
- POINT_COLOR=RED;//
- LCD_ShowString(60,50,200,16,16, "Frequency and Phase");
- LCD_ShowString(60,70,200,16,16, "TEST");
- LCD_ShowString(60,90,200,16,16, "2019/5/3");
- POINT_COLOR=BLUE;//
- //TIM2_cap_Init(0xffff,0);//
- TIM3_cap_Init(0xffff,0);//
- while(1)
- {
- // switch(KEY_Scan(0))
- // {
- // case KEY0_PRES:
- // Frequency=temp;
- // sprintf(outdata,"Txet Freq:%0.2f HZ",(float)1000000/Frequency*72*8);
- //
- // LCD_ShowString(0,150,200,16,16,outdata);
- // break;
- // }
- // if(j<3)
- // {
- // prio[j]=TIM2CH1_CAPTURE_VAL;
- // j++;
- // if(j==3)
- // {j=0;}
- // }
- // TIM2CH1_CAPTURE_STA=0;
- // if(num[0]>num[1])
- // {
- // if(num[0]> num[2])
- // temp1=num[0];
- // }
- // else
- // if(num[1]>num[2])
- // {
- // temp1=num[1];
- // }
- // else temp1=num[1];
- //
- // sprintf(outdata,"Phase:%0.2f'",(float)(temp1/72)/(Frequency/72/8))*360);
- // if(TIM2CH1_CAPTURE_STA&0X8000)//Ïàλ²î
- // {
- // flag=TIM2CH1_CAPTURE_STA&0x3fff;
- // if(flag==0) TIM2CH1_CAPTURE_VAL-=chanal_value1;
- // else TIM2CH1_CAPTURE_VAL+=(0xffff-chanal_value1)+65536*(--flag);
- //
- //// Phase=(float)((TIM2CH1_CAPTURE_VAL/72)/(Frequency/72/8))*360; %0.2f'
- // sprintf(outdata,"Phase:%0.2f',%d",(float)TIM2CH1_CAPTURE_VAL*8/Frequency*360,TIM2CH1_CAPTURE_VAL);
- // LCD_ShowString(0,120,200,16,16," ");
- // LCD_ShowString(0,120,200,16,16,outdata);
- // TIM2CH1_CAPTURE_STA=0;
- // TIM2CH1_CAPTURE_VAL=0;
- // }
- if(TIM3CH3_CAPTURE_STA&0x8000)
- {
- if((TIM3CH3_CAPTURE_STA&0x3FFf)>=1)
- {
- TIM3CH3_CAPTURE_STA--;
- }
- TIM3CH3_CAPTURE_VAL+=((TIM3CH3_CAPTURE_STA&0x3fff))*65536;
- // if(i<2)
- // {
- // num[i]=TIM3CH3_CAPTURE_VAL;
- // i++;
- // if(i==1) i=0;
- // }
- // if(num[0]<num [1]) temp=num[1];
- // else temp=num[0];
- sprintf( outdata,"Frequency: %0.2f HZ,",(float)1000000/TIM3CH3_CAPTURE_VAL*72*8);
- LCD_ShowString(0,90,200,16,16,outdata);
- TIM3CH3_CAPTURE_VAL=0;
- TIM3CH3_CAPTURE_STA=0;
- }
- LED0 =!LED0 ;
- delay_ms (500);}
- }
復(fù)制代碼 全部資料51hei下載地址:
相位&頻率計(jì) - 副本.7z
(233.03 KB, 下載次數(shù): 78)
2019-12-8 14:00 上傳
點(diǎn)擊文件名下載附件
|
|