一、实验目的
-
通过实验掌握CC2530 芯片GPIO和AD转换寄存器的配置方法
-
掌握AD 转换函数程序的编程方法
-
掌握光敏传感器的操作和使用
-
掌握光传感器采集程序的编程方法
二、实验内容
三、实验原理
-
继电器:是一种电子控制元件,主要用于自动控制电路,其功能相当于开关。不同之处在于,开关由外力控制,继电器由电力控制。绿色开发板中的继电器通过P0_输出高低电平来控制其断开或关闭。
-
光敏传感器:光敏电阻检测光强。光敏电阻是由半导体材料制成的电阻,其电导率随光照而变化。利用这一特性制成不同形状和受光面积的光敏电阻。光敏电阻5528是蓝色开发板中的一种,光越强,电阻值越大。光敏电路200K电阻分压(参考传感器底板电路原理图)light实际测量的电压值可以/100计算,光照值可以根据分压比和5528参数计算。
-
AD 转换寄存器:CC2530的ADC支持14位模拟数字转换,转换后有效数字位高达12位。ADC模拟多路转换器和参考电压发生器包括8路独立可配置通道。CC2530的ADC可通过转换结果DMA写入存储器的方式也可以直接读取ADC获取寄存器。CC2530的ADC运行模式多种多样。
- CC2530的P0口可作为ADC输入,其中AIN0~AIN7分别对应P0.0~P0.7。ADC输入可配置为单端或差动输入。如果选择差动输入,相应的输入分别为AIN0~AIN1、AIN2~AIN3、AIN4~AIN5、AIN6~AIN7.注意引脚电压不应为负电压或大于VDD。在差动输入中,每个差动输入的转换模式不同。除了AIN0~AIN7作为ADC除输入外,片内温度传感器也可用作温度测量ADC输入,AVDD5/3电压也可以作ADC输入。AVDD5/3作为ADC输入主要用于电池测量,需要注意的是电池电压不能作为参考电压。
- CC2530ADC有两种转换方式,第一种是连续转换,此时需要配置ADCCON1 和ADCCON2 寄存器,寄存器APCFG设置会影响连续序列转换的通道数,CC2530的8路ADC不一定要求所有输入都设置为模拟输入。如果只使用序列转换中的一些通道,可以屏蔽APCFG寄存器中其他通道的相应模拟输入位将在转换过程中跳过;二是单次转换,此时只需配置寄存器ADCCON3 即可。(具体寄存器配置见附录或数据手册)
四、实验过程
连接绿色开发板,编制相应程序,控制继电器的开关;
请复制以下程序:
#include "ioCC2530.h" void delay(void) { //unsigned int i; int i; unsigned char j; for(i=0;i<11500;i ) { for(j=0;j<200;j ) { asm("NOP"); asm("NOP"); asm("NOP"); } } } void main(void) { P0DIR |= 0x01; // 设置P0为输出模式 while(1000) { P0_0 = 0; //打开继电器 delay(); //延时 P0_0 = 1; ///关闭继电器 delay(); } }
请验证对P0_0送出0、1时继电器状态,0时打开,1时关闭