基于51单片机的无线测温系统的设计毕业论文(编辑修改稿)内容摘要:

通用微处理器 上实现 软件 定义的 无线电。 无线模块广泛被业余爱好者,学术机构和商业机构 用来研究和构建 无线通信 系统。 开发者能够简单快速的构建一个实时、高容量的无线 通信系统。 数码管显示电路 显示模块在单片机系统中有着非常重要的作用,根绝系统需求的不同会设计不同的显示电路。 在显示温度的过程中会使用显示电路,此电路对于显示的要求比较高,所以此电路使用了 LED数码管显示电路,此电路的优点是成本低,控制简单,占用资源少。 是本系统非常理想的选择。 LED 数码管( LED Segment Displays)由多个发光二极管封装在一起组成“ 8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。 数 基于 51 单片机的无线测温系统的设计 6 码管实际上是由七个发光管组成 8 字形构成的,加上小数点就是 8 个。 这些段分别由字母 a,b,c,d,e,f,g,dp 来表示。 数码管在使用过程中必须设计驱动电路,如果单片机和数码管直接相连的话会导致数码管亮度不足或者出现烧损单片机的情况。 电源模块电路 电源是系统运行的一切的基础,所以电源供电电路必不可少,它必须给系统的各个器件进行供电,保证系统的运行。 供电电路由电源芯片为主要组成,他能够提供稳定的合适的电源以使电路能够正常稳定的运行,电源供电电路是一切运行的基础。 基于 51 单片机的无线测温系统的设计 7 第 3 章 系统分析 构架概述 功能构架 根据需求调研结果确定本系统主要包括以下功能模块,如图 所示。 图 系统体系结构 模块需求描述 ( 1)单片机最小系统功能描述 单片机最小系统的功能是核心控制系统,单片机最小系 统实现的主要功能是控制功能电路的正常运行,已达到实现功能的目的。 单片机最小系统是功能实现的控制单元,此模块还必须包含时钟电路和复位电路,由于运行环境和很多不确定的因素导致的系统不正常运行,外部复位电路是必不可少的,在系统运行不正常时,内部复位电路已经无法正常复位,所以外部复位电路必不可少。 时钟电路也是单片机系统运行的必须器件之一,本系统选用了 12M 的晶振,主要系统是通信系统,故选用 12M 的晶振,以方便通信。 ( 2)电源模块功能 电源对于任何一个现代化产品来说,都是一切的基础。 他是一切电子设备运行的能量来源。 电源模块的设计必须满足电路内部一切供电电压电路的需求,对于不同的电压需求必须有相应的电路和电源模块进行实现。 ( 3)无线收发模块功能 无线收发模块是利用 NRF24L01 为基础研发的, NRF24L01 是一款新型单片射频收发器件。 工作于 GHz~ GHz ISM 频段。 无线收发模块的功能是将无线监测到的信号进行传输,并互相读取。 无线模块能够对信号进行远程收发,通过 的频率进行无线通信。 其中输出功率和通信频道可通过程序进行配置。 温度传感器 时钟电路 复位电路 单片机 发送模块 接收模块 单片机 显示模块 报警 模块 基于 51 单片机的无线测温系统的设计 8 NRF24L01 功耗低,在以 6dBm 的功率发射时,支持多种低功率 工作模式,有掉电模式和空闲模式,使节能设计更方便。 ( 4) LED 显示模块功能 显示电路现在已经成为了最小系统不可缺失的一部分,虽然单片机最小系统并未包含显示电路,可是现有的单片机电路没有了显示电路已经不能称为合格的单片机系统。 只有具有显示电路才是更加先进和美观的电路, LED 显示模块主要负责在使用过程中数据的查看,保证在有输入时液晶显示电路会有相应的显示,将输入的内容显示在液晶显示屏上。 液晶显示电路在设置完成后,需要实时显示接收到的温度信息。 保证了系统的人性化和科学化。 使其更加美观更加人性化。 系统开 发环境 硬件环境:硬盘 40G, 内存 1024MB 软件环境: windows xp/7 系统任务的可行性分析 技术可行性 本系统采用双控制模块化结构,分两部分进行控制。 两部分由各自的单片机进行控制,各自独立运行,互不影响。 这样对于系统的安全更加有保障。 在某个模块的出现问题的时候不会影响到整个系统的正常运行。 本系统选用的单片机 STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 系统可编程 Flash 存储器,与工业 80C51 产品指令和引脚完全兼容。 片上Flash 允许程序存储器 在系统在中编程,亦适于常规编程器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位定时器 /计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。 另外, STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。 空闲模式下, CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断 继续工作。 掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 STC89C52 采用 40 引脚的双列直插封装( DIP 方式)。 STC89C52 具有丰富的资源,而且性价比很高,对于一个有市场意义的项目来说成本的控制是非常重要的。 基于 51 单片机的无线测温系统的设计 9 系统安全性分析 本系统选择了单片机 STC89C52,显示部分选择了 LED 数码管。 系统功能上分为发送端和接受端两部分,发送端主要功能是负责收集传感器得到的信号,在单片机处理后,通过 NRF24L01 发送到接收端。 接受端主要功能是接受发 送端发出的信号,并在 LED 数码管上显示发送数据。 系统采用行业范围内比较经典且有一定使用经验的传感器和器件。 保证了系统的安全性。 基于 51 单片机的无线测温系统的设计 10 第 4 章 系统设计 构架概述 本系统主要分两部分,温度检测电路和温度显示电路。 将部分电路分开的主要目的是实现本系统的无线收发功能。 本系统的远程无线收发功能可以实现对远程温度监控的功能。 对于无线收发功能主要是依靠 NRF24L01 模块,通过两个模块之间的通信进行数据交流。 两个系统相互独立,又相互依存。 两个电路在相互配合过程中,采用 NRF24L01 模块的无线信号为介质,将温度传感 器检测到的温度信号进行传输,通过显示电路将温度显示出来。 这样就实现了一个远程的温度检测系统。 温度检测电路主要是由单片机最小系统、电源电路、 NRF24L01 模块和温度检测电路。 温度检测电路通过单片机对温度传感器进行控制,温度传感器采用的是 DS18B20,此温度传感器采用单总线方式进行信号传输。 在信号传输必须保证时序的准确控制。 在控制时序的过程中实现温度信号的准确传输。 温度显示电路主要有单片机最小系统、电源电路、 NRF24L01 模块和温度显示用的 LED 数码管电路。 温度显示电路使用单片机控制 NRF24L01 模 块和 LED数码管。 单片机实时检测 NRF24L01 模块的信号,一旦有信号单片机即将信号显示在 LED 数码管上。 这两部分电路互相独立,控制不同,代码不同,流程不同,其互相之间不产生干涉。 电路中温度检测模块单片机将采集到的数据发送给显示模块单片机即可实现无线模块的数据发送。 系统的功能结构设计 本系统电路由于系统的特殊性质主要分两部分,无线发射电路和无线接收电路。 根据系统功能分工不同,需要将系统分为无线发射电路和无线接收电路。 各自不同功能的模块需要配置不同的电路,以实现无线信号的收发功能。 两部分电路相互依 存也相互独立,两部分电路其实是两个系统,其完全可以独立运行。 无线模块温度检测电路主要是对温度进行实时监控的电路,电路相对较为简单。 由于此模块工作环境会较为恶劣,所以此电路尽量简化。 连接点越多其故障率也会越高。 本系统在单片机最小系统的基础上增加相应的电源电路、检测电路和无线收发模块就完成电路设计。 无线模块显示电路主要是显示温度检测电路发送来的温度信号。 其主要的功 基于 51 单片机的无线测温系统的设计 11 能就是通过数码管进行显示温度。 这两个电路其主要实现的功能是无线信号传输,其表现形式温度能够正常的显示。 电路图见附录图 2 和图 3。 系统控制流程 系统控制流程图如下: 图 软件流程图 有 无 完成 开始 初始化 未完成 温度信号 单片机 无线 发送 模块 单片机 LED 数模管显示 是否有数据 基于 51 单片机的无线测温系统的设计 12 第 5 章 系统实现 软件实现 主函数模块功能介绍 日常生活中,要完成一件复杂的功能,我们总是习惯把“大功能”分解为多个“小功能”以实现。 在 C 语言程序的世界里,“功能”可称呼为“函数”,因此“函数”其实就是一段实现了某种功能的代码,并且可以供其它代码调用。 一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“ main 函数”,也就是“主函数”。 比如有个“做菜”程序 ,那么“做菜”这个过程就是“主函数”。 在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。 main 函数在程序中大多数是必须存在的,但是依然有例外情况,比如 windows编程中可以编写一个动态链接库( dll)模块,这是其他 windows 程序可以使用的代码。 由于 DLL 模块不是独立的程序,因此不需要 main 函数。 再比如,用于专业环境的程序 如机器人中的控制芯片 可能不需要 main 函数。 主函数是系统的开始,软件系统的入口就是主函数。 主函数中定义了后续使用的函数,它是程序的核心,主要是在 运行过程中,控制各个软件模块的运行。 主函数中定义了各个函数后,再将需要调用的函数进行编程,就可以在主函数中进行调用。 发送程序功能介绍 发送程序主要根据硬件电路进行的划分,发送程序中包含了各个不同的函数。 各个函数之间各有分工,功能也不尽相同。 发送程序中主要包含了主函数、DS18B20 温度读取函数和 NRF24L01 无线发送函数。 DS18B20 温度读取函数主要是对系统时序的控制,因为 DS18B20 的硬件电路是单总线信号传输,这对于时序的控制非常复杂。 发送程序中包含 NRF24L01 的初始化函数,用于 对 NRF24L01 进行初始化。 NRF24L01 无线收发模块也需要非常复杂的时序控制。 对系统的软件设计时需要在硬件电路的基础上进行设计。 软硬件电路互相依存,互相弥补。 硬件电路的简单必然导致软件控制的繁琐。 接收程序功能介绍 接受程序其目的一目了然就是数据接受控制的函数。 当发送电路将无线信号 基于 51 单片机的无线测温系统的设计 13 发送出以后,接受电路就需要将无线电路的信号接受并进行译码。 软件程序根据硬件电路设计的需要对硬件控制,让各个模块之间有序协调的工作。 接收程序中包含 NRF24L01 的初始化函数,用于对 NRF24L01 进行初始化。 对 NRF24L01 寄存器中的数据进行初始化。 以免在使用过程中出现错误。 包含对LED 数码管显示控制函数和 NRF24L01 驱动函数。 以此保证系统能够准确无误的运行。 函数实现 unsigned char DS18B20_Read(void) { unsigned char i。 unsigned char temp。 temp=0。 for(i=8。 i0。 i) { temp=_cror_(。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。