毕业设计(论文)-基于单片机的多点温度监测系统设计_第1页
毕业设计(论文)-基于单片机的多点温度监测系统设计_第2页
毕业设计(论文)-基于单片机的多点温度监测系统设计_第3页
毕业设计(论文)-基于单片机的多点温度监测系统设计_第4页
毕业设计(论文)-基于单片机的多点温度监测系统设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的多点温度监测系统设计摘 要:DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。PL2303是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步窜行通信装置与USB功能接口便利连接的解决方案。该系统由上位机和下位机两大部分组成。下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89S52单片机和DALLAS公司的DS18B20数字温度传感器。上位机部分使用了通用PC。该系统可应用于仓库测温、楼宇空调控制和

2、生产过程监控等领域。关键字:温度测量;单总线;数字温度传感器;单片机;转换器Based on SCM more temperature monitoring system design Abstract:DS18B20 is a network of high precision digital temperature sensor, since it has the unique advantages single bus, users can easily set up sensor network, and can make more temperature measurement ci

3、rcuit become simple and reliable. PL2303 Prolific company is the production of a highly integrated RS232-USB interface converter, can provide a RS232 full-duplex asynchronous channeling line of communication equipment and the USB interface convenient connection function of the solution.The system co

4、nsists of PC and a machine under two main components. A machine to implement the temperature detection and provide standard RS232 communication interface, ATMEL company used chip AT89S52 SCM and DALLAS company DS18B20 digital temperature sensor. PC parts used the general PC. This system can be used

5、in storage temperature measurement, building the air conditioning control and production process monitoring, etc。Key words:temperature measurement; Single bus; Digital temperature sensors; Single chip microcomputer; converter第一章 绪论1.1 系统概述 在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。首先让我们了解一下多点温度检测系统在各个方面的应用领域

6、:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测。温度检测系统应用十分广阔。 温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D 转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降 。所以多点温度检测系统

7、的设计的关键在于两部分:温度传感器的选择和主控单元的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。本设计运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用 RS-232串行通讯标准,通过上位机(PC)控制下位机(单片机)进行现场温度采集。温度值既可以送回主控PC进行数据处理,由显示器显示。也可以由下位机单独工作,实时显示当前各点的温度值,对各点进行控制。下位机采用的是单片机基于数字温度传感器DS18B20的系统。DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器

8、网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。第二章 系统总体设计21 设计要求多点温度检测,制作3点温度检测系统,检测范围为1020。将三点检测的温度采集并通过PC机界面显示出来,LED数码管显示出当前环境温度及三点的平均温度。在PC机驱动界面上分别设定三点的温度报警阈值,当任一被测点得温度不在其设定的检测范围时,蜂鸣器报警,同时在PC机界面上显示出相应的报警符号(当被测点温度超出设定的检测范

9、围时显示红色报警符,当被测点温度低于设定的检测范围时显示白色报警符)被测点温度误差。本设计中采用数字式温度传感器DS18B20来采集温度值并用AT89S52单片机来进行数据处理并控制相关电路的工作,PL2303控制器与PC级相连显示当前测定的温度,具有检测方便、灵活性大、精度高等优点。当温度超过预设温度上下限时,系统将发出警报并记录相应警报的类型和时间。22系统组成方框图传感器模块 下位机(AT89S52) 上位机(PC)LED显示模块PL2303控制模块预警灯显示模块图1系统方框图第三章 系统硬件设计31总体思路在设计这个温度检测系统之前,先了解系统所要实现的各个功能情况。在设计的过程中,除

10、了要让硬件电路简洁外,还要兼顾软件不能过于复杂。这样才能达到设计的实际要求,硬件支持软件,软件带动硬件。本电路设计的主要思路是:对设置的三个温控点进行实时的温度监控,并且把采集的温度通过电脑界面显示出来。最基本的程序是温度采样程序,之后的设定的数码管显示和PL2303控制都是在基本程序上扩展而得到的。主要目的是将三点检测的温度采集并通过PC机界面显示出来,LED数码管显示出当前环境温度及三点的平均温度。在PC机驱动界面上分别设定三点的温度报警阈值,当任一被测点得温度不在其设定的检测范围时,蜂鸣器报警,同时在PC机界面上显示出相应的报警符号311系统总体设计图图2 系统总原理图32 各模块电路图

