一 跑马灯原理:

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

05-04 07:01