標(biāo)題:
stm32測頻測幅程序
[打印本頁]
作者:
839794425
時間:
2019-8-13 12:25
標(biāo)題:
stm32測頻測幅程序
采用野火stm32f103zet6霸道開發(fā)板
可以測頻測幅 在板載LCD屏上顯示
燒錄即可使用
單片機源程序如下:
// TIM—高級定時器-PWM輸入捕獲應(yīng)用,通用定時器產(chǎn)生PWM波,高級定時器則捕獲這個PWM,并測量周期和占空比
#include "stm32f10x.h"
#include "./lcd/bsp_ili9341_lcd.h"
#include "bsp_led.h"
#include "bsp_AdvanceTim.h"
#include "bsp_GeneralTim.h"
#include "bsp_usart.h"
#include "bsp_adc.h"
#include <stdio.h>
extern float Frequency;
extern float DutyCycle ;
static void LCD_Test(void);
static void Delay ( __IO uint32_t nCount );
extern __IO uint16_t ADC_ConvertedValue;
float adc,high=0,low=100;
float ADC_ConvertedValueLocal;
void Printf_Charater(void);
/**
* @brief 主函數(shù)
* @param 無
* @retval 無
*/
int main(void)
{
ILI9341_Init (); //LCD 初始化
LED_GPIO_Config();
/* 串口初始化 */
USART_Config();
ADCx_Init();
/* 通用定時器初始化,用于生成PWM信號 */
GENERAL_TIM_Init();
/* 高級定時器初始化 ,用戶捕獲PWM信號*/
ADVANCE_TIM_Init();
ILI9341_GramScan ( 6 );
while(1)
{
Delay(0xfffff);
LCD_Test();
}
}
/*********************************************END OF FILE**********************/
/*用于測試各種液晶的函數(shù)*/
void LCD_Test(void)
{
/*演示顯示變量*/
char dispBuff[100];
ADC_ConvertedValueLocal =(float) ADC_ConvertedValue/4096*3.3;
if(high<ADC_ConvertedValueLocal)
high=ADC_ConvertedValueLocal;
if(low>ADC_ConvertedValueLocal)
low=ADC_ConvertedValueLocal;
adc=(high-low)/2;
LCD_SetFont(&Font8x16);
LCD_SetColors(RED,BLACK);
ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,顯示全黑 */
/********顯示變量示例*******/
LCD_SetFont(&Font16x24);
LCD_SetTextColor(GREEN);
/*使用c標(biāo)準(zhǔn)庫把變量轉(zhuǎn)化成字符串*/
sprintf(dispBuff,"ADC: %.2f V ",adc);
LCD_ClearLine(LINE(3)); /* 清除單行文字 */
/*然后顯示該字符串即可,其它變量也是這樣處理*/
ILI9341_DispStringLine_EN(LINE(3),dispBuff);
LCD_SetFont(&Font16x24);
LCD_SetTextColor(GREEN);
/*使用c標(biāo)準(zhǔn)庫把變量轉(zhuǎn)化成字符串*/
sprintf(dispBuff,"Fre: %.2f hz ",Frequency);
LCD_ClearLine(LINE(4)); /* 清除單行文字 */
/*然后顯示該字符串即可,其它變量也是這樣處理*/
ILI9341_DispStringLine_EN(LINE(4),dispBuff);
ILI9341_Clear(0,16*8,LCD_X_LENGTH,LCD_Y_LENGTH-16*8); /* 清屏,顯示全黑 */
}
/**
* @brief 簡單延時函數(shù)
* @param nCount :延時計數(shù)值
* @retval 無
*/
static void Delay ( __IO uint32_t nCount )
{
for ( ; nCount != 0; nCount -- );
}
復(fù)制代碼
所有資料51hei提供下載:
測頻測幅.7z
(221 KB, 下載次數(shù): 27)
2019-8-13 16:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1