小蜜蜂笔记
嵌入式开发与物联网应用教育践行者

【CC2530应用开发03】LED跑马灯的原理与实现

教学内容与重难点

【内容01】掌握CC2530通用I/O输出端口的初始化。
【内容02】理解跑马灯的控制原理与代码设计思路。
【内容03】完成实训项目:LED跑马灯的实现。
——–学生实践实操,老师讲解演示。
【内容04】专创融合专题。

【重点】实训项目: LED跑马灯的实现。
【难点】功能选择寄存器PxSEL和方向寄存器PxDIR的正确设置。

教学单元核心内容与学习资源

实训案例:LED跑马灯的实现

新建工程,编写代码,在XMF09B/XMF09C开发套件上,完成以下任务:
1-设计端口初始化函数Init_Port(),配置D3、D4、D5、D6灯的引脚。
2-设计跑马灯函数LED_Running(),实现D4点亮,延时,D3点亮,延时,D6点亮,延时,D5点亮,延时;D4熄灭,延时,D3熄灭,延时,D6熄灭,延时,D5熄灭,延时。
3-在main()函数中,反复调用LED_Running(),实现跑马灯功能。

#include "ioCC2530.h"

#define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
/*=======================简单的延时函数========================*/
void Delay(unsigned int t)
{
  while(t--);
}
/*=======================端口初始化函数========================*/
void Init_Port()
{
  //1-设置4个引脚为通用I/O
  P1SEL &= ~0x1B;           //0001 1011 -->  1110 0100
  //2-设置4个引脚的方向:输出
  P1DIR |= 0x1B;            //0001 1011
  //3-关闭4个LED灯
  D3 = 0;
  D4 = 0;
  D5 = 0;
  D6 = 0;
}
/*=======================跑马灯控制函数========================*/
void LED_Running()
{
  D4 = 1;                   //点亮D4灯
  Delay(60000);             //延时
  D3 = 1;                   //点亮D3灯
  Delay(60000);             //延时
  D6 = 1;                   //点亮D6灯
  Delay(60000);             //延时
  D5 = 1;                   //点亮D5灯
  Delay(60000);             //延时

  D4 = 0;                   //熄灭D4灯
  Delay(60000);             //延时
  D3 = 0;                   //熄灭D3灯
  Delay(60000);             //延时
  D6 = 0;                   //熄灭D6灯
  Delay(60000);             //延时
  D5 = 0;                   //熄灭D5灯
  Delay(60000);             //延时
}
/*==========================主函数============================*/
void main()
{
  Init_Port();              //初始化4个LED灯的引脚
  while(1)
  {
    LED_Running();          //循环实现跑马灯的控制
  }
}

【视频教程】: LED跑马灯的实现

赞(13)
未经允许不得转载:小蜜蜂笔记 » 【CC2530应用开发03】LED跑马灯的原理与实现

小蜜蜂笔记 更专业 更方便 更高效

联系我们精品小店