基于nrf905的两路温度检测与无线传输系统设计毕业论文(编辑修改稿)内容摘要:
3)当 NRF905 模块检测到与接收频率相同的载波时,设置载波检测管脚( CD 管脚)为高电平;( 4)当 NRF905 模块接收到有效的地址时,设置地址匹配管脚( AM 管脚)为高电平;( 5)当一个正确的数据包接收完毕后, NRF905 模块自动去掉数据包的字头、地址和 CRC 校验码,然后将数据接受完成管脚置为高电平;( 6)微控制器将 TRX_CE 设置为低电平;( 7)微控制器通过 SPI 接口以一定的速率提取数据包中的有效接收数据;( 8)当所有的有效数据接收完毕,微控制器控制 NRF905 模块数据接收完成管脚( DR 管脚)和地址匹配管脚( AM 管脚)为低电平;( 9) NRF905 进入待机模式。 LCD1602 液晶显示器 [4] 1602液晶也叫 1602字符型液晶它是一种专门用来显示字母、数字、符号等的 点阵 型液晶模块它有若干个 5X7或者 5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。 每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间 距的作用。 1602LCD是指显示的内容为 16X2,即可以显示两行,每行 16个字符液晶模块。 1602液晶模块内部的字符发生存储器( CGROM)已经存储了 160个不同的点阵字符图形 , 这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。 1602LCD的特性 :( 1) +5V电压,对比度可调 ;( 2) 内含复位电路 ;( 3) 提 8 供各种控制命令 , 如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 ;( 4) 有80字节显示数据存储器 DDRAM;( 5) 内建有 192个 5X7点阵的字型的字符发 生器CGROM;( 6) 8个可由用户自定义的 5X7的字符发生器 CGRAM。 其指令集有:( 1) 1602通过 D0~ D7的 8位数据端传输数据和指令。 ( 2) 显示模式设置 :(初始化 )0011 0000 [0x38]设置 162显示, 57点阵, 8位数据接口。 ( 3)显示开关及光标设置: (初始化 )0000 1DCB D显示 (1有效 )、 C光标显示 (1有效 )、 B光标闪烁 (1有效 )、 0000 01NS N=1(读或写一个字符后地址指针加 1 amp。 光标加 1), N=0(读或写一个字符后地址指针减 1 amp。 光标减 1), S=1且 N=1(当写一 个字符后,整屏显示左移 )s=0 当写一个字符后,整屏显示不移动。 ( 4) 数据指针设置:数据首地址为 80H,所以数据地址为 80H+地址码 (027H, 4067H)。 ( 5) 其他设置: 01H(显示清屏,数据指针 =0,所有显示 =0); 02H(显示回车,数据指针 =0)。 软件基础 整个系统设计过程中,主要用到了 Keil仿真软件和 STCISP烧录软件 ,使得系统设计快捷高效,以下对所用软件功能、用法、优势加以介绍。 Keil C51 仿真软件 Keil C51 是德国 Keil Software 公司( ARM 公司之一)出品的 51 系列兼容单片机 C 语言软件开发系统。 与汇编相比, C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 Keil 提供了包括 C 编译器、 宏汇 编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision)将这些部分组合在一起。 Keil C51 工具包的整体结构, uVision 与 Ishell 分别是 C51 for Windows 和 for Dos的集成开发环境 (IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。 开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。 然后分别由 C51 及 C51编译器编译生成目标文件( .OBJ)。 目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件 (.ABS)。 ABS 文件由 OH51 转换成标准的 HEX 文件 ,以供调试器 dScope51 或 tScope51 使用进行源代码级调试,也可由仿 真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。 使用独立的 Keil仿真器时,注意事项: • 仿真器标配 的晶振,但用户可以在仿真器上的晶振插孔中换插其他 9 频率的晶振。 • 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 • 仿真芯片的 31 脚( /EA)已接至高电平,所以仿真时只能使用片内 ROM,不能使用片外 ROM;但仿真器外引插针中的 31 脚并不与仿真芯片的 31 脚相连,故该仿真器仍可插入到扩展有外部 ROM(其 CPU 的 /EA 引脚接至低电平)的目标系统中使用。 STCISP 编译下载 [5] STCISP 是一款 单片机 下载编程烧录 软件 ,是针对 STC系列单片机而设计的,可下载 STC89系列、 12C2052系列和 12C5410等系列的 STC单片机,使用简便,现已被广泛使用。 操作说明 : ( 1) 打开 STCISP, 图 ,在 MCU Type栏目下选中单片机,如 STC89C52RC: 图 STCISP 打开界面 ( 2) 根据 9 针数据线连接情况选中 COM 端口 ,波特率一般保持默认,如果遇到下载问题,可以适当下调一些,按 图 选中各项: 10 图 STCISP 界面参数设置 ( 3) 先确认硬件连接正确,按如图 “打开文件 ”并在对话框内找到您要下载的 HEX文件: 图 STCISP 打开文件 11 ( 4) 按图 ,这样可以使您在每次编译 KEIL时 HEX代码能自动加载到 STCISP,点击 “Download/下载 ”: 图 STCISP 条件项设置 ( 5) 手动按下电源开关便即可把 可执行文件 HEX写入到单片机内,图 在写入程序截图: 图 STCISP 下 载过程状态图 12 ( 6) 图示程序写入完毕,目标板开始运行程序结果 ,如图 : 图 STCISP 下载完成状态图 13 第二章 系统硬件设计 该设计是以 NRF905无线芯片和 STC89C52单片机最小系统为核心,能够实现对两路温度进行实时检测。 各检测单元(从机)能独立完成各自功能,独立完成温度的实时采集,当温度超过限定值时,系统会发出报警,启动电机进行降温处理。 测量的结果不仅能在本地储存、显示,而且可以利用单片机的无线传输接口通过NRF905将采集的数据传送到主控机,进行进一步的分析、 存档、处理。 系统总体设 计 图 系统总体设计框图 本系统大致由七个功能模块构成: ISP下载模块、电源模块、 LCD(数码管)数据显示模块、 DS18B20温度采集模块、 NRF905无线传输模块、异常报警模块和电平复位模块。 其中 DS18B20数据采集模块、 LCD(数码管)数据显示模块、异常报警模块和数据无线传输模块构成了系统的主 要框架,加以单片机的控制,得以实现温度数据采集与远程数据传输分析及报警功能。 两路从机通过 DS18B20温度采集模块各自完成数据的采集,在本地的数码管进行显示,在温度超过限定值时启动报警电路。 再通过 NRF905无线传输模块发送至主机,在主机端的 LCD1602进行汇总显示。 上图即为系统框架图。 电源电路供电 DS18B20 温度数据采集 电平复位 LCD(数码管)温度数据显示 温度异常报警 ISP 下载 STC89C52主控机 NRF905 无线模块 14 系统各部分电路设 计 主控电路设计 [6] 图 主控电路原理图 本系统采用 STC89C52为主控芯片, STC89C52单片机与 12M晶振及电容构成了单片机最小系统。 晶振为单片机提供了外部时钟。 单片机 P0口做 LCD1602的数据驱动口。 、 LCD的控制接口。 、 NRF905通信数据收发口。 NRF905控制。 另外, DS18B20温度传感器采集数据的接口。 电源电路设 计 图 电源电路原理图 STC89C52单片机采用 +5V左右电平驱动。 本系统设计了比较可靠的电源电路。 用电桥将交流直流 化,通过电容的滤波作用和 +5V变换,我们可以得到比较理想的 15 +5V电压。 ISP 接 口电路设计 图 ISP 下载电路原理图 本设计采用 ISP下载,通过 MOSI/RST/MISO/SCK对单片机进行单片机程序下载。 用 LED灯以验证是否插好。 LCD 驱动电路介绍 图 LCD 驱动电路原理图 本系统采用 1602用作温度数据显示。 6脚为 LCD1602的控制选择端口,可通过写入数据对逻辑控制进行选择。 7—— 14脚为数据写入端口,包括控制指令写入和显示数据写入。 通过单片机 P0口对 1602进行驱动。 DS18B20 电路设 计 图 DS1820 电路原理图 本系统 DS18B20采用外部电源供电方式单点测温结构。 在外部电源供电方式下,DS18B20工作电源由 VDD引脚接入,此时 I/0线不需要强上拉,不存在电源电流不足 16 的问题,可以保证转换精度。 NRF905 接口电路设计 图 NRF905 接口电路原理图 1 脚为 电源 引脚接 +~ 直流电源。 2, 3 脚为 工作模式选择 和 使能芯片发射或接收。 6 , 7 引脚为 载波检测 和 地址匹配。 9, 10 引脚为 SPI 输出 和 输入。 114 引脚 接地。 17 第三章 系统软件设计 系统主要模块软件设计流程 [7] 此次设计对 STC89C52单片机采用 C语言编程, C语言在大多数情况下其机 器代码生成效率和汇编语言相当,但可读性和可移植性却远超过汇编语言。 在此将程序流程图给出以说明整个设计过程中的编程逻辑。 并在最后附录中将给出本系统设计的程序代码。 系统总体流程图: 图 系统总体 流程图 STC89C52 进行数据分析 从机端送数码管显 示 单片机初始化 DS18B20 数据采集 由 NRF905 发送至主机 主机送 LCD1602 显示 是否超过温度上限。 蜂鸣器报警,电机转动 结束 Y N 开始 18 各主要模块软件设计流程 DS18B20 流程图 [8]: 图 DS18B20 流程图 首先发送初始化及复位信号,分别定义读一位,读一个字节,写一个字节等子函数。 通过调用温度转换和获得温度子函数完成数据采集。 DS18B20 温度传感器可以精确到 度。 程序主体如下 : void DQ_Reset(void) { uint i。 DQ=0。 i=103。 while(i0)i。 DQ=1。 i=4。 while(i0)i。 } bit ReadBit_Temp(void) { uint i。 bit dat。 DQ=0。 i++。 DQ=1。 i++。 i++。 开始 18B20 初始化 DS18B20 采样 STC89C52 进行数据分析 返回 19 dat=DQ。 i=8。 while(i0)i。 return (dat)。 } uchar ReadByte_Temp(void) { uchar i,j,dat。 dat=0。 for(i=1。 i=8。 i++) { j=ReadBit_Temp()。 dat=(j7)|(dat1)。 } return(dat)。 } void WriteByte_Temp(uchar dat) { ui。基于nrf905的两路温度检测与无线传输系统设计毕业论文(编辑修改稿)
相关推荐
到 PC 机上实现温湿度、酒精浓度、空气质量的实时监控如可显示实时温度,就是一套通过无线方式实现温湿度、酒精浓度、桂林电子科技大学毕业设计 (论文 )报告用纸 第 4 页 共 31 页 空气质量的接受显示系统。 基于无线收发芯片 nRF905 的温度测量系统主要由五个模块构成,分别为无线收发模块、单片机控制模块、蜂鸣器报警模块、显示模块以及 PC 机监测 模块。 总系统框图如下图 所示。 图
8B20 会拉低总线,外部供电的 DS18B20 会继续保持总线高电平。 基于 nRF905 的无线温度采集系统的设计 14 6 nRF905 无线数传芯片简介 挪威 NORDIC 公司推出 了一种单片射频芯片是本次系统设计的核心 , 此芯片工作 于 ~ 电压范围内 , 使用 433MHz/868MHz/915MHz 的 ISM 频段,频道转换时间小于 650μs,数据传输速率 最大 为
存存储器中的第五个字节 ,DS18B20 在工作时按此寄存器中的分辨率将温度转换成相应精度的数值。 微控制器 STC89C52 本系统采用单 片机 STC89C52 作为温度采集点和控制端的微处理器,基于单片机的控制系统开发容易、系统小巧、功耗低、成本低廉、性价比高。 STC89C52 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器
部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。 并且完全能够满足无线小车控制系统和 L298N 芯片的逻辑供电的供电需要。 7805 芯片有 3 个引脚, 7 分别为输入 IN 端、输出 OUT 端和接地 GND 端,通常情况下可以提供 的电流,在散热足够的情况下可以提供大于 的电流。 7805 芯片的输入电压可以为 9V、 12V、 15V不等,输出电压稳定在 5V
信和无线通信两大类,有线通信主要基于局域网技术、嵌入式技术、电力线载波技术、公用电话网无线通信以往则主要用数字电台进行远距离传输。 有线通信的优点在于传输的质量比较可靠,实时性比较好,但是有线网络的安装和维护非常困难,为数据采集而架设有线网络的一次性投资较大。 数字电台可以解决安装和维护的问题,但是传输距离有限,信号的质量较低非常容易衰减,并且需要向无线通信委员会申请频点。
,这里就不具体说了,本设计需要显示歌曲目录,用数码管不好显示,用液晶 LCD12864 会使显示屏幕太大,用 LCD1602 可显示歌曲,显示模块也不会太大。 表 42 LCD1602 接口 本科毕业论文 13 5 系统软件设计 概述 系统软件设计总体思路是根据按键选择,再无线发送数据来控制音乐器播播放和歌曲的显示,主要程序模块有无线通信模块、音乐播放模块、显示模块和按键模块。