找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5682|回复: 0
收起左侧

stm32F1按键控制呼吸灯代码

[复制链接]
ID:449360 发表于 2018-12-18 21:45 | 显示全部楼层 |阅读模式
可以测试使用,使用按键控制

单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "led.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "delay.h"
  6. #include "sys.h"
  7. #include "pwm.h"
  8. #include "exti.h"
  9. #include "usart.h"

  10. uint16_t indexWave[] = {50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900};
  11. void EXTI4_IRQHandler(void)
  12. {
  13.         static uint16_t pwm_index = 0;
  14.         delay_ms(10);
  15.         if(KEY0==0)         
  16.         {   
  17.                 TIM_SetCompare2(TIM3,indexWave[pwm_index]);
  18.                 pwm_index++;  
  19.                 if( pwm_index >= 7){
  20.                 pwm_index=0;
  21.                 }
  22.         }                 
  23.          EXTI_ClearITPendingBit(EXTI_Line4); //清除LINE4上的中断标志位
  24. }       
  25. //外部中断2服务程序
  26. int main(void)
  27. {
  28.         EXTIX_Init();
  29.        
  30.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
  31.         delay_init();  //初始化延时函数
  32.         uart_init(9600);
  33.         led_init();                          //初始化与LED连接的硬件接口
  34.         KEY_Init();
  35.         TIM3_PWM_Init(899,0);//不分频。PWM频率=72000/(899+1)=80Khz
  36.         while(1);               
  37. }
复制代码

所有资料51hei提供下载:
呼吸灯 1.7z (175.42 KB, 下载次数: 62)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表