STM32F103LED流水灯

目录

一、STM32F103C8T6简介

二、点灯

(一)打开时钟

三、keil创建项目

四、连接电路

五、编译烧录代码

(一)编译

(二)烧录准备工作

(三)烧录程序

(四)结果

七、总结

八、参考资料


一、STM32F103C8T6简介

STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。所有的资料都可以在野火官网上下载野火资料下载中心

二、点灯

点亮LED灯,需要用到GPIO端口。

为了点亮LED灯,需要三个步骤:

  • 打开GPIO口的时钟
  • 初始化GPIO口(选择推挽输出)
  • 设置低电平

(一)打开时钟

  • GPIO的地址:
  • 时钟的地址: 

 

 即0x40021018,则打开三个IO口的时钟需要将三个位都置1:

#define RCC_APB2ENR (*(unsigned int *)0x40021018)

// 打开时钟
RCC_APB2ENR |= (1<<3);  // 打开 GPIOB 时钟
RCC_APB2ENR |= (1<<4);  // 打开 GPIOC 时钟
RCC_APB2ENR |= (1<<2);  // 打开 GPIOA 时钟

三、keil创建项目

1.新建uVision项目

2.选择合适位置命名保存

 3.芯片选择STM32F103下的STM32F103C8

<
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一下STM32F103按键流水的基本概念和实现方法。 一、概念 STM32F103按键流水是一个常见的嵌入式系统项目,它利用STM32F103微控制器的I/O口和按键接口,实现了一种动态的LED效果。具体来说,就是当按下某个按键时,LED会依次亮起,仿佛水流一样流动。这种效果可以用于各种嵌入式应用中,如智能家居、工业控制等。 二、实现方法 1. 硬件准备 你需要准备以下硬件: * STM32F103微控制器(如STM32F103C8T6) * LED(至少4个) * 按键(至少一个) * 杜邦线(用于连接微控制器和LED) * 面包板(用于连接按键) 2. 代码编写 首先,你需要编写一个简单的C语言程序来控制LED和按键。以下是一个基本的示例代码: ```c #include "stm32f1xx.h" // 引入STM32库文件 #define KEY_PIN 0 // 按键连接到微控制器的第0号GPIO口 #define LED_PIN 1 // LED连接到微控制器的第1号GPIO口 int main(void) { while(1) { // 无限循环 if(GPIO_ReadInputDataBit(GPIOA, KEY_PIN) == Bit_RESET) { // 检测按键按下 for(int i=0; i<4; i++) { // 依次点亮LED GPIO_SetBits(GPIOA, LED_PIN); // 点亮LED delay(100); // 延时一段时间,模拟水流流动效果 GPIO_ResetBits(GPIOA, LED_PIN); // 熄灭LED } } } } ``` 这段代码使用STM32F1xx库函数来控制GPIO口和按键,并通过循环检测按键状态来控制LED的亮灭。当按下按键时,LED会依次亮起并熄灭,形成流水效果。 注意:这段代码只是一个基本的示例,实际应用中可能需要根据你的硬件配置和需求进行修改和优化。 3. 电路连接 将LED的引脚连接到微控制器的GPIO口,将按键的引脚连接到面包板或其他绝缘材料上。确保所有连接都正确无误,避免短路等问题。 4. 调试和运行 将代码下载到STM32F103微控制器中,并使用调试器或J-Link等工具进行调试。确保代码正常运行,LED能够按照预期的流水效果亮灭。 这就是一个基本的STM32F103按键流水的实现方法。你可以根据自己的需求进行修改和扩展,如添加其他功能、优化性能等。希望这个介绍对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值