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

来源:互联网 发布:js字符串比较相等 编辑:程序博客网 时间:2024/05/17 23:04

一 跑马灯原理:
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交替闪烁,达到跑马灯效果。