毕业设计-基于STG89C52单片机的温度湿度采集显示控制系统.doc_第1页
毕业设计-基于STG89C52单片机的温度湿度采集显示控制系统.doc_第2页
毕业设计-基于STG89C52单片机的温度湿度采集显示控制系统.doc_第3页
毕业设计-基于STG89C52单片机的温度湿度采集显示控制系统.doc_第4页
毕业设计-基于STG89C52单片机的温度湿度采集显示控制系统.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

西昌学院毕业论文(设计) 1 目 录 1 概论 4 1.1 前言 4 1.2 主要研究内容和意义 4 2 系统设计总体方案 5 2.1 方案论证 5 2.2 系统框图 5 3 系统硬件电路设计 7 3.1 单片机及相关电路 7 3.2 模数转换模块 .12 3.3 环境温湿度数据采集模块 .15 3.4 nrf905 无线模块.18 3.5 控制模块 .23 4 软件设计 .24 4.1 总体程序流程图设计24 4.2 分模块程序设计25 5 系统调试 .28 5.1 pcb 板制作元器件封装的选取和摆放28 5.2 电路板的调试 .28 5.3 软件调试 .29 5.4 软硬件结合调试 .29 6 总结 .30 参考文献 .31 致 谢 词 .32 独撰声明 .33 翻译资料 .34 西昌学院毕业论文(设计) 2 基于单片机的温度湿度基于单片机的温度湿度 采集显示控制系统采集显示控制系统 作 者 张伟 指导老师:刘亚军 (年级专业:2008 级电子信息工程通讯方向) 摘 要:文中讨论采用 stg89c52 单片机为核心,nrf905 无线模块作为桥梁来实现室内环境 中温度和湿度的采集,传输;并通过 lcd 显示屏来查看温度和湿度的变化,及时做出调整的 可能性。给出了无线采集模块,无线接收模块,lcd 显示模块,控制模块及 stc89c52 单片机 构成的温度湿度采集显示控制系统的设计方案。并详细介绍了无线模块的硬件组成和软件的 工作流程。文章重点阐述了 stc89c52 单片机,无线采集模块,无线接收模块的特点和功能。 采用这种方案,不必敷设电缆,节省了费用和时间。该系统体积小,精确度较高,数据传输 可靠性高,功耗低,功能易扩展,适用于实验室,仓库,家庭等多种应用领域。 关键词:stc89c52 单片机 lcd 显示屏 nrf905 无线收发 系统监测 温湿度传感器 西昌学院毕业论文(设计) 3 based on single chip microcomputer temperature humidity collection display and control system author: zhang wei guide teacher: liu yajun (grade level 2008 professional: electronic and information engineering-communication direction) abstrac :this paper discusses the stg89c52 microcontroller as the core, nrf905 wireless module used as a bridge to achieve in indoor environment temperature and humidity of the collection, transmission; and through the lcd screen to see the change of the temperature and humidity, make timely adjust the possibility. given the wireless acquisition module, wireless receiving module, lcd display module, control module and stc89c52 single-chip computers.the temperature humidity collection display and control system design scheme. and introduces wireless module of hardware and software flow of work. this paper describes the stc89c52 microcontroller, wireless acquisition module, wireless receiving module characteristics and function. use this scheme, need not laying cable, save the cost and time. the system, small size, high accuracy, high reliability data transmission, low power consumption, the function is easy to expand, used in the lab, warehouse, the family, as well as a variety of applications. key words:stc89c52microcontroller lcddisplay thenrf905wireless transceiver monitoring system temperature and humidity sensor 西昌学院毕业论文(设计) 4 1 1 概论概论 1.11.1 前言前言 随着现在社会对信息的采集,控制需求变得越来越重要,因而作为获取信息 的手段如:传感器技术,无线技术也得到了显著地发展。而温度,湿度作为与人 们生活息息相关的信息元素也越发的得到重视,例如:在农业大棚生产、仓储管 理、气象预测、生活起居及科学研究中对温度,湿度都有十分严格的要求。而这 所需用到的方法就不得不提到传感器技术和无线技术的应用。传感器在环境数据 采集方面扮演着重要的角色;再加上无线技术,便可以将很多的物体信息连接成 一个网络。 环境温湿度数据采集在现代工业和人们的日常生活中都有重要的意义,它作 为科学技术发展的一个综合性的结果,在越来越多的领域扮演着重要的角色,如 何使数据采集的多样化,方便化和精度化是人们一直以来努力思考探索的方向。 正是基于这种需要我设计了该套装置。基于单片机的温湿度采集显示控制动装置, 预计通过无线技术来远程获取环境温湿度参数,有效的避免了危险环境给人们带 来的伤害。无线控制的移动平台可以很好的弥补远程操作而带来的不便。当然我 这套装置只是探索性、实验性的去设计制作,肯定会存在许多的不足之处,希望 在以后的研究中间改进加强。 1.21.2 主要研究内容和意义主要研究内容和意义 本设计主要包含无线采集模块系统,无线接收模块系统两大部分,能够实现 对环境中温度,湿度的数据有效采集,传输,显示和控制;并以 lcd 显示的方式 来提醒工作者及时了解环境中温湿度的变化,并及时作出适当的调整,保证环境 中所需的正常温湿度。特别适用于农业大棚生产、仓储管理、气象预测、生活起 居及科学研究中;也适用于家庭环境,有利于家人身心健康。而通过无线模块实 现显得更加方便,快捷。不仅减少了有线连接的繁琐,而且有效的避免了电气干 扰,增加了系统的有效性。 西昌学院毕业论文(设计) 5 2 2 系统设计总体方案系统设计总体方案 2.12.1 方案论证方案论证 用干湿球湿度计或毛发湿度计来测量湿度的方法,早已无法满足现代科技发 展的需要。这是因为测量湿度要比测量温度复杂得多,温度可独立测量,而湿度 却受其他因素(大气压、温度)的影响。利用 stc89c52 单片机强大的功能,同 时结合智能传感器测量温湿度有快速和使用简便等特点,设计了一个温湿度采集 系统来对温湿度进行实时监控。通过对实际环境的温湿度测量,证明了该系统硬 件电路布局设计简单合理,体积小,功能齐全,精度高,成本低,性价比相当高, 是一款可以普及化的高精度温湿度参数检测仪。 本设计通过温湿度传感器来采集环境中的温度和湿度数据。将数据处理后再 通过无线采集模块将两种参数数据传输至无线接受控制模块,并用 lcd 液晶显示 屏显示,让我们清晰的了解到环境中的温湿度情况。 2.22.2 系统框图系统框图 根据设计要求及论证分析,本设计系统所包含的总体电路方框图如下图 1,图 2 所示: 图 1 温湿度采集板 adc0809 数模转换 电源 5v lcd 显示 nrf905 发送 无线模 块 湿度传 感器 温度传感 器 stc8 9c52 单片 机 系统 nrf905 接受 无线模 块 stc8 9c52 单片 机 系统 西昌学院毕业论文(设计) 6 图 2 温湿度显示控制板 为了达到上述功能,主要设计的硬件模块有:单片机控制最小系统 (stc89c52 单片机)、模数转换模块(adc0809)、温度传感器模块(ds18b20)、 湿度传感器模块(hr31)、无线传输接收模块(nrf905)、lcd12864 液晶显示模块、 控制模块。 电源 5v继电器控制 设备 西昌学院毕业论文(设计) 7 3 3 系统硬件电路设计系统硬件电路设计 3.13.1 单片机及相关电路单片机及相关电路 3.1.1.stc89c52 单片机简介 stc89c52 是一种低功耗、高性能 cmos8 位微控制器,具有 8k 在系统可编程 flash 存储器。在单芯片上,拥有灵巧的 8 位 cpu 和在系统可编程 flash,使得 stc89c52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以 下标准功能: 8k 字节 flash,512 字节 ram, 32 位 i/o 口线,看门狗定时器, 内置 4kb eeprom,max810 复位电路,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口。另外 stc89x52 可降至 0hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,cpu 停止工作,允许 ram、定时器/计数器、 串口、中断继续工作。掉电保护方式下,ram 内容被保存,振荡器被冻结,单片 机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35mhz,6t/12t 可选。 单片机 stc89c52 引脚图如图 3 所示: p1.0/t2 1 p1.1/t2ex 2 p1.2/ec i 3 p1.3/c ex 0 4 p1.4/c ex 1 5 p1.5/c ex 2 6 p1.6/c ex 3 7 p1.7/c ex 4 8 r s t 9 p3.0/r xd 10 p3.1/txd 11 p3.2/in t0 12 p3.3/in t1 13 p3.4/t0 14 p3.5/t1 15 p3.6/w r 16 p3.7/r d 17 x ta l2 18 x ta l1 19 v s s 20 p2.0/a 8 21 p2.1/a 9 22 p2.2/a 10 23 p2.3/a 11 24 p2.4/a 12 25 p2.5/a 13 26 p2.6/a 14 27 p2.7/a 15 28 ps en 29 a le/pr o g 30 ea /v pp 31 p0.7/a d 7 32 p0.6/a d 6 33 p0.5/a d 5 34 p0.4/a d 4 35 p0.3/a d 3 36 p0.2/a d 2 37 p0.1/a d 1 38 p0.0/a d 0 39 v c c 40 u 1 s tc 89c 52 西昌学院毕业论文(设计) 8 图 3 stc89c52 单片机引脚图 下面就对本系统用到的 stc89c52 单片机的结构和功能进行介绍: stc89c52 是一种带 8k 字节闪烁可编程可檫除只读存储器(fperom-flash programable and erasable read only memory )的低电压,高性能 comos8 的 微处理器,俗称单片机。该器件采用 atmel 搞密度非易失存储器制造技术制造, 与工业标准的 mcs-51 指令集和输出管脚相兼容。 stc89c52 具体介绍如下: 主电源引脚:2 根; vcc(pin40):电源输入,接5v 电源; gnd(pin20):接地线; 外接晶振引脚:2 根; xtal1(pin19):片内振荡电路的输入端; xtal2(pin20):片内振荡电路的输出端; 控制引脚:4 根; rst/vpp(pin9):复位引脚,引脚上出现 2 个机器周期的高电平将使单片机复 位; ale/prog(pin30):地址锁存允许信号; psen(pin29):外部存储器读选通信号; ea/vpp(pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指 令,如果接高电平则从内部程序存储器读指令; 可编程输入/输出引脚:32 根; stc89c52 单片机有 4 组 8 位的可编程 i/o 口,分别位 p0、p1、p2、p3 口,每 个口有 8 位(8 根引脚),共 32 根; po 口(pin39pin32):8 位双向 i/o 口线,名称为 p0.0p0.7; p1 口(pin1pin8):8 位准双向 i/o 口线,名称为 p1.0p1.7 ; p2 口(pin21pin28):8 位准双向 i/o 口线,名称为 p2.0p2.7 ; p3 口(pin10pin17):8 位准双向 i/o 口线,名称为 p3.0p3.7。 stc89c52 主要功能如表 1 所示: 西昌学院毕业论文(设计) 9 表 1 stc89c52 主要功能 主要功能特性 兼容 mcs51 指令系统,8k 可反复擦写 flash rom 32 个双向 i/o 口,256x8bit 内部 ram 3 个 16 位可编程定时/计数器中断,时钟频率 0-24mhz 2 个串行中断,可编程 uart 串行通道 2 个外部中断源,共 6 个中断源 2 个读写中断口线,3 级加密位 低功耗空闲和掉电模式,软件设置睡眠和唤醒功能 3.1.2.stc89c52 单片机最小系统 控制芯片最小系统采用标准的 8051 单片机最小系统电路。包括控制芯片 stc89c52 单片机、晶振电路和复位电路。单片机最小系统如图 4 所示: p2.7/a15 28 p2.6/a14 27 p2.5/a13 26 p2.4/a12 25 p2.3/a11 24 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p1.0/t2 1 p1.1/t2ex 2 p1.2/eci 3 p1.3/cex0 4 p1.4/cex1 5 p1.5/cex2 6 p1.6/cex3 7 p1.7/cex4 8 p0.7/ad7 32 p0.6/ad6 33 p0.5/ad5 34 p0.4/ad4 35 p0.3/ad3 36 p0.2/ad2 37 p0.1/ad1 38 p0.0/ad0 39 vcc 40 vss 20 xal1 19 xal2 18 rst 9 ea/vpp 31 psen 29 ale/prog 30 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 u1 stc90c58rd+ vcc p00 p01 p02 p03 p04 p05 p06 p07 p10 p11 p12 p13 p14 p15 p16 p17 p20 p21 p22 p23 p24 p25 p26 p27 p30 p31 p32 p33 p34 p35 p36 p37 psen ale xal1 30pfc1 30pfc2 gnd k1 vcc 10uf c3 10k r1 gnd 图 4 单片机最小系统 西昌学院毕业论文(设计) 10 3.1.3.晶振电路的选择 晶振电路设计如图 5 所示: xal1 30pfc1 30pfc2 图 5 晶振电路 在晶振电路中使用了两个 30pf 的电容(c1,c2)和一个晶振(y1) ,分别接 的是单片机的 18,19 引脚,晶振频率选取的是 11.0592mhz,是因为主要考虑到在 串口通信时的误码率的问题。下面给出最常用的两种晶振频率 11.0592mhz、12mhz 在同一波特率、同一定时器方式下串口通信时传输数据的误 码率的对比,见下图 6 所示: 图 6 不同晶振频率下误码率对比 从以上对比,不难看出,在 9600bps 波特率下:采用 11.0592mhz 的晶振频率 西昌学院毕业论文(设计) 11 进行串口通信时是没有误差的,通信质量很好。而 12mhz 的晶振频率却高达 8.51的误差!这样大误码率,显然是不能保证串口通信的质量的。虽然在 12mhz 晶振频率下降低波特率到一定数值时,误差是可以忽略的,但是这是以牺 牲波特率为前提的,其必然降低串口通信的通信速率,故也不是很明智的办法。 所以综合多方面考虑,我们最终采用了 11.0592mhz 的晶振频率。 3.1.4.复位电路的设计 复位是单片机的初始化的操作。单片机控制器在上电启动运行时,都需要先 复位。其作用是使 cpu 和控制器中其它部件处于一个确定的初始状态,从这个状 态开始工作,因而,复位是一个很重要的操作方式。但单片机本身是不能进行自 动复位的。必须配合相应的外部复位电路才能实现。 本系统采用按键电平复位电路,其连接方式如图 7 所示: k1 vcc 10uf c3 图 7 按键电平复位电路 3.23.2 模数转换模块模数转换模块 3.2.1.adc0809 的选用 模数转换 adc0809 是美国国家半导体公司生产的 cmos 工艺 8 通道,8 位逐次 逼近器。其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号, 只选通 8 路模拟输入信号中的一个进行 a/d 转换。是目前国内应用最广泛的 8 位 通用 a/d 芯片 。 西昌学院毕业论文(设计) 12 3.2.2.主要特性 (1)8 路输入通道, 8 位 a/d 转换器,即分辨率为 8 位; (2)具有转换起停控制端 ; (3)转换时间为 100s(时钟为 640khz 时),130s(时钟为 500khz 时); (4)单个+5v 电源供电 ; (5)模拟输入电压范围 0+5v,不需零点和满刻度校准 ; (6)工作温度范围为 -40+85 摄氏度; (7)低功耗,约 15mw。 3.2.3.内部结构 adc0809 是 cmos 单片型逐次逼近式 a/d 转换器,内部结构如图所示,它由 8 路模拟开关、地址锁存与译码器、比较器、8 位开关树型 a/d 转换器、逐次逼近 寄存器、逻辑控制和定时电路组成。 3.2.4 .引脚功能 adc0809 引脚图如图 8 所示: vcc gnd gnd vcc p01 p02 p03 p04 p05 p06 p07 p00 p35 in0 p25 p36 p27 p26 p33 in1 in2 in3 p34 in3 1 in4 2 in5 3 in6 4 in7 5 start 6 eoc 7 d3 8 oe 9 clk 10 vcc 11 vref+ 12 gnd 13 d1 14 d2 15 vref- 16 d0 17 d4 18 d5 19 d6 20 d7 21 ale 22 add c 23 add b 24 add a 25 in0 26 in1 27 in2 28 u2 adc0809 图 8 adc0809 模数转换引脚图 西昌学院毕业论文(设计) 13 adc0809 芯片有 28 条引脚,采用双列直插式封装,如图所示。下面说明各 引脚功能: in0in7:8 路模拟量输入端 ; 2-12-8:8 位数字量输出端 ; adda、addb、addc:3 位地址输入线,用于选通 8 路模拟输入中的一路 ale:地址锁存允许信号,输入,高电平有效 ; start: a/d 转换启动脉冲输入端,输入一个正脉冲(至少100ns 宽)使其 启动(脉冲上升沿使 0809 复位,下降沿启动 a/d 转换); eoc: a/d 转换结束信号,输出,当 a/d 转换结束时,此端输出一个高电平 (转换期间一直为低电平) ; oe:数据输出允许信号,输入,高电平有效。当a/d 转换结束时,此端输入 一个高电平,才能打开输出三态门,输出数字量 ; clk:时钟脉冲输入端。要求时钟频率不高于640khz; ref(+)、ref(-):基准电压 ; vcc:电源,单一 +5v; gnd:地。 3.2.5 .adc0809 的工作过程 首先输入 3 位地址,并使 ale=1,将地址存入地址锁存器中。此地址经译 码选通 8 路模拟输入之一到比较器。 start 上升沿将逐次逼近寄存器复位。 下降沿启动 a/d 转换,之后 eoc 输出信号变低,指示转换正在进行。直到 a/d 转换完成, eoc 变为高电平,指示 a/d 转换结束,结果数据已存入锁存器, 这个信号可用作中断申请。当 oe 输入高电平 时,输出三态门打开,转换结 果的数字量输出到数据总线上。 转换数据的传送 a/d 转换后得到的数据应及时传送给单片机进行处理。数 据传送的关键问题是如何确认 a/d 转换的完成,因为只有确认完成后,才能 进行传送。为此可采用下述三种方式 : (1)定时传送方式 西昌学院毕业论文(设计) 14 对于一种 a/d 转换器来说,转换时间作为一项技术指标是已知的和固定的。 例如 adc0809 转换时间为 128s,相当于 6mhz 的 mcs-51 单片机共 64 个机 器周期。可据此设计一个延时子程序, a/d 转换启动后即调用此子程序,延 迟时间一到,转换肯定已经完成了,接着 就可进行数据传送。 (2)查询方式 a/d 转换芯片由表明转换完成的状态信号,例如adc0809 的 eoc 端。因此 可以用查询方式,测试 eoc 的状态,即可确认转换是否完成,并接着进行数 据传送。 (3)中断方式 把表明转换完成的状态信号(eoc)作为中断请求信号,以中断方式进行数 据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行 数据传送。首先送出口地址并以信号有效时,oe 信号即有效,把转换数据送上数 据总线,供单片机接受。 3.33.3 环境温湿度数据采集模块环境温湿度数据采集模块 3.3.1.ds18b20 温度数据采集 环境温度数据采集模块主要使用了 ds18b20 传感器。ds18b20 是由美国 dallas 半导体公司生产最新单线数字式温度传感器,主要特性如下:可实现对一 55到+125 范围内的温度测量,并且测量温度的误差在0.5,实际系统的 分辨率可单独设定,并且保存在 eeprom 中,即使断电也能够保存;现场温度的 测量值通过串行通信的方式传输,即“单线总线”的数字方式传输;系统供电电 压容许范围大,可在 3v 到 55v 的范围波动。ds18b20 实物图及引脚图如图 9 所示: 西昌学院毕业论文(设计) 15 图9 ds18b20实物及引脚排列图 引脚功能简介: (1)dq 为数字信号输入/输出端; (2)gnd 为电源地; (3)vdd为外接供电电源输入端(在寄生电源接线方式时接地)。 3.3.2.ds18b20 与 stc89c52 单片机的连接 本设计中 ds18b20 与 stc89c52 单片机的连接,见图 10 所示: gnd 5kr6 vcc p32 gnd 1 dq 2 vcc 3 u5 ds18b20 图10 ds18b20温度传感器连接电路 这里使用了5k的上拉电阻来保证传感器的正常工作,在实验中我们发现,在 数据线很短的情况下,即使不使用上拉电阻也可正常的工作。上拉电阻的选用要 根据数据线的长短合适的选取。为了稳妥起见,我们使用了一个5k的上拉电阻 西昌学院毕业论文(设计) 16 3.3.3.hr31 湿度数据采集 环境湿度数据采集模块主要使用了 hr31 湿敏电阻传感器。hr31 湿敏电阻是采 用有机高分子材料的一种新型的湿度敏感元件,感湿范围宽,长期使用性能稳定, 可以应用于仓储、车厢、居室内空气质量控制、楼宇自控、医疗、工业控制系统 及科研领域等广泛的应用。hr31 的特点有:优良的线性,高性价比,耗能低,测 量范围广,响应迅速,抗污染能力强,性能稳定等。hr31 实物如图 11 所示: 图 11 hr31 湿敏电阻 3.3.4.hr31 湿敏电阻电路图 hr31 采集的数据必须通过 adc0809 转换后和单片机相连。电路图如图 12 所示: 1 2 p2 r2 gnd vcc in0 图 12 hr31 连接电路图 这里采用的是滑动变阻器来保证传感器的正常工作。hr31 功能指标如下所示: 工作范围:2095%rh 60 西昌学院毕业论文(设计) 17 供电电压:1.5v ac(max 正弦波) 工作频率 :500hz2khz 额定功率 :0.2mw(max 正弦波) 中心值 :(at251khz 1v ac 60%rh 正弦波)31.0k 阻抗范围 :(at251khz 1v ac 60%rh 正弦波)19.850.2k 湿度检测精度:5%rh 特性参数:at 1khz 单位:欧姆 阻抗特性:at251v ac 1khz 注意事项: (1)为防止极化现象,驱动传感器所用的电压或电流不应含有直流成分; (2)请使用 lcr 交流电桥进行测量,请勿使用万用表测量; (3)避免结露情况; (4)推荐保存条件:温度 1040 湿度 60%rh 以下。 3.43.4 nrf905nrf905 无线模块无线模块 3.5.1.无线 nrf905 简介 nrf905单片无线收发器是挪威nordic公司推出的单片射频发射器芯片,工作 电压为1.9-3.6v,32引脚qfn封装(5mm5mm) ,工作于433/868/915mhz3个ism频 道。 nrf905可以自动完成处理字头和 crc(循环冗余码校验)的工作,可由片 内硬件自动完成 曼彻斯特编码 /解码,使用 spi接口与微控制器通信,配置非 常方便,其功耗非常低,以 -10dbm的输出功率发射时电流只有 11ma,在接收 模式时电流为 12.5ma。 nrf905单片无线收发器工作由一个完全集成的频率调 制器,一个带解调器的接收器,一个功率放大器,一个晶体震荡器和一个调节 器组成。shockburst工作模式的特点是自动产生前导码和 crc,可以很容易 通过spi接口进行编程配置。 nrf905的实物如图13所示: 西昌学院毕业论文(设计) 18 图 13 nrf905 模块 3.5.2.nrf905 工作模式 nrf905采用nordic公司的vlsi shockburst技术。shockburst技术使 nrf905能够提供高速的数据传输,而不需要昂贵的高速 mcu来进行数据处理 / 时钟覆盖。通过将与 rf协议有关的高速信号处理放到芯片内, nrf905提供给 应用的微控制器一个 spi接口,速率由微控制器自己设定的接口速度决定。 nrf905通过shockburst工作模式在rf以最大速率进行连接时降低数字应用部 分的速度来降低在应用中的平均电流消耗。在 shockburst rx模式中,地址 匹配am和数据准备就绪 dr信号通知mcu一个有效的地址和数据包已经 各自接 收完成。在shockburst tx模式中,nrf905自动产生前导码和 crc校验码,数 据准备就绪dr信号通知mcu数据传输已经完成。总之,这意味着降低 mcu的存 储器需求也就是说降低 mcu成本,又同时缩短软件开发时间。 3.5.3.nrf905 基本特点 nrf905 无线收发模块体积小、精度高、工作稳定、抗干扰性强、通信稳定。 芯片结构如图 14 所示: 西昌学院毕业论文(设计) 19 图 14 nrf905 芯片结构 芯片各部分功能及性能介绍: (1) 433mhz 开放 ism 频段免许可证使用; (2) 接收发送功能合一,收发完成中断标志; (3) 170 个频道,可满足多点通讯和跳频通讯需求,实现组网通讯 tdma-cdma- fdma (4) 内置硬件 8/16 位 crc 校验,开发更简单,数据传输可靠稳定; (5) 工作电压 1.9-3.6v,低功耗,待机模式仅 2.5ua; (6) 接收灵敏度达-100dbm; (7) 收发模式切换时间 650us; (8) 每次最多可发送接收 32 字节,并可软件设置发送/接收缓冲区大小 2/4/8/16/32 字节; (9) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示), 可直接接各种单片机使用,软件编程非常方便; (10) 最大发射功率 10 毫瓦,发射模式:最大电流30ma;接收模式:电流 12.2ma (12) 标准 dip 间距接口,便于嵌入式应用; (11) 内置 spi 接口,也可通过 i/o 口模拟 spi 实现,最高 spi 时钟可达 10m (13) 采用高精度贴片晶振及品牌阻容元件,性能更优,工作更稳定。 (14) 尺寸小巧,不含天线 25mm*19mm; (15) 发射速率 5 0 kbps,外置 433mhz 天线,空旷通讯距离可达 200-300 米。 西昌学院毕业论文(设计) 20 nrf905引脚图如图15所示: vcc 1 tx_en 2 trx_ce 3 pwr_up 4 uclk 5 cd 6 am 7 dr 8 miso 9 mosi 10 sck 11 csn 12 gnd 13 gnd 14 u3 nrf905 3.3v p31 p30 p17 p16 p10 p11 p12 p13 p14 p15 gndgnd 图15 nrf905引脚图 管脚及功能如表2所示: 表2 nrf905管脚功能 管脚 名称 管脚功能 说明 1 vcc 电源 电源+3.33.6v dc 2 tx_en 数字输入 tx_en= 1 tx 模式 tx_en= 0 rx 模 式 3 trx_ce 数字输入 使能芯片发射或接收 4 pwr_up 数字输入 芯片上电 5 uclk 时钟输出 本模块该脚废弃不用,向后兼容 6 cd 数字输出 载波检测 7 am 数字输出 地址匹配 8 dr 数字输出 接收或发射数据完成 9 miso spi 接口 spi 输出 10 mosi spi 接口 spi 输入 11 sck spi 时钟 spi 时钟 12 csn spi 使能 spi 使能 西昌学院毕业论文(设计) 21 13 gnd 地 接地 14 gnd 地 接地 说明:(1) vcc 脚接电压范围为 3.3v3.6v 之间,不能在这个区间之外,超 过 3.6v 将会烧毁模块。推荐电压 3.3v 左右 (2) 除电源 vcc 和接地端,其余脚都可以直接和普通的 5v 单片机 io 口直接 相连,无需电平转换。当然对 3v 左右的单片机更加适用 (3) 硬件上没有 spi 的单片机,可以用普通单片机 io 口模拟 spi,不需要单 片机 spi 模块介入,只需添加代码模拟 spi 时序即可 (4) 13 脚、14 脚为接地脚,需要和母板的逻辑地连接起来 (5) 排针间距为 100mil,标准 dip 插针,如果需要其他封装接口,比如密脚插 针,或者其他形式的接口,可以联系我们定做 (6) 与 51 系列单片机 p0 口连接时候,需要加 10k 的上拉电阻,与其余口连接 不需要 (7) 其他系列的单片机,如果是 5v 的,请参考该系列单片机 io 口输出电流 大小,如果超过 10ma,需要串联电阻分压,否则容易烧毁模块! 如果是 3.3v 的, 可以直接和 rf905 模块的 io 口线连接。 模块引脚和电气参数说明 :rf905 单 片无线收发器工作在 433/868/915mhz 的 ism 频段由一个完全集成的频率调制器 一个带解调器的接收器一个功率放大器一个晶体震荡器和一个调节器组成 shockburst 工作模式的特点是自动产生前导码 和 crc 可以很容易通过 spi 接 口进行编程配置电流消耗很低在发射功率为10dbm 时发射电流为 30ma 接收电 流为 12.5ma. 进入 powerdown 模式可以很容易实现节电。rf905 模块性能参考数 据如表 3 所示: 表 3 nrf905 性能参数 参数 数值 单位 最低工作电压 3.0 v 最大发射功率 10 dbm 西昌学院毕业论文(设计) 22 最大数据传输率曼切斯特编码 50 kbps 输出功率为-10 dbm 时工作电 流 9 ma 接收模式时工作电流 12.5 ma 温度范围 -40 to +85 典型灵敏度 -100 dbm powerdown 模式时工作电流 2.5 ua rf905 模块工作电压与最大发射增益参考数据如表 4 所示: 表 4 nrf905 工作电压与发射增益 工作电压(模块 vcc 供电电压) 模块最大发射增益(dbm) +3.3v+7.3dbm +3.6v+10dbm 3.53.5 控制模块控制模块 为了实现对温湿度的控制功能,设计一个继电器控制电路模块。这个模块主 要是通过对继电器的控制来实现的。继电器采用的是 5v 驱动的五脚继电器。控 制电路图如图 16 所示: 西昌学院毕业论文(设计) 23 d15 1n4007 q5 s8550 p21 gnd vcc d1.5 vcc 1 2 3 p5 子子子子 4 5 1 2 3 j5 gnd d11 1n4007 q1 s8550 p25 gnd vcc d1.1 vcc 1 2 3 p1 子子子子 4 5 1 2 3 j1 gnd d12 1n4007 q2 s8550 p24 gnd vcc d1.2 vcc 1 2 3 p2 子子子子 4 5 1 2 3 j2 gnd d14 1n4007 q4 s8550 p22 gnd vcc d1.4 vcc 1 2 3 p4 子子子子 4 5 1 2 3 j4 gnd 470 r11 470 r1.1 470 r12 470 r1.2 470 r14 470 r1.4 470 r15 470 r1.5 图 16 继电器控制电路 从原理图可以看到,我们设计中包含了4个继电器。控制原理是:在无任何控 制信号的时候三极管截止,继电器未吸和,对应的发光二极管亮。当单片机给一 个低电平信号时三极管导通,继电器吸和,对应的发光二极管灭。发光二极管的 限流电阻选用的是常用的470欧姆的电阻,三极管选用的是9012(pnp),为了达 到合适的驱动电流,三极管基极电阻选用的是1k的电阻。 4 4 软件设计软件设计 4.14.1 总体程序流程图设计总体程序流程图设计 采集板程序流程如图 17 所示: 湿度 采集 adc0 809 转化 nrf9 05 开 始 结 束 初 始 化 stc 89c 52 西昌学院毕业论文(设计) 24 图 17 采集板程序设计流程图 接受控制板程序流程如图 18 所示: 图图 1818 接受控制板程序设计流程图接受控制板程序设计流程图 4.24.2 分模块程序设计分模块程序设计 对于相应的硬件模块,主要要设计的模块程序分别是:数据采集接受的程序 设计,128*64 液晶屏幕显示驱动程序的设计,继电器控制程序设计。蜂鸣器的控 制也只需控制相应的单片机 i/o 口输出高/低电平即可。下面我们将分别给出各 个主要模块程序设计的思路。 4.2.1.数据采集模块的程序设计 从硬件的设计和总体程序流程图,我们可以看出,数据采集是一个很重要的 步骤。对于数据采集我们主要是采集温度、湿度等环境因素的数据,采用的传感 器分别是 ds18b20,hr31。下面分别给出它们的程序设计思路。 4.2.1.1 ds18b20 的程序设计 从上文给出的 ds18b20 的资料,在硬件连接正确且上电的情况下,要读出温 温度 采集 初 始 化 nrf 905 lcd 显示 继电器 开 始 结 束 st c89 c52 西昌学院毕业论文(设计) 25 度数据,我们设计了以下几个函数: 18b20 读字节函数 uchar readonechar(void)。函数功能:向 ds18b20 读一字 节数据,入口参数:无,出口参数:dat。 18b20 写字节函数 void writeonechar(unsigned char dat)。函数功能:向 ds18b20 写一字节数据,入口参数:dat ,出口参数: 无。 18b20 初始化函数 void init_ds18b20(void)。函数功能:ds18b20 初始化子 程序,入口参数:无,出口参数:无。 18b20 读温度值函数 readtemperature(void)。函数功能:向 ds18b20 读温度 值,并将温度值存入字符数组。入口参数:无,出口参数:temperature。 ds18b20 读一次温度数据的程序流程图如图 19 所示: 图 19 温度数据采集流程图 4.2.1.2 adc0809 以及适度数据采集的程序设计 湿度数据的采集我们采用的是湿敏电阻 hr31 采集,因为湿敏电阻是电压型的 传感器,所以单片机需要通过 ad 转换才能识别并处理采集到的数据。对于 adc0809 和湿度数据的采集我们设计了以下一些函数: adc0809 初始化函数 uchar adc( )。函数功能:adc0809 初始化,入口参数: 无,出口参数:getdata。 初始 化 ds18b 20 高低 位转 换为 实际 温度 读温 度寄 存器 值 (高 8 低 8 位) 再初 始化 ds18 b20 温 度 转 换 开 始 结 束 西昌学院毕业论文(设计) 26 读取湿度值函数 void readguangzhao( )。函数功能:读取光照值数据,并 将湿度值数据存入字符数组,入口参数:无,出口参数:无。 具体的代码的编写已经完成,这里为节约篇幅,不再附上。adc0809 读一次 数据的流程图如图 20 所示: 图 20 adc0809 数据转换流程图 4.2.1.3 28*64 液晶屏幕显示模块驱动程序设计 128*64 液晶屏幕主要用于数据和信息的显示,为驱动它正常工作,设计了以 下一些函数:128*64 写指令函数 void zhiling(uchar a)函数功能:写一字节的 指令到 128*64,入口参数:a,.出口参数:无。128*64 写数据函数 void shuju。函数功能:写一字节的数据到 128*64,入口参数:b,出口参数:无。位 置函数 void weizhi(uchar x ,uchar y)。函数功能:设置 128*64 的初始显示位 置,入口参数:x,y,出口参数:无;有延时的显示函数 void xianshi(uchar x,uchar y,uchar *p)。函数功能:128*64 有延时显示一个字符串,入口参数: x,y,*p,出口参数:无。无延时的显示函数 void xianshi1(uchar x,uchar y,uchar *p)。函数功能:128*64 无延时的显示一个字符串,入口参数:x,y,*p, 出口参数:无。128*64 初始化函数 void init(void)。函数功能:128*64 的初始 化设置,入口参数:无,出口参数:无。具体的代码的编写已经完成,这里为节 约篇幅,不再附上。128*64 写入一次显示数据如图 21 所示: 选择输 入通道 初始化 adc080 9 并读 取数据 将数据 存入字 符数组 初始化 128*64 调用显 示函数 写入显 示数据 128*64 显示写 入数据 开始 结束 开始 结束 西昌学院毕业论文(设计) 27 图 21 128*64 lcd 一次显示数据流程图 5 5 系统调试系统调试 5.15.1 pcbpcb 板制作元器件封装的选取和摆放板制作元器件封装的选取和摆放 本次毕业设计要自己制作两块 pcb 板:采集板 pcb 板和继电器控制板 pcb 板。 采集,控制板 pcb 板自己设计制成。 这一步在 pcb 板制作过程中是很重要的,直接影响到板的大小、布线的难易 及板的大小与美观等。在 altium designer 中默认的很多元件封装可能会与采购 的元件封装不符,或大或小或引脚顺序和数目不对,因此首先就需要对封装不符 的元件进行大小和引脚距离的测量,然后自制封装,载入元件库,在原理图中替 代默认封装。 在原理图中将元件封装修改完成后,将所有元件封装导入 pcb 图中进行元件 位置的大致摆放,摆放时,尽量将各模块的元件放置在一起,便于布线与电路的 检测;元件也尽量放置紧凑,可避免线路过长和缩小电路板。当然,元件摆好后 不是就不能动了,在布线时,根据需要可进行适当的调整,尽量使元件摆放整齐, 布线方便、美观。 5.25.2 电路板的调试电路板的调试 pcb 布线是制板过程中最难花费时间最多的一步。采集板 pcb 板和继电器控 制板 pcb 板的制作采用的是双面板面板,由于线路比较多,加上制版工艺的限制, 采用自动布线功能难以完成本控制器合理的布线工作,因此采用了手工布线。 西昌学院毕业论文(设计) 28 手工布线过程中,在布线之前先要设置好布线的层面和部分布线规则。采集 板 pcb 板,线宽设置为 0.4mm,线与线之间的距离设置为 0.8mm。继电器板 pcb 板,线宽设置为 0.4mm,线与线之间的距离设置为 0.3mm。 制作好电路板之后需要进行硬件电路的测试。 线路检测:根据电路图用万用表检测 pcb 板线路是否有短路和断路现象。 焊接好元件后,根据电路图检查有极性元件是否反接,元件参数是否合适, 再检测元件引脚与对应的线路是否接通,防止虚焊。 将电源电路接通,用万用表测量各输出电压值是否正常。 确保 pcb 板上线路连接正常后,开启自锁开关将板上电源接通,再检测各电 源接口电压是否正常,看各元件能否正常工作如有无发烫现象,过一段时间再检 测,确定硬件控制器的稳定性。 装上单片机,再测量其电压输入口40引脚vcc电压(5v) 、31引脚ea/vpp引脚 电压(5v) 、晶振两引脚与地之间的电压(2.2v左右)和降压引脚之间的电压 (3.3v左右) ;说明单片机能正常工作。 5.35.3 软件调试软件调试 硬件调试成功之后,依次对液晶显示程序,nrf24l0 无线模块对采集量的传 输程序,串口程序等进行调试。 5.45.4 软硬件结合调试软硬件结合调试 硬件调试和软件调试成功之后,将各部分程序进行揉合处理,分别写入相应 的单片机,看看整个系统能否正常按预期目标工作。如果不能,还要从硬件和软 件部分找出相应的原因,并依次解决问题。 西昌学院毕业论文(设计) 29 6 6 总结总结 通过一段时间地全心投入和辛苦努力,模拟无线系统完成了最终的调试工 作,实现了设计要求的功能。 本文设计实现通过无线采集温湿度数据发送到无线接收端,通过 lcd 显示, 继电器控制的的思路。

温馨提示

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

评论

0/150

提交评论