tag 标签: 跑马灯

相关博文
  • 热度 29
    2013-1-9 17:09
    1303 次阅读|
    2 个评论
    第六章 跑马灯实验           STM32最简单的外设莫过于IO口的高低电平控制了,本章将通过一个经典的跑马灯程序,带大家开启STM32之旅,通过本章的学习,你将了解到STM32的IO口作为输出使用的方法。在本章中,我们将通过代码控制ALIENTEK战舰STM32开发板上的两个LED:DS0和DS1交替闪烁,实现类似跑马灯的效果。 本章分为如下四个小节:     6.1, STM32 IO口简介     6.2, 硬件设计     6.3, 软件设计     6.4, 仿真与下载 详细内容和源码,见附件
  • 热度 33
    2012-4-4 12:41
    3333 次阅读|
    6 个评论
    上一篇:" 《学习ARM7从跑马灯和蜂鸣器开始(一)》 7.写代码实现跑马灯 下面是led实验工程代码main.c中的代码内容 #include "config.h" #include "delay.h" 上面两条语句用来包含config.h和delay.h两个头文件,因为下面要用到的uint32,IO0DIR等寄存器,还有delay()函数等内容都定义在这些头文件里面。 #define LED_1 10 #define LED_2 11 #define LED_3 12 上面四条语句用来定义四个led等所在引脚的位置,便于程序使用。 #define LED1_TO_3 (LED_1|LED_2|LED_3) 上面这条语句把四个LED灯所在引脚或运算后定义到一个常量LED1_TO_3中,也是为了方便程序编写。 /**************************************************************************** * 名称:initSystem() * 功能:初始化IO ****************************************************************************/ void initSystem(void) { PINSEL1 = PINSEL1 (~(0xff12)); //led1~3设置为GPIO IO0DIR=IO0DIR | LED1_TO_3; //led1~3设置为输出功能 IO0SET=IO0SET | LED1_TO_3; //led1~3同时输出高 } 上面的initSystem函数是为了初始化cpu的各个IO脚的状态,及设置四个LED灯所在IO脚的状态,并初始化它们。 /**************************************************************************** * 名称:Led_On(uint32 num) * 功能:点亮LED ****************************************************************************/ void Led_On(uint32 num) { IO0SET=IO0SET | LED1_TO_3; //所有的led灭 IO0CLR=IO0CLR | num; //点亮num } 上面的这个函数是为了点亮所给led号,其中参数num就是传进来的参数,代表哪个LED。 /**************************************************************************** * 名称:main() * 功能:初始化led,并实现3个led灯轮流闪烁的效果。 ****************************************************************************/ int main(void) { initSystem(); while(1) { Led_On(LED_1); delay(10); Led_On(LED_2); delay(10); Led_On(LED_3); delay(10); } return 0; } Ads的安装使用方法见附录一。 四、独立写第一个程序:蜂鸣器 如果,跑马灯完全搞懂了,蜂鸣器程序是可以独立完成的。
  • 热度 36
    2012-4-4 12:34
    4258 次阅读|
    4 个评论
    LPC2136的内存结构 前面的两个程序“跑马灯”和“蜂鸣器”是你嵌入式职业生涯的一个美好开端,之所以先运行程序,然后讲理论知识,是为了通过实验让学生产生兴趣,再通过实验引出理论知识。 我举一个我曾经学吉他的例子:我读中学的时候有一次去我外婆家,看到我一个舅舅拿着吉他在拨弄,我第一次看到这种乐器,而且第一次被这么优美的声音吸引。上大学第一个学期,我就买了吉他,但是我发现所有吉他教科书上都是从那些枯燥无味的五线谱和指法开始。到吉他老师哪里去听课,也是从这些枯燥无味的东西开始。如果不是狂热爱好者,从一开始就练这些枯燥的东西是坚持不下去的。为什么这么做的,教科书和老师都是说,如果一开始不练指法,就开始弹歌曲会把手型搞坏,后来纠正起来很麻烦。 可是,对吉他的热爱,使我买了吉他后第一件事就是弹一只歌曲,而不是练那些枯燥无味的五线谱和指法!我这样做的目的,第一是让我感觉到自己能用吉他弹唱歌曲的成就感,同时在宿舍,班级同学中有种自豪感。 我当时练了两只歌,一首是单玄《其实你不懂我的心》,另一首是扫玄《对面的女孩看过来》。我把这两首歌练好后,才开始练指法,指法确实是枯燥无味的,但必须坚持,我就是在练指法累了,乏味了的时候弹唱一曲来进行调节坚持下去的。当时,有几个宿舍同学也买了吉他,但是没有一个坚持下去的。 LPC2136是ARM7架构,是32位地址总线和数据总线,可以寻址的范围为2的32次方=4GB(0x00000000~0xFFFFFFFF) 我们的程序在哪里运行? 还记得我们在做“跑马灯”和“蜂鸣器”两个实验,用ads1.2中建立工程文件的时候有设置三个地址: RO Base :0x40000000 RW Base :0x40001000 Image entry point :0x40000000 开始没有讲为什么,通过上面的系统存储器映射图解不知大家是否有所悟。LPC2136内部自带32KB RAM和256KB FLASH。 32KB RAM分布在整个CPU存储器空间的0x40000000~0x40007FFF; 256KB FLASH分布在整个CPU存储器空间的0x00000000~0x0003 FFFF; RO Base是告诉编译系统把编译生成的目标码放在0x40000000起始的位置,也就是代码段存放在0x40000000开始的位置。 RW Base告诉编译系统把各种变量(常量放在RO开始的位置),堆栈放在0x40001000起始的位置。 Image entry point:是告诉编译系统程序入口点在0x40000000,即程序从这个地址开始执行。(此部分在附录二中细说) Flash与RAM的区别 通过以上所说,好像FLASH在这里没什么用,如果你的RO地址定位在RAM中,那么FLASH确实没有用。但FLASH是必须的功能部件。 Flash的作用也许要从其与RAM的区别说起: 区别一:RAM是易失性存储器,Flash是非易失性存储器。通俗的说,存储在RAM中的数据掉电后数据丢失;而存储在FLASH中的数据掉电后任然保持。(必须通过工具或特殊命令来擦除) 区别二:RAM是可读写存储器,Flash只读存储器。(也许有人要问,Flash难道不能写吗?Flash可以写,但不能象RAM一样做简单赋值操作,必须通过Flash写命令写,而且写入数据的最小单位为512字节,即一个扇区) 区别三:RAM访问速度快,而Flash访问速度慢的多。 区别四:RAM价格昂贵,Flash便宜。 FLASH有何用途 我们一般在调试程序的时候为了提高开发进度,都把程序放在RAM中调试,在RAM中调试有一个缺陷就是每次上电必须下载程序到板子上,当产品的各个模块调试OK,产品就要实现脱机功能,即把程序烧写到FLASH中,这样就不需要每次上电加载程序。我们手中拿的手机,在开发阶段都是在RAM(SDRAM)中调试的,开发完成,要发布的时候就把程序烧到FLASH,这样我们开机有能运行FLASH的程序。