11、321温度测试电路设计这里我们用到温度芯片DS18B20。DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式。测温分辨率可达,被测温度用符号扩展的16位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20支持“一线总线”接口,测量温度范围为 -55°C+125°C,在-10+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗

12、干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20内部结构64位ROM 和单线接口存储器和控制器(1) DS18B20的内部结构如图所示 温度灵敏元件 高速 缓存存储器低温触发器TL电源检测高温触发器TH配置寄存器8位CRC生成器DS18B20内部结构图DS18B20有4个主要的数据部件: 64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。 温度灵敏元件。 非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。 配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18

13、B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示。TMR1R011111MSBDS18B20配置寄存器结构图LSB其中,TM:测试模式标志位,出厂时被写入0,不能改变;R0、R1:温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。配置寄存器与分辨率关系表 :R0R1温度计分辨率/bit最大转换时间/us009011010113751112750(2) 高速暂存存储器高速暂存存储器由9个字节组成,其分配如下图所示。当温度转换命令发布后,经转换所得的温度

14、值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。温度低位温度高位THTL配置保留保留保留8位CRCLSBDS18B20 存储器映像图MSB温度值格式图DS18B20 温度数据表:232221202-12-22-32-4MSBLSBSSSSS262524典型对应的温度值表:温度/二进制表示十六进制表示+125 0-5500000111 1101000000000001 1001000100000000 1

15、010001000000000 0000100000000000 0000000011111111 1111100011111111 0101111011111110 0110111111111100 1001000007D0H0191H00A2H0008H0000HFFF8HFF5EHFE6FHFC90HDS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。硬件连接电路如下图: VCC=5VDS18B 20 3#DS18B 20 2#DS18B 20 n#DS18B 20 1# AT89S52本系统为多点温度测试。DS18B20采用外部供电方式,理论上可

16、以在一根数据总线上挂256个DS18B20,但时间应用中发现,如果挂接25个以上的DS18B20仍旧有可能产生功耗问题。另外单总线长度也不宜超过80M,否则也会影响到数据的传输。在这种情况下我们可以采用分组的方式,用单片机的多个I/O来驱动多路DS18B20。在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。对DS18B20的设计,需要注意以下问题(1)对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。尤其在使用DS18B20 的高测温分

