cc2530睡眠计时器

 #include "iocc2530.h"
#define LED1 P1_0
#define LED2 P1_1
void led (void){
    P1SEL &=~0X03;
    P1DIR |= 0X03;
}
void yc(int name){
    int i,j;
    for(i=0;i<name;i++){
      for(j=0;j<535;j++){
        
      }
    }
}
void ts_init(char mo){//系统模式
  if(mo<4){//睡眠
    SLEEPCMD |=mo;
    PCON =0X01;
  }else{//正常
    PCON =0X00;
  }
}
#pragma vector=ST_VECTOR
__interrupt void st_1(void){
    STIF=0;
    ts_init(4);
}
void initst(void){
     ST2=0X00;//
     ST1=0X0F;//
     ST0=0X0F;//可以写00,00,00
     EA=1;
     STIE=1;
     STIF=0;
}
void szsj(int a){
    long b=0;
    b |=ST0;
    b |=(long)ST1<<8;
    b |=(long)ST2<<16;
    b +=((long)a*(long)32768);
    ST2 |=(char)(b>>16);
    ST1 |=(char)(b>>8);
    ST0 |=(char)b;
}
void main(void){
    
    led();
    initst();
    while(1){
      int i;
      for(i=0;i<6;i++){
        LED1 =~LED1;
        yc(2000);
      }
      szsj(3);
      ts_init(2);
      LED2=~LED2;
      yc(2000);
      LED2=~LED2;
      yc(2000);
      LED2=~LED2;
    }
}

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值