可以測試使用,使用按鍵控制
單片機源程序如下:
- #include "stm32f10x.h"
- #include "led.h"
- #include "key.h"
- #include "sys.h"
- #include "delay.h"
- #include "sys.h"
- #include "pwm.h"
- #include "exti.h"
- #include "usart.h"
- uint16_t indexWave[] = {50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900};
- void EXTI4_IRQHandler(void)
- {
- static uint16_t pwm_index = 0;
- delay_ms(10);
- if(KEY0==0)
- {
- TIM_SetCompare2(TIM3,indexWave[pwm_index]);
- pwm_index++;
- if( pwm_index >= 7){
- pwm_index=0;
- }
- }
- EXTI_ClearITPendingBit(EXTI_Line4); //清除LINE4上的中斷標志位
- }
- //外部中斷2服務程序
- int main(void)
- {
- EXTIX_Init();
-
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組2
- delay_init(); //初始化延時函數
- uart_init(9600);
- led_init(); //初始化與LED連接的硬件接口
- KEY_Init();
- TIM3_PWM_Init(899,0);//不分頻。PWM頻率=72000/(899+1)=80Khz
- while(1);
- }
復制代碼
所有資料51hei提供下載:
呼吸燈 1.7z
(175.42 KB, 下載次數: 62)
2018-12-18 23:39 上傳
點擊文件名下載附件
無 下載積分: 黑幣 -5
|