17、辨力时,对时序及电气特性参数要求更高。(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20 序列号和自动排序,以减少调试和维护工作量。(3)测温电缆线建议采用屏蔽4 芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。DS18B20 在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。若VCC脱开未接,传感器只送85.0 的温度值。(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。另外还应根据实际情况选择其接线拓扑结构。322主控模块电路设计本系统选用ATM

18、EL公司的AT89系列单片机中的AT89S52,AT89S52单片机是一种新型的低功耗、高性能且内含8K字节闪电的8位CMOS微控制器,与工业标准MCS一51指令系列和引脚完全兼容。有超强的加密功能,其片内闪电存储器的编程与擦除完全用电实现,数据不易挥发,编程/擦除速度快。AT89S52芯片内部有6个中断源:两个外部中断INTO和INT1.三个定时器中断(定时器0,1,2)和一个串行口中断。在本系统中涉及到AT89S52芯片的中断源有五个:分别是外部中断INT1,定时/计数器T0,T1和T2以及串行口中断。本测控系统采用电平激活方式,也即是INT1=0;一旦INT1引脚的采样值为低电平,则TC

19、ON寄对于定时器TO和Tl,通过寄存器TMOD,TCON来控制和选择定时/计数器的功能和操作模式。AT89S52的芯片管脚图如图5示。 图5 AT89S52芯片管脚323联机模块电路设计整个模块通过PL2303转换器驱动与PC机连接,其模块电路如下图所示。通过一个USB接口与PC机连接,实现对温度的实时监控,并可通过控制界面对温度检测范围进行调整控制,当温度不在检测范围内时显示报警符号。 图6 联机模块电路图7 联机控制界面截图PL2303介绍及工作原理详见附录二324显示模块电路设计(1)数码管显示电路设计设计中采用一个四位数码管来显示当前环境温度,通过单片机的P1口控制数码管的工作,并在P

20、1口与数码管间接上拉电阻对数码管进行保护,同时也增加了数码管的亮度,电路如图7所示。 图8 数码管显示电路(2)发光二极管显示电路设计设计中采用了3个发光二极管作为预警显示灯,采用下拉示串电阻是为了保护发光二极管,如图8所示。 Led1 L1 Led2 L2 Led3 L3 图9 发光二极管预警电路第四章 系统软件设计开始41主程序设计系统初始化读取温度采集子程序采集温度并进行数据处理数显并判断是否在正常温度内 不报警 Y N判断温度超出上限(Y)或低于下限(N) PC机显示红色预警,蜂鸣器报警 Y NPC机显示白色预警,蜂鸣器报警图10 主程序流程图本软件设计的程序设计包括采集各个点的温度进

21、行数据处理,判断当前测定温度是否在设定的阈值范围内,若不在则发出报警。主程序调用了4个子程序,分别是数码管显示程序、LED预警显示程序、温度测试程序、单片机与PC机串口通讯程序。LED预警显示程序:实现对温度控制的预警功能。温度测试程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码的显示送数,控制系统的显示部分。串口通讯程序:实现PC机与单片机通讯,将温度数据传送给PC机。程序结构LED预警显示程序温度测试程序数码管显示程序串行口通讯程序 图11 程序结构框图42 串行口通讯程序本次通讯中,测控系统分位上位机和下位机之间的通信,系统中单片机负责数据采集、处理和控制,上

22、位机进行现场可视化检测,通信协议采用半双工异步串行通信方式,通过RS232的RTS信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯。本人采用的VB环境下PC机与单片机之间实现串行通讯的软硬件方案。VB是Microsoft公司推出的Windows应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 6.0 版本带有专门实现串行通讯的MSCOMM控件。MSComm控件串口具有完善的串口数据的发送和接收功能。通过此控件,PC机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯。此控件的事件响应有两种处理方式。事件驱

23、动方式:由MSComm控件的OnComm事件捕获并处理通讯错误及事件;查询方式:通过检查CommEvent属性的值来判断事件和错误。 1) MSComm控件的主要属性和方法     a. CommPort:设置或返回串行端口号,其取值范围为199,缺省为1 b. Setting:设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位。   c. PortOpen:打开或关闭串行端口。     d. RThreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生MSComml-O

24、nComm事件。     e. Input:从接收缓冲区移走一串字符。 f. Output:向发送缓冲区传送一字符串。 软件流程图如下: 图12 PC通讯程序流程图 图13 单片机程序流程图参数设定:通信端口选择COM1,波特率设定为1200B/SMSCOmm mPort=1MSComm.Setting=“1200, n, 8, 1”。 START:MOVSP,#60HMOVTMOD,#20HMOVTH1,#0E6HMOVTL1,#0E6H ;1200B/S,晶振为12MHZMOV PCON,#00HMOVSCON,#50HSETBTR1第五章 系统调试51软件调

25、试分步调试1、测试环境及工具测试温度:1020摄氏度。(模拟多点不同温度值环境)测试仪器及软件:数字万用表,温度计0100摄氏度,串口调试助手。测试方法:目测。2、测试方法使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,显示电路,温度测试电路等)。系统自带测试表格数据,观察显示数据是否相符合即可。采用温度传感器和温度计同时测量多温度变化情况(取温度值不同的多点),目测显示电路是否正常。并记录各点温度值,与实际温度值比较,得出系统的温度指标。使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确否。3、测试结果分析自检正常,各点温度显示正常,串口传输数据正确。因为芯片是塑料封装

