标题:
STM32多路AD采样按键可调pwm(频率,占空比)源码
[打印本页]
作者:
是花栗鼠呀
时间:
2018-7-16 21:03
标题:
STM32多路AD采样按键可调pwm(频率,占空比)源码
按键可调占空比
输出端PC6
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "pwm.h"
#include "exti.h"
extern void TIM3_PWM_Init(u16 arr,u16 psc);
extern void TIM4_PWMINPUT_INIT(u16 arr,u16 psc);
extern void TIM5_PWMINPUT_INIT(u16 arr,u16 psc);
extern u16 period;
extern u16 duty ;
extern u8 CollectFlag ;
extern u32 b;
extern u16 c;
extern u16 d;
extern u16 period1;
extern u16 duty1 ;
extern u8 CollectFlag1 ;
int main(void)
{
u8 x=0;
u8 y=0;
d=0;
// u8 lcd_id[12]; //存放LCD ID字符串
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
LCD_Init();
EXTIX_Init(); //外部中断初始化
// TIM3_PWM_Init(1000-1,72-1); //1KHZ周期
// TIM_SetCompare1(TIM3,200); //设置占空比
// TIM_SetCompare2(TIM3,400); //设置占空比
// TIM_SetCompare3(TIM3,600); //设置占空比
// TIM_SetCompare4(TIM3,800); //设置占空比
TIM4_PWMINPUT_INIT(0xffff,7); //pwm输入初始化以1M的频率捕捉
TIM5_PWMINPUT_INIT(0xffff,71); //pwm输入初始化以1M的频率捕捉
POINT_COLOR=RED;
POINT_COLOR=RED;
LCD_Clear(WHITE);
LED0=0;
while(1)
{
POINT_COLOR=RED;
LCD_ShowString(30,40,210,24,24,"WarShip STM32 ^_^");
if(!CollectFlag)
{
printf("duty = %d%% \r\n",duty*100/period); //打印占空比
printf("cycle = %dKHz\r\n",1000/period);//打印周期另一种叫法
printf("period = %dus\r\n",period); //打印周期
LCD_ShowString(30,170,210,12,12,"A duty=");
LCD_ShowString(30,190,210,12,12,"A period=");
LCD_ShowNum(90,170,duty*100/period,12,12);
LCD_ShowNum(90,190,1000/period,12,12);
LCD_ShowString(170,190,210,12,12,"KHZ");
CollectFlag = 1;
}
if(!CollectFlag1)
{
printf("duty = %d%% \r\n",duty*100/period); //打印占空比
printf("cycle = %dKHz\r\n",1000/period);//打印周期另一种叫法
printf("period = %dus\r\n",period); //打印周期
LCD_ShowString(30,210,210,12,12,"B duty=");
LCD_ShowString(30,230,210,12,12,"B period=");
LCD_ShowNum(90,210,duty1*100/period1,12,12);
LCD_ShowNum(90,230,72000000/(period1*c),12,12);
LCD_ShowString(170,230,210,12,12,"KHZ");
CollectFlag1 = 1;
x=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1);
y=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7);
LCD_ShowNum(90,270,1000000,12,12);
LCD_ShowNum(90,290,c,12,12);
}
delay_ms(10);
}
}
复制代码
所有资料51hei提供下载:
按键可调pwm(频率,占空比).rar
(366.37 KB, 下载次数: 98)
2018-7-17 02:14 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1