CC2530学习-点亮LED灯以及基本寄存器

CC2530学习笔记

CC2530有21个数字I/O,其中P0和P1是8位端口,P2仅有5位可以使用。实际开发可用I/O端口只有17个。可配置为通用I/O端口,或外部设备I/O。输入端口都可以配置成外围中断源的输入引脚。P-0和p-1没有上拉和下拉能力。p-0和p-1有20ma高驱动输出,其余I/O引脚是4ma的驱动能力。

特殊功能寄存器(SFR),对特殊功能寄存器进行读写操作,某些特殊寄存器可以位寻址。每个特殊功能寄存器都会起一个名字,设计时要引入头文件“ioCC2530.h”,才能直接使用名字。

通用寄存器相关的常用寄存器有4个:
1,PxSEL:端口功能选择,设置端口是通过I/O还是外设功能端口。
2,PxDIR:作为通用I/O时,用来设置数据的传输方向。
3,PxINP:作为通用输入端口时,选择输入模式还是上拉或者下拉,三态。
4,Px:数据端口,用来控制端口的输入或者获取端口的输入。

PxSEL寄存器与PxDIE寄存器
在这里插入图片描述

P0INP寄存器与P1INP寄存器配置状态要结合P2INP一起配置。
在这里插入图片描述

P2INP寄存器
在这里插入图片描述

实现代码如下:

#include "ioCC2530.h"   //引用“ioCC2530”

#define D1 P1_1       //宏定义P_1

void delay(unsigned int t)   //不精确的延时函数
{
    while (t--);
    
}

void Pin_init()         //配置寄存器
{
    P1SEL &= ~0x02;  //选择端口这里选择的P1_1。配置0000 0010转换0x02
    P1DIR |= 0x02;   //将P1_1配置成为输出。配置0000 0010转换0x02
}

void main()
{

    Pin_init();   //初始化引脚
    while (1)
    {
    D1 = 1;      //点亮D1
    delay(30000); //延时
    D1 = 0;      //关闭D1
    delay(30000); //延时
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值