ARM开发(1) 基于STM32的LED跑马灯

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


         

转载于:https://www.cnblogs.com/wzp2017/p/7233531.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值