zigbee学习笔记(1)

@[TOC]zigbee学习笔记(1)

引脚定义:

如果引脚作为普通的输入输出来点灯或者检测按键输入之类的功能,这样的引脚就是普通IO口。
配置IO口功能的寄存器有:PxSEL、PxDIR、PxINP
PxSEL(0xF3) 端口功能的选择寄存器(即设置引脚是普通引脚还是特殊引脚(如RXD和TXD))
PxDIR(0xFD) 端口方向寄存器
PxINP(0x8F) 端口输入模式配置寄存器

如将P0_0作为输出引脚,应该要怎么配置寄存器?
让P0_0作为普通IO口,非片上外设。 P0SEL &= 0xFE; //1111 1110
让P0_0作为输出用,非输入检测用。 P0DIR |= 0x01;(将P0DIR对应的为置为1(芯片复位后默认为 0,即输入检测))。

如将P1_5作为按键输入引脚(下降沿模式),应该要怎么配置寄存器?
P1SEL &= 0xDF; //1101 1111
P1DIR &= 0x20; //0010 0000
选择上拉、下拉、或三态中的一种:在这里我们将P1_5设位上拉模式,对应的控制位为P1INP的第5位,即:P1INP &= 0xDF; //1101 1111,因为在单片机上电复位后这个寄存器默认为0,所以通常引脚默认工作在普通io口,输入、上拉模式。

中断配置:

某引脚需要产生中断的配置条件:
1、cpu中断开关打开
EA = 1 ; //总中断打开

2、引脚所在的组开关打开
        P0组的中断开关在  IEN1  的第5位
        P1组的中断开关在  IEN2  的第4位
        P2组的中断开关在  IEN2  的第1位

3、引脚的开关打开
                        位
        P0IEN        8            //如果要把P0_2这个脚的开关打开我们就要把P0IEN的第3位设为1
        P1IEN        8
        P2IEN        8

4、配置到底是上升沿还是下降沿产生中断
        把PICTL对应的上升沿还是下降沿触发设为想要的
                PICTL寄存器
                    D7                D6        D5        D4            D3                   D2                D1                D0
                I/O驱动能力    未用     未用        未用      P2_0~P2_4    P1_4~P1_7    P1_0~P1_3    P0_0~P0_7
               0代表上升沿触发           
               1代表下降沿触发

#pragma vector = PxINT_VECTOR //打开Px组的开关
__interrupt void fun()
{

PxIFG = 0;                //这个寄存器有8为分别是Px这一组里面的8个引脚的标志,如果某个引脚的中断产生的话,
                                //那么它就会变成1,所以我们出中断函数时必须要把他清零
PxIF = 0;                  //cpu的中断标识位清零

}

你可能感兴趣的:(zigbee学习,单片机)