01 基于STM32单片机的LED灯闪烁仿真(库函数版本)

本专栏所有源资料都免费获取,无任何隐形消费。

注意事项:STM32仿真会存在各种各样BUG,且尽量按照同样仿真版本使用。本专栏所有的仿真都采用PROTEUS8.15。

本文已经配置好STM32F103C8T6系列,在PROTUES仿真里,32单片机一般只用一种型号,如需其他型号,可改名。

本次功能实现基于STM32的LED灯闪烁,此为Proteus仿真演示:

基于STM32的LED灯闪烁

LED灯与单片机相连:

1.原理

STM32F103C8T6是一款32位ARM Cortex-M3内核的微控制器,它具有丰富的周边外设和功能,可用于各种应用场景。

驱动LED灯的原理是通过控制GPIO(通用输入/输出)引脚输出高电平或低电平来控制LED灯的亮灭。在STM32F103C8T6中,每个GPIO引脚都可以独立配置为输入或输出模式,并且可以通过寄存器操作来控制它们的状态。

具体步骤如下:

1. 配置GPIO引脚:根据所连接的LED灯的引脚,选择一个GPIO引脚作为控制LED的引脚,然后将其配置为输出模式。例如,如果选择将LED连接到PC13引脚,可以通过配置CRL寄存器的相应位来设置PC13引脚为推挽输出模式。

2. 设置引脚状态:通过修改ODR(输出数据寄存器)寄存器的相应位来控制GPIO引脚的状态。设置为高电平则LED亮,设置为低电平则LED灭。

3. 循环控制:为了保持LED的状态,可以将上述两个步骤放置在一个无限循环中,这样LED就会一直保持亮或灭的状态。

以下是使用STM32F103C8T6和库函数的代码示例:

如图所示,首先点击图左的led.c文件,然后可以看到图右的LED引脚配置。由图可知,可以配置单片机的PA1、PA2等引脚为LED引脚,如需更改引脚,可自行修改。

2.仿真引脚连接

在本次仿真中,选择PA8引脚连接LED灯,并且连接GND,这样给与高电平,则LED灯点亮;给与低电平,LED灯熄灭。

3.主函数代码配置:

#include "stm32f10x.h"
#include "usart.h"
#include "delay.h"
#include "sys.h"
#include "led.h"
#include "key.h"

int main(void)
 {	
 
	 LED_Init();		  	        //初始化与LED连接的硬件接口
	 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
   RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);	
	 delay_init();
	 while(1)
		{
		LED0 = 1;
		delay_ms(1000);
	  LED0 = 0;
		delay_ms(1000);
		}	 
 }

仿真示例资源、程序源码和软件安装包

百度网盘资料下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜间去看海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值