STM32流水灯的几种实现方法

发布者:清新心情最新更新时间:2019-10-21 来源: eefocus关键字:STM32  流水灯  实现方法 手机看文章 扫描二维码
随时随地手机看文章

#include “stm32f10x.h”

void RCC_Configuration(void);//2

void GPIO_Configuration(void);//GPIO

void Delay(u32 count)

{

u32 i=0;

for(;i}

int main(void)

{ RCC_Configuration();//3

LED_Init();


while(1)


{

GPIO_SetBits(GPIOA,GPIO_Pin_0);//第一灯亮


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_0); //第一灯灭


Delay(800000); //延时


GPIO_SetBits(GPIOA,GPIO_Pin_1); //第二灯亮


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_1); //第二灯灭


Delay(800000); //延时


GPIO_SetBits(GPIOA,GPIO_Pin_2); //第三灯亮


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_2); //第三灯灭

Delay(800000); //延时


GPIO_SetBits(GPIOA,GPIO_Pin_3); //第四灯亮


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_3); //第四灯灭


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_4);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_4); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_5);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_5); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_6);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_6); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_7);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_7); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_8);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_8); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_9);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_9); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_10);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_10); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_11);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_11); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_12);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_12); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_13);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_13); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_14);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_14); //


Delay(800000); //延时

GPIO_SetBits(GPIOA,GPIO_Pin_15);//


Delay(800000); //延时


GPIO_ResetBits(GPIOA,GPIO_Pin_15); //


  Delay(800000); //延时


}

}

void LED_Init(void)//GPIO

{

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);


GPIO_InitTypeDef   GPIO_InitStructure;         //结构体

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; 


GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure);


}

void RCC_Configuration(void) //1

{

ErrorStatus HSEStartUpStatus;

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);

}


}


流水灯还有几中实现方法如

用函数GPIO_Write 位置1 再左移 实现流水灯

关键字:STM32  流水灯  实现方法 引用地址:STM32流水灯的几种实现方法

上一篇:stm32入门——跑马灯(基于stm32f103zet6)
下一篇:STM32学习探究:流水灯的实现

推荐阅读最新更新时间:2024-11-09 12:31

