光照传感器模块重点课件_第1页
光照传感器模块重点课件_第2页
光照传感器模块重点课件_第3页
光照传感器模块重点课件_第4页
光照传感器模块重点课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

光照传感器模块光照传感器模块目录四、实训步骤二、实训内容一、实训目的三、实训原理目录四、实训步骤二、实训内容一、实训目的三、实训原理实训目的(1)掌握CC2530的ADC工作原理(2)掌握光敏传感器工作原理(3)能实现光敏传感器采集功能实训目的(1)掌握CC2530的ADC工作原理目录四、实训步骤二、实训内容一、实训目的三、实训原理目录四、实训步骤二、实训内容一、实训目的三、实训原理实训内容采用光敏传感器和ZigBee模块,测量光线的强弱,并将数据通过串口上传到PC机端。实训内容采用光敏传感器和ZigBee模块,测量光线的强弱,并目录四、实训步骤二、实训内容一、实训目的三、实训原理目录四、实训步骤二、实训内容一、实训目的三、实训原理实训原理4.1CC2530的ADC工作原理ADC支持多达14位的模拟数字转换,具有多达12位的ENOB(有效数字位)。它包括一个模拟多路转换器,具有多达8个各自可配置的通道;以及一个参考电压发生器。转换结果可以通过DMA写入存储器。CC2530芯片的ADC的主要特性如下:

可选的抽取率。实训原理4.1CC2530的ADC工作原理实训原理

8个独立的输入通道,可接收单端或差分(电压差)信号。

参考电压可选为内部单端、外部单端、外部差分或AVDD5(供电电压,引脚21)。

参考电压可选为内部单端、外部单端、外部差分或AVDD5(供电电压,引脚21)。

产生中断请求。

转换结束时DMA触发。实训原理

8个独立的输入通道,可接收单端或差分(电压差)信

可以将片内的温度传感器作为输入。

电池测量功能。4.1.1ADC相关寄存器ADC的相关寄存器有ADCL(ADC数据低位)、ADCH(ADC数据高位)、ADCCON1(ADC控制1)、ADCCON2(ADC控制2)、ADCCON3(ADC控制3)等,具体描述如表4.1所示。

