传感器技术
实训指导书
系部: 班级: 学号: 姓名:
一、实训目的
设计一个楼道光控照明灯系统。当有光照强度大于等于400Lux时,照明灯熄灭;当光照强度小于400Lux时,照明灯点亮。根据应用条件选型一种光敏传感器,分析传感器测量电路的工作原理、分析CC2530硬件电路找到其与测量电路的接口、编写代码。 二、实训工具:
电脑、实验箱(物联网无线传感器开发套件)。 三、纪律要求:
(1)每天记录考勤,分签到和签退; (2)每天时时监督记录实训进度; 四、考核要求:
考核总分100分,分考勤、功能实现、实训报告。三部分所占比例如下:
(1)考勤(20%):共5次,旷课一次20分;迟到视迟到时间按5-20分计;早退视早退时间按5-20分计;请假一次5分; (2)功能实现(40%):视完成情况按0-100分计; (3)实训报告(50%):视完成情况按0-100分计; 五、实训说明:
(1)实训报告中的项目实训总结包括内容: 1)实训项目题目、实训项目的实训要求; 2)实训内容中问题的答案总结; 3)项目源代码;
4)本次实训的收获总结,不少于200字。 5)功能实现图片 (2)作品效果上交形式: 1)实训报告以电子版形式上交。 2)实训报告严格按要求填写。 六、实训任务
(一)根据现实使用要求,通过上网、图书馆、阅读期刊等方式,选型一种适用于楼道自动照明灯控制的光敏传感器。
光照度传感器的型号: 参数 最大电压 最大功耗 环境温度 响应时间 数值 参数 亮电流 暗电流 灵敏度 价格 数值 (二)B160光照传感器测量电路工作原理分析
(1)上图中电容器C2的作用是:保护,在进行电路分析时可以省略。
(2)图J2的10引脚ADC4与下图中ADC4标号一样,含义是:两个引脚连接起来 (3)图中ADC4处电位为:高 (4)光敏传感器输出的是电信号。 (三)CC2530的内部硬件电路的分析
(1)当CC2530的LED1引脚为高电平时,LED灯D3点亮。
(2)光敏传感器采集的光照信号,最终输入到CC2530单片机的引脚上。 (四)CC2530片内ADC实现光控照明灯实验。 A.实验结果图片:
B.项目源代码:
(五)实训总结:
附件一、实训时间
2016年12月19日-2016年12月23日,具体安排如下: 上0) 周一 午物联周二 网物联周三 网物联周四 网物联周五 网物联网(8:00-11:21501 A2-307 午物联1502 A2-307 网物联1501 A2-307 网物联1502 A2-307 网物联1501 A2-307 网物联网下) (1:00-4:101502 A2-307 1501 A2-307 1502 A2-307 1501 A2-307 1502 A2-307
附件二:CC2530寄存器
P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为外
设功能
D7 P0_7功能
D6 P0_6 D5 P0_5 D4 P0_4 D3 P0_3 D2 P0_2 D1 P0_1 D0 P0_0 P2SEL:(D0到D2位)端口2 功能选择和端口1 外设优先级控制
什么是外设优先级:当PERCFG分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应 D7 D6 D5 D4 D3 D2 D1 P2_3择 D0 P2_0择 0: USART 0 优0: USART 1 0: 定时0: USART 0 未用 先 先
优先 优先 器1优先 4优先 优先 优先 P2_4功1: USART 1 优1: 定时器31: 定时器1: 定时器1 能选择 功能选功能选PERCFG:设置部分外设的I/O位置,0为默认位置1,1为默认位置2 D7 D6 D5 T3CFG D4 T4CFG D3 D2 D1 D0 未用 T1CFG
未用 未用 USART1 USART0 P0DIR(P1DIR相同):设置各个I/O的方向,0为输入,1为输出 D7 D6 D5 D4 D3 D2 P0_2 D1 P0_1 D0 P0_0 P0_7方向 P0_6方向 P0_5方向 P0_4方向 P0_3方向
P2DIR:D0~D4设置P2_0到P2_4的方向.D7、D6位作为端口P0外设优先级的控制
D7 X
D7D6 意义 00 第1优先级:USART 0第2优先级:USART 1 第3优先级:定时器1 第1优先级:USART 1第2优先级:USART 0 第3优先级:定时器1 第1优先级:定时器1通道0-1第2优先级:USART 1 第3优先级:USART 0第4优先级:定时器1通道2 –3 第1优先级:定时器1通道2-3第2优先级:USART 0 D6 X D5 D4 D3 P2_3方向 D2 P2_2方向 D1 P2_1方向 D0 P2_0方向 未使用 P2_4方向 01 10 11 第3优先级:USART 1 第4优先级:定时器1通道0 –1 P0INP(P1INP意义相似):设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式 D7 D6 D5 D4 D3 D2 D1 D0 P0_0 P0_7模式 P0_6模式 P0_5模式 P0_4模式 P0_3模式 P0_2模式 P0_1 需要注意的是:P1INP中,只有D7~D2分别设置对应I/O口的输入模式。D1D0两位无作用。
P2INP: D0~D4控制P2_0~P2_4的输入模式,0为上拉,1下拉;D5~D7设置对P0、P1和P2的上拉或下拉的选择。0为上拉,1为下拉;
D7 D6 D5 D4 D3 D2 D1 D0 端口P2选择 端口P1选择 端口P0选择 P2_4模式 P2_3模式 P2_2模式 P2_1 P2_0
P0IFG(P1IFG相同):中断状态标志寄存器,当输入端口有中断请求时,相应的标志位自动置1。 D7 P0_7
D6 P0_6 D5 P0_5 D4 P0_4 D3 P0_3 D2 P0_2 D1 P0_1 D0 P0_0 P0IEN(P1IEN相同):各个控制口的中断使能,0为中断禁止,1为中断使能。
D7 P0_7
D6 P0_6 D5 P0_5 D4 P0_4 D3 P0_3 D2 P0_2 D1 P0_1 D0 P0_0 P2IFG:D0~D4为P2_0~P2_4的中断标志位。D5为USD D+中断状态标志,当D+线有一个中断请求未决时设置该标志,用于检测USB挂起状态下的USB恢复事件。当USB控制器没有挂起时不设置该标志。
D7 未用
D6 未用 D5 USB D+ D4 P2_4 D3 P2_3 D2 P2_2 D1 P2_1 D0 P2_0 P2IEN:D0~D4控制P2_0~P2_4的中断使能,D5控制USB D+的中断使能 D7 未用
D6 未用 D5 USB D+ D4 P2_4 D3 P2_3 D2 P2_2 D1 P2_1 D0 P2_0 PICTL:中断控制寄存器 D0~D2设置各个端口的中断触发方式,0为上升沿触发,1为下降沿触发。中断使能位,0关中断,1开中断。D6为输出驱动能力选择,0为最小驱动能力,1为最大驱动能力。 D7 D6 预D5 (P2IEN) D4 (P0IENH) D3 (P0IENL) D2 (P2ICON) D1 (P1ICON) D0 (P0ICON) P2(0-4)中断使能P0(4-7)中断使能P0(0-3)中断使能PADSC P2.0~p2.4 P1_0~P1_7 P0_0~P0_7 留 位 位 位
IEN0:中断使能0。0为中断禁止,1为中断使能 D7 D6 D5 D4 D3 D2 D1 D0 总中未睡眠定时AES加密/解USART1 RXUSART0 RXADC中RF TX/RF FIFO断EA 用 器中断
密中断 中断 中断 断 中断 IEN1:中断使能寄存器1。0为中断禁止,1为中断使能 D7 D6 D5(P0IE) D4 (T4IE) D3 (T3IE) D2 (T2IE) D1(T1IE) D0 定时器4 定时器3 定时器2 定时器1 DMA传输 未用 未用 端口0
IEN2:中断使能2。0为中断禁止,1为中断使能 D7 D6 D5(WDTIE) D4(P1IE) D3 D2 D1(P2IE) D0 (RFIE) 一般中断 未用 未用 看门狗定时器 P1
USART1 TX USART0 TX P2 T1CTL:定时器1的控制。D1D0控制运行模式,D3D2设置分频划分值 D7 D6 D5 D4 D3D2 00:不分频 未未未未00:暂停运行 01:8分频 01:自由运行,反复从0x0000到0xffff计数 10:32分10:模计数,从0x000到T1CC0反复计数 频 频
11:正计数/倒计数,从0x0000到T1CC0反复计数并且11:128分从T1CC0倒计数到0x0000 D1D0 用 用 用 用 T1STAT:定时器1的状态寄存器,D4~D0为通道4~通道0的中断标志,D5为溢
出标志位,当计数到最终技术值是自动置1。
D7 D6 D5 D4 D3 D2 D1 D0 未用 未用 溢出中断 通道4中断 通道3中断 通道2中断 通道1中断 通道0中断
T1CCOH:T1通道0捕获值/高字节寄存器 位号 7
位名 T1CC0[15:8] 复位值 0x00 操作性 读/写 功能描述 T1通道0捕获值/高字节寄存器 T1CCOL:T1通道0捕获值/高字节寄存器 位号 7
位名 T1CC0[7:0] 复位值 0x00 操作性 读/写 功能描述 T1通道0捕获值/低字节寄存器 T1CCTL0~T1CCTL4:定时器1通道0~通道4的工作方式设置。D1D0为捕捉模式选择:00为不捕捉,01为上升沿捕获,10为下降沿捕获,11为上升或下降沿都捕获。D2位为捕获或比较的选择:0为捕获模式,1为比较模式。D5D4D3为比较模式的选择:000为发生比较式输出端置1,001为发生比较时输出端清0,010输出翻转,其他模式较少使用。
D7 未用 D6 通道中断 D5D4D3 比较模式 D2 捕获/比较 D1D0 捕捉模式
T2CTRL:T2配置寄存器。D0:0停止,1启动。D1:0为立即启动或停止,1为T2起、停和32.768khz时钟及计数新值。D2:0空闲,1运行 D7:D4 D3(LARCH_MODE) D2(STATE) D1(SYNC) D0(RUN) 读0 计数器模式 同步使能 T2使能位 T2IRQF:中断标志。D0:D2当计数器计数等于t2-per的值时置位。D3当溢出计数器计数等于t2ovf-per值置位,D4计数溢出t2ovf-cmp1置位,D5计数溢出t2ovf-cmp2置位 D7:D6 D5 读0 D4 D3 D2 D1 D0 OVF-COMARE2F OVF-COMARE1F OVF-PERF COMARE2F COMARE1F TIMER2-PERF T2IRQM:中断屏蔽。 D7:D6 读0 D5 D4 D3 D2 D1 D0 OVF-COMARE2F OVF-COMARE1F OVF-PERF COMARE2F COMARE1F TIMER2-PERF T3CCTL0/T3CCTL1/T4CCTL0/T4CCTL1:定时器3或定时器4的通道0和通道1的方式控制,D6为该通道的中断使能位,0为禁止,1为使能,默认为1;D5~D0与T1CCTL0相同 D7 未用
D6 中断使能 D5D4D3 比较模式 D1 捕获/比较 D0 捕捉模式 T3CTL/T4CTL:定时器3或定时器4的方式控制寄存器。D7D6D5设置分频:000为无分频、001为2分频、010为4分频、011为8分频、100为16分频、101为32分频、110为64分频,111为128分频。D4为启动位:1启动,0停止。D3溢出中断使能位:0为关,1为开,默认为1。D2为复位:置1时定时器复位。D1D0为计数器模式选择:该位与T1CTL的D1D0位意义相同。
D7D6D5 分频
D4 启动定时器 D3 溢出中断 D2 清除计数器 D1D0 计数模式 PCON:电源模式控制器。D0电源控制,写1将进入由SLEECMD,MODE指定的电源模式,读出一定为0 位号 位名 复位值 功能描述 D7:D2 - 读、写 预留 D1 - 读 预留 读为0 D0 IDLE 读、写 电源控制 IRCON:中断标志4,;0为无中断请求。1为有中断请求。 D7 D6 D5 D4 D3 D2 D1 D0 睡眠定时器 必须为0 端口0 定时器4 定时器3 定时器2 定时器1 DMA完成
TIMIF:定时器1的溢出中断屏蔽与定时器3、4的中断标志。D6为定时器1的溢出中断屏蔽,0为屏蔽,1为使能,默认为1.D5~D0为定时器3和4中各个通道的中断标志。
D7 D6 未D5 D4 D3 D2 D1 D0 T1溢出中T4通道1中T4通道0中T4溢出标志T3通T3通T3溢出中断标志 断标志 中断标志 道1 道0 断标志 用 断使能
CLKCONCMD:时钟频率控制寄存器。 D7(OSC32K) 32KHZ时间振荡器选择 D6(OSC) D5~D3(TICSPD[2:0]) D2~D0(CLKSPD) 系统主时钟选择 系统时钟选择 定时器输出标记 D7位为32KHZ时间振荡器选择,,0为32KRC震荡,1为32K晶振。默认为1。 D6位为系统时钟选择。0为32M晶振,1为16M RC震荡。当D7位为0时D6必须为1。
D5~D3为定时器输出标记。000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为 1MHZ,110为500KHZ,111为250KHZ。默认为001。需要注意的是:当D6为1时,定时器频率最高可采用频率为16MHZ。
D2~D0:系统主时钟选择:000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为1MHZ,110为500KHZ,111为250KHZ。当D6为1时,系统主时钟最高可采用频率为16MHZ。
CLKCONSTA:时间频率状态寄存器。 D7(OSC32K) 当前32KHZ时间振荡器 D6(OSC) D5~D3(TICSPD[2:0]) D2~D0(CLKSPD) 当前系统时钟 当前定时器输出标记 当前系统主时钟 D7位为当前32KHZ时间振荡器频率。0为32KRC震荡,1为32K晶振。 D6位为当前系统时钟选择。0为32M晶振,1为16M RC震荡。
D5~D3为当前定时器输出标记。000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为 1MHZ,110为500KHZ,111为250KHZ。
D2~D0为当前系统主时钟。000为32MHZ,001为16MHZ,010为8MHZ,011为4MHZ,100为2MHZ,101为1MHZ,110为500KHZ,111为250KHZ。
U0CSR:USART0控制与状态; D7(MODE) D6(RE) D5(SLAVE) D4(FE) D3(ERR) D2(RX_BYTE) D1(TX_YTE) D0(ACTIVE) 接收器SPI主/从帧错误奇偶错模式选择 接受状态 使能 模式 状态 误状态 D7为工作模式选择,0为SPI模式,1为USART模式 D6为UART接收器使能,0为禁用接收器,1为接收器使能。 D5为SPI主/从模式选择,0为SPI主模式,1为SPI从模式。
传送状态 收发主动状态
D4为帧错误检测状态,0为无错误,1为出现出错。
D3为奇偶错误检测,0为无错误出现,1为出现奇偶校验错误。 D2为字节接收状态,0为没有收到字节,1为准备好接收字节。
D1为字节传送状态,0为字节没有被传送,1为写到数据缓冲区的字节已经被发送。 D0为USART接收/传送主动状态,0为USART空闲,1为USART忙碌。
U0GCR:USART0通用控制寄存器;
D7(CPOL) SPI时钟极性 D6(CPHA) SPI时钟相位 D5(ORDER) 传送位顺序 D4~D0(BAUD_E[4:0]) 波特率指数值 D7为SPI时钟极性:0为低电平空闲,1为高电平空闲;
D6为SPI时钟相位:0由CPOL跳向非CPOL时采样,由非CPOL跳向CPOL时输出,1由非CPOL跳向CPOL时采样,由CPOL跳向C非POL时输出
D5为传送为顺序:0为最低有效位先传送,1为最高有效位先传送。 D4~D0为波特率设置:
波特率 2400 4800 9600 14400 19200 28800 38400 57600 76800 115200 230400 指数值 6 7 8 8 9 9 10 10 11 11 12 小数部分 59 59 59 216 59 216 59 216 59 216 216 SLEEPCMD:睡眠模式控制寄存器 D7 D6 D5 主时钟状态 0关闭 1打开 D4:D3 D2 D1:D0 读0 低速时钟状态 0关闭 1打开
最后一次节能控制 功能模式选择 复位指示 0不关无用时钟 1关闭 U0CSR串口控制状态寄存器 D7 串口模式选择 0:SP1 1:UART D6 D5 D4 串口帧错误状态 0无错误 1有错误 D3 串口校验错误结果 0无校验 1校验出错 D2 接受标志 0没有接收到数据 1接收到数据 D1 发送标志 0没有发送 1最后一次写入U0BUF的数据已发D0 串口忙标志 0串口闲 1串口忙 接收使能 SP1主从0关闭 选择 1接收 0:SP1主 1:从 送