9157|6

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

CC2530是如何控制继电器的 [复制链接]

就简单的设置输出引脚的高低电平?
此帖出自RF/无线论坛

最新回复

#include"ioCC2530.h" #define d1 P1_1 #define d2 P1_0 #define d3 P1_4 #define d4 P1_3 #define n1 P1_2 #define n2 P0_1 int flag=0; void ys(int t) {   int i,j;   for(i=0;i<t;i++)   {     for(j=0;j<240;j++)     {       asm("NOP");       asm("NOP");       asm("NOP");       //while(flag);     }   } } #pragma vector = P1INT_VECTOR    __interrupt void Int1_Sevice() {  if(P1IFG & 0x04)   {     while(n1==0)break;     ys(50);     while(n1==1)break;     if(flag==0)     {       flag=1;       P1SEL |=0x80;       P1DIR &=~0x80;       P2SEL |=~0x01;       P2DIR &=~0x01;     }      while(n2==0);     {       ys(50);       while(n2==1);       {          flag=0;          }     }      P1IFG &=~0x04;   }   P1IF=0;   } void main() {    //继电器   /*P1SEL &=~0x80;   P1DIR |= 0x80;   P2SEL &=~0x01;   P2DIR |=0x01;*/      P1SEL &= ~0x5F;            P1DIR |= 0x5B;             P1DIR &= ~0x04;       P0SEL &= ~0x02;        P0DIR &= ~0x02;           IEN2 |= 0x10;           P1IEN |= 0x04;         PICTL |= 0x02;           EA=1;    d1=1;d2=0;d3=0;d4=0;       while(flag==0)   {     if(n2==0)     {       ys(50);       if(n2==0)       {         while(1)         {           P1SEL &=~0x80;           P1DIR |= 0x80;           P2SEL &=~0x01;           P2DIR |=0x01;           d1=1;d2=0;d3=0;d4=0;           ys(500);           d1=0;d2=1;d3=0;d4=0;           ys(500);           d1=0;d2=0;d3=1;d4=0;           ys(500);           d1=0;d2=0;d3=0;d4=1;           ys(500);         }       }     }   } }   详情 回复 发表于 2021-1-29 13:48

点评

控制继电器电路网上很多,就是三极管放大,二极管什么续流什么的,自己找找!:)  详情 回复 发表于 2013-5-2 13:28
点赞 关注
 

回复
举报

1149

帖子

3

TA的资源

五彩晶圆(初级)

沙发
 

回复 楼主 nzw891115 的帖子

控制继电器电路网上很多,就是三极管放大,二极管什么续流什么的,自己找找!
此帖出自RF/无线论坛
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
就是用ZIGBEE CC2530外接继电器  代码如何修改?

jidianqi.jpg (46.78 KB, 下载次数: 9)

jidianqi.jpg
此帖出自RF/无线论坛
 
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

4
 
程序上就是给继电器高低电平就可以控制它的开关
此帖出自RF/无线论坛
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

5
 
求代码
此帖出自RF/无线论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

6
 
求代码
此帖出自RF/无线论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 

#include"ioCC2530.h"
#define d1 P1_1
#define d2 P1_0
#define d3 P1_4
#define d4 P1_3
#define n1 P1_2
#define n2 P0_1

int flag=0;
void ys(int t)
{
  int i,j;
  for(i=0;i<t;i++)
  {
    for(j=0;j<240;j++)
    {
      asm("NOP");
      asm("NOP");
      asm("NOP");
      //while(flag);
    }
  }
}

#pragma vector = P1INT_VECTOR   
__interrupt void Int1_Sevice()
{
 if(P1IFG & 0x04)
  {
    while(n1==0)break;
    ys(50);
    while(n1==1)break;
    if(flag==0)
    {
      flag=1;
      P1SEL |=0x80;
      P1DIR &=~0x80;
      P2SEL |=~0x01;
      P2DIR &=~0x01;
    } 
    while(n2==0);
    {
      ys(50);
      while(n2==1);
      { 
        flag=0;   
      }
    }  
   P1IFG &=~0x04;
  }
  P1IF=0;  
}

void main()

  //继电器
  /*P1SEL &=~0x80;
  P1DIR |= 0x80;
  P2SEL &=~0x01;
  P2DIR |=0x01;*/
  
  P1SEL &= ~0x5F;         
  P1DIR |= 0x5B;          
  P1DIR &= ~0x04; 
  
  P0SEL &= ~0x02;     
  P0DIR &= ~0x02;     
  
  IEN2 |= 0x10;        
  P1IEN |= 0x04;      
  PICTL |= 0x02;        
  EA=1; 
  d1=1;d2=0;d3=0;d4=0;
   
  while(flag==0)
  {
    if(n2==0)
    {
      ys(50);
      if(n2==0)
      {
        while(1)
        {
          P1SEL &=~0x80;
          P1DIR |= 0x80;
          P2SEL &=~0x01;
          P2DIR |=0x01;
          d1=1;d2=0;d3=0;d4=0;
          ys(500);
          d1=0;d2=1;d3=0;d4=0;
          ys(500);
          d1=0;d2=0;d3=1;d4=0;
          ys(500);
          d1=0;d2=0;d3=0;d4=1;
          ys(500);
        }
      }
    }
  }
}

此帖出自RF/无线论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表