26、,所以对温度的感应灵敏度不是相当高,需要一个很短的时间才能达到稳定。§5.2 统一调试将硬件及软件结合起来进行系统的统一调试。实现PC机与单片机通讯,两者可以实时更新显示各点温度值。第六章 结束语为期一个多月的毕业设计即将结束了,在这一个月里我在同学和老师的帮助下完成了路灯控制系统的设计。毕业设计作为综合性的设计,它不同于以前教学中的实验、课程设计等实践环节。以前的所做的一些设计主要是根据相关的课本及老师所给资料去完成的,有一定的参照性,所以相对而言比较简单,不能完全达到锻炼自己动手能力的目的。而毕业设计则是对我们大学四年所学知识的一个综合的训练及考核,是对所学知识的应用能力和大学所

27、学理论知识对实践技能相结合的全面的检验。并对我们如何根据要做的课题对现有的资料进行理解和运用的能力的考核。真正做到了理论联系实际,把以前所学的知识综合贯通进行实践,并在实践中不断学习和自我完善。从刚确定毕业设计课题以来,我首先是查找一些相关的书籍及资料,然后分析设计,并根据实际情况拟定设计方案,从而达到优化方案。在研究设计电路时,我优化了电路设计,这就省去了一部分时间,最难的是调试了,但在老师和同学的帮助下,完成的设计达到了预定的要求。同时,通过这次毕业设计,我们在各个方面都有了很大的提高,特别是在理论和实践结合方面使我们受益匪浅,使大学里学习的理论知识在根本上得到一次最完整的实践和提高。也为

28、我即将面临的工作奠定了很好的基础。同时,在本次毕业设计中深深认识到自己的各个方面的不足之处,本着提高动手能力以及检测四年所学知识的目的,我严格要求自己,每一环节都认真对待,定期向知道老师报告进展情况和请教不懂的地方,得以完成任务。在以后的工作中,我们必须进一步深化在实践中去丰富理论,完善知识结构。由于环境条件的影响,理论与实践还是有一定的差距,这也要求我们在实践中注意检验的积累。参考文献:1. 贾振国. DS1820 及高精度温度测量的实现J.电子技术应用,2000(1):58 - 59.2. 贾正松.单片机系统复位电路设计J.中国期刊全文数据库,2007/36 3. 邦田. 电子电路实用抗干

29、扰技术. 北京:人民邮电出版社,1994 4. 李涛.新型单片机AT89C2051及其应用举例J 1996年 04期 5. 曲喜贵. 电子元件材料手册 M. 北京:电子工业出版社,1989.422-430.6. 黄贤武,郑筱霞,曲波等. 传感器实际应用电路设计M. 成都:电子科技大学出版社,1997.4-10.7. 刘君华. 智能传感器系统 M . 西安:西安电子科技大学出版社,1999.8. 余永权. Flash 单片机原理及应用 M. 北京:电子工业出版社,1997.9. 邦田. 电子电路实用抗干扰技术 M . 北京:人民邮电出版社,1994.10. 周云波. 由DS18B20单线数字温度

30、计构成的单线多点温度测量系统. 电子技术应用,1996(2):15- 20.11. 吉鹏 ,马云峰等. 微机原理与接口技术 M. 北京:高等教育出版社,2001.12. 振国. DS1820 及高精度温度测量的实现 J . 电子技术应用,2000 (1) .13. 东耀,汪仁煌. 数字温度传感器在仓库温度检测系统的应用J. 传感器世界,2001(12):30- 33.14. 月霞,孙传友. DS18B20 硬件连接及软件编程J. 传感器世界,2001(12):25- 29.15. 一线数字温度传感器资料M. 武汉:武汉力源电子 ,1996.16. 贤武,郑霞,曲波. 传感器实际应用电路设计M.

