单片机学习小组
直播中

河神大人

8年用户 1466经验值
擅长:电源/新能源
私信 关注

如何利用CC2530按键控制灯的亮与灭?

如何利用CC2530按键控制灯的亮与灭?

回帖(1)

丛聪

2022-1-25 14:08:24

#include
#define D1 P1_0
#define D2 P1_1
#define SW1 P1_2

void Init_Port()
{
  P1SEL &= ~0X03;
  P1DIR |= 0X03;
  P1 &= ~0X03;
}
void Init_KEY()
{
  P1SEL &= ~0X04;
  P1DIR &= ~0X04;
}
void delay(int time)
{
  int i,j;
  for(i=0;i     for(j=0;j<240;j++);
}
void main()
{
  Init_Port();
  Init_KEY();
  while(1)
  {
    if(!SW1)
    {
      delay(50);
      if(!SW1)
      {
        while(!SW1);
        D1 ^= 1;
        D2 ^= 1;
      }
    }
   
  }
}
1. 端口1功能选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I/O,默认值都为0。
2. 端口1方向选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为输入引脚,若设置为1,则将相关引脚设为输出引脚,默认值都为0。
3. 端口1输入模式寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为上拉/下拉模式,若设置为1,则将相关引脚设为三态模式,其中P1_0和P1_1没有上拉/下拉功能,可以不用配置,默认值都为0。

再来看看与按键S1(P0_1)配置相关的寄存器。
1. 端口1功能选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I/O,默认值都为0。
2. 端口1方向选择寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为输入引脚,若设置为1,则将相关引脚设为输出引脚,默认值都为0。
3. 端口1输入模式寄存器。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为上拉/下拉模式,若设置为1,则将相关引脚设为三态模式,其中P1_0和P1_1没有上拉/下拉功能,可以不用配置,默认值都为0。



举报

更多回帖

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