32单片机输出精准脉冲个数控制步进电机,每发出一次脉冲进入一次中断,控制中断的次数就可以控制脉冲数量,分享给大家适合初学者参考
单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "usart.h"
- #include "timer.h"
- #include "stm32f10x.h"
- int main(void)
- {
- vu8 key=0;
- u32 number=200;
- uart_init(115200); //串口初始化为115200
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- KEY_Init();
- delay_init();
- LED_Init(); //LED端口初始化
- TIM3_PWM_Init(number-1,7199); //WM频率=72000000/7200=10Khz
- //使能时钟4
- GPIO_SetBits(GPIOA,GPIO_Pin_6);
- while(1)
- {
- delay_ms(100);
- LED0=!LED0;
- delay_ms(100);
- key=KEY_Scan(0);
- delay_ms(10);
- if(WK_UP)
- {
- GPIO_ResetBits(GPIOA,GPIO_Pin_6);
- }
- else GPIO_SetBits(GPIOA,GPIO_Pin_6);
-
- }
- }
复制代码
所有资料51hei提供下载:
输出精准脉冲数.7z
(186.09 KB, 下载次数: 256)
|