找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1745|回复: 7
打印 上一主题 下一主题
收起左侧

STM32f103单片机TIM3定时器如何实现按键控制LED亮暗?

[复制链接]
跳转到指定楼层
楼主
ID:990288 发表于 2022-5-18 21:53 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
88黑币
以上是控制LED灯亮暗的程序,请问如何在此基础上编写程序利用KEY0和KEY2外部中断,经过TIM3定时器实现按键调整PB5驱动的LED的明暗呢?求教,非常感谢!

单片机源程序如下:
#include "stm32f10x.h"

void Delay(u32 count)
{
   u32 i=0;
   for(;i<count;i++);
}
int main(void)
{
  GPIO_InitTypeDef  GPIO_InitStructure;     
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);        
  
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;               
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     
  GPIO_Init(GPIOB, &GPIO_InitStructure);                 
  GPIO_Init(GPIOE, &GPIO_InitStructure);               
  while(1)
    {
        GPIO_ResetBits(GPIOB,GPIO_Pin_5);   
        GPIO_SetBits(GPIOE,GPIO_Pin_5);
        Delay(3000000);
        GPIO_SetBits(GPIOB,GPIO_Pin_5);
        GPIO_ResetBits(GPIOE,GPIO_Pin_5);
        Delay(3000000);
    }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:990288 发表于 2022-5-20 00:32 来自手机 | 显示全部楼层
meng312 发表于 2022-5-19 08:32
先说点题外话,你把初始化代码放在main里面,看起来会很乱,建议写成GPIO_Init();然后将初始化代码放进去, ...

您好,非常感谢您的回答,我用的开发板是STM32F103ZET6,KEY0连接在PE4,KEY2连接在PE2上,非常抱歉在编写上还是比较困难
回复

使用道具 举报

板凳
ID:990288 发表于 2022-5-26 12:05 | 显示全部楼层
meng312 发表于 2022-5-20 08:11
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_4;
GPIO ...

您好您好,还想请问一下,如果按键使led亮度非线性增加应该怎样修改程序呢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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