光照传感器模块重点.ppt_第1页
光照传感器模块重点.ppt_第2页
光照传感器模块重点.ppt_第3页
光照传感器模块重点.ppt_第4页
光照传感器模块重点.ppt_第5页
免费预览已结束,剩余26页可下载查看

下载本文档

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

文档简介

,光照传感器模块,目录,实训目的,(1)掌握CC2530的ADC工作原理(2)掌握光敏传感器工作原理(3)能实现光敏传感器采集功能,目录,实训内容,采用光敏传感器和ZigBee模块,测量光线的强弱,并将数据通过串口上传到PC机端。,目录,实训原理,4.1CC2530的ADC工作原理ADC支持多达14位的模拟数字转换,具有多达12位的ENOB(有效数字位)。它包括一个模拟多路转换器,具有多达8个各自可配置的通道;以及一个参考电压发生器。转换结果可以通过DMA写入存储器。CC2530芯片的ADC的主要特性如下:可选的抽取率。,实训原理,8个独立的输入通道,可接收单端或差分(电压差)信号。参考电压可选为内部单端、外部单端、外部差分或AVDD5(供电电压,引脚21)。参考电压可选为内部单端、外部单端、外部差分或AVDD5(供电电压,引脚21)。产生中断请求。转换结束时DMA触发。,可以将片内的温度传感器作为输入。电池测量功能。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.1.2ADC操作1.ADC输入端口P0引脚的信号可以用作ADC输入,涉及到的引脚有:AIN0AIN7。可以把这些引脚(AIN0AIN7)配置为单端或差分输入。(1)单端输入。可以分为AIN0AIN7共8路输入。(2)差分输入。可以分为AIN0和ANI1、AIN2和ANI3、AIN4和ANI5、AIN6和ANI7共四组输入,差分模式下的转换取自输入对之间的电压差,例如:第一组AIN0和ANI1作为输入,则实际输入电压为AIN0和ANI1这两个引脚之差。,除了输入引脚AIN0AIN7外,片上温度传感器的输出也可以选择作为ADC输入,用于片上温度测量。还可以输入一个对应AVDD5/3的电压作为一个ADC输入。这个输入允许诸如需要在应用中实现一个电池监测器的功能。注意在这种情况下参考电压不能取决于电源电压,比如AVDD5电压不能用作一个参考电压。用16个通道来表示ADC的输入,通道号码0到7表示单端电压输入,由AIN0到AIN7组成;通道号码8到11表示差分输入,由AIN0AIN1、AIN2AIN3、AIN4AIN5和AIN6AIN7组成;通道号码12到15表示GND(12)温度传感器(14),和AVDD5/3(15)。这些值在ADCCON2.SCH和ADCCON3.SCH中选择。,2.ADC转换结果数字转换结果以2的补码形式表示。对于单端配置,结果总是为正,这是因为结果是输入信号和地面之间的差值,它总是一个正符号数(Vconv=Vinp-Vinn,其中Vinn=0V)。当输入幅度等于所选的电压参考VRE时,达到最大值。对于差分配置,两个引脚对之间的差分被转换,这个差分可以是负符号数。对于抽取率是512的一个数字转换结果的12位MSB,当模拟输入Vconv等于VREF时,数字转换结果是2047。当模拟输入等于-VREF时,数字转换结果是-2048。,当ADCCON1.EOC设置为1时,数字转换结果是可以获得的,且结果放在ADCH和ADCL中。注意转换结果总是驻留在ADCH和ADCL寄存器组合的MSB段中。当读取ADCCON2.SCH位时,它们将指示转换在哪个通道上进行。4.2光敏传感器工作原理光敏电阻传感器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小;入射光弱,电阻增大。光敏传感器模块如图4.1所示。光敏传感器可用于路灯的自动点灭、照相机的测光计等设备上,光敏传感器应用电路如图4.1所示,图4.2为ZigBee模块的部分线路图。,图4.1光敏传感器模块,图4.2ZigBee模块的部分线路图,目录,实训步骤,第一步,新建工程、配置工程相关设置。具体参照实训3操作。第二步,编写程序。由于程序很长,只能对关键部分的程序进行分析。详细见“实训4光敏传感器模块/Project”目录包含的源程序文件。1.sensor.c中的main函数voidmain(void)uint16sensor_val;uint16len=0;halBoardInit();/模块相关资源的初始化/ConfigRf_Init();/无线收发参数的配置初始化halLedSet(1);halLedSet(2);Timer4_Init();/定时器初始化,实训步骤,Timer4_On();/打开定时器while(1)APP_SEND_DATA_FLAG=GetSendDataFlag();if(APP_SEND_DATA_FLAG=1)/定时时间到sensor_val=get_adc();/取模拟电压printf_str(pTxData,光照传感器电压:%d.%02dVrn,sensor_val/100,sensor_val%100);halLedToggle(3);/绿灯取反,无线发送指示halUartWrite(pTxData,strlen(pTxData);/数据也发到本地串口,便于调试,实训步骤,Timer4_On();/打开定时程序分析:第11行,是由T4进行2s定时,即每2s标志位APP_SEND_DATA_FLAG有效一次,从而使得第12行的if有效一次。第13行,get_adc()函数为读取AD转换电压值。第14行,把采集数据按格式连接成字符串写入到pTxData中。,实训步骤,第16行,把采集数据发到本地串口,在PC机串口调试终端显示出来。第50行,将字符串“光照传感器电压:%d.%02dVrn”转换成字符存入数组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|=(115;/根据计算公式算出结果值return(uint16)value;第三步,模块连接及下载程序。将光敏传感器插在ZigBee模块上,用串口线将ZigBee模块的串口连接至PC串口上。给ZigBee模块上电,重新编译程序无误后,下载程序到ZigBee模块中,如图4.3所示。,实训步骤

温馨提示

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

最新文档

评论

0/150

提交评论