可以将片内的温度传感器作为输入。表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述4.1.2ADC操作1.ADC输入端口P0引脚的信号可以用作ADC输入,涉及到的引脚有:AIN0~AIN7。可以把这些引脚(AIN0~AIN7)配置为单端或差分输入。(1)单端输入。可以分为AIN0~AIN7共8路输入。(2)差分输入。可以分为AIN0和ANI1、AIN2和ANI3、AIN4和ANI5、AIN6和ANI7共四组输入,差分模式下的转换取自输入对之间的电压差,例如:第一组AIN0和ANI1作为输入,则实际输入电压为AIN0和ANI1这两个引脚之差。4.1.2ADC操作除了输入引脚AIN0~AIN7外,片上温度传感器的输出也可以选择作为ADC输入,用于片上温度测量。还可以输入一个对应AVDD5/3的电压作为一个ADC输入。这个输入允许诸如需要在应用中实现一个电池监测器的功能。注意在这种情况下参考电压不能取决于电源电压,比如AVDD5电压不能用作一个参考电压。用16个通道来表示ADC的输入,通道号码0到7表示单端电压输入,由AIN0到AIN7组成;通道号码8到11表示差分输入,由AIN0–AIN1、AIN2–AIN3、AIN4–AIN5和AIN6–AIN7组成;通道号码12到15表示GND(12)温度传感器(14),和AVDD5/3(15)。这些值在ADCCON2.SCH和ADCCON3.SCH中选择。除了输入引脚AIN0~AIN7外,片上温度传感器的输出也可以2.ADC转换结果数字转换结果以2的补码形式表示。对于单端配置,结果总是为正,这是因为结果是输入信号和地面之间的差值,它总是一个正符号数(Vconv=Vinp-Vinn,其中Vinn=0V)。当输入幅度等于所选的电压参考VRE时,达到最大值。对于差分配置,两个引脚对之间的差分被转换,这个差分可以是负符号数。对于抽取率是512的一个数字转换结果的12位MSB,当模拟输入Vconv等于VREF时,数字转换结果是2047。当模拟输入等于-VREF时,数字转换结果是-2048。2.ADC转换结果当ADCCON1.EOC设置为1时,数字转换结果是可以获得的,且结果放在ADCH和ADCL中。注意转换结果总是驻留在ADCH和ADCL寄存器组合的MSB段中。当读取ADCCON2.SCH位时,它们将指示转换在哪个通道上进行。4.2光敏传感器工作原理光敏电阻传感器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小;入射光弱,电阻增大。光敏传感器模块如图4.1所示。光敏传感器可用于路灯的自动点灭、照相机的测光计等设备上,光敏传感器应用电路如图4.1所示,图4.2为ZigBee模块的部分线路图。当ADCCON1.EOC设置为1时,数字转换结果是可以获得的图4.1光敏传感器模块图4.1光敏传感器模块图4.2ZigBee模块的部分线路图图4.2ZigBee模块的部分线路图目录四、实训步骤二、实训内容一、实训目的三、实训原理目录四、实训步骤二、实训内容一、实训目的三、实训原理实训步骤第一步,新建工程、配置工程相关设置。具体参照实训3操作。第二步,编写程序。由于程序很长,只能对关键部分的程序进行分析。详细见“实训4光敏传感器模块/Project”目录包含的源程序文件。1.sensor.c中的main函数voidmain(void){uint16sensor_val;uint16len=0;halBoardInit();

//模块相关资源的初始化//ConfigRf_Init();//无线收发参数的配置初始化halLedSet(1);halLedSet(2);Timer4_Init();

//定时器初始化

实训步骤第一步,新建工程、配置工程相关设置。具体参照实训3操实训步骤Timer4_On();//打开定时器 while(1) {APP_SEND_DATA_FLAG=GetSendDataFlag(); if(APP_SEND_DATA_FLAG==1)//定时时间到 {sensor_val=get_adc();//取模拟电压 printf_str(pTxData,"光照传感器电压:%d.%02dV\r\n",sensor_val/100,sensor_val%100);halLedToggle(3);//绿灯取反,无线发送指示

halUartWrite(pTxData,strlen(pTxData));//数据也发到本地串口,便于调试

实训步骤Timer4_On();//打开定时器实训步骤Timer4_On();//打开定时 } } }程序分析:①第11行,是由T4进行2s定时,即每2s标志位APP_SEND_DATA_FLAG有效一次,从而使得第12行的if有效一次。②第13行,get_adc()函数为读取AD转换电压值。③第14行,把采集数据按格式连接成字符串写入到pTxData中。

实训步骤Timer4_On();实训步骤

④第16行,把采集数据发到本地串口,在PC机串口调试终端显示出来。⑤第50行,将字符串“光照传感器电压:%d.%02dV\r\n”转换成字符存入数组pTxData中,其中%d.为sensor_val/100.,%02d为sensor_val%100,V为字符。2.get_adc.c中的关键代码voidhal_adc_Init(void){APCFG|=1;//模拟I/O配置,AIN0(P0.0)作为模拟I/O使用 P0SEL|=(1<<(0)); //设置P0.0为外设功能 P0DIR&=~(1<<(0));//设置P0.0为输入方向}实训步骤④第16行,把采集数据发到本地串口,在PC机串口实训步骤 uint16get_adc(void) { uint32value; hal_adc_Init(); //ADC初始化 ADCIF=0; //清ADC中断标志 ADCCON3=(0x80|0x10|0x00); //采用基准电压avdd5:3.3V,通道0,启动AD转化 while(!ADCIF) {;//等待AD转化结束 }实训步骤 uint16get_adc(void)实训步骤value=ADCL; //ADC转换结果的低位部分存入value中value|=(((uint16)ADCH)<<8);//取得最终转换结果存入value中 value=value*330; value=value>>15; //根据计算公式算出结果值 return(uint16)value; }第三步,模块连接及下载程序。将光敏传感器插在ZigBee模块上,用串口线将ZigBee模块的串口连接至PC串口上。给ZigBee模块上电,重新编译程序无误后,下载程序到ZigBee模块中,如图4.3所示。实训步骤value=ADCL; //ADC转换结果的低位实训步骤图4.3ZigBee模块与光敏传感器模块连接示意图第四步,运行程序。1.打开串口调试软件,把串口的波特率设置为38400。实训步骤图4.3ZigBee模块与光敏传感器模块连接示意实训步骤2.打开手机手电筒产生不同的光强,根据光敏的不同,在PC机的串口调试终端上显示不同的光照传感器电压信息。如图4.4所示。图4.4串口调试窗口实训步骤2.打开手机手电筒产生不同的光强,根据光敏的不同,在谢谢!谢谢!光照传感器模块光照传感器模块目录四、实训步骤二、实训内容一、实训目的三、实训原理目录四、实训步骤二、实训内容一、实训目的三、实训原理实训目的(1)掌握CC2530的ADC工作原理(2)掌握光敏传感器工作原理(3)能实现光敏传感器采集功能实训目的(1)掌握CC2530的ADC工作原理目录四、实训步骤二、实训内容一、实训目的三、实训原理目录四、实训步骤二、实训内容一、实训目的三、实训原理实训内容采用光敏传感器和ZigBee模块,测量光线的强弱,并将数据通过串口上传到PC机端。实训内容采用光敏传感器和ZigBee模块,测量光线的强弱,并目录四、实训步骤二、实训内容一、实训目的三、实训原理目录四、实训步骤二、实训内容一、实训目的三、实训原理实训原理4.1CC2530的ADC工作原理ADC支持多达14位的模拟数字转换,具有多达12位的ENOB(有效数字位)。它包括一个模拟多路转换器,具有多达8个各自可配置的通道;以及一个参考电压发生器。转换结果可以通过DMA写入存储器。CC2530芯片的ADC的主要特性如下:

可选的抽取率。实训原理4.1CC2530的ADC工作原理实训原理

8个独立的输入通道,可接收单端或差分(电压差)信号。

参考电压可选为内部单端、外部单端、外部差分或AVDD5(供电电压,引脚21)。

参考电压可选为内部单端、外部单端、外部差分或AVDD5(供电电压,引脚21)。

产生中断请求。

转换结束时DMA触发。实训原理

8个独立的输入通道,可接收单端或差分(电压差)信

可以将片内的温度传感器作为输入。

电池测量功能。4.1.1ADC相关寄存器ADC的相关寄存器有ADCL(ADC数据低位)、ADCH(ADC数据高位)、ADCCON1(ADC控制1)、ADCCON2(ADC控制2)、ADCCON3(ADC控制3)等,具体描述如表4.1所示。

可以将片内的温度传感器作为输入。表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述表4.1ADC相关寄存器描述4.1.2ADC操作1.ADC输入端口P0引脚的信号可以用作ADC输入,涉及到的引脚有:AIN0~AIN7。可以把这些引脚(AIN0~AIN7)配置为单端或差分输入。(1)单端输入。可以分为AIN0~AIN7共8路输入。(2)差分输入。可以分为AIN0和ANI1、AIN2和ANI3、AIN4和ANI5、AIN6和ANI7共四组输入,差分模式下的转换取自输入对之间的电压差,例如:第一组AIN0和ANI1作为输入,则实际输入电压为AIN0和ANI1这两个引脚之差。4.1.2ADC操作除了输入引脚AIN0~AIN7外,片上温度传感器的输出也可以选择作为ADC输入,用于片上温度测量。还可以输入一个对应AVDD5/3的电压作为一个ADC输入。这个输入允许诸如需要在应用中实现一个电池监测器的功能。注意在这种情况下参考电压不能取决于电源电压,比如AVDD5电压不能用作一个参考电压。用16个通道来表示ADC的输入,通道号码0到7表示单端电压输入,由AIN0到AIN7组成;通道号码8到11表示差分输入,由AIN0–AIN1、AIN2–AIN3、AIN4–AIN5和AIN6–AIN7组成;通道号码12到15表示GND(12)温度传感器(14),和AVDD5/3(15)。这些值在ADCCON2.SCH和ADCCON3.SCH中选择。除了输入引脚AIN0~AIN7外,片上温度传感器的输出也可以2.ADC转换结果数字转换结果以2的补码形式表示。对于单端配置,结果总是为正,这是因为结果是输入信号和地面之间的差值,它总是一个正符号数(Vconv=Vinp-Vinn,其中Vinn=0V)。当输入幅度等于所选的电压参考VRE时,达到最大值。对于差分配置,两个引脚对之间的差分被转换,这个差分可以是负符号数。对于抽取率是512的一个数字转换结果的12位MSB,当模拟输入Vconv等于VREF时,数字转换结果是2047。当模拟输入等于-VREF时,数字转换结果是-2048。2.ADC转换结果当ADCCON1.EOC设置为1时,数字转换结果是可以获得的,且结果放在ADCH和ADCL中。注意转换结果总是驻留在ADCH和ADCL寄存器组合的MSB段中。当读取ADCCON2.SCH位时,它们将指示转换在哪个通道上进行。4.2光敏传感器工作原理光敏电阻传感器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小;入射光弱,电阻增大。光敏传感器模块如图4.1所示。光敏传感器可用于路灯的自动点灭、照相机的测光计等设备上,光敏传感器应用电路如图4.1所示,图4.2为ZigBee模块的部分线路图。当ADCCON1.EOC设置为1时,数字转换结果是可以获得的图4.1光敏传感器模块图4.1光敏传感器模块图4.2ZigBee模块的部分线路图图4.2ZigBee模块的部分线路图目录四、实训步骤二、实训内容一、实训目的三、实训原理目录四、实训步骤二、实训内容一、实训目的三、实训原理实训步骤第一步,新建工程、配置工程相关设置。具体参照实训3操作。第二步,编写程序。由于程序很长,只能对关键部分的程序进行分析。详细见“实训4光敏传感器模块/Project”目录包含的源程序文件。1.sensor.c中的main函数voidmain(void){uint16sensor_val;uint16len=0;halBoardInit();

//模块相关资源的初始化//ConfigRf_Init();//无线收发参数的配置初始化halLedSet(1);halLedSet(2);Timer4_Init();

//定时器初始化

实训步骤第一步,新建工程、配置工程相关设置。具体参照实训3操实训步骤Timer4_On();//打开定时器 while(1) {APP_SEND_DATA_FLAG=GetSendDataFlag(); if(APP_SEND_DATA_FLAG==1)//定时时间到 {sensor_val=get_adc();//取模拟电压 printf_str(pTxData,"光照传感器电压:%d.%02dV\r\n",sensor_val/100,sensor_val%100);halLedToggle(3);//绿灯取反,无线发送指示

halUartWrite(pTxData,strlen(pTxData));//数据也发到本地串口,便于调试

实训步骤Timer4_On();//打开定时器实训步骤Timer4_On();//打开定时 } } }程序分析:①第11行,是由T4进行2s定时,即每2s标志位APP_SEND_DATA_FLAG有效一次,从而使得第12行的if有效一次。②第13行,get_adc()函数为读取AD转换电压值。③第14行,把采集数据按格式连接成字符串写入到pTxData中。

实训步骤Timer4_On();实训步骤

④第16行,把采集数据发到本地串口,在PC机串口调试终端显示出来。⑤第50行,将字符串“光照传感器电压:%d.%02dV\r\n”转换成字符存入数组pTxData中,其中%d.为sensor_val/100.,%02d为sensor_val%100,V为字符。2.get_adc.c中的关键代码voidhal_adc_Init(void){APCFG|=1;//模拟I/O配置,AIN0(P0.0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论