一 跑马灯原理:

 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开发(1) 基于STM32的LED跑马灯的更多相关文章

  1. 基于am3358的led跑马灯測试

    #include <sys/ioctl.h> #include<stdio.h> #include <fcntl.h> #include <sys/types ...

  2. 嵌入式02 STM32 实验04跑马灯

    开学STM32 跑马灯的实验主要就是了解GPIO口的配置及使用,我这里是使用库函数进行编程,主要需要设置以下两方面: 1.使能需要使用的IO口的时钟,一共有A.B.C.D.E.F.G七组IO口 2.初 ...

  3. 【雕爷学编程】Arduino动手做(56)---8路LED跑马灯模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  4. led跑马灯多种方法(移位法,位拼接法,调用模块法,位移及位拼接语法,testbench的理解,源文件的存储路径,计数器的个数,调用模块的方式)

    跟着教程写了几种方法,才发现自己写的虽然能实现,但比较繁琐.教程有三种方法: 1.移位法,每次左移一位,相比我自己写的,优点是不用把每一种情况都写出来.但是需要考虑左移到最后一位时需要自己再写个赋值语 ...

  5. led跑马灯(模糊时钟ambiguous color,非法字符 non printable character,寄存器初值,计数器计数注意事项)

    1.设计定义 让8个led以100ns的速度循环闪烁. 2.设计输入 循环闪烁,还是周期问题,用时钟驱动,所以需要一个时钟信号clk.再给一个复位输入reset,八个输出led信号. 每100ns只有 ...

  6. 安卓LED跑马灯 超炫酷的表白神器破解版

    链接:https://pan.baidu.com/s/11Wxll4iLdcEPq0wUBK6Ong 提取码:all4

  7. 【Android】Android开发可以手动进行控制的跑马灯效果,包括从左到右,以及从右到左,

    作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...

  8. 自定义有焦点的TextView实现广告信息左右一直滚动的跑马灯效果

    import android.content.Context; import android.text.TextUtils; import android.util.AttributeSet; imp ...

  9. ARM开发(2)基于STM32的蜂鸣器

    基于STM32的蜂鸣器 一 蜂鸣器原理:  1.1 本实验实现1个蜂鸣器间隔1S鸣叫.  1.2 实验思路:根据电路图原理,给蜂鸣器相关引脚赋予高低电平,实现电路的导通,使蜂鸣器实现鸣叫或不鸣.  1 ...

随机推荐

  1. 简单vue项目脚手架(vue+webpack2.0+vuex+vue-router)

    github地址 使用技术栈 webpack(^2.6.1) webpack-dev-server(^2.4.5) vue(^2.3.3) vuex(^2.3.1) vue-router(^2.5.3 ...

  2. 网购的一套UI代码的始末

    引言: 一个商业项目的需要,又因为时间紧迫的关系,准备购买一套简洁,易用,可定制化强的UI,经过对国内外多家UI产品进行了对比, 包括:FineUI, EasyUI, EXT.NET, EXTJS, ...

  3. Cordova各个插件使用介绍系列(二)—$cordovaBarcodeScanner扫描二维码与生成二维码

    详情链接地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-2-cordovabarcodescanner/ 这是 ...

  4. LinCode 刷题 之二叉树最小深度

    http://www.lintcode.com/zh-cn/problem/minimum-depth-of-binary-tree/  题目描述信息 /** * Definition of Tree ...

  5. 开源Inno Setup官网下载、安装、打包教程(官网安装向导中文语言包)

    安装Inno Setup篇 1.搜索Inno Setup 2.下载Inno Setup 3.选择下载最新 innosetup-5.5.9-unicode.exe 版本(innosetup-5.5.9. ...

  6. ByteBuffer源码分析

    在进行数据传输的时候,往往需要使用到缓冲区,常用的缓冲区就是JDK NIO类库中提供的java.nio.Buffer,实现类如下: 在使用NIO编程时,最常用的是其中的ByteBuffer,本篇分析B ...

  7. php第三方类库定时任务

    <?php /** * Created by PhpStorm. * User: hanks * Date: 5/27/2017 * Time: 3:11 PM */ //2 .常驻内存的各种P ...

  8. php中的命名空间

    a.php <?php namespace a\b; class Apple{ function get_info(){ echo 'aaa'.'<br/>'; } } ?> ...

  9. [leetcode-485-Max Consecutive Ones]

    Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: [1, ...

  10. AJAX请求小项目

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...