OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3653|回复: 0

[miniF103] 分享:mini板子通过按键调节PWM的占空比控制LED灯的亮度,KEY0减少占空比,KEY1增加占空比

[复制链接]

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-7-14 21:50:42 | 显示全部楼层 |阅读模式
本帖最后由 1208 于 2019-1-21 20:46 编辑

本实验通过按键的次数来达到PWM占空比不同等级亮度的输出
因为按键有个宏定义返回值
#define KEY0_PRES    1        //KEY0  
#define KEY1_PRES    2        //KEY1
#define WKUP_PRES    3        //WK_UP
所以按键的值可以写成
mode=0,不支持连续按
KEY_Scan(0)==1
KEY_Scan(0)==2
PWM频率设置成72M/(100*7200)=100HZ
[mw_shl_code=c,true]int main(void)
{
  int count=0;   
   KEY_Init();
  delay_init();       //延时函数初始化   
  LED_Init();     //初始化与LED连接的硬件接口
  TIM1_PWM_Init(100-1,7200-1);//不分频。PWM频率=72M/(100*7200)=100HZ
    while(1)
{
//   delay_ms(1);  
   if(KEY_Scan(0)==2)       //KEY1按键控制灯变亮
   {
    count+=10;
    if(count>100) count=0;
    TIM_SetCompare1(TIM1,count);
   }
   
//   delay_ms(1);
   if(KEY_Scan(0)==1)    //  KEY0按键控制灯变暗
   {
    count-=10;
    if(count<0) count=100;
    TIM_SetCompare1(TIM1,count);
   }   
}
}[/mw_shl_code]
关于按键前面加延时问题:按键前面加一个延时按键可以控制,不加延时就不可以控制按键亮灯。前面都不加延时就不影响

ALIENTEK MINISTM32 实验8 PWM输出实验.zip

3.11 MB, 下载次数: 227

业精于勤荒于嬉;行成于思毁于随!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 22:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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