LED流水灯实验

一、了解STM32的电路原理图,用Proteus设计流水灯实验

STM32原理图

img

Proteus仿真

原理图

在这里插入图片描述

仿真结果:
在这里插入图片描述

二、以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只_(或更多)红绿蓝LED 搭建电路,使用GPIOA、GPIOB、GPIOC这3个端口控制LED灯,轮流闪烁,间隔时长1秒。

代码部分

代码设计首先需要配置几个口为输出,依次点亮几个灯,再在他们之间设计延时函数,再进行无限循环即可实现LED的流水灯的点亮。

代码:

#include “stm32f10x.h”

int main(void)

{

​ RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;// 使能GPIOC的时钟

​ GPIOC->CRL &= ~(GPIO_CRL_MODE0 | GPIO_CRL_CNF0 |

​ GPIO_CRL_MODE1 | GPIO_CRL_CNF1 |

​ GPIO_CRL_MODE2 | GPIO_CRL_CNF2 |

​ GPIO_CRL_MODE3 | GPIO_CRL_CNF3);

GPIOC->CRL |= GPIO_CRL_MODE0 | GPIO_CRL_MODE1 |

​ GPIO_CRL_MODE2 | GPIO_CRL_MODE3;// 配置PC0、PC1、PC2、PC3为推挽输出

​ while(1)

​ {

​ GPIOC->BSRR = GPIO_BSRR_BS0; // 点亮LED1

​ for(int i = 0; i < 100000; i++); // 延时一段时间

​ GPIOC->BSRR = GPIO_BSRR_BS1; // 点亮LED2

​ for(int i = 0; i < 100000; i++); // 延时一段时间

​ GPIOC->BSRR = GPIO_BSRR_BS2; // 点亮LED3

​ for(int i = 0; i < 100000; i++);// 延时一段时间

​ }

}

线路连接:
请添加图片描述
实践结果

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值