標(biāo)題:
STM32編碼器+串口顯示+波形發(fā)生器程序源碼
[打印本頁]
作者:
jinhua1916
時(shí)間:
2018-7-11 16:50
標(biāo)題:
STM32編碼器+串口顯示+波形發(fā)生器程序源碼
這是一個(gè)用編碼器控制頻率的正弦波發(fā)生器,頻率范圍0-2khz。最重要的是波形是連續(xù)的,比使用專業(yè)的波形發(fā)生器模塊要好用。波形也可以自己通過改變數(shù)組來改變波形。里面一些程序也是集成采用了網(wǎng)友的。
Screenshot_20180711-164545.png
(3.34 MB, 下載次數(shù): 56)
下載附件
波形照片
2018-7-11 16:47 上傳
單片機(jī)源程序如下:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
#include "adc.h"
#include "exti.h"
#include "encode.h"
#include "DAC.h"
#include "DMA.h"
#include "TIM.h"
int main(void)
{ u16 adcx;
float temp;
int a=359,b;
u16 count;//編碼器計(jì)數(shù)
delay_init(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
uart_init(115200); //串口初始化為115200
// Adc_Init();
LED_Init(); //LED端口初始化
TIM4_Init();//定時(shí)器編碼器接口初始化
a=9999-a;
TIM3_PWM_Init(a,7199); //不分頻。PWM頻率=72000000/900=80Khz 88
GPIO_Config();
DMA_Config();
DAC_Config();
TIM_Config();
while(1)
{
b= TIM4->CNT/4;
if( b<282)b=282;
b=28235/b;
// printf("編碼器值 = %d\t\n",b);
TIM3->PSC=b;
TIM6->ARR=b;
//// if (a<50) a=50;
//// a=50000/a;
// if (a<40)a=40;
// else if(a>900)a=900;
//
// b=65535/a;
//
// TIM3->ARR=b;
//
// TIM3->CCR2=b/32;
// printf("b = %d\n",b);
//// printf("ARR = %d\n",b);
//// TIM3_PWM_Init(a,7199);
if((TIM4->CR1 & TIM_CounterMode_Down) != TIM_CounterMode_Down)//判斷編碼器正反轉(zhuǎn)
{
LED2=0;}
else LED2=1;
}
}
復(fù)制代碼
所有資料51hei提供下載:
編碼器+正玄波-實(shí)驗(yàn) 成功 -調(diào)共振環(huán)10-1000hz.rar
(317.64 KB, 下載次數(shù): 84)
2018-7-11 17:30 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
yutian_sl
時(shí)間:
2018-7-11 21:49
這個(gè)編碼器控制正弦波的頻率?
作者:
jinhua1916
時(shí)間:
2018-8-6 20:22
是的,調(diào)節(jié)編碼器改變定時(shí)器。改變讀取的速度。
作者:
mrliangg
時(shí)間:
2018-8-7 08:50
收藏了
作者:
jinhua1916
時(shí)間:
2018-8-7 09:33
發(fā)一下視頻[url][/url]
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1