zigbee基础实验-按键控制流水灯

电路原理图

zigbee基础实验-按键控制流水灯_第1张图片

分析

由于发光二级管单向导电特性,即只有在正向电压(二极管的正极接正,负极接负)下才能导通发光。所以 P1.0、P1.1、P1.4 引脚输出低电平 LED 亮,引脚输出亮电平 LED 熄灭。当 P0_1 引脚为低电平时说明按键被按下,高电平时为抬起状态。

指令配置

P1DIR |= 0x13;  // P1.0、P1.1、P1.4定义为输出
P1SEL = 0x00;    //初始化默认值
P1INP = 0x00;    //初始化默认值,P1.0,P1.1没有上下拉功能,其他接口默认为上下拉配置

P0SEL &= ~0x02;     //设置P0.1为普通IO口  
P0DIR &= ~0x02;     //按键接在P0.1口上,设P0.1为输入模式 
P0INP &= ~0x02;     //打开P0.1上拉电阻

实现功能

三个LED灯轮流点亮,然后同时点亮同时熄灭

注意事项

由于 D3 与仿真器共用,必须拔掉仿真器的插头才能看到 LED3 的变化。程序下载会保存在芯片中不会丢失的,用底板 usb 供电就可以看实验结果了。

程序

#include 

typedef unsigned char uchar;
typedef unsigned int  uint;

#define LED1 P1_0        // 定义P1.0口为LED1控制端
#define LED2 P1_1        // 定义P1.1口为LED2控制端
#define LED3 P1_4        // 定义P1.4口为LED3控制端
#define KEY1 P0_1        // 定义P0.1口为S1控制端
#define ON      0
#define OFF     1

void DelayMS(uint msec)
{ 
    uint i,j;
    
    for (i=0; i

 

你可能感兴趣的:(zigbee基础实验-按键控制流水灯)