31、 成都:电子科技大学出版社,1997.17. 伟正. 单线数字温度传感器的原理与应用1. 电子技术应用,18. DALLAS公司.DS18B20数据手册Z19. 周月霞,孙传友. DS18B20 硬件连接及软件编程J. 传感器世界,2001,(12).20. 单线数字温度传感器资料M. 武汉:武汉力源电子 ,1996.21. 贾东耀,汪仁煌. 数字温度传感器在仓库温度检测系统的应用J. 传感器世界,2001(12).22. 余永权. ATMEL 89系列单片机应用技术M. 北京:北京航空航天大学出版社2002.23. 胡汉才. 单片机原理及系统设计M. 北京:清华大学出版社,200224. 谭

32、浩强.C程序设计(第三版)M.清华大学出版社.2005/附录一:元器件清单器件名称器件型号数量单片机AT89S521RS232-USB接口转换器PL23031四联数码管共阴型1三极管S80504晶振12M2稳压芯片78051蜂鸣器1发光二极管6温度传感器DS18B203按键4个引脚1磁片电容 30pf64极性电容473310112电阻1K1430欧21100欧4电源5V1附录二:PL2303介绍及工作原理PL2303 是 Prolific 公司生产的一种高度集成的 RS232-USB 接口转换器, 可提供一个 RS232 全双工异步串行通信装置与 USB 功能接口便利联接的解决方 案。该器件内

33、置 USB 功能控制器、USB 收发器、振荡器和带有全部调制解调器控 制信号的 UART, 只需外接几只电容就可实现 USB 信号与 RS232 信号的转换, 能够方便嵌入到各种设备,所以 2000 年左右开始 经常推荐使用该 款芯片;该器件作为 USB/RS232 双向转换器,一方面从主机接收 USB 数据并将 其转换为 RS232 信息流格式发送给外设;另一方面从 RS232 外设接收数据转换 为 USB 数据格式传送回主机。这些工作全部由器件自动完成,开发者无需考虑 固件设计.PL2303 的高兼容驱动可在大多操作系统上模拟成传统 COM 端口,并允许基 于 COM 端口应用可方便地转换

34、成 USB 接口应用,通讯波特率高达 6 Mb/s。在工 作模式和休眠模式时都具有功耗低,是嵌入式系统手持设备的理想选择。该器件 具有以下特征:完全兼容 USB1.1 协议;可调节的 35 V 输出电压,满足 3V、 和 5V 不同应用需求;支持完整的 RS232 接口,可编程设置的波特率:75b/s6 Mb/s,并为外部串行接口提供电源;512 字节可调的双向数据缓存;支持默认 的 ROM 和外部 EEPROM 存储设备配置信息,具有 I2C 总线接口,支持从外部 MODEM 信号远程唤醒;支持 Windows98,Windows2000,WindowsXP 等操作系统;28 引脚 的 SO

35、IC 封装.一 .产品特性:1. 完全符合USB规范(全速兼容)2. 片内拥有 USB 1.1 收发器,5V 转 3.3V 的稳压器,12 MHz 的晶体 振荡器3. 支持 RS232 这样的串行接口1)全双工发送器和接收器(TxD 和 RxD)2)六个调制解调控制引脚(RTS,CTS,DTR,DSR,DCD 和 RI)3)内容可以为 5,6,7 或 8 个数据位4) 支持自动握手各种模式5) 一,一个半,或两个停止位6) 奇偶错误,帧错误和串行中断检测7) 可编程波特率从 75bps 到 6 Mbps8) 外部的 RS232 驱动下降控制9) 独立的串行接口电源4. 宽广的流量控制机制1)自

