zigbee实验一

涉及寄存器如下涉及寄存器如下涉及寄存器如下GPIO输出控制实验------控制LED灯亮灭


                                                                                                                                                                                                      



 涉及寄存器如下:

PXINP---------端口输入模式(0:上拉/下拉   1:三态)

 PXDIR--------端口方向寄存器(0:输 入

 PXSEL-------端口功能选择(0:通用I/O口    1:外设)

 P1:端口1 

程序

/****************************************************************************
* 文 件 名: main.c
* 描    述: GPIO输出控制实验1 操作IO口控制LED灯的亮和灭
****************************************************************************/
#include

typedef unsigned char uchar;
typedef unsigned int  uint;

#define LED1 P1_0                //定义P1.0口为LED1控制端


/****************************************************************************
* 名    称: DelayMS()
* 功    能: 以毫秒为单位延时,系统时钟不配置时默认为16M(用示波器测量相当精确)
* 入口参数: msec 延时参数,值越大,延时越久
* 出口参数: 无
****************************************************************************/
void DelayMS(uint msec)
{
    uint i,j;
   
    for (i=0; i         for (j=0; j<535; j++);
}

/****************************************************************************
* 名    称: InitLed()
* 功    能: 设置LED灯相应的IO口
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void InitLed(void)
{
    P1DIR |= 0x01;               //P1.0定义为输出口    0000 0001    “|=”只影响当前位,直接赋值会改变之前的值
}

/****************************************************************************
* 程序入口函数
****************************************************************************/
void main(void)
{    
    InitLed();                   //设置LED灯相应的IO口

    while(1)                     //死循环
    {
        LED1 = 0;                //点亮LED1     
        DelayMS(1000);           //延时1秒

        LED1 = 1;                //LED1熄灭
        DelayMS(1000);           //延时1秒
    }   
}



你可能感兴趣的:(zigbee实验一)