亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
2021電賽周期信號波形識別及參數測量 STM32源程序
[打印本頁]
作者:
2983606955
時間:
2021-11-15 09:54
標題:
2021電賽周期信號波形識別及參數測量 STM32源程序
2021電子設計大賽周期信號檢測和參數檢測
自己用STM32寫的
可以參考
單片機源程序如下:
#include "stdio.h"
#include "main.h"
#include "math.h"
#include <ctype.h>
#include "stm32f4xx.h"
#include "input.h"
#include "oscilloscope.h"
#include "digital_multimeter.h"
#include "stm32f4xx.h"
#include "led.h"
u16 buff[400];//存儲ADC所采集到的波形數據
float buf[400],buf1[400];
float Vpp_p; //存儲峰峰值
long long indata=0;
u8 Vpp_buff[20] = {0};//sprintf數據輸出
int str[20],c_1=0,str_max=0;
//全局變量
int key_val=0;
int key_c=0;
int key_d=0;
float vpp;
//函數聲明
//int flag=0;
void Square_wave(void); //方波
void Kai_display() //矩形
{
POINT_COLOR = RED;
POINT_COLOR = 0x5510;
LCD_Clear(BLACK);
LCD_DrawRectangle(350,200,0,300);//矩形
}
void Kai_display_1() //矩形
{
POINT_COLOR = RED;
POINT_COLOR = 0x5510;
LCD_Clear(BLACK);
LCD_DrawRectangle(350,0,0,200);//矩形
}
void Init(void){//初始化
SysTick_Init(168);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中斷優先級分組 分2組
LED_Init();
LCD_Init(); //LCD初始化
KEY_Init();
LCD_Clear(WHITE);//BLACK:黑
Hwjs_Init();
USART1_Init(115200);
uart2_init(9600);
Kai_display_1();//開機顯示
Adc_Init();//初始化ADC
TIM3_Int_Init(10000-1,8400-1);
extix_init();
TIM5_CH1_Input_Init(0xffffffff,83); //以1M頻率計數
}
int main()
{
int adcx,key=0,key_1=0,i=0;
float temp;
Kai_display_1();
Init();//初始化
BACK_COLOR= BLACK;
POINT_COLOR = RED;
LCD_DrawRectangle(350,200,0,350);//矩形
while(1)
{
key = Hw_Scan();
if(key == 1){key_val = 1;}
if(key == 2){key_val = 2;}
if(key == 3){key_val = 3;}
if(key == 4){key_val = 4;}
if(key == 5){key_val = 5;key_c =1;}
if(key == 6){key_val = 6;}
if(key == 7){key_val = 7;}
if(key == 8){key_val = 8;}
if(key == 9){key_val = 9;}
if(key == 12){key_val = 3;key_d =2;}
if(key == 13){key_val = 3;key_d =3;}
if(key == 14){key_val = 3;key_d =4;}
if(key == 15){key_val = 3;key_d =5;}
if(key == 16){key_val = 3;key_d =6;}
if(key == 17){key_val = 3;key_d =7;}
if(key == 10){NVIC_SystemReset(); }
if(key_val == 8)
{
adcx = Get_Adc_Average(ADC_Channel_5,200);
temp = (float)adcx*(3.3/4096); //獲取計算后的帶小數的實際電壓值,比如3.1111
sprintf((char*)Vpp_buff,"V: %.2f V",temp);
LCD_ShowString(10,290,210,16,16,Vpp_buff);
delay_ms(500);
}
if(key_val == 3)
{
get_vpp_fb(buff);
}
if(key_val == 4)
{
get_vpp_fb(buff);
sprintf((char*)Vpp_buff,"Vpp:%0.2f V",Vpp);
LCD_ShowString(10,230,210,16,16,Vpp_buff);
delay_ms(200);
}
if(key_val == 5)
{
get_vpp_fb(buff);
str[c_1] = num1;
c_1++;
if(c_1 == 20)
{
// for(i=0;i<20;i++)
// {
// if(str[i] > str_max)
// str_max = str[i];
// }
// printf("%d ",str_max);
// if(0.8<(freq_1/1000) <1.2 )
// {
// if(str_max == 9){key_d =2;}
// if( str_max>=7 && str_max<=8){key_d =4;}
// if( str_max>=4 && str_max<=5){key_d =3;}
// }
c_1 = 0;
str_max = 0;
}
}
if(key_val == 7) //全部顯示
{
key_c =1;
LCD_ShowString(10,250,210,16,16,"FREQ:");
LCD_ShowString(10,270,210,16,16,"Dcycle:");
LCD_ShowString(120,270,210,16,16,"%");
get_vpp_fb(buff);
sprintf((char*)Vpp_buff,"Vpp:%0.2f V",Vpp);
LCD_ShowString(10,230,210,16,16,Vpp_buff);
delay_ms(200);
}
if(key_val == 9)
{
get_vpp_fb(buff);
sprintf((char*)Vpp_buff,"fudu: %.2f V",fudu);
LCD_ShowString(10,290,210,16,16,Vpp_buff);
}
if(TIM5_CH1_CAPTURE_STA&0x80) //成功捕獲
{
indata=TIM5_CH1_CAPTURE_STA&0x3f;
indata*=0xffffffff; //溢出次數乘以一次的計數次數時間 us
indata+=TIM5_CH1_CAPTURE_VAL;//加上高電平捕獲的時間
TIM5_CH1_CAPTURE_STA=0; //開始下一次捕獲
}
}
}
//----------------------------函數-----------------------//
復制代碼
Keil代碼下載:
周期波形信號識別和參數測量.7z
(484.61 KB, 下載次數: 51)
2021-11-15 17:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
kaxia
時間:
2021-12-7 21:32
請問一下大佬信號有經過處理才輸入到單片機的嗎
作者:
1045964948
時間:
2022-5-25 11:43
波形怎么識別的可以說明一下嗎
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1