36、动与 CTS / RTS 流控制2)自动使用的 XON / XOFF 流量控制3)入站数据缓冲区溢出检测5. 可配置的 512 个字节双向数据缓冲器1)256 字节的输出缓冲区和 256 字节的输入缓冲区2)128 字节的输出缓冲区和 384 字节的输入缓冲区6. 支持从远程输入相关调制信号进行唤醒功能7. 两个通用的I/O(GPIO)引脚8. 启动时可以讲配置存储于外部EEPROM9.提供支持Windows和MacOS,Linux和WinCE的驱动程序10.具有专为 Windows XP 驱动程序认证的标志11.该 IC 是 SSOP 封装的小尺寸 28 引脚二简介:PL2303 是 Pro

37、lific 公司生产的一种高度集成的 RS232-USB 接口转换器,可 提供一个 RS232 全双工异步串行通信装置与 USB 功能接口便利联接的解决方案。该器件内置 USB 功能控制器、USB 收发器、振荡器和带有全部调制解调器控 制信号的 UART,只需外接几只电容就可实现 USB 信号与 RS232 信号的转换,能 够方便嵌入到手持设备。该器件作为 USBRS232 双向转换器,一方面从主机接收 USB 数据并将其转 换为 RS232 信息流格式发送给外设;另一方面从 RS232 外设接收数据转换为 USB 数据格式传送回主机。这些工作全部由器件自动完成,开发者无需考虑固件设计。通过利

38、用 USB 块传输模式,利用庞大的数据缓冲器和自动流量控制,PL2303HX 能够实现更高的吞吐量比传统的 UART(通用异步收发器)端口,高达 115200 bps 的波特率可用于更高的性能使用。三、对应引脚方案:引脚名字类型引脚描述;1TXD输出数据输出到串口;2DTR_N输出数据终端准备好,低电平有效;3RST_N输出发送请求,低电平有效;4VDD_325电源RS232 的电源,为串行端口信号的电源引脚:当串口为,这应该是当串口为,这应该是5RXD输入串口数据输入6RI_N输入/输出串行端口(环指示器)7GND电源接地8NC无连接9DSR_N输入/输出串行端口(数据集就绪)10DCD_N

39、输入/输出串行端口(数据载波检测)11CTS_N输入/输出串行端口(清除发送)12SHTD_N输出控制RS232收发器开关13EE_CLK输入/输出串行EEPROM时钟14EE_DATA输入/输出串行EEPROM数据15DP输入/输出USB端口D+信号16DM输入/输出USB端口D-信号17V0_33常规电源输出18GND接地19NC无连接20VDD_5电源USB端口的5V电压电源21GND接地22GP0输入/输出通用I/O引脚023GP1输入/输出通用I/O引脚124NC无连接25GND_A模拟地锁相环26PLL_TEST输入PLL锁相环测试模拟控制27OSC1输入晶体振荡器输入28OSC2

40、输入/输出晶体振荡器输出附录三:源程序/功能:与上位机完成通信,上位机发送请求指令,可以完成三路温度数据的采集#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit A1 = P37; /数码管位选sbit A2 = P36;sbit A3 = P35;sbit A4 = P34;sbit db1 = P21; /定义采集点1与单片机的接口sbit db2 = P23; /定义采集点2与单片机的接口sbit db3 = P25; /定义采集点3与单片机的接口sbit jb1 = P20;/

41、采集点1温度报警接口sbit jb2 = P22;/采集点2温度报警接口sbit jb3 = P24;/采集点3温度报警接口sbit buzzer = P32; /蜂鸣器int tem1;/用于储存各采集点读取的温度值int tem2;int tem3;uchar tt = 0;uchar rex = 0;uchar receivedat = 0; /用于存放单片机收到的指令数据uchar c;/主程序中循环变量uchar senden = 0; /发送使能uchar qb1,sg1,qb2,sg2,qb3,sg3;/用于存放温度值的各位数值 变量uchar wd8;/用于存放待发送到PC端的

