




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 报 告实验名称:利用Timer控制LED实验课程名称:无线传感器网络实验院 系 部:电院 专业班级:电网1403学生姓名:马嘉 学 号:1141600318同 组 人:马龙 实验台号:9指导教师:武昕 成 绩: 实验日期:2017/4/19华北电力大学一、实验目的1、理解利用 Mote 设备的 Timer 控制 LED,通过编写实例程序,直接控制 Mote设备的 LED 的运行。 2、理 解 Blink Timer组件(BlinkTimer.nc 、 BlinkTimerM.nc 、SingleTimer.nc)的功能和结构二、实验要求根据提供的例子程序,详细了解nesC程序的结构,以及LED亮灯的控制,然后尝试进行程序的修改运行。实验具体要求如下:1、掌握编译及烧录telosb程序的方法;2、修改例子程序,只使用一个Timer,三个LED灯进行循环亮灭。三、实验原理1、BlinkTimer.nc 文件是记录 BlinkTimer 实例中使用的各个组件之间连接的配置文件;BlinkTimerM.nc 文件是对如何进行实例中的本功能LED 控制进行记录的模块文件。2、SingleTimer 是利用 TimerC 组件构成的新的报警组件。通过 SingleTimer声明配置文件后,通过Provide 声明接口 Timer 和StdControl。在 Implementation 中声明所要使用的组件 TimerC,对通过 Provide声明的 Timer 接口和 TimerC 组件的 Timer 接口进行连接。此时,Timer 可以在个组件中同时使用,通过使用 Unique 的排列形式进行声明,使多个组件具有互不相同的 Timer。3、BlinktimerM.nc首先,在 Module 之后记录 BlinkTimerM,对将使用的接口进行声明,在Implementation 部分记录与实际运行有关的内容。 对显示 Red LED 状态的变量 state,以 Bool 形式进行声明,分别定义接口StdControl 的 init()、start()、stop()函数。 首先,在 StdControl 的 init()函数中,在 state 中加入 FALSE 后,调用 LedsC中提供的接口 Leds 的 init()函数,对 LED 进行初始化。 在 StdControl 的 start()函数中,为了能够在一段时间后调用 Timer.fired(函数,在设定时间时调用 Timer.start()函数。进入 Timer.start()函数的第一个参数中的保留字为 ONE_SHOOT 及 TIMER_REPEAT。这里的 ONE_SHOOT 指仅调用一次Timer.fired() event,而 TIMER_REPEAT 则指周期性地持续调用 Timer.fired() event。第二个参数是对 Timer 在多长时间(以毫秒单位)之后生成 Signal 进行时间设置的部分。在上述源代码中,第一个参数中记录了 TIMER_REPEAT;在第二个参数中则记录了数字1000,每隔一秒反复生成Signal,调用 Timer.fired() event。与实际 Timer 相关的内容可参考“/tos/system/TimerC.nc”和 TimerM.nc文件中的内容。 在 StdControl 的 stop()函数中,为了停止从Start 开始的 Timer,调用Timer.stop()函数。 在 StdControl.start()函数中已调用的 Timer.start()函数,每隔一秒反复生成 Signal,调用本实例的 event Timer.fired()函数。 在 Timer.fired()函数中,否定原来具有 FALSE 值的 state,重新将 TRUE 值加入 state 变量中,调用通过 Task 定义的 Processing 函数。在通过 Task 定义的 Processing 函数中,当 state 为 TRUE 时,调用接口 Leds的 redOn()函数,打开 Red LED;当 state 为 FALSE 时,调用 redOff(),关闭 Red LED。从结果来看,在该实例中,Red LED 每秒重复打开/关闭。四、实验过程1、依次输入cd /opt/tinyos-1.x/contrib/zigbex cd BlinkTimermake zigbex得到2、编译后,生成“build/zigbex”文件夹。在该文件夹中生成 Main.hex 文件。利用 ISP 工具将 Main.hex 安装到 Mote 设备中。在运行 PonyProg 程序后,为了打开 Main.hex 文件,找出相应路径。3、按打开按钮。载入 Main.hex 后,在窗口中显示 Hex。4、此时,在 Command 菜单中选择“Write Program”,把 Main.hex 载入到 ZigbeX Mote 设备中。5、 运行 AVR Studio; AVR Studio 中选择 Tools-Program AVR-Auto Connect 菜单,连接到 USBISP 上; 连接完成后,出现如下下载画面。点击“.”按钮,选择所需的 Hex 文件后,点击“Program”按钮即可运行程序。第一次在 AVR 中运行程序时,请点击下一个 Fuses 栏
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酶标仪使用方法
- 幼儿园班主任发言稿模版
- 新质生产力讲座大学
- 局限性胸膜间皮瘤的临床护理
- 江西省九江市九江有色金属冶炼厂职工子弟学校2025届七年级数学第二学期期末复习检测试题含解析
- 先天性马蹄内翻足健康宣讲课件
- 手部先天性畸形的临床护理
- 山东省平原县2025届数学七下期末复习检测模拟试题含解析
- 溃疡基因转录分析
- 开展2023愚人节创意活动方案大全
- 糖尿病患者体重管理专家共识(2024版)
- 机械加工生产流程
- 人教版二年级语文下册第一单元测评卷(无答案)
- AI如何赋能职场人:大模型落地企业方法论
- 2024年度电影项目制片人聘用合同书标准版3篇
- 水利工程监理生产安全事故隐患排查制度
- 宁夏回族自治区银川市兴庆区银川一中2025届高考压轴卷数学试卷含解析
- 风电建设安全课件
- 门窗合同模板范文
- 上海市居住房屋租赁合同2014版
- 锌锭购销协议
评论
0/150
提交评论