原创 LED控制

2014-11-5 11:05 891 15 15 分类: MCU/ 嵌入式 文集: 导学

LED控制


给你一个节点和两个LED灯,你能想到什么功能的应用呢?

是不是让LED闪啊闪,按照某个规律重复地变化?

我们的第一步任务,就是基于给出的两个函数:一个设置LED状态的函数和一个延时的函数,实现让LED按指定规律亮灭的应用。

在开始编程之前,我们还需要购置硬件和安装软件

自学了IAR的安装和使用之后,请下载附件,双击McuBasic\Applications\01_Led\IAR_files目录下的工作区文件Terminal.eww。

关掉打开的所有源文件,重新双击打开main.c文件,选择“重新编译”。(只有第1次复制项目目录后需要“关掉源文件、重新编译”,后续的代码修改后仅需“编译”)。

 


 

观察main()函数实现。

打开modHwExt.h,观察modSetLedState()函数的声明;

打开modSys.h,观察modDelay()函数的声明;

对于初学c语言的读者,对照例程理解:

  • 函数调用,输入参数、输出参数、返回值;
  • #include,#define宏;
  • while()循环;

练习:
  1.修改代码,实现如下效果:
  • 第1步,LED0亮,LED1灭,持续0.5秒;
  • 第2步,LED0亮,LED1亮,持续0.5秒;
  • 第3步,LED0灭,LED1亮,持续0.5秒;
  • 第4步,LED0亮,LED1灭,持续0.5秒;
  • 第5步,LED0灭,LED1灭,持续1秒;
  • 循环;
  2. 自行设计效果方案,自行实现;

  3. 令LED0闪烁,LED1长灭。缩短LED0闪烁间隔,看看延时值多少时感觉不到闪烁的效果。必要时尝试使用modDelayUs()函数;

  4. 假设LED亮的时间加上LED灭的时间称为LED一次闪烁的周期,令闪烁周期不变,改变LED亮的时间长度,观察效果;

  5. 自学c语言for语句,使用for语句,使LED亮的时间占闪烁周期的百分比由10%递增到90%,每个百分比持续约1秒时间,闪烁周期选为感觉不到闪烁效果的值。观察效果;

 


练习都做完啦?恭喜你!第一步过了。

 

下一步,你可以选择学习按键的使用或者进一步了解LED控制函数是怎样实现的。

 

主索引

使用控件 控件设计
1.2 简单按键判断函数 1.1  简单LED控制函数的实现
  附件

 zip.gifMcuBasic.zip
  参考链接
 

 

文章评论0条评论)

登录后参与讨论
我要评论
0
15
关闭 站长推荐上一条 /2 下一条