42、温度各位数据 数组/*定义数码管显示数组*/uchar weixuan = 0x80,0x40,0x20,0x10; /位选uchar duanxuan = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/段选uchar dxxsd = 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; /段选含小数点void delay(uint i)/ds18b20数据延时while(i-); void delay0(uint z) /数码管显示延时uint i,j;for(i = 10;i >

43、0;i-)for(j = z;j > 0;j-); void init(void)/18b20初始化/uchar x = 0;db1 = 1;/db18b20复位db2 = 1;/db18b20复位db3 = 1;/db18b20复位delay(8);db1 = 0;db2 = 0;db3 = 0;delay(80);db1 = 1;/db18b20复位db2 = 1;/db18b20复位db3 = 1;/db18b20复位delay(14);/x = db;delay(20);/return(x);char read1(void) /读采集点1数据uchar i = 0;uchar d

44、at = 0;for(i = 8;i > 0;i-)db1 = 0;dat >>= 1;db1 = 1;if(db1)dat |= 0x80;delay(4);return(dat);char read2(void) /读采集点2数据uchar i = 0;uchar dat = 0;for(i = 8;i > 0;i-)db2 = 0;dat >>= 1;db2 = 1;if(db2)dat |= 0x80;delay(4);return(dat);char read3(void) /读采集点3数据uchar i = 0;uchar dat = 0;for

45、(i = 8;i > 0;i-)db3 = 0;dat >>= 1;db3 = 1;if(db3)dat |= 0x80;delay(4);return(dat);void write(uchar dat1,uchar dat2,uchar dat3) /写数据uchar i = 0;for(i = 8;i > 0;i-)db1 = 0;db2 = 0;db3 = 0;db1 = dat1 & 0x01;db2 = dat2 & 0x01;db3 = dat3 & 0x01;delay(5);db1 = 1;db2 = 1;db3 = 1;dat

46、1 >>= 1;dat2 >>= 1;dat3 >>= 1;delay(4);void readtemperature(void) /读取温度值uchar a = 0;uchar b = 0;init();write(0xcc,0xcc,0xcc);write(0x44,0x44,0x44);/启动init();write(0xcc,0xcc,0xcc);write(0xbe,0xbe,0xbe);/读取温度到寄存器a = read1();b = read1();tem1 = b;tem1 <<= 8;tem1 = tem1 | a;tem1 =

47、 tem1 * 0.0625 * 100 + 0.5;a = read2();b = read2();tem2 = b;tem2 <<= 8;tem2 = tem2 | a;tem2 = tem2 * 0.0625 * 100 + 0.5;a = read3();b = read3();tem3 = b;tem3 <<= 8;tem3 = tem3 | a;tem3 = tem3 * 0.0625 * 100 + 0.5;void jisuan(void) /分离出四位温度值的各位/*计算分离采集点1数据*/qb1 = tem1 / 100;/分离千位百位sg1 = t

48、em1 % 100; /分离十位个位qb2 = tem2 / 100;/分离千位百位sg2 = tem2 % 100; /分离十位个位qb3 = tem3 / 100;/分离千位百位sg3 = tem3 % 100; /分离十位个位wd0 = 't' /前一个字节't'为帧头wd1 = qb1;wd2 = sg1;wd3 = qb2;wd4 = sg2;wd5 = qb3;wd6 = sg3;wd7 = 'e'/后一个字节'e'为帧尾/*数码管显示2位整数加2位小数*/ void display(float x) /数码管显示2位

49、整数加2位小数,例uchar s = 0,g = 0,sf = 0,bf = 0;uint zs,xs1;float xs;zs = (uint)x;/获取整数部分xs = x - zs;/获取小数部分xs = xs * 100;/扩大小数100倍xs1 = (uint)xs;/提取小数的十分位和百分位s = zs/10;/分离整数部分十位g = zs%10;/分离整数部分个位sf = xs1/10;/分离十分位bf = xs1%10;/分离百分位A1 = 1; /第一位显示A2 = 0;A3 = 0;A4 = 0;P1 = duanxuans;delay0(10);A1 = 0; /第二位显示A2 = 1;A3 = 0;A4 = 0;P1 = dxxsdg;delay0(10);A1 =

温馨提示

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

评论

0/150

提交评论