以STM32为核心制作流水灯

本文详细介绍了如何以STM32为核心制作流水灯,从硬件选择与连接,包括GPIO口选择、LED灯和面包板的使用,到软件部分的寄存器配置、主函数编写、程序烧录步骤,以及如何用汇编语言实现流水灯效果。同时,提供了烧录工具和相关参考资源。
摘要由CSDN通过智能技术生成

**

以STM32为核心制作流水灯

**

一、硬件部分

1.IO口选择

使用GPIOB、GPIOC、GPIOD三个端口控制LED灯,在stm32手册中可以查找对应IO口来作为实验输出口。

2其余硬件

除stm32芯片外,还需准备红黄绿三色LED灯若干,导线(杜邦线)若干,面包板一块。

杜邦线:
杜邦线主要用于电路实验,在进行电路实验的时候可以和插针进行连接,而且他具有非常好的牢靠性,也能够省略焊接的过程,快速的进入电路实验,在电子产品的应用中非常广泛。
杜邦线在网上搜索有很多,可根据自己实验要求购买不同杜邦线。
此外,接线时尽量避免用杜邦线串联,可能接触不良或过程中松动。可用一根杜邦线,长度不够时可通过面包板卡槽连接两根杜邦线。

面包板:
面包板是由于板子上有很多小插孔,专为电子电路的无焊接实验设计制造的。由于各种电子元器件可根据需要随意插入或拔出,免去了焊接,节省了电路的组装时间,而且元件可以重复使用,所以非常适合电子电路的组装、调试和训练。
面包板使用教程可在网上搜索,也可在网上购买后向商家询问。

3.连线

连线方面,LED灯短脚连接IO口,长脚连接电源口(注:不要连接5v端口,5v端口没有电阻保护,容易烧坏LED灯)
在连线过程中可以借助面包板辅助连线。

二、软件部分

创立工程文件,编写代码后编译生成hex文件。

2.1寄存器配置

通过配置寄存器的值改变IO的值进行变化。

led.h

#ifndef __LED_H
#define __LED_H	 
#include "sys.h"
   
//LED端口定义
#define LED0 BIT_ADDR(GPIOB_ODR_Addr,6)   // PB6输出
#define LED1 BIT_ADDR(GPIOC_ODR_Addr,6)	  // PC6输出
#define LED2 BIT_ADDR(GPIOD_ODR_Addr,2)	  // PD2输出
 
void LED_Init(void);	//初始化		 				    
#endif
 

led.c

#include "sys.h"   
#include "led.h"
 
//初始化PB6、PC6和PD2为输出口,并使能这3个口的时钟
//LEDIO初始化
void LED_Init(void)
{
   
	RCC->APB2ENR|=1<<3;    //使能PORTB时钟
	RCC->APB2ENR|=1<<4;    //使能PORTC时钟
	RCC->APB2ENR|=1<<5;    //使能PORTD时钟
	
	GPIOB->CRL&=0XF0FFFFFF; //PB6清零
	GPIOB->CRL|=0X03000000; //PB6推挽输出  	 
    GPIOB->ODR|=1<<6;       //PB6输出高
	
	GPIOC->CRL&=0XF0FFFFFF; //PC6清零
	GPIOC->CRL|=0X03000000; //PC6推挽输出
	GPIOC->ODR|=1<<6;      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值