标题:
STM32F103单片机简易频率计(ADC)
[打印本页]
作者:
3115657367
时间:
2019-12-8 13:35
标题:
STM32F103单片机简易频率计(ADC)
1.可测方波信号频率范围:100HZ--1KHZ
2.频率误差<2%
3.可以测正弦波信号频率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);}
}
复制代码
全部资料51hei下载地址:
相位&频率计 - 副本.7z
(233.03 KB, 下载次数: 78)
2019-12-8 14:00 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
hujj
时间:
2019-12-8 15:14
这个7z是什么压缩程序啊?我将后缀改为ZIP或RAR都不能解压。
作者:
51hei团团
时间:
2019-12-9 00:30
hujj 发表于 2019-12-8 15:14
这个7z是什么压缩程序啊?我将后缀改为ZIP或RAR都不能解压。
改名是不行的,你要安装一个winrar才行,51hei全部都是用7z,目前最先进的的压缩就是他
作者:
meiyaolei
时间:
2023-3-13 08:52
下载学习一下,这个可以给到我好大的帮助
作者:
liufeng180840
时间:
2023-3-16 17:17
学习一下,这个可以给到我好大的帮助
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1