- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
D-无线通信综合实验
实验报告内容:
(1) 实验名称: 红外人体检测传感器模块与无线通信结合实验
(2) 实验内容:
装有红外人体检测的传感器模块将检测的数据通过无线通信发送给其他传感器模块,从而实现检测与通信的功能。
1、验证并熟悉红外人体检测的模块的代码,并进行相应实验。
2、验证并熟悉无线通信模块的代码,进行相应的实验。
3、将两个模块的代码结合起来,实现上述功能。
4、调试与改进。
(3) 实验原理:
红外人体检测传感器模块:
人体红外检测开关型模块 HC-SR501。 HC-SR501 是基于红外线技术的自动控制模块, 采用德国原装进口 LHI778 探头设 计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设 备,尤其是干电池供电的自动控制产品。
1、全自动感应:人进入其感应范围则输出高电平,人离开感应范围则自动延 时关闭高电平,输出低电平。
2、光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不 感应。
3、温度补偿(可选择,出厂时未设):在夏天当环境温度升高至 30~32℃, 探测距离稍变短,温度补偿可作一定的性能补偿。
4、两种触发方式: (可跳线选择) a、不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出高电平信号:可方便与各类电路实现对接。 在本模块上设计了个高亮 LED 灯作为检测指示,电路设计 如下所示,直接将红外传感器模块检测结果 VOUT 接入三极管来控制 LED 亮,当 红外模块检测到人体输出为高电平,导致如下电路 Q1 三极管导通,从而使 LED 灯 D1 电路导通,LED 此时被点亮。
无线通信:
a)上层通过basicRfPacketIsReady()在basic_rf.cuint8basicRfPacketIsReady(void)
函数功能:检查模块是否已经可以接收下一个数据,如果准备好刚返回TRUE。
BasicRf层实现:读取rxi.isReady的值并返回。
HAL层实现:在接收中断中,检测收到的帧的帧头,如果是正确的,则把rxi.isReady赋值成TRUE.
b)调用basicRfReceive()buffer中。
uint8basicRfReceive(uint8* pRxData, uint8 len, int16* pRssi)
函数功能:接收来自BasicRF层的数据包,并为所接收的数据和RSSI值配缓冲区
Basic?Rf层实现:把rxi.pPayload中的值赋给pRxData并传递给上层函数。从rxi.rssipRssi。并且把rxi.isReadyFALSE.
HAL层实现:rxi.pPayload中的值是在接收中断服务函数中,读取RFD寄存器得到的,读后,RXFIFO会自动把值写入RFD寄存器。
接收中断:在hal_types.h
#define HAL_ISR_FUNC_DECLARATION(f,v) \
_PRAGMA(vector=v##_VECTOR) __interrupt void f(void)
#define HAL_ISR_FUNC_PROTOTYPE(f,v) \
_PRAGMA(vector=v##_VECTOR) __interrupt void f(void)
#define HAL_ISR_FUNCTION(f,v) \
HAL_ISR_FUNC_PROTOTYPE(f,v); HAL_ISR_FUNC_DECLARATION(f,v)
HAL_ISR_FUNCTION(?rfIsr,?RF_VECTOR?)为中断服务函数。而其中下列代码中函数指针调用的函数即为在basicRfInit函数中配制的basicRfRxFrmDoneIsr函数。
if(pfISR){
(*pfISR)(); // Execute the custom ISR
}
(4)#include hal_lcd.h
#include hal_led.h
#include hal_joystick.h
#include hal_assert.h
#include hal_board.h
#include hal_int.h
#include hal_mcu.h
#include hal_button.h
#include hal_rf.h
#include util_lcd.h
#include basic_rf.h
#include LCD128_64.h
#include hal_key.h
您可能关注的文档
- C语言程序设计-分支-补充.ppt
- C语言程序设计实习报告-停车场管理系统.docx
- C语言笔试1.docx
- c语言第八章课后题答案.doc
- C语言课程设计 简单的行编辑器.doc
- C语言面向对象的程序设计.ppt
- d01-数据结构.ppt
- D-COM终端用户使用手册.doc
- D8假设检验.ppt
- day11-Servlet入门.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)