相关资源
  • 所需E币: 2
    时间: 2023-5-4 14:06
    大小: 2.11MB
    上传者: 木头1233
    基于ATmega8单片机跑马灯设计Proteus仿真源程序
  • 所需E币: 2
    时间: 2023-4-20 14:11
    大小: 31.37KB
    上传者: 木头1233
    基于FPGA的跑马灯显示设计资料源代码
  • 所需E币: 2
    时间: 2023-4-20 14:18
    大小: 310.27KB
    上传者: 木头1233
    基于STM32单片机跑马灯使用库文件设计源代码
  • 所需E币: 0
    时间: 2022-4-22 09:37
    大小: 2.2MB
    上传者: 步控电子科技
    步骤编程学习_跑马灯 简介
  • 所需E币: 1
    时间: 2021-4-7 16:39
    大小: 16.9KB
    上传者: zendy_731593397
    我们学习如何让跑马灯自动按照我们预定的顺序进行。这种控制在工控场合经常用到。这个程序里,我们预先定义了一个变化的顺序speedcode,每跑一圈灯就根据预定设置的表格数据来决定下一圈的跑马速度。这样我们就实现了按照预定的顺序自动变化运行包括说明文档,源代码
  • 所需E币: 1
    时间: 2021-4-7 16:37
    大小: 22.2KB
    上传者: zendy_731593397
    我们要用一个按键来实现跑马灯的10级调速。这又会涉及到键的去抖的问题。本次的试验结果是,每按一次按键,跑马速度就降低一级,共10级。这里我们又增加了一个变量speedlever,来保存当前的速度档次。在按键里的处理中,多了当前档次的延时值的设置包括说明文档,源代码
  • 所需E币: 1
    时间: 2021-3-29 11:40
    大小: 21.19KB
    上传者: zendy_731593397
    包括说明文档和源代码主要功能是实现用4个按键,控制跑马灯的4种不同的跑动速度
  • 所需E币: 1
    时间: 2021-3-29 11:38
    大小: 20.63KB
    上传者: zendy_731593397
    包括说明文档和源代码使用一个定时器跑马灯工作方式,但是我们让跑动的速度自动变化,从慢到快。相对于跑马灯试验,我们新设置了一个变量speed,用来保存跑马灯的移动速度,其实也就是定时器的累计时间溢出次数。我们在程序中修改speed的数值,溢出的时间就会改变,跑马灯的移动速度也就改变了。我们是在每循环跑完一圈,就改变一次速度的。
  • 所需E币: 1
    时间: 2021-3-29 11:36
    大小: 20.26KB
    上传者: zendy_731593397
    包括说明文档和源代码这里我们用定时器方式实现跑马灯,定时器方式有效率高,定时准确等优点在这个例程中,原先1秒钟输出信号,被换成了一个全局标记。在主程序中去检查这个标记,再清0标记和处理相应的工作。这个的跑马灯输出方式也改变了,我们采用查表的方式,将要点亮的灯预先设置好,到了时间,就一起送到P1口。这样,程序的执行效率会更高
  • 所需E币: 1
    时间: 2021-3-19 19:28
    大小: 35.71KB
    上传者: zendy_731593397
    本例为跑马灯的源代码这里实现跑马灯的方法是,依次灭掉前一个灯和点亮后一个灯,再延时一会,不断循环,就可以看到跑马灯的效果了。请在编译后,进入仿真,点全速运行看结果
  • 所需E币: 0
    时间: 2021-3-22 18:14
    大小: 312.76KB
    上传者: Goodluck2020
    FPGA入门系列实验教程——跑马灯.zip
  • 所需E币: 0
    时间: 2021-3-17 16:55
    大小: 7.09MB
    上传者: Argent
    arm公司设计的内核在电子产品MCU中仍占据主流,其设计的armcortex内核有多个系列,根据产品设计需求选择相应的类型,而Cortex-M系列是面向具有确定性的微控制器应用的成本敏感型解决方案,分享关于Cortex-M3的综合性讲解资料,欢迎下载阅读。
  • 所需E币: 0
    时间: 2021-3-17 16:56
    大小: 4.14MB
    上传者: Argent
    arm公司设计的内核在电子产品MCU中仍占据主流,其设计的armcortex内核有多个系列,根据产品设计需求选择相应的类型,而Cortex-M系列是面向具有确定性的微控制器应用的成本敏感型解决方案,分享关于Cortex-M3的综合性讲解资料,欢迎下载阅读。
  • 所需E币: 0
    时间: 2021-3-17 16:56
    大小: 5.15MB
    上传者: Argent
    arm公司设计的内核在电子产品MCU中仍占据主流,其设计的armcortex内核有多个系列,根据产品设计需求选择相应的类型,而Cortex-M系列是面向具有确定性的微控制器应用的成本敏感型解决方案,分享关于Cortex-M3的综合性讲解资料,欢迎下载阅读。
  • 所需E币: 0
    时间: 2020-9-6 22:36
    大小: 430.56KB
    上传者: czdian2005
    FPGA入门系列实验教程——实验四.LED跑马灯
  • 所需E币: 3
    时间: 2019-12-27 20:13
    大小: 4.34MB
    上传者: wsu_w_hotmail.com
    简单的跑马灯程序……
  • 所需E币: 5
    时间: 2019-12-25 21:03
    大小: 119.2KB
    上传者: quw431979_163.com
    Proteus实例……
  • 所需E币: 4
    时间: 2019-12-25 12:17
    大小: 41.53KB
    上传者: 2iot
    跑马灯实验……
  • 所需E币: 3
    时间: 2019-12-25 10:22
    大小: 41.53KB
    上传者: wsu_w_hotmail.com
    C实验——跑马灯实验……
  • 所需E币: 4
    时间: 2019-12-25 01:37
    大小: 16.5KB
    上传者: 238112554_qq
    与板子附带的程序一样……