实验一 单个LED灯的闪烁

1.1系统功能

实现对STM32开发板上单个LED灯的循环点亮与熄灭,使其呈现不断闪烁的状态。

1.2系统组成

由STM32开发板及板上的LED灯组成,STM32为STM32F103RB芯片的NANO版本,通过编写软件,用GPIO端口控制LED灯闪烁。

1.3系统设计

1.3.1硬件设计

本设计采用STM32上其中一个GPIO口来控制对应的一个LED灯的点亮和熄灭,其芯片引脚及LED灯分布如下图1、2。


图1 STM32芯片引脚分布

图 2 LED灯模块分布

1.3.2软件设计

该实验程序主要由系统初始化,包括GPIO端口初始化和系统时钟初始配置,和主函数组成。主函数负责控制LED灯的亮灭,亮灭间隔需要延时。


图 3 程序基本流程图

1.4调试与结果

将代码烧录后,LED灯0开始循环点亮熄灭,满足实验要求。如下图4、5.


图 4 LED灯点亮

图 5 LED灯熄灭

1.5实验主要代码

#include "stm32f10x_lib.h"             ErrorStatus HSEStartUpStatus;
void LED0(void);
void LED1(void);
void Delay(vu32 nTime);
void RCC_Configuration(void);
void GPIO_Configuration(void);int main(void)
{RCC_Configuration();           //配置系统时钟GPIO_Configuration();       //配置GPIO端口for(;;){GPIOC->ODR = ~(0x01); //点亮LED0Delay(5000000);         //延时GPIOC->ODR = 0xff;      //熄灭LED0Delay(5000000);         //延时}
}void RCC_Configuration(void)   //系统时钟配置
{RCC_DeInit();                       RCC_HSEConfig(RCC_HSE_ON);HSEStartUpStatus = RCC_WaitForHSEStartUp();if(HSEStartUpStatus == SUCCESS){RCC_HCLKConfig(RCC_SYSCLK_Div1);   RCC_PCLK2Config(RCC_HCLK_Div1);     RCC_PCLK1Config(RCC_HCLK_Div2);         FLASH_SetLatency(FLASH_Latency_2);FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);RCC_PLLCmd(ENABLE);while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);while(RCC_GetSYSCLKSource() != 0x08);}                        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
}
void GPIO_Configuration(void)       //系统GPIO端口配置
{GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;        //打开LED0对应的GPIO 0GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//配置推免输出为50MHzGPIO_Init(GPIOC, &GPIO_InitStructure);
}void Delay(vu32 nCount)                //延时
{for(; nCount != 0; nCount--);
}

【STM32 嵌入式课程实验】实验一 单个LED灯的闪烁相关推荐

  1. stm32单片机屏幕一直闪_stm32实现LED灯的闪烁

    stm32单片机设计比较复杂,所以,对于外设的控制就相对于51单片机来说,就复杂很多.那么如何用stm32单片机点亮LED呢?通过一下几个步骤,就可以实现LED的闪烁.这里使用的stm32型号是stm ...

  2. 【STM32 嵌入式课程实验】实验二 流水灯控制

    实验二 流水灯控制 2.1 系统功能 使用STM32板载的八个LED灯,实现流水灯功能. 2.2系统组成 由STM32开发板及板上的LED灯组成,STM32为STM32F103RB芯片的NANO版本, ...

  3. 嵌入式实验-汇编点亮LED 灯

    嵌入式实验-汇编点亮LED 灯 一.实验目的 通过本次实验,使学生能够操作 S5PV210实验平台,搭建并使用交叉编译环境,具备初步的嵌入式裸机平台应用开发能力. 二.实验原理 由原理图可知,点亮 2 ...

  4. STM32F103C8T6核心板控制器下,通过电路搭建实现LED灯轮流闪烁的实验操作

    通过STM32F103C8T6+面板板+3只红绿蓝LED,搭建了电路,控制LED灯实现轮流闪烁 文章目录 通过STM32F103C8T6+面板板+3只红绿蓝LED,搭建了电路,控制LED灯实现轮流闪烁 ...

  5. 3.基础实验-实验01-点亮一个LED灯

    目录 3.1 实验01-点亮一个LED灯 3.1.1 STM32CubeMX软件配置 ​3.1.2 代码编写 3.1.3 编译与下载程序 3.1.4 查看实验结果 3.1 实验01-点亮一个LED灯 ...

  6. 【嵌入式系统开发09】重做LED灯以及串口通信查询

    [嵌入式系统开发09]重做LED灯以及串口通信查询 要求:安装 stm32CubeMX,配合Keil,分别尝试使用寄存器地址方式(汇编或C,不限) 和HAL库这两种方式,完成下列任务: 1.LED灯重 ...

  7. AT89C52利用定时器控制单个led灯闪烁

    AT89C52利用定时器控制单个led灯闪烁 keil芯片选择AT89C52 新建一个.c文件,将代码拷贝进去,然后保存. 然后将保存的.c文件加载到工程项目里面去. 设置好生产hex文件,就可以编译 ...

  8. 嵌入式开发学习之--点亮LED灯(上)

    在嵌入式学习里,点亮LED灯的地位就如同编程语言学习里的"hello world",是每个初学者都必须经历的一关,因为点亮了LED灯,至少可以说明几件事: 1.开发环境没问题,包括 ...

  9. Holtek合泰单片机 《四》 从TM定时器中断到led灯1s闪烁

    跳过中断直接讲TM中断是不是有些超前了? 由于最近参加了一个项目,真是忙的不要不要的,没办法,只有抽了点放假的时间来更新下自己的博文,希望对正在学习HT单片机的同学有帮助. 重庆合泰初赛是5月15日, ...

最新文章

  1. 1.4 w字,25 张图让你彻底掌握分布式事务原理
  2. 开发人员拟在澳洲建立一座价值5000万美元的BCH科技园
  3. 2020-2021年面向中小学生的全国性竞赛活动名单的公示
  4. 《漫画算法2》源码整理-7 第K大的数字
  5. JZOJ 5474. 【NOIP2017提高组正式赛】时间复杂度
  6. 【计算机图形学课程】一.MFC基本绘图函数使用方法
  7. EventBus设计与实现分析——事件的发布
  8. titanium开发教程-04-10移动rows
  9. linux事务隔离级别,事务的隔离级别(Transaction isolation levels)2
  10. 【2007-3】【分硬币】
  11. 【Java编程思想笔记】-集合1
  12. 解决由于一个软件限制策略的阻止,windows无法运行此程序cmd.reg
  13. static_cast vs dynamic_cast
  14. 【BIEE】超过了已配置的最大允许输入记录数
  15. 什么是正则表达式 ?
  16. MATLAB利用小波分析提取周期
  17. Ubuntu中挂载使用nas服务器
  18. 深圳小汽车车牌竞拍价格预测
  19. Github标星的Chrome 插件,开发者必备
  20. 朴素贝叶斯算法原理以及python实现

热门文章

  1. 黑防VIP会员工具包
  2. MSN pk QQ - 看软件重点用户体验
  3. Windows Server 2016 启用完整版任务管理器
  4. 四则混合运算的BNF推导过程
  5. 2017年8月14日套题记录 | 普及组
  6. 斗破苍穹网小说爬取,
  7. SQL Server 2012 随时随地管理数据
  8. charles抓app包教程_抓包工具--charles(青花瓷)及获取AppStore数据包
  9. K8s常见问题分析解决(未分类问题一)
  10. 5.关于laravel框架中Contorller