《基于单片机的无线温度检测器的设计 .doc》由会员分享,可在线阅读,更多相关《基于单片机的无线温度检测器的设计 .doc(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ANYANG INSTITUTE OF TECHNOLOGY本 科 毕 业 论 文 基于单片机的无线温度检测器的设计The Design of Wireless Temperature Detector Based on MCU院(部)名称: 电子信息与电气工程学院 专业班级: 自动化2009级2班 学生姓名: * 学 号: 指导教师姓名: * 指导教师职称: 讲师 2013年5月毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或
2、公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 目录摘要Abstract第一章 绪论11
3、.1 课题的背景和意义11.2 本课题的研究内容以及所完成的工作11.2.1 本课题的研究内容11.2.2 本课题所完成的具体工作2第二章 无线温度检测系统总体设计32.1 系统设计要求32.2 系统总体设计方案的确定32.2.1 数字温度传感器的选择32.2.2 控制器的选择42.2.3 无线收发模块的选择5第三章 硬件电路设计73.1 发射端73.1.1 温度采集模块73.1.2 控制单元STC89C52单片机93.1.3 电源模块设计123.1.4 无线收发模块NRF24L01电路设计123.1.5 时钟振荡电路设计133.1.6 复位电路设计133.2 接收端143.2.1 蜂鸣器报警
4、模块设计143.2.2 键盘电路设计153.2.3 液晶显示模块设计15第四章 软件程序设计184.1 程序流程图184.1.1 主程序流程图184.1.2 子程序流程图194.2 无线收发模块24L01的编程214.2.1 24L01编程的基本思路214.2.3 函数介绍224.3 软件编译与调试234.3.1 程序设计语言的选用234.3.2 KeilC51简介244.3.3 uVision4集成开发环境244.3.4 软件调试与结果25第五章 安装与调试265.1 Altium Designer软件265.2 电路板安装与调试26结论27致谢28参考文献29附录A 元件清单30附录B 发
5、射板原理图31附录C 接收板原理图32附录D 发射板实物图33附录E 接收板实物图34附录F 发射板源程序35附录G 接收板源程序44基于单片机的无线温度检测器的设计摘要:无线温度检测器是一种用于仓库和蔬菜大棚等具有温度检测、无线传输、温度显示和超限报警功能的仪器。系统由发送端和接收端两部分组成。发送端将温度传感器检测到的温度值经单片机进行数据处理后,通过无线收发模块无线发送,接收端将接收到的数据信息显示在液晶屏上,并附加温度限设置和超限报警功能。本设计利用软件Keil进行系统程序设计,利用单片机学习板进行硬件仿真,待仿真成功后进行了实物制作和调试,最终成功设计出了无线温度检测器。文中详细介绍
6、了温度采集模块、无线传输模块、显示模块、温度限设置模块和报警电路的设计方法和过程。当采样点的温度值超出规定值时,系统通过报警电路提醒监测人员。同时,检测人员可以通过键盘对具体报警点的温度值进行设置。另外,该系统温度检测具有较高的精度,无线数据传输稳定,而且传输距离较远。关键词:温度检测;单片机;无线传输The Design of Wireless Temperature Detector Based on MCUAbstract: wireless temperature detector is a kind of temperature detection used for warehous
7、e and vegetables canopy, it has the function of display and wireless transmission and temperature overrun alarm. System consists of two parts, the sender and the receiver. The sender will be detected by temperature sensor temperature after single-chip microcomputer for data processing, through the w
8、ireless transceiver modules, wireless sending and receiving end receives the data and information displayed on the LCD screen, and the additional temperature limit setting and transfinite alarm function. This design using the software of Keil to write system program, and using the microcontroller bo
9、ard to simulation hardware, we shall carry out physical production and debugging after the success of the simulation, and we designed the wireless temperature detector successfully in the end .This paper introduced the temperature acquisition module, wireless transmission module, display module, tem
10、perature limit setting module and alarm circuit design method and process. The system through the alarm circuit to remind monitoring personnel when the data of temperature beyond the set value. At the same time, the testing personnel can through the keyboard to set specific alarm point temperature.
11、In addition, the temperature detection system has high precision, stable wireless data transmission, and the transmission distance is far.Keywords: temperature detection;Single chip microcomputer; Wireless transmission第一章 绪论1.1 课题的背景和意义随着微电子技术、传感器技术、嵌入式技术以及通信技术的飞速发展,数据采集和检测系统得到了广泛的应用,用于检测各种参数的仪表也越来越
12、多。这些仪表种类繁杂,分布往往比较分散,这些仪表实时采集数据的工作量也越来越大。如何高效率、低成本地采集这些离散的数据是迫切需要解决的科技难题。对于许多检测现场,由于需要检测的范围广,检测的对象种类繁多,需要投入大量的人力、物力进行设备的维护和检测工作。同时,受现场环境和应用对象的限制,存在着各种各样的恶劣条件,使人们不易到现场长时间的检查采集一些数据,如果这时进行大量的布线工作则是不经济、不合理的。传统的检测系统造价昂贵,体积庞大,在电源供给困难的区域不易部署,同时布置一旦完毕,就很难根据检测现场灵活改变布局,重新布置会带来巨大的成本消耗,系统重用性差。因此,采用无线检测的方式来实现有很大的
13、优势,也是目前研究的热点。为了适应这种客观需要,逐步出现了无线检测技术,应用无线通信技术对离散的、不易布线区域的参数信息进行监视,以实现信息的远程测量、传输和调节等各项功能。无线检测系统实现参数信息的实时、快速和有效检测,向人们提供了一个更高效、更全面,更快捷的服务模式,本论文以改变当前滞后的检测技术,解决检测中遇到的困难和难题为目标,利用无线检测网络的优势,突破传统检测方法和思路,以高科技、新技术、低成本提高科学检测水平,为检测提供可靠科学的检测数据,使用无线检测网络,一些布线和管理的难点都将迎刃而解,人力、物力、资金的使用也大幅减少。无线检测系统具有不借助外部网络、快速安装、抗毁性强等特点
14、,可以使人们在任何时间、地点和任何环境条件下获取大量的、可靠的数据信息。1.2 本课题的研究内容以及所完成的工作1.2.1 本课题的研究内容本课题研究的内容是针对检测领域的现状,以及组建无线检测系统的实际需要,提出了一种基于射频通信技术的解决方案。研究和开发一种新型无线检测系统来实现传感器的温度数据采集和无线数据传输,从而达到检测的目的。该系统可以快速、准确地完成数据采集和管理,为智能化检测提供了便利的条件。1.2.2 本课题所完成的具体工作本课题的研究内容是通过无线传输实现对检测现场的温度参数的实时采集。本课题所完成的具体工作:(1)完成系统的总体设计,并根据设计要求选取系统的主要功能模块器
15、件。(2)完成无线检测系统的发射端和接收端的电路设计,根据系统设计要求完成电源模块、传感器数据采集模块、无线数据通信模块、报警电路、键盘电路、时钟振荡电路和复位电路设计。(3)完成无线检测系统程序设计,程序设计采用C语言编程。(4)完成无线检测系统的系统调试,对系统的数据可靠性、抗干扰能力、通信距离等方面进行测试。第二章 无线温度检测系统总体设计2.1 系统设计要求根据本系统的应用环境,总结系统的设计要求如下:(1)体积小。与传统的温度计相比,本课题设计的测温系统的体积要尽可能的小,从而减少占用空间,而且更便于安装和更换。(2)可靠性高。为了保证系统能够正常工作,并且尽可能减少测温误差,要求接
16、收端与发送端之间的无线通信可靠。而系统环境的影响可能会有不确定的电磁干扰等,因此,系统要有一定的抗干扰能力。(3)低成本。无线测温系统应充分考虑其成本,在满足系统要求的前提下,应尽量降低成本,从而提高与同类产品的竞争力。2.2 系统总体设计方案的确定本课题的研究内容是通过无线传输实现对检测现场的温度参数的实时采集。主要实现温度采集、无线传输、超温报警和温度实时显示功能。整个系统由温度采集端和温度接收端两个部份组成,两者之间通过无线信道通信。数据采集端负责数据的采集和发送,数据接收端负责数据的接收和处理。系统整体结构框图如图2.1和图2.2所示。图2.1 温度采集端图2.2 温度接收端2.2.1
17、 数字温度传感器的选择随着温度传感器智能化、集成化技术的进步,数字式温度传感器也得到了快速发展,世界上许多公司推出了新型的数字温度传感器系列。这些产品的出现极大的丰富了设计工程师的选择对象。在如此众多的产品中选择出合适的器件,应该把握以下几点:外围电路应该尽量简单;测温的精度、分辨率要合适,以便减少不必要的电路和软件开发成本;占用单片机的I/O引脚数情况如何;与单片机的通信协议应尽量简单,温度测量的软件开发难度、成本要尽量小。DSl8B20是美国Dallas半导体公司继DSl820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编
18、程实现912位的数字值读数方式。可以分别在93.75ms和750ms内完成9位和12位的数字量读取。它采用独特的单总线接口方式,即允许在一条信号线上挂接数十甚至上百个数字式传感器,从而使测温装置与各传感器的接口变得十分简单,克服了模拟式传感器与微机接口时需要的A/D转换器及其它复杂外围电路的缺点,而且,可以通过总线供电,温度变换功率来源于数据总线,总线本身也可以向所挂接的DSl8B20供电,而无需额外电源,由它组成的温度测控系统非常方便,而且成本低、体积小、可靠性高。DSl8B20的测温范围-55+125,最高分辨率可达0.0625,由于每一个DSl8B20出厂时都刻有唯一的一个序列号并存入其
19、ROM中,因此CPU可用简单的通信协议就可以识别,从而节省了大量的引线和逻辑电路。由于DSl8B20具有独特的单总线接口方式在测温时有明显的优势,占用单片机的I/O引脚资源少,和单片机的通信协议比较简单,成本较低,而且具有负压特性(电源极性接反时,温度计不会因发热而烧毁,只是不能正常工作),和其他数字温度传感器相比,它更适合本系统。所以,选用DSl8B20作为温度测量的传感器。2.2.2 控制器的选择目前使用最为广泛的是51系列单片机,其中STC89C52系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,是一款增强型51单片机,完全兼容8051单片机,增加了新的功能,新增两级中
20、断优先级,多一个外中断,内置EEPROM,看门狗,具有掉电模式,512B内存,支持ISP在线编程,不用编程器,程序可擦写10万次,管脚完全兼容,性能更好,驱动能力更强,超强抗干扰能力,价格也比传统的89系列低。考虑到快速开发以及本系统的应用要求,最后采用了最常用的STC89C52单片机。STC89C52单片机主要性能:(1)高速:1个时钟/机器周期,增强型8051内核,速度比普通8051快8到12倍。(2)宽电压:5.54.IV/3.7V,3.6V2.4V/2.lV。(3)低功耗设计:空闲模式(可由任意一个中断唤醒)和掉电模式(可由任意一个外部中断唤醒,可支持下降沿/低电远程唤醒)。(4)工作
21、频率:035MHz,普通8051:0420MHz。(5)时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置。(6)芯片内EEPROM功能,擦写次数10万以上。(7)ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器。(8)2个16位定时器,兼容普通8051的定时器T0/T1。(9)硬件看门狗(WDT)。(10)全双工异步串行口(UART),兼容普通8051,可当2个串口使用。(11)先进的指令集结构,兼容普通8051指令集,有硬件乘法/除法指令。2.2.3 无线收发模块的选择现在有很多射频芯片可以用来完成无线数据传输。所有高频元件包括电感、振荡器等已经全部集成在芯片
22、内部,一致性良好,且性能不受外界干扰。通信模块一般包含简单透明的数据传输协议或使用简单的加密协议,发射功率、工作频率等,所有工作参数全部通过软件设置完成,用户不用对无线通信原理和工作机制有较深的了解,只要依据命令字进行操作即可实现基本的数据无线传输功能。新一代短距离无线数据通信系统具有体积小、功耗低、稳定性好、抗干扰能力强等优点,而且开发简单快速,可以方便地嵌入到各种设备中,实现设备间的无线连接,因此,适合搭建小型网络,在工业、民用领域得到较为广泛的应用。由于无线收发芯片的种类和数量比较多,如何设计中选择所需要的芯片是非常关键的,正确的选择可以少走弯路,降低成本。下面是选择无线收发芯片的原则:
23、(1)收发芯片的数据传输是否需要进行曼彻斯特编码采用曼彻斯特编码的芯片,在编程上会需要较高的技巧和经验,需要更多的内存和程序容量,并且曼彻斯特编码大大降低数据传输的效率,一般仅能达到标称速率的1/3。而采用串口传输的芯片,应用及编程非常简单,传送的效率很高,标称速率就是实际速率,因为串口对大家来说是再熟悉不过的了,编程也很方便。(2)收发芯片所需的外围元件数量芯片外围元件的数量直接决定你的产品的成本,因此应该选择外围元件少的收发芯片。有些芯片似乎比较便宜,可是外围元件使用很多昂贵的元件如变容管以及声表滤波器等;有些芯片收发分别需要两根天线,会大大加大成本。(3)功耗大多数无线收发芯片是应用在便
24、携式产品上的,因此功耗也非常重要,应该根据需要选择综合功耗较小的产品。(4)发射功率在同等条件下,为了保证有效和可靠的通信,应该选用发射功率较高的产品。但是也应该注意,有些产品号称的发射功率虽然较高,但是由于其外围元件多,调试复杂,往往实际的发射功率远远达不到标称值。(5)收发芯片的封装和管脚数较少的管脚以及较小的封装,有利于减少PCB面积降低成本,适合便携式产品的设计,也有利于开发和生产。综合考虑以上五个原则,本课题中无线收发通信采用NRF24L01模块。NRF24L01是NORDIC公司最近生产的一款无线通信芯片,采用FSK调制,内部集成NORDIC自己的Enhanced Short Bu
25、rst协议。可以实现点对点或是1对6的无线通信。无线通信速度可以达到2Mbps。NORDIC公司提供通信模块的GERBER文件,可以直接加工生产。嵌入式工程师或是单片机爱好者只需要为单片机系统预留5个GPIO,1个中断输入引脚,就可以很容易实现无线通信的功能,非常适合用来为MCU系统构建无线通信功能。第三章 硬件电路设计3.1 发射端无线温度检测器的温度采集端由电源模块、STC89C52单片机、温度采集电路、无线发送模块NRF24L01、时钟电路及复位电路组成。温度采集端硬件框图如图3.1所示。图3.1 温度采集端硬件框图3.1.1 温度采集模块1. DSl8B20内部结构DSl8B20芯片的
26、内部结构如图3.2所示。图3.2 DS18B20内部结构图2. DSl8B20有4个主要的数据部件:(1)64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)。(2)温度灵敏元件。(3)非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。(4)配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DSl8B20在工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如表3.1所示。表3.1 DS18B20配置寄存器模式设置表TMR1R011111其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、Rl:温度计分辨率
27、设置位,其对应四种分辨率表3.2所列,出厂时R0、Rl置为缺省值:R0=1, R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。配置寄存器与分辨率关系如表3.2所示。表3.2 配置寄存器与分辨率关系表R0R1温度计分辨率/bit最大转换时间/us00993.750110187.5101137511127503. 高速暂存存储器高速暂存存储器由9个字节组成,其分配如表3.3所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第1和第2个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表3.3所示。对应的温度计算:
28、当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表3.3 DS18B20存储器映像表温度低位温度高位THTL配置保留保留保留8位CRC4. 对DSl8B20的设计,需要注意以下问题:(1)对硬件结构简单的单线数字温度传感器DSl8B20进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写程序要严格按要求编写。尤其在使用DSl8B20的高测温分辨力时,对时序及电气特性参数要求更高。 (2)测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。DSl8B20在
29、三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。若VCC脱开未接,传感器只送85.0的温度值。5. DSl8B20与STC89C52的连接电路图如图3.3所示。DSl8B20与单片机的P3.0口相连。图3.3 DSl8B20与STC89C52连接电路原理图3.1.2 控制单元STC89C52单片机1. STC89C52单片机的特点单片机是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。STC89C52单片机的基本结构如图3.4所示。图3.4 STC89C52单片机的基
30、本结构2. STC89C52单片机的引脚及功能STC89C52单片机的管脚分布如图3.5所示。图3.5 STC89C52单片机的管脚图STC89C52的I/O端口:P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
31、对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。 引脚第二功能 P1.0/T2(定时器/计数器T2的外部计数输入) P1.1/T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5/MOSI(在系统编程用) P1.6/MISO(在系统编程用) P1.7/SCK(在系统编程用) P2口:P2口是一个具有内
32、部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器时,P2 口送出高8位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉
33、电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为STC89C52特殊功能(第二功能)使用。在flash编程和校验时,P3口也接收一些控制信号。 引脚 第二功能P3.0/RXD(串行输入口)P3.1/TXD(串行输出口)P3.2/INT0(外中断0)P3.3/INT1(外中断1)P3.4/T0(定时/计数器0)P3.5/T1(定时/计数器1)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)此外,P3口还接收一些用于flash闪存编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,R
34、ST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意每当访问外部数据存储器时将跳过一个ALE脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PS
35、EN:程序储存允许 PSEN输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VP:外部访问允许 欲使CPU仅访问外部程序存储器,EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。3.1.3 电源模块设计本次设计的电源模块采用USB接口将220V交流电转换为5V的直流电,从而为整个系统供电。电源模块设计中增加了绿色LED指示灯,指示电源的通断。电源模块设计如图3.6所示。图3.6 电源模块电路连接图3.1.
36、4 无线收发模块NRF24L01电路设计无线收发模块NRF24L01的各引脚与单片机的P1口相连,电路连接图如图3.7所示。图3.7 无线收发模块NRF24L01与单片机的电路连接图无线收发模块NRF24L01引脚功能:CSN(P1.1):芯片的片选线,CSN 为低电平芯片工作。SCK(P1.2):芯片控制的时钟线(SPI 时钟)。MISO(P1.4):芯片控制数据线(Master input slave output)。MOSI(P1.3):芯片控制数据线(Master output slave input)。IRQ(P1.5):中断信号。无线通信过程中MCU主要是通过IRQ与NRF24L0
37、1进行通信。CE(P1.0):芯片的模式控制线。在CSN为低的情况下,CE协同NRF24L01的CONFIG寄存器共同决定NRF24L01的状态。3.1.5 时钟振荡电路设计XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30pf左右。STC89C52单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元
38、件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,在焊接电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。本次时钟电路设计采用内部方式,即利用芯片内部的振荡电路,晶体振荡器选用12MHz,电容选用33pf。时钟振荡电路如图3.8所示。图3.8 时钟振荡电路连接图 3.1.6 复位电路设计在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此
39、引脚时,将使单片机复位,只要这个脚保持高电平,单片机便循环复位。复位后P0P3口均在引脚表现为高电平,程序计数器和特殊功能寄存器全部清零。当复位脚由高电平变为低电平时,芯片从ROM的00H处重新开始执行程序。复位电路通常采用上电自动复位和按钮复位两种方式,本设计采用按钮复位电路。复位电路图如图3.9所示。图3.9 复位电路连接图3.2 接收端无线温度测量器的温度接收端由电源模块、STC89C52单片机、液晶显示电路、无线收发模块NRF24L01、键盘电路、报警电路、时钟电路及复位电路组成。其中电源模块、STC89C52单片机、无线收发模块NRF24L01、时钟电路和复位电路与发射端相同。温度接
40、收端硬件框图如图3.10所示。图3.10 温度接收端硬件框图3.2.1 蜂鸣器报警模块设计报警电路由三极管,红色LED指示灯和蜂鸣器和一个拨动开关组成。当温度检测器正常工作时,将拨动开关置于闭合状态。当实时温度大于温度限设定值时蜂鸣器发出声响,同时红色LED灯亮,当实时温度又低于温度限设定值时,蜂鸣器和红色LED灯自动停止。当蜂鸣器报警时,也可通过将拨动开关断开停止报警。蜂鸣器报警模块设计如图3.11所示。图3.11 蜂鸣器报警模块电路连接图3.2.2 键盘电路设计本系统选择使用独立式按键。键盘电路由两个按键与单片机P3口相连构成,实现温度限的设置功能。通电后,液晶屏显示设定温度为Temp s
41、et:40。按下s1键,设定值加1,当温度设定值为99时,再次按下s1键,设定值为0。按下s2键,设定值减1,当温度设定值为0时,再次按下s2,设定值为99。键盘电路图如图3.12所示。图3.12 键盘电路连接图3.2.3 液晶显示模块设计1. LCD1602主要管脚介绍显示模块用于显示实时温度和设定温度。这里采用1602液晶显示屏,其主要参数为:显示容量(16*2个字符)、芯片工作电压(4.5-5.5V)和工作电流(2.0mA)。LCD1602共有16个引脚,各管脚的功能如表3.4所示。表3.4 LCD1602管脚功能介绍表引脚符号状态功能1VSS输入电源地2Vdd输入电源+5V3V0输入对
42、比度控制端4RS输入寄存器选择5R/W输入读、写操作6E输入使能信号7DB0三态数据总线(LSB)8DB1三态数据总线9DB2三态数据总线10DB3三态数据总线11DB4三态数据总线12DB5三态数据总线13DB6三态数据总线14DB7三态数据总线(MSB)15LEDA输入背光+5V16LEDK输入背光地说明:V0:液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,使用时可以通过一个10k的电位器调整对比度。RS:寄存器选择,高电平时选择数据存储器,低电平时选择指令寄存器。R/W:读写信号线,高电平时进行读操作,低电平进行写操作。当RS和R/W共同为低电平时可以写入指令或者显
43、示地址;当RS为高电平,R/W为低电平时可以写入数据。E:使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。2. LCD1602控制指令LCD1602控制指令介绍表如表3.5所示。表3.5 LCD1602控制指令介绍表格式功能RSR/WDB7DB6DB5DB4DB3DB2DB1DB0清屏指令0000000001显示开关控制0000001DCB光标、画面移动000000S/CR/L*功能设置00001DLNF*说明:(1)清屏指令清屏指令的主要功能有:清除液晶显示器的内容,即DDRAM的内容全部填入“空白”的ASCII码20H;光标归位,即将光标撤回液晶显示屏的左上方;将地址计数器(AC)
44、的值设为0。(2)显示开关控制显示开关控制的功能是设置显示、光标及闪烁的开、关等。其中:D表示显示:1为开,0为关;C表示光标:1为开,0为关;B表示闪烁:1为开,0为关。(3)光标及画面移动光标及画面移动的功能是控制光标、画面的移动,不影响DDRAM。其中:S/C=1,画面平移一个字符位;S/C=0,光标平移一个字符位;R/L=1:右移;R/L=0:左移。(4)功能设置功能设置主要是对LCD1602的工作方式进行设置。其中:DL=1,8位数据接口;DL=0,4位数据接口;N=1,两行显示;N=0,一行显示;F=1,510点阵字符;F=0,57点阵字符。3. LCD1602与单片机连接图液晶显
45、示模块设计如图3.13所示。数据线DB0-DB7连接单片机的P0口;RS、R/W、E这3条控制线分别接单片机的P2.5、P2.6和P2.7口。电阻R3用来调节背光的亮度。图3.13 LCD1602与单片机的电路连接图第四章 软件程序设计4.1 程序流程图4.1.1 主程序流程图1. 发射端主程序流程图如图4.1所示。图4.1 发射端主程序流程图2. 接收端主程序流程图如图4.2所示。图4.2 接收端端主程序流程图4.1.2 子程序流程图1. 数字温度传感器DS18B20读温度程序DS18B20读温度程序流程图如图4.3所示。图4.3 DS18B20读温度程序流程图2. 键盘扫描子程序键盘扫描子程序流程图如图4.4所示。图4.4 键盘扫描子程序流程图4.2 无线收发模块24L01的编程4.2.1 24L01编程的基本思路(1)置CSN为低,使能芯片,配置芯片各个参数。配置参数在Power Down状态中完成。(2)如果是Tx模式,填充Tx FIFO。(3)配置完成以后,通过CE与CON