基于单片机的远程监控系统设计毕业设计说明书.doc_第1页
基于单片机的远程监控系统设计毕业设计说明书.doc_第2页
基于单片机的远程监控系统设计毕业设计说明书.doc_第3页
基于单片机的远程监控系统设计毕业设计说明书.doc_第4页
基于单片机的远程监控系统设计毕业设计说明书.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

毕毕业业设设计计说说明明书书 基于单片机的远程监控基于单片机的远程监控 系统设计系统设计 专业专业自动化 学生姓名学生姓名 班级班级自动化 112 学号学号 指导教师指导教师 完成日期完成日期2015 年 6 月 5 日 盐城工学院本科生毕业设计说明书 2015 毕业设计说明书 毕业论文 独创性声明 本人声明所呈交的毕业设计说明书 毕业论文 是本人在导师指导下 进行的研究 设计工作后独立完成的 除了文中特别加以标注和致谢 的地方外 说明书中不包含其他人己经发表或撰写过的研究成果 对 本文的研究所做贡献集体和个人 均己在说明书中作了明确的说明并 表示谢意 本人完全意识到本声明的法律后果由本人承担 毕业设计说明书 毕业论文 作者签名 手写 日期 年 月 日 指导教师签名 手写 日期 年 月 日 盐城工学院本科生毕业设计说明书 2015 基于单片机的远程监控系统设计基于单片机的远程监控系统设计 摘 要 以 STC89C52 单片机为控制核心进行远程监控系统的设计 实时监控高 塔液位变化 监控过程智能化 LCD 显示器实时显示液位值 当液位超过设定值 的上限或下限时蜂鸣器报警 LED 灯闪烁报警 根据远程监控系统的主要功能 提出了设计方案并进行了论证 设计包括硬件 设计和软件设计两大部分 硬件部分包括单片机最小系统 矩阵键盘模块 无线 收发模块 显示模块 报警模块五个部分 单片机选用宏晶科技公司的 STC89C52 用矩阵键盘将输入的模拟液位数据值传给无线模块 并进行数据处理 用 1602 液晶显 示器显示高塔液位信息 并与输入值进行比较 用发光二极管和 蜂鸣器对异常情况报警 软件采用了模块化的设计方法 主要分为主程序 无线 发射模块子程序 无线接收子程序 按键检测子程序 液晶显示子程序 报警模 块子程序六部分 对系统进行软硬件联调 实现了将模拟液位数据通过 nrf24l01 模块模块传输到另一个 nrf24l01 无线模块 通过单片机解码显示在 LCD 显示器上 当接收到的数值超过 1000 或小于 10 的时候蜂鸣器和发光二极管同时报警 关键词 nrf24l01 单片机 远程传输 显示器 盐城工学院本科生毕业设计说明书 2015 Design of Remote Monitoring System Based on MCU Abstract The design of the remote monitoring system based on the STC89C52 microcontroller core is designed Real time monitoring of the tower liquid level changes monitoring process intelligent LCD display real time display of liquid level when the level exceeds the set value of the upper or lower buzzer alarm LED lights flashing alarm According to the main function of the remote monitoring system the design scheme is presented and demonstrated Design includes two parts of hardware design and software design The hardware includes the smallest single chip microcomputer the matrix keyboard module the wireless transceiver module the display module and the alarm module of the five parts Single chip selection macro crystal STC STC89C52 matrix keyboard input level simulating data value is passed to the wireless module and data processing 1602 LCD display tower liquid level information and a comparison with the input value light emitting diode and the buzzer to alarm for abnormal situation Software using modular design method mainly divided into main program wireless transmitting subprogram module wireless receive subroutine key detection subroutine liquid crystal display subroutines alarm module subroutine six parts The system of hardware and software debugging the simulation level of data through nrf24l01 module is transmitted to another nrf24l01 wireless module through the microcontroller decoding display on the LCD display when the numerical received more than 1000 or less than 10 the buzzer and the light emitting will give an alarm Key Words Nrf24l01 MCU Remote transmission Display 盐城工学院本科生毕业设计说明书 2015 目目录录 1 概述 1 1 1 课题研究背景与意义 1 1 2 课题设计内容 1 2 方案设计选择 2 2 1 单片机选择 2 2 1 无线装置选择 3 2 2 显示模块选择 4 2 4 总体方案 4 3 硬件电路设计 5 3 1 最小系统模块 5 3 2 矩阵键盘电路设计 6 3 3 无线收发电路设计 7 3 3 1 nrf24l01 概述 8 3 3 2 引脚功能及描述 8 3 3 3 工作模式 9 3 3 4 工作原理 10 3 3 5 配置字 10 3 4 LCD 显示模块 11 4 软件系统设计 13 4 1 总流程图设计 13 4 2 矩阵键盘电路软件设计 14 4 3 无线发射模块软件设计 15 4 4 无线接收模块软件设计 16 4 5 LCD1602 显示器软件设计 17 4 6 蜂鸣器报警电路 18 5 系统的调试及实验结果 20 5 1 调试步骤 20 5 2 实验结果 20 结 论 22 参考文献 23 致 谢 24 附 录 25 附录 1 发送电路部分程序 25 附录 2 35 发送电路电路图 35 接收部分电路图 36 盐城工学院本科生毕业设计说明书 2015 附录 3 元器件清单 37 盐城工学院本科生毕业设计说明书 2015 1 1 概述 1 1 课题研究背景与意义 此课题属于应用型的课题 所以结合了实际的情况进行分析后再进行硬件设计 和软件设计 在人们的日常生活 娱乐和工作中 远程控制得到非常广泛的应用 从家电遥 控到大型机器远程操作 从手机到笔记本电脑 以及现在的工厂的设备检修和维 护等 几乎所有现代化的电器机器设备都要用到远程控制 远程控制为人们的工 作生活提供了极大的安全性 便利性 快捷性 得益于信息高速公路的快速建设 无线网络技术也赶上了这趟高速列车 与此 同时 远程控制技术也悄然的登上了这辆高速列车 在信息时代的各个领域的中 的应用显得越来越突出 扮演的角色也越来越重要 作为信息时代的产物 远程 控制技术在工业生产方面扮演着不可替代的角色 应用在企业生产器械上能有效 的减少错误率 提高精度 提高生产效率 同时还能为企业节约开支减少人工成 本 为企业带来生产之外的效益 因为处于爆炸式的信息时代中 移动通讯技术的日趋成熟 这使得我们在日常 生活中可以非常轻松的去搞定某些本来需要我们亲临现场去办的事情 比如说现 在的无线温度监测 就很好的体现出了远程控制系统和传统行业的完美结合 这 意味着传统行业可以很轻松的将以前需要大量的人力 物力才能搞定的事情 现 在只需要坐在办公室里面动动手指头就能将数据采集回来 然后通过计算机处理 后生成报告 无线数据传输技术的发展不仅能节约企业的成本提高企业的效益 同时还能给其带来领先同行的先机 无线数据传输技术优点多 不仅简单易用 成本低 效率高 收益长远 抗干 扰能力强 再结合微机和互联网进行使用便可以胜过传统有线传输 1 2 课题设计内容 以 STC89C52 单片机为核心 并结合外围电路设计远程监控系统 系统具有采 集 无线发送 对应显示 异常报警功能 具体如下 a 矩阵键盘采集数据 b 无线模块首发数据 c LCD 显示数据 d 数据异常时蜂鸣器报警 基于单片机的远程监控系统设计 2 2 方案设计选择 由于目前远程控制技术的控制方式是多种多样的 我们通常把他们分为无线 遥控 声控和红外遥控 现在讨论一下这几种无线控制方式的优点和缺点 2 1 单片机选择 单片机作为信息时代的产物 收到许许多多的企业和个人青睐 从目前的发展 状况和应用的角度上来看 可以将单片机粗略的分为总线型单片机 非总线型单 片机 通用型单片机 专用型单片机 商业应用型单片机 企业生产型单片机 家庭应用型单片机等 总线型单片机提供并行总线 在其内部设置诸多总线 例如 控制总线可以用 来控制外部引脚 数据总线用于与外部进行数据传输 地址总线用来寻址等 控制型单片机主要应用于大型机械生产加工上以及各类家电的控制上 一般来 说 工控型单片机具有运算能力强 寻址范围大等优点 家用型单片机一般是专 用型的 比如我们生活中的空调 电视机 电饭锅 电磁炉等都需要用到这种封 装小 价格低 易操作 集成度高 抗干扰较强的单片机 此单片机针对性较强 但比较局性 通用型单片机的适用范围较广 既能适用于工业控制 又能适用于家庭生活等 缺点是没有针对性 这种单片机的应用较多 资料齐全 易上手 对于初学者是 一个不错的选择 STC89C52 单片机是宏晶科技有限公司生产的一种适用性强 实用性高 能耗 低 具有比较大的可编程空间 被市场广泛认可的单片机 STC89C52 单片机选用 经典的 MCS 51 作为内核使用 以此为基础做了许多的改良使得芯片的功能比传 统的 51 单片机更加的强大 因为单片机提供了 8K 的可编程 flash 存储 所以使得 单片机可以在很多的可嵌入式系统中得以使用 并发挥出良好的性能 所以在此我选用 89C52 单片机作为主控芯片 STC89C52 的引脚图如图 2 1 所 示 盐城工学院本科生毕业设计说明书 2015 3 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RESET 9 P30 RXD 10 P31 TXD 11 P32 INT0 12 P33 INT1 13 P34 T0 14 P35 T1 15 P36 WR 16 P37 RD 17 XTAL2 18 XTAL1 19 GND 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE PROG 30 EA VP 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 图 2 1 STC89C52 的引脚图 2 1 无线装置选择 a 红外遥控 红外遥控技术是一种非直接接触式的无线控制技术 在现实生 活中使用能节约成本 降低功耗 遥控的实现较为容易 传输数据的可靠性强 实用性高 抗干扰能力强 适用于多种环境等诸多优点 因为红外遥控的诸多优 点 所以红外遥控技术也被许多的电子设备的厂商所青睐 在目前的电子设备中 红外遥控技术被应用的最多的当属家用电器 因为实用性强也越来越受到大众用 户的喜爱 但由于红外线的光谱特性使得红外信号无法穿透障碍物 从而阻碍了 无线信号的传输 同时失去了对被控对象的控制 所以不能作为远距离传输的选 择 只能在小范围内的对电阻器件进行控制 b 声控 利用声音进行控制的远程监控系统的穿透力比较好 可以避开障碍 物进行控制 但却因声波信号的频率问题容易受到其他声音的干扰 传输过程中 弱化的较快 所以传输距离非常有限 所以在远程监控系统中声控方式不太适用 c 无线遥控 无线遥控中采用无线电进行接收和发送数据 因为无线电的传 输不需要依靠介质 并且无线电采用 0 和 1 的的二进制编码进行数据传输 所以 在传输数据时 其可靠性较高 无线电能传输较远的距离而不失真 所以被广泛 应用于通话设备中 如 对讲机 手机等 同时无线传输技术还具有良好的抗干 扰性能 可以大面积的覆盖 直接穿透障碍物等有点而被大众所喜爱 在厂房公 用设施上 门形框架 工业用门 升降柜 平台 照明的控制等 在农业生产方 面如 无线水库水位监测 稻田液位检测 大棚蔬菜内的二氧化碳含量 鱼塘里 的含氧量等 在工业生产方面有 无线监控机器设备运转状况 无线检测厂房内 基于单片机的远程监控系统设计 4 的尘埃颗粒以及温度等有可能影响良品率的因素 厂房内的传动设备等 在交通 方面 比如现在的无人驾驶技术 d 方案选择 根据以上对三种遥控技术的讨论 选用无线遥控作为系统设计 的无线传输方式 2 2 显示模块选择 从液晶显示器可以显示的内容来区分 可以将液晶显示器分为点阵式 字符式 段式 目前使用较多的是 LCD12864 和 LCD1602 12864 的像素点是 128 64 能 显示 8 4 个汉字 因其有多种型号 有的带有汉字字库 有的没带 显示图像的 效果较好 功能比 1602 强大 而 LCD1602 属于字符型 专门用于显示字母 数 字 符号和几种自定义符号 它最多能显示 2 行 16 个字符 1602 价格便宜 而 12864 价格稍贵 在编程使用方面 两者难度差不多 原理差不多 都是写地址 写指令 写数据等 因为在设计中只需要将发送模块的数值传输到接收模块 再出于经济实惠方面 考虑 所以采用 LCD1602 作为显示模块 LCD1602 外观图如图 2 2 所示 图 2 2 LCD1602 外观图 2 4 总体方案 课题的设计采用了 2 4GHz 频段的 nrf24l01 射频芯片 芯片特点是功耗低 效 率高 并且在课题中用用了被大众所广泛使用的 STC89C52 单片机来控制无线接 收模块和无线接收模块 因为使用了无线电传输技术 所以可以很好的进行近距 离和较远距离的无线通信 所以设计好的系统具有以下优点 低成本设计 功率 消耗小 传送速度快 硬件电路设计相对简单 通讯信号相对可靠稳定 实用性 强 整个通讯系统由接收数据模块和发送数据模块一同组成 在数据接收和发送 中采用的硬件模块是挪威公司生产的 nrf24l01 以及后期生产中添加的一系列外围 电路 发送数据部分使用单片机 STC89C25 作为核心控制中心 数据采集模块使 用矩阵键盘进行模拟采集 然后将所得到的数据吸入 LCD 中 最后显示出来 接 收部分同样使用 C52 单片机最为核心 将发送端发送过来的数据进行处理 然后 通过 1602 显示出接收到的数据 如果发送数据模块显示器上的数据和接收数据模 盐城工学院本科生毕业设计说明书 2015 5 块显示器上的数据显示是一致的 则表示数据成功的发送和接收 基于单片机的远程监控系统设计 6 3 硬件电路设计 信息时代下 数据通过无线传输的方式在我们的工作 生活以及各种勘察中 经常被使用到 随着生活水平的不断提高和科学技术的不断进步 对于无线数据 传输的精度的要求也越来越苛刻 在设计中无线收发模块将矩阵键盘中的键值发 送给接收模块 然后在 LCD 液晶屏上显示出来 再对比发送模块的液晶显示屏上 的数值 判断发送和接收是否对应 因为将单片机和无线模块的相互配合着使用 所以能解决传统工艺上的许多不足 在传统工艺上 如若需要传输数据还得通过 布线的方式进行 此方式费时费力效率低 而通过无线传输的方式就能很好的解 决这个耗时耗力的事情 在设计中我采用了 nrf24l01 作为收发数据的核心控件 将 STC89C52 单片机作为主控处理器 同外加矩阵键盘 蜂鸣器和液晶显示模块 组成整个系统 如图 3 1 所示 MCUMCU 矩阵键盘 LCD显示 模块 无线发送 模块 无线接收 模块 LCD显示 模块 蜂鸣器 图 3 1 系统总体架构图 3 1 最小系统模块 系统设计使用 STC89C52 当作主控 CPU 单片机最小系统 也被称作单片机最小应用系统 是指用最少的元器件组合 使得单片机可以正常工作的系统 对于 51 系列的单片机来说 最小应用系统一般 包括 51 单片机 复位电路 时钟电路 这里设计的 STC89C52 最小系统中包括 复位电路 晶振电路并介绍了各部分的功能 a 在最小时钟电路中 单片机将 XTAL1 XTAL2 和 RST 提供出来给外围时 钟电路和复位电路 b 复位电路是用来将单片机系统恢复到初始状态的一种电路设备 在单片机 系统设计中复位电路可以确保单片机系统中电路可靠稳定的工作 复位电路的主 要功能就是利用按键进行上电复位 复位电路如图 3 2 所示 盐城工学院本科生毕业设计说明书 2015 7 VCC 10uF C11 10K R15 RESET 位位 GND 图 3 2 复位电路图 c 晶振电路 51 系列单片机时钟模块 如图 3 3 所示 12 11 0592MHz Y1 30pF C1 30pF C2 XTAL1 XTAL2 GND 图 3 3 晶振电路 3 2 矩阵键盘电路设计 矩阵键盘是在单片机外部设备使用中类似于矩阵排布的键盘组 发送端的矩 阵键盘接线如图 3 4 所示 S1S2S3S4 S5S6S7S8 S9S10S11S12 S13S14S15S16 P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 图 3 4 矩阵键盘 如图所示 4 4 的矩阵键盘一共使用了 8 个数据口 其中水平的四根线接在单 片机的 P0 0 P0 3 数据口 垂直的四根线接 P0 4 P0 7 数据口 在 P0 口和矩阵键盘 之间再并一个 1K 的上拉电阻为键盘供电 1K 的上拉电阻不仅给矩阵键盘提供外 部电源同时还将 P0 口的电平稳定在高电平 如果键盘中有按键被按下的话 单片 机就能检测到低电平 继而单片机能判断出键盘中有没有某个键被按下 当把单片机作为主控制器设计电路时 如果要使用比较多的按键的时候 我 基于单片机的远程监控系统设计 8 们一般可以用矩阵排列的方式来排列单个键盘 这样做的目的是减少宝贵的数据 口的占用比例 矩阵键盘是通过行线和列线交叉互错排列的 然而交叉点并没有 直接相连 而是通过一个独立按键将行线和列线连接起来 这样能产生的可使用 的键盘数就是行线和列线根数的乘积 如整个 P0 口最多能放置 4 4 个键盘用来构 成矩阵键盘 和独立式键盘的接法相比 能用最少数据口组合出最多的按键 这 样 当我们需要使用较多按键时就能使用这种方式来节约 I O 口的使用 3 3 无线收发电路设计 无线收发模块的组成是 nrf24l01 为核心控制器 辅助以 16MHz 的时钟电路 然后再在外围电路中加入六个 SPI 一个电源口 一个接地口 无线模块的射频技 术标准是采用了全球的通用免费频段 2 4GHz 的频段 SPI 口的功能主要就是写 入数据 发送数据 接收数据 读出数据 在写入的数据的时候速度可达 10MB S 发送数据最大速度可达 2MB S 芯片还具有许多比较好的功能 比如收发数据时 能够自动应答 以检测数据是否发送成功同时又能知道接收方是否接收成功 自 动重发功能可以在数据为接收成功的情况下 发送端根据检测到的信号重新对接 收端进行数据发送 无线模块的工作能耗低 在发送数据的时候工作电流为 11 3mA 接收数据时的工作电流为 12 3mA 这种低能耗的产品正是适用于我们现 在的低碳社会中 可以有效的传输数据 又能很好的较低能耗 深受广大厂商的 喜爱 还有空闲模式来进一步减少能耗 在使用 nRF24 L01 时将其 CE CSN IRQ MISO MOSI SCK 六个引脚和 stc89 C52 的 P1 口相连接 为了防止 电流过大而烧毁无线模块 在单片机 P1 口与 nrf24l01 的各引脚之间串接一个 2K 的限流电阻 无线模块和单片机的连接图如图 3 5 所示 VCC 1 CE 2 CSN 3 SCK 4 MOSI 5 MISO 6 IRQ 7 GND 8 U3 NIF24L01 VCC 1 SC3 3 2 GND 3 U1 LM1117 104 C3 GND 22uf C GNDVCC 3 3V 3 3v 116 2K215 2K314 2K413 2K512 2K611 2K P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 盐城工学院本科生毕业设计说明书 2015 9 图 3 5 nrf24l01 与单片机连接 无线模块和单片机相连接时引脚分配如表 3 1 所示 表 3 1 无线模块引脚分配表 nrf24l01 引脚接法 VCC3 3V CEP1 0 CSNP1 1 CSKP1 2 MOSIP1 3 MISOP1 4 IRQP1 5 GND 接地 在为无线模块提供 3 3V 的稳压模块上 在其 3 3V 的输出端口需要并联一个 104 和一个 22up 的电容来过滤波形使得 nrf24l01 在无线收发时更加的顺畅 3 3 1 nrf24l01 概述概述 nrf24l01 内置频率合成器 功率放大器 晶体振荡器 调制器等功能模块 并 融合了 Shock Burst 增强型技术 其中通信频道和输出功率可通过 C 程序进行配置 nrf24l01 主要特性如下 1 GFSK 调制 硬件集成 OSI 链路层 2 具有自动应答和自动再发射功能 3 片内自动生成报头和 CRC 校验码 4 数据传输率为 l Mb s 或 2Mb s 5 SPI 速率为 0 Mb s 10 Mb s 6 125 个频道与其他 nRF24 系列射频器件相兼容 7 QFN20 引脚 4 mm 4 mm 封装 8 供电电压为 1 9 V 3 6 V 3 3 2 引脚功能及描述引脚功能及描述 nrf24l01 的引脚排列和封装如图 3 6 所示 基于单片机的远程监控系统设计 10 CE 1 CSN 2 SCK 3 MOSI 4 MISO 5 IRQ 6 VDD 7 VSS 8 XC2 9 XC1 10 VDD PA 11 ANT1 12 ANT2 13 VSS 14 VDD 15 IREF 16 VSS 17 VDD 18 DVDD 19 VSS 20 VSS 20 nrf24l01 图 3 6 nrf24l01 封装图 CE 使能发射或接收 SCK CSN MISO MOSI SPI 引脚端 单片机通过这四个引脚配置 nrf24l01 IRQ 中断标志位 VDD 电源输入端 3 3V VSS 电源地 0V XC2 XC1 16Mhz 晶振引脚 VDD PA 给无线模块的功率放大器提供 1 8 V 的电源 ANT1 ANT2 天线接口 IREF 参考电流输入 3 3 3 工作模式工作模式 通过配置寄存器可将 nrf24l01 无线收发模块配置为待机模式 掉电模式 发 送模式 接收模式这四种工作模式 如表 3 2 所示 表 3 2 nrf24l01 主要工作模式 模式CEPWR UPPRIM RXFIFO 寄存器状态 接收模式111 发送模式110数据在 TX FIFO 寄存器中 发送模式1 010停留在发送模式 直至数据发送完 待机模式 110TX FIFO 为空 待机模式 01 无数据传输 掉电模式 0 盐城工学院本科生毕业设计说明书 2015 11 待机模式 主要用于降低元件的功率损耗 在此模式下晶振依然以较低的频 率持续工作着 待机模式 则是在当 TX FIFO 寄存器为空且 CE 使能时进入这种 模式 待机模式下 所有寄存器配置的值仍然保留 在掉电模式下元件的功率损 耗为最小值 同时 nrf24l01 处于不工作状态 但所有寄存器配置的内容保持不变 3 3 4 工作原理工作原理 a 发送数据 首先将无线收发模块配置为发送模式 将 9 字节宽的接收地址 和 9 字节宽的发送地址 TX ADR 按照时序从 SPI 口写入无线收发模块的缓存区 初始化 I O 口 将 CE 置低电平 拉高 CSN CSK 置低电平 完成准备工作后 根据 SPI 协议 将有效数据 TX PLOAD 按照时序写入无线收发模块的缓存区中 必须在 CSN 置低电平后才能开始传输数据并且连续写入 而接收和发送的地址只 要在发送时写入一次即可 选择寄存器 同时返回状态字 然后将数据写入寄存 器中 拉高 CSN 结束数据传输 返回寄存器 从寄存器中读出接收通道和收发 地址 使 CE 使能至少 10us 启动接收设备 延时 130us 后开始传输数据 如果发 送模块的自动应答已经开启 那么 nrf24l01 将数据发送完毕后即刻进入接收模式 等待接收模块的反馈信号 自动应答的接收地址和接收模块的接收地址一样都为 TX ADR 如果发送模块接收到应答 则默认为此次发送通信已经成功 将 TX DS 拉高 同时将缓存中的有效数据清除 如果未能收到反馈信号 则发送模 块自动启动重发功能 重新发送缓存中的有效数据 自动重发已经开启 自动重 发计数器不等于 0 ENAA P0 1 如果重发次数 ACR 到达上限 上限为自动 重发 10 次 将 MAX RT 电平拉高 保留缓存中的有效数据以便再次发送 是 IRQ 置低电平 产生中断 通知单片机 减少单片机的查询时间 发送数据成功 后 如果将 CE 置低电平 则系统自动进入待机模式 I 如果不将 CE 置低电平 则系统会自动将 TX FIFO 寄存器中的下一包数据进行发送 如果 TX FIFO 寄存 器为空并且 CE 为高则系统进入待机模式 II b 接收数据 接收数据时 首先拉高 CE 将 nrf24l01 配置为接收模式 接着 延迟 130 s 后检测空中信息等待数据的到来 接收到有效的数据包后 地址匹配 CRC 检验正确 数据存储在 RX FIFO 中 同时 RX DR 位置高 IRQ 置低 并 产生中断 通知单片机去读取数据 如果使能自动确认信号 则发送确认信号 最后接收成功时 若单片机将 CE 口置低 则 nrf24l01 进入待机模式 1 在将数据 写入寄存器之前一定要进入掉电模式或待机模式 3 3 5 配置字配置字 常用的配置寄存器如表 3 3 所示 表 3 3 常用配置寄存器 地址 H 寄存器名称功能 基于单片机的远程监控系统设计 12 00CONFIG设置 24L01 工作模式 续表 3 3 01EN AA 设置接收通道及自动应答 02EN RXADDR使能接收通道地址 03SETUP AW设置地址宽度 04SETUP RETR设置自动重发数据时间和次数 07STATUS状态寄存器 用来判定工作状态 0A 0FRX ADDR P0 P5设置接收通道地址 10TX ADDR设置接收接点地址 11 16RX PW P0 P5设置接收通道的有效数据宽度 3 4 LCD 显示模块 LCD1602 与单片机连接如图 3 7 所示 GND 1 VDD 2 V0 3 RS 4 RW 5 E 6 D7 7 D6 8 D5 9 D4 10 D3 11 D2 12 D1 13 D0 14 VCC 15 GND 16 U4 LCD1602 10K R2 VCC GND GND VCC GND VCC P1 7 P1 6 P2 7 P2 6 P2 5 P2 3 P2 2 P2 1 P2 0 P2 4 图 3 7 1602 连接图 表 3 4 1602 各管脚和单片机连接 管脚号符号接法和功能 1VSS 接地 电源地 2VDD 接 5v 电压 电源电压 盐城工学院本科生毕业设计说明书 2015 13 3V0 调节 LCD 灰度 4RS 发送端接 P1 6 接收端接 P0 6 写命令和写数据 续表 3 4 5R W 接地 6E 发送端接 P1 7 接收端接 P0 7 使能端 7DB0 8DB1 9DB2 10DB3 11DB4 12DB5 13DB6 14DB7 接 P2 数据口用于接收单片机传出的数据 15A 背光调节接 5V 16B 背光调节接 0V 基于单片机的远程监控系统设计 14 4 软件系统设计 4 1 总流程图设计 程序设计发送端总流程图如图 4 1 所示 开始 初始化 配置无线模块为发送模式 按矩阵键盘输入待发送数据 将数据写入LCD 发送数据 发送成功 接收数据 接收成功 结束 Y Y N N 图 4 1 发送端程序总流程图 程序设计接收端程序总流程图如图 4 2 所示 盐城工学院本科生毕业设计说明书 2015 15 开始 初始化 配置无线模块为接收模式 将数据写入寄存器 接收成功 接收数据 1000 将数据写入LCD 结束 将数据写入LCD并触发蜂鸣 器报警 N Y YN 图 4 2 接收端程序总流程图 4 2 矩阵键盘电路软件设计 矩阵键盘扫描读取键值流程图如图 4 3 所示 基于单片机的远程监控系统设计 16 开始 延时消抖 有按键按下 行列扫描确定键号 释放按键 结束 N Y 图 4 3 矩阵键盘扫描 矩阵键盘同普通的独立式按键的接法不同 每一个按键都接了行线和列线 这样的接法能节省单片机宝贵的数据口 但是在键盘的识别中相对要复杂一些 将行线和列线这 8 跟线依次接到 P0 口中 因为 P0 口不提供电压 所以我们需要 在 P0 口并联一个 1K 的上拉电阻为矩阵键盘供电 此时 如果矩阵键盘中没有按 键被按下的话 P0 口的电平呈高电平 当行线和列线中同时出现低电平时 代表 有按键按下 这样就能确定键值 从而得到数据 确定矩阵键盘上的哪个按键被按下了 扫描方式如下 低四位逐行扫描 扫描之后马上读取键值 将低四位屏蔽 扫描高四位 当 高四位不全为 1 时 说明有按键被按下 此时延时去抖动 确认有按键被按下后 根据按键所在的行和列确定按键号 给对应的按键赋值 当一个扫描完成后返回 初始状态 4 3 无线发射模块软件设计 首先对 nrf24l01 进行初始化操作 初始化操作部分包括对单片机的 P1 口中 P1 0 P1 5 进行初始化同时也要将接在这六个口中的无线模块的六个 SPI 进行初始 化 将这两部分初始化成功后才能让在 nrf24l01 模块之间建立通信 发送数据时 通过给 PRIM RX 寄存器低电平进入发送模式 然后把接收地址节点和发送节点地 址都写入 nrf24l01 中 将通道 0 设置成接收模式 启动自动应答模式 拉高 CE 延时 10us 后发送程序 其流程图如图 4 4 所示 盐城工学院本科生毕业设计说明书 2015 17 开始 初始化 将CE置低 配置PRIM RX为低 将发送节点地址写 入NR 将接收节点地址写 入NR 将有效数据写入NR 通道0设置为接收 模式 启动自动应答 拉高CE 启动发送 延时10us 启动时钟电路 打包数据 发送数据 成功发送 置低CE 产生应答 清楚缓存 Y N 图 4 4 无线发射模块软件流程图 4 4 无线接收模块软件设计 同样的 在接收模块接收数据的时候 先将单片机的数据口进行初始化同时 将无线模块的六个 SPI 初始化 将无线收发模块的 PRIM RX 寄存器置高进入接收 模式 紧接着延时 130us 后检测数据是否传来 当接收模块检测到同接收地址一样 的发送地址 就将接收到的数据包写入缓存中 同时将 RX DR 位置高 并且产 生中断使得 IRQ 引脚变为低电平 此时以便通知单片机去取接收数据 其流程图 如图 4 5 所示 基于单片机的远程监控系统设计 18 开始 初始化 将CE置低 配置PRIM RX为高 将接收节点地址写入NR 将通道0置高 拉高CE 启动接收 接收中断 延时130us 读取接收数据 结束 Y N 图 4 5 无线接收模块软件流程图 4 5 LCD1602 显示器软件设计 发送模块中 LCD1602 显示器显示键盘值流程图如图 4 6 所示 盐城工学院本科生毕业设计说明书 2015 19 开始 初始化 有无按键按下 执行键值功能 结束 Y N 图 4 6 发送模块 LCD 显示流程图 图示信息为单片机将在矩阵键盘中读到的数值处理后通过 P2 口的数据总线写 入 LCD1602 中 接收模块中 LCD1602 显示器显示 nrf24l01 接收到的数值流程图如图 4 7 所示 开始 初始化 结束 单片机将接受到的数据写入LCD 图 4 7 接收模块 LCD 显示流程图 单片机将接收到的数据通过 P2 口总线写入 LCD 中 然后对比发送模块中的数 据 看发送和接收是否成功 4 6 蜂鸣器报警电路 蜂鸣器报警电路流程图如图 4 8 所示 基于单片机的远程监控系统设计 20 开始 单片机处理接收到 的数据 数值1000 的值时 蜂鸣 器是否报警 5 2 实验结果 经实验要求及实验的目的 对系统进行了一些动态值的测量 具体结果如表 5 1 所示 表表 5 1 数据测试表数据测试表 测试数据值 发送端电流2 6mA 接收端电流9mA 收发端电压3 3V 发送端功率8 58mW 接收端功率29 7mW 收发距离 30m 从表中能看出发送数据和接收数据时都维持在低功耗 基本满足设计要求 发送端成品如图 5 1 所示 基于单片机的远程监控系统设计 22 图 5 1 发送部分成品 将接收到的数据经单片机处理后在 LCD 上面显示出来 接收部分成品如图 5 2 所示 图 5 2 接收部分成品 盐城工学院本科生毕业设计说明书 2015 23 结结 论论 在老师的指导和同学们的相互帮助之下 几经调试和重新焊接电路 设计的 实物已经达到了预期的目标 从确定课题后 上网查找有关无线模块的资料和相 应的各种可运行的程序 矩阵键盘的多种扫描方式体现出了不同的编程思想 这 些都是值得我们学习的 在 LCD 的选择上充分利用了 1602 的物美价廉好编程的 特点 在设计硬件的过程中原先将无线收发模块接在了单片机的 P0 口上 致使后期 的程序调试始终未能成功 后来查找 nrf24l01 的资料后才知道所使用的上拉电阻 太小了 应该使用 10K 的上拉电阻才能在 P0 口正常的使用 nrf24l01 模块 而使用 1K 的上拉电阻是不行的 因为当初购买元器件的时候没有购买 10K 的上拉电阻 并且其他实验室里面也同样未能找到相同阻值的上拉电阻 所以将无线收发模块 转接到单片机的 P1 口上 再在无线收发模块和单片机 P1 口之间串接 2K 的电阻用 于限流 以保护 nrf24l01 模块 因为 nrf24l01 模块需要用到 3 3v 的电压 所以我采用了 1117 稳压芯片来为其 供电 但作为无线传输模块 数据在传输中可能会受到外界的干扰 所以在 1117 的 3 3V 输出电压端口我并联了一个 104 和一个 22uf 的电容来过滤干扰信号 在设计的过程中虽然遇到过种种困惑 但只要能沉下心来好好的想想 再向 指导老师和同学们请教请教 终究是能把问题解决的 在设计的过程还存在许多的不足之处 比如在焊接电路的过程中由于缺乏系 统的布线安排导致电路板上的线比较乱 在焊接中有时还会出现两个点焊接到一 块的情况 这是非常危险的事情 很有可能在接通电源之后就将电路给烧毁了 出现的这些原因都是平时的基本功不够扎实的原因 在日后还得进一步的夯实自 己的基本功才能做出一个更加实用和美观的电路板 基于单片机的远程监控系统设计 24 参考文献参考文献 1 戴佳 戴卫恒 刘博文 51 单片机 C 语言应用程序设计实例精讲 M 北京 电子工业出版社 2008 12 2 薛小铃 刘志群 贾俊荣 单片机接口模块应用与开发实例详解 M 北京 北京航空航天大学 出版社 2010 1 3 张俊 匠人手记 M 北京 北京航空航天大学出版社 2008 4 4 周坚 平凡的探索 M 北京 北京航空航天大学出版社 2010 10 5 唐继贤 51 单片机应用系统开发实例精解 M 上海 上海科学技术出版社 2012 1 6 刘建辉 冀常鹏等 单片机智能控制技术 M 北京 国防工业出版社 2007 4 7 王巧芝 郑锋 刘瑞国 高学辉 51 单片机开发应用从入门到精通 M 北京 中国铁道出版 社 2011 4 8 宋戈 黄鹤松 员玉良等 51 单片机应用开发范畴大全 M 人民邮电出版社 2012 4 9 江志红 51 单片机技术与应用系统开发案例精选 M 北京 清华大学出版社 2008 3 10 唐继贤 51 单片机工程应用实例 M 北京 北京航空航天大学出版社 2009 1 11 龙脉工作室 51 单片机 C 语言应用开发技术大全 M 北京 人民邮电出版社 2008 8 12 谭浩强 C 程序设计北京 M 北京 清华大学出版社 1999 10 13 胡汉才 单片机原理及其接口技术 M 北京 清华大学出版社 1996 12 14 郭天祥 51 单片机 C 程序教程 M 北京 电子工业出版社 2009 1 15 何立民等 单片机外围器件实用手册 M 北京 北京航空航天大学出版社 2003 5 16 彭为 单片机典型系统设计实例精讲 M 北京 电子工业出版社 2006 6 盐城工学院本科生毕业设计说明书 2015 25 致致 谢谢 经过一个学期的工作和努力 毕业设计也已经成型 在制作本页设计的过程中 由于没有前期经验 所以有许多没有照顾到的地方 但是经过不断的摸索 不断 的查找资料 不断的测试中将目标结果调试出来 在这里我首先要感谢一下我的指导老师陆广平老师 是她的耐心的教导 才让 我能顺顺利利的将无线收发模块焊接好 并调试成功 她让我减少了许多工作量 让我的犯错误率大大的降低了 其次我要感谢那些帮助我督促我完成我的毕业设 计的同学们 是你们的正能量让我能够每天七点多就能起来和你们一道来到实验 室 是你们无私的将你们的经验还无保留的传教给我 你们既是益友更是良师 你们的帮助让我深深的感到一个好汉同样需要他人的帮助的 感谢大学四年来 传授我知识的各位老师们 是你们的辛勤让我在电路设计 在焊接电路 在程序 编程中打下了一定的基础 基于单片机的远程监控系统设计 26 附附 录录 附录 1 发送电路部分程序 include include include intrins h define uchar unsigned char define uint unsigned int define TX ADR WIDTH 9 9 字节宽度的发送 接收地址 define TX PLOAD WIDTH 9 数据通道有效数据宽度 void write com uchar com 写命令函数 void write data uchar date sbit lcden P1 7 液晶使能端 sbit lcdrs P1 6 液晶数据命令选择端 uchar code TX ADDRESS TX ADR WIDTH 0 x34 0 x43 0 x10 0 x10 0 x01 定 义一个静态发送地址 uchar RX BUF TX PLOAD WIDTH uchar TX BUF TX PLOAD WIDTH uchar length uchar bdata sta sbit RX DR sta 6 sbit TX DS sta 5 sbit MAX RT sta 4 函数 init io 描述 初始化 IO void init io void CE 0 待机 CSN 1 SPI 禁止 SCK 0 SPI 时钟置低 盐城工学院本科生毕业设计说明书 2015 27 IRQ 1 中断复位 延时子程序 void delay uint z uint x y for x z x 0 x for y 110 y 0 y 函数 SPI RW 描述 根据 SPI 协议 写一字节数据到 nRF24L01 同时从 nRF24L01 读出一字节 uchar SPI RW uchar byte uchar i for i 0 i 8 i 循环 8 次 MOSI byte byte 最高位输出到 MOSI byte 1 低一位移位到最高位 SCK 1 拉高 SCK nRF24L01 从 MOSI 读入 1 位数 据 同时从 MISO 输出 1 位数据 byte MISO 读 MISO 到 byte 最低位 SCK 0 SCK 置低 return byte 返回读出的一字节 函数 SPI RW Reg 基于单片机的远程监控系统设计 28 描述 写数据 value 到 reg 寄存器 uchar SPI RW Reg uchar reg uchar value uchar status CSN 0 CSN 置低 开始传输数据 status SPI RW reg 选择寄存器 同时返回状态字 SPI RW value 然后写数据到该寄存器 CSN 1 CSN 拉高 结束数据传输 return status 返回状态寄存器 函数 SPI Read 描述 从 reg 寄存器读一字节 uchar SPI Read uchar reg uchar reg val CSN 0 CSN 置低 开始传输数据 SPI RW reg 选择寄存器 reg val SPI RW 0 然后从该寄存器读数据 CSN 1 CSN 拉高 结束数据传输 return reg val 返回寄存器数据 函数 SPI Read Buf 描述 从 reg 寄存器读出 bytes 个字节 通常用来读取接收通道 数据或接收 发送地址 盐城工学院本科生毕业设计说明书 2015 29 uchar SPI Read Buf uchar reg uchar pBuf uchar bytes uchar status i CSN 0 CSN 置低 开始传输数据 status SPI RW reg 选择寄存器 同时返回状态字 for i 0 i bytes i pBuf i SPI RW 0 逐个字节从 nRF24L01 读出 CSN 1 CSN 拉高 结束数据传输 return status 返回状态寄存器 函数 SPI Write Buf 描述 把 pBuf

温馨提示

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

评论

0/150

提交评论