光照传感器模块重点

上传人:艳*** 文档编号:179601057 上传时间:2023-01-02 格式:PPT 页数:31 大小:754KB
返回 下载 相关 举报
光照传感器模块重点_第1页
第1页 / 共31页
光照传感器模块重点_第2页
第2页 / 共31页
光照传感器模块重点_第3页
第3页 / 共31页
点击查看更多>>
资源描述
光照传感器模块光照传感器模块目目 录录四、实训步骤二、实训内容一、实训目的三、实训原理实训目的(1)掌握CC2530的ADC工作原理(2)掌握光敏传感器工作原理(3)能实现光敏传感器采集功能目目 录录四、实训步骤二、实训内容一、实训目的三、实训原理实训内容采用光敏传感器和ZigBee模块,测量光线的强弱,并将数据通过串口上传到PC机端。目目 录录四、实训步骤二、实训内容一、实训目的三、实训原理实训原理4.1 CC2530的的ADC工作原理工作原理ADC支持多达14位的模拟数字转换,具有多达12位的ENOB(有效数字位)。它包括一个模拟多路转换器,具有多达8个各自可配置的通道;以及一个参考电压发生器。转换结果可以通过DMA写入存储器。CC2530芯片的ADC的主要特性如下:可选的抽取率。实训原理8个独立的输入通道,可接收单端或差分(电压差)信号。参考电压可选为内部单端、外部单端、外部差分或AVDD5(供电电压,引脚21)。参考电压可选为内部单端、外部单端、外部差分或AVDD5(供电电压,引脚21)。产生中断请求。转换结束时DMA触发。可以将片内的温度传感器作为输入。电池测量功能。4.1.1 ADC相关寄存器相关寄存器ADC的相关寄存器有ADCL(ADC数据低位)、ADCH(ADC数据高位)、ADCCON1(ADC控制1)、ADCCON2(ADC控制2)、ADCCON3(ADC控制3)等,具体描述如表4.1所示。表4.1 ADC相关寄存器描述表4.1 ADC相关寄存器描述表4.1 ADC相关寄存器描述表4.1 ADC相关寄存器描述表4.1 ADC相关寄存器描述表4.1 ADC相关寄存器描述4.1.2 ADC操作操作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.2 ZigBee模块的部分线路图目目 录录四、实训步骤二、实训内容一、实训目的三、实训原理实训步骤第一步,新建工程、配置工程相关设置。第一步,新建工程、配置工程相关设置。具体参照实训3操作。第二步,编写程序。第二步,编写程序。由于程序很长,只能对关键部分的程序进行分析。详细见“实训4 光敏传感器模块/Project”目录包含的源程序文件。1.sensor.c中的main函数void main(void)uint16 sensor_val;uint16 len=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中的关键代码void hal_adc_Init(void)APCFG|=1;/模拟I/O配置,AIN0(P0.0)作为模拟I/O使用 P0SEL|=(1 (0);/设置P0.0为外设功能 P0DIR&=(1 (0);/设置P0.0为输入方向 实训步骤 uint16 get_adc(void)uint32 value;hal_adc_Init();/ADC初始化 ADCIF=0;/清ADC 中断标志 ADCCON3=(0 x80|0 x10|0 x00);/采用基准电压avdd5:3.3V,通道0,启动AD转化 while(!ADCIF);/等待AD转化结束 实训步骤value=ADCL;/ADC转换结果的低位部分存入value中 value|=(uint16)ADCH)15;/根据计算公式算出结果值 return(uint16)value;第三步,模块连接及下载程序。第三步,模块连接及下载程序。将光敏传感器插在ZigBee模块上,用串口线将ZigBee模块的串口连接至PC串口上。给ZigBee模块上电,重新编译程序无误后,下载程序到ZigBee模块中,如图4.3所示。实训步骤图4.3 ZigBee模块与光敏传感器模块连接示意图第四步,运行程序。第四步,运行程序。1打开串口调试软件,把串口的波特率设置为38400。实训步骤2.打开手机手电筒产生不同的光强,根据光敏的不同,在PC机的串口调试终端上显示不同的光照传感器电压信息。如图4.4所示。图4.4 串口调试窗口
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!