×
单片机 > 单片机程序设计 > 详情

ARM开发(1) 基于stm32的led跑马灯

发布时间:2020-06-02 发布时间:
|

一 跑马灯原理: 

1.1 本实验实现2个led的跑马灯效果,即2个led交替闪烁。


1.2 实验思路:根据电路图原理,给led相关引脚赋予高低电平,实现电路的导通,使led灯发光。


1.3 开发环境 : MDK5 库函数版本开发 JLINK仿真 

二 实验步骤: 

2.1 led.h代码: 

#ifndef __LED_H 

#define __LED_H 

“#include “sys.h” 

#define LED0 PBout(5)// PB5 

#define LED1 PEout(5)// PE5 

void LED_Init(void);// 初始化 

#endif 

2.2 led.c代码(IO配置): 

#include “led.h” 

void LED_Init(void) 

{


     GPIO_InitTypeDef  GPIO_InitStructure;


     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);    //使能PB,PE端口时钟 

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

     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //IO速度为50MHz


     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                //LED0-->PB.5端口配置

     GPIO_Init(GPIOB, &GPIO_InitStructure);                    //根据设定参数初始化GPIOB.5

     GPIO_SetBits(GPIOB,GPIO_Pin_5);                        //PB.5 输出高电平


     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                //LED1-->PE.5端口配置

     GPIO_Init(GPIOE, &GPIO_InitStructure);                      //根据设定参数初始化GPIOE.5

     GPIO_SetBits(GPIOE,GPIO_Pin_5);                          //PE.5 输出高电平

    }


2.2 main.c代码(实现跑马灯效果):


    #include "sys.h"

    #include "delay.h"

    #include "usart.h"

    #include "led.h"

    int main(void)

    { 

        delay_init();     //延时

        LED_Init();         //led初始化

        while(1)

            {   //led0亮,led1灭

                LED0 =0;

                LED1=1;

                delay_ms(300);

                //led0灭,led1亮

                LED0 =1;

                LED1=0;

                delay_ms(300);


            }

    } 


三 接线测试:


3.1 与板子接线测试效果良好,2个led交替闪烁,达到跑马灯效果。


关键字:ARM  stm32  led跑马灯

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈AVR中定时器几种工作模式