01 TI cc2530的IO口控制

来源:互联网 发布:红米note4双卡网络设置 编辑:程序博客网 时间:2024/05/16 01:18

相关资料下载:
https://pan.baidu.com/s/1bpjIb8N 密码: nkfv
计算机里归根到底就是使用二进制0/1, 在电路上就是用高低电平(3.3v, 0v)来表示。

一个IO口就是相当于从CPU芯片里引出的一根导线, 用于连接输入输出设备,由代码来控制/获取它的电平。
也就是说我们可以通过代码控制一个IO口是高电平还是低电平(IO作输出功能)。
还是通过代码来判断IO口是处于高/低电平状态(IO作输入功能).

这里写图片描述

CC2530里共分成三组IO口: P0, P1, P2
P0组和P1组里都有8个IO口, P2组里有5个IO
P1_7表示P1组里第7个IO.(IO口从零开始计数)

//////////////////////////////////////////////
IO口的应用:
这里写图片描述

如图上D1 LED灯已接上电源,另一端接在IO口P1_0, 当电流流过LED灯时就会发光, 要想有电流流过led, 就需要电路形成回路才可以, 也就是需要把P1_0IO口设为低电平。 要想LED不亮,则把IO设为高电平.

再如图上的S1按键,当S1按下时, P0_1就相于接在地线上,也就是低电平。当S1断开时,P0_1就是电平.

/////////////////////////////////////////////
要控制IO口的电平, 需要设置硬件输出的电平。 CPU上需要提供代码来设置的接口才可以, 这种接口就是
CPU里提供的配置寄存器.

一个配置寄存器占用一个内存地址, 我们只要改变地址上的值, 就可以设置硬件的相应功能了.

cc2530 IO相关的寄存器:
这里写图片描述

这里写图片描述

如上图: IO口的配置寄存器P0的地址是0x80, 我们只要改变0x80地址上的值就可以控制P0组IO口的电平了。
但在iocc2530.h里已定义:SFRBIT( P0 , 0x80, P0_7, P0_6, P0_5, P0_4, P0_3, P0_2, P0_1, P0_0 )

所以代码里可以直接写”P0 = 0xff”, 即可以直接给P0寄存器设0xff的值了, 也就是P0组所有的IO口输出高电平.
“P0_7 = 1”, 给P0组的第7个IO口设高电平.

//////////////////////////////////////////
IO口最常用到的寄存器说明:

寄存器P0,P1, P2 : 用于设置IO口输出的电平和获取IO口的电平使用. 在寄存器值里的第几位就是表示第几个IO口的电平状态. “P0 = 1<<4”表示P0组里第4个IO口设置高电平

这里写图片描述
寄存器PxSEL: 因IO口是多功能的,这种寄存器用于指定IO口作什么具体功能.如普通IO口,还是给控制器自动控制. 在寄存器值里的第几位就是组内第几个IO口的设置, 0表示作普通IO口用,1表示给控制器自动控制.

这里写图片描述
寄存器PxDIR : 当IO口选择的功能是作普通IO口用时,此寄存器用于指定是作输入还是输出使用. 0表示输入, 1表示输出

原创粉丝点击