关于STM32与SD卡通信的一些理解
SD的驱动和应用困扰了我很久,寒假的时候看到SD简化版物理层协议的时候就傻掉了,看到SD的驱动快3000行的代码也动摇了。这几天几种地看了一下SD卡的相关内容,总结了一些体会,感觉也没有那么恐怖了。我决定从分层上来讨论SD的驱动和应用,因为这样可以构建一个清晰的逻辑,且不知哪位计算机大师曾说过:一切计算机问题都可以用分层的方法来解决。 我自己把SD卡从驱动到应用共分为4层,从下至上依次为:驱动层、物理层、文件系统层、应用层。下面一一来介绍各层的一些重要的操作。 1)驱动层 驱动层,对应到ST的库,就是STM32f10x_sdio.c/.h这个两文件。其实使用任何一个STM32的外设,只要用库函数都离不开这一对互相对应的.c
[单片机]
单片机AT89C51--5.流水灯
1. 宏定义 勇define进行宏定义 #define uchar unsigned char //宏定义,不能加;是预处理指令不是语句 uchar i; 2. 函数的定义 函数类型 函数名(形式参数表) { 局部变量定义 函数体语句 } 3. 标准库中的循环移位函数 标准库函数: intrins.h 内部函数: 左移: _crol_ 右移: _cror_ #include reg52.h #include intrins.h #define uchar unsigned char //宏定义,不能加;是预处理指令不是语句 uchar i=0XFE; // 1111 11
[单片机]
单片机AT89C51--5.<font color='red'>流水灯</font>
STM32芯片的内部架构如何
STM32芯片主要由内核和片上外设组成,STM32F103采用的是Cortex-M3内核,内核由ARM公司设计。STM32的芯片生产厂商ST,负责在内核之外设计部件并生产整个芯片。这些内核之外的部件被称为核外外设或片上外设,如 GPIO、USART(串口)、I2C、SPI 等。 芯片内部架构示意图 芯片内核与外设之间通过各种总线连接,其中驱动单元有 4 个,被动单元也有 4 个,具体如上图所示。可以把驱动单元理解成是内核部分,被动单元都理解成外设。 ICode 总线 ICode总线是专门用来取指令的,其中的I表示Instruction(指令),指令的意思。写好的程序编译之后都是一条条指令,存放在 FLASH中,内核通过ICod
[单片机]
<font color='red'>STM32</font>芯片的内部架构如何
基于STM32设计的人体健康检测仪
一、项目介绍 当前文章介绍基于STM32设计的人体健康检测仪。设备采用STM32系列MCU作为主控芯片,配备血氧浓度传感器(使用MAX30102血氧浓度检测传感器)、OLED屏幕和电池供电等外设模块。设备可以广泛应用于医疗、健康等领域。可以帮助医生和病人更好地了解病情变化,提高治疗效果和生活质量。设备也可以用于健康管理、运动监测等场景,帮助用户了解自己的身体状况,保持健康的生活方式。 在项目中,使用了KEIL作为开发平台和工具,通过血氧模块采集人体的心跳和血氧浓度参数,并通过OLED屏幕显示现在的心跳和血氧浓度。同时,通过指标分析,提供采集到的数据与正常指标比对,分析被检测人员的健康状态。采集的数据可通过蓝牙或者WIFI传递给
[单片机]
基于<font color='red'>STM32</font>设计的人体健康检测仪
STM32单片机扩展下的IPUS SQPI PSRAM应用领域
PSRAM就是伪SRAM,内部的内存颗粒跟SDRAM的颗粒比较相似,但外部的接口跟SDRAM不同,不需要SDRAM那样复杂的控制器和刷新机制,PSRAM的接口跟SRAM的接口是一样的。 psram内部自带刷新机制。PSRAM也由初期的平行接口发展到串行接口,由SPI、Quad SPI (QPI) 和Octal SPI (OPI)几种串行接口,用于需要小型化的场合,能够提供带宽范围从100Mbps ~ 2.128Gbps的大范围。PSRAM容量有4Mb,8Mb,16Mb,32Mb,64Mb, 128Mb等等。 除了2G BB SiP,新的需求来自互联网语音流媒体数据的缓冲存储,如网络收音机、智能语音交互设备、智能语音交互机器
[单片机]
STM32系列芯片的命名规则
  示例:     从上面的料号可以看出以下信息:   ST品牌ARMCortex-Mx系列内核32位超值型MCU,LQFP-48封装闪存容量32KB温度范围-40℃-85℃;      1.产品系列:   STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU;   2.产品类型: F:通用快闪(FlashMemory);   L:低电压(1.65~3.6V);   F类型中F0xx和F1xx系列为2.0~3.6V;F2xx和F4xx系列为1.8~3.6V;   W:无线系统芯片,开发版。   3.产品子系列:   050:ARMCortex-M0内核;   051:ARMCortex-M0内核;  
[单片机]
<font color='red'>STM32</font>系列芯片的命名规则
015_STM32程序移植之_NRF24L01模块
引脚接线图如下所示 STM32引脚 NRF24L01引脚 功能 GND GND 3.3V 3.3V PB8 CE PB9 CSN PB13 SCK PB15 MOSI PB14 MISO PB12 IRQ STM32引脚 CH340引脚 GND GND 3.3V 3.3V TXD RXD RXD TXD NRF24L01分为主从,就是一个发送一个接受,两个的接线图都是按照上面的来进行接线 移植程序 移植成功发送程序之后进行复制成为接受程序,并更改main.C就行了 将
[单片机]
IAR环境下ucosii在STM32上的移植
Ucosii移植到STM32上 1.使用的开发环境是IAR 5.4 STM32芯片为STM32F103ZET6 使用ST官方提供的标准固件库,建立工程, 我下载的苦艰苦的版本为STM32F10x_StdPeriph_Lib_V3.5.0,里面的文件分布为: 其中,Libraries文件夹里面放的是标准库文件,Project文件夹里面放的是STM32的各个外设的使用范例和一个工程模板,Utilities文件夹里面放的是ST公司的评估板例子,剩下的文件就是教我们怎样使用标准库,而我们主要使用的就是Libraries和Project里面的文件。 1.1首先新建stm32这个文件夹,在里面再新建3个文件夹include,proj
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved