单片机学习小组
直播中

倪love

11年用户 870经验值
私信 关注

如何利用CC2530控制灯光?

如何利用CC2530控制灯光?

回帖(1)

李中宏

2022-1-25 09:47:47
开始学习物联网,和大家分享一些想法,也是督促自己不断努力ᕦ(・ㅂ・)ᕤ
学习的是CC2530,第一课从简单的灯光开始!
原理
这个主要就是通过P1DIR(0xFE)
即P1口输入输出设置寄存器,0:输入,1:输出
P1_0(P1.0)定义输出口1时,当输出低电平0时,D2黄灯亮
P1_1(P1.1)定义输出口1时,当输出低电平0时,D1蓝灯亮
引入延时函数,就可以达到闪烁的效果


代码
#include //把 CC2530 的头文件包含进来
#define uint unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define YLED P1_0 //定义 YLED 为 P10 口控制
#define BLED P1_1 //定义 BLED 为 P11 口控制
//函数声明
void Delay(uint); //延时函数声明
void InitIO(void); //初始化函数声明
/****************************
//延时
*****************************/
void Delay(uint n)
{
uint i,j;
for(j = 0; j<5; j++)
{
for(i = 0;i } }
/****************************
//初始化程序,将 P10、P11 定义为输出口,并将 LED 灯初始化为灭
*****************************/
void InitIO(void)
{
P1DIR= 0x03; //P10、P11 定义为输出
BLED = 1;
YLED = 1; //LED 灯初始化为灭
}
/***************************
//主函数
***************************/
void main(void)
{
InitIO();
while(1)
{
   for(int i=0;i<5;i++)
   {
    YLED = 0;
    Delay(5000);
    YLED = 1;
    Delay(5000);
   }
   for(int i=0;i<5;i++)
   {
    BLED = 0;
    Delay(5000);
    BLED = 1;
    Delay(5000);
   }

   for(int i=0;i<5;i++)
   {
    BLED = 0;
    YLED = 1;
    Delay(5000);
    BLED = 1;
    YLED = 0;
    Delay(5000);
   }


}
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分