![[工学]基于单片机的串口LED汉字显示技术.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/10/00ea683d-85fa-4359-88c3-18430dab3e83/00ea683d-85fa-4359-88c3-18430dab3e831.gif)
![[工学]基于单片机的串口LED汉字显示技术.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/10/00ea683d-85fa-4359-88c3-18430dab3e83/00ea683d-85fa-4359-88c3-18430dab3e832.gif)
![[工学]基于单片机的串口LED汉字显示技术.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/10/00ea683d-85fa-4359-88c3-18430dab3e83/00ea683d-85fa-4359-88c3-18430dab3e833.gif)
![[工学]基于单片机的串口LED汉字显示技术.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/10/00ea683d-85fa-4359-88c3-18430dab3e83/00ea683d-85fa-4359-88c3-18430dab3e834.gif)
![[工学]基于单片机的串口LED汉字显示技术.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/10/00ea683d-85fa-4359-88c3-18430dab3e83/00ea683d-85fa-4359-88c3-18430dab3e835.gif)
已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南 京 理 工 大 学毕业设计说明书(论文)作 者:孔馨雨学 号:0704210105学院(系):电子工程与光电技术学院专 业:电子信息工程题 目:基于虚拟仪器技术的果园生态环境监测系统设计教授张重雄指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务) 2011年 5 月毕业设计说明书(论文)中文摘要我国作为一个农业大国,果园果树的栽培已经有几百年的历史,传统方式的人工采集费时费力,因此基于虚拟仪器的果园生态环境的监测系统能很好的解决这个问题。本设计软件部分主要采用虚拟仪器,数据的采集是其软件的最基本功能。硬件部分在这个课题中是用PROTEUS进行设计仿真,核心单片机为AT89C51。本篇论文先是对于本课题的背景和意义进行简要介绍,然后对于硬件设计部分所用的AT89C51单片机的作用和功能,以及采集电路设计进行系统的阐述。接着对于软件部分,介绍一下虚拟仪器技术的应用,远程监测的设计,以及它的发展趋势进行概述。最后,通过软件硬件的调试,完成基于虚拟仪器的果园生态环境的监测系统的设计。关键词:虚拟仪器,果园生态环境,单片机,远程监测,AT89C51毕业设计说明书(论文)外文摘要Title The design of detection system about ecological environment of orchard based on VI AbstractAs a large agricultural country, China has a long history which is nearly several hundreds of years on cultivating fruit trees in orchards. The traditional method of acquisition by human is time-consuming and needs efforts, so the detection system about ecological environment of orchard based on VI can be a good solution to this problem. This design mainly use virtual instruments in this part of the design software, and the most basic features of the software are data collection. Also it uses the PROTEUS simulation design, and the core of MCU is AT89C51 in this subject of hardware. Firstly, the paper introduces the background and significance of this subject generally. Besides, it illustrates the functions of AT89C51 microcontroller which is used in the design of hardware part, also describes the system of acquisition circuit. In addition, the paper explains the application of virtual instrument technology, and the design and overview trends of remote monitoring in the software part. Finally, to complete the design of detection system about ecological environment of orchard based on VI through debugging software and hardware.Keywords: virtual instrument, ecological environment of orchard, SCM, remote monitoring, AT89C51目 次1 绪论11. 1选题的背景11. 2选题的意义及发展现状11. 3论文的主要内容及章节安排22 系统的总设计方案32. 1系统总设计要求和设计思想32. 2系统总设计方案33 前端采集装置设计43. 1前端采集装置各部分设计思想43. 2温度采集电路设计43. 3湿度采集电路设计63. 4光照采集电路设计83. 5AT89C51单片机93. 6MAX232103. 7LCD显示电路113. 8前端采集装置设计总电路123.8.1前端采集的总电路图134 前端采集装置的软件部分144.1前端采集装置电路设计的仿真软件介绍144.2前端采集装置总流程图154.3DS18B20软件编程154.4LCD1602软件编程175 PC终端的软件设计225.1虚拟仪器技术225.1.1虚拟仪器的组成225.1.2虚拟仪器的优点235.1.3虚拟仪器的用途及发展趋势245.2LabVIEW平台255.2.1LabVIEW的构成255.2.2LabVIEW特点265.3基于LabVIEW的软件设计265.3.1串行通信265.3.2RS232通信端口介绍275.3.3串口的配置和读取285.3.4串行通信显示数据总框图286 系统的调试306. 1前端采集装置设计的调试306. 2PC终端软件设计的调试30结 论32致 谢34参 考 文 献35本科毕业设计说明书(论文) 第 36 页 共 36页1 绪论1. 1 选题的背景我国作为一个农业大国,果树栽培具有悠久的历史,早在400多年前,古代劳动人民就开始从事果树的种植。经过历史的发展和长期的生产实践,我国果树的品种日趋丰富,由于果树具有良好的生态效益经济效益和环境效益,果树的培养和种植也越来越受到人们的重视1。对于现今科技的迅速发展,农业产业的科技化也成为了必然趋势,因此对于传统费时费力的人工方式进行果园数据的采集,将逐渐被科技化的方式所取代。应用于农业生产的高科技信息技术主要是由计算机信息的存储和处理以及各种新型的软件系统网络通信多媒体技术智能控制系统等方面的综合应用所组成的。美国,荷兰等发达国家在80年代初期和中期就已经开始利用现代化进行农业生产,比如机械灌溉,温室种植蔬菜水果,试管培养新品种等2。我国虽然农业科技的起步较之许多国家都比较晚,但是发展速度十分迅速,尤其是近些年来,科技已经逐步走进了我国的农业生产和人们的生活中。因此,我所选择的基于虚拟仪器的果园生态环境的监测系统这个课题,也是对于果园环境监测系统完善的科技化创新项目。在现代化发展迅猛的社会经济中,农业科技化,农业产业化已经成为人们对于农业发展的诉求。而在果园的生态环境中,对于应用计算机虚拟仪器进行远程监测正是顺应了发展的趋势。虚拟仪器是伴随着20世纪90年代,计算机技术发展越来越纯熟而逐步发展起来的较为新型的一门技术。它是把计算机的硬件技术和网络技术,仪器以及通信技术结合起来的一个综合性产物。虽然是新兴学科,可是它在测量,分析,计算,显示等方面操作的便捷和实用性上具有极大的优势,这些优点对农业产业的迅速发展,有极大的推动性作用,也因此同时被广泛的应用于各行各业。我所研究的选题,选用虚拟仪器进行显示监测数据,也是基于对它这些优势的考量。1. 2 选题的意义及发展现状果树的栽培技术,在我国发展的越来越成熟,水果不仅种类越来越多,质量和产量也呈现直线增长的趋势。作为农业中比例非常重要的果园果树业,在我国农业经济生产总值中,占据着不容小觑的比例,同时我国的果园数量和果树的年产量也居于世界的首位,相较于许多农业机械化水平远远高于我国的发达国家,我国的果树栽培在许多方面都有着先天性的优势,目前果园果树的培养已经成为我国种植业中,继粮食和蔬菜后的第三大产业。因此,对于推进我国果树行业的发展,提高果树栽培的成功率,增加果树的产量等各个方面,我们都应该不遗余力。在对于果树的培养过程中,温度湿度光照对于其生长具有非常重要的影响,尤其是在现在被广泛应用的温室和塑料大棚这两种环境中。在过去,人们总是通过自己每天的采集以及工作经验,对于这些影响果园果树生长的因素进行分析记载用于对于果园的管理。这种管理方式虽然经历了漫长的历史不断进行完善,但对于现今这个高速发展的时代,依旧不是最佳的选择。随着科技的发展和进步,人们越来越多的考虑应用科技的力量,去更完美的完成一些工作,而对于果园的生态环境,我们可以用计算机进行远程监测和管理,这样不仅节省了大量的人力资源,很大程度上降低了果园果树栽培的成本,而且也能尽量避免人为因素和主观因素对于环境因素监测造成的误差,从而达到更准确更有实效性的完成对果园环境的科学化监测。1. 3 论文的主要内容及章节安排本文首先介绍了果树栽培在我国有着悠久的历史且存在着巨大的经济效益、环境效益,传统果园采用人工方式采集环境数据的方法费事费力,从而引出本课题基于虚拟仪器的果园生态环境监测系统的设计。其次简要介绍虚拟仪器技术及其开发平台LabVIEW,详细阐述基于LabVIEW虚拟仪器技术对果园生态环境进行数据采集的系统设计原理和实现方法。该系统中的硬件电路的设计采用AT89C51及传感器来实现,因此对于单片机、传感器及AT89C51也做出了必要的说明,之后通过串口进行数据传递,实现了果园生态环境信息的监测采集,为果园生产管理提供及时准确的园区信息。文章的第2章介绍系统的总的设计方案和设计思想;第3章主要对前端采集装置电路各个部分进行详细的介绍,并最终得到前端采集装置的总设计图;第4章对前端采集装置电路中需要使用的软件部分进行分析;第5章就是PC终端基于虚拟仪器的软件设计;第6章则是对系统进行调试。2 系统的总设计方案2. 1 系统总设计要求和设计思想基于虚拟仪器的果园生态环境系统的监测这个课题中,温度的范围要求是-50150,湿度的要求范围是0100%,光照强度的要求范围是从0200Klax,对于数据的采集系统本课题中以单片机AT89C51为主进行设计,终端程序采用LabVIEW进行图形化语言的编程,采集器和终端管理PC机采用的是串行接口进行连接,最终达到在LabVIEW上准确的显示出光照温度湿度等环境因素的实时采集数值。2. 2 系统总设计方案本课题通过传感器对果园进行生态环境参数的采集,将所采集到的模拟数据经AD转换器转换后传送到单片机,并通过单片机进行实时处理,接着经过串行接口把分析处理过的数据送给计算机,计算机终端使用LabVIEW设计出显示窗口,能够及时的显示出串行接口发送来的数据。所以本课题是基于虚拟仪器技术、传感器技术、单片机技术这三大技术,主要以计算机作为核心对于果园生态环境中温度、湿度、光照这些因素实行数据采集和监测,从而来达到对于果园生态环境的智能化管理和监测。如图2.1所示为系统的总体结构框图。调理电路前端采集装置串行通信虚拟仪器显示PC终端果 园 环 境单片机C51A/D转换光照传感器湿度传感器温度传感器图2.1 系统总体结构框图3 前端采集装置设计本课题中硬件电路的设计要求是要用AT89C51单片机为主要设计芯片,采集数据主要利用传感器完成。传感器包括温度、湿度、光照传感器等,能够实时采集温湿度、光照等信号,并转换成电压或电流信号3。对影响果园果树生长的环境因素采集范围的要求:温度的范围是:50150,根据此要求选用DS18B20温度传感器;湿度的范围是:0100%,因此选用湿度传感器HS1101;光照的范围:0200KLax,本设计中选择光敏电阻进行设计。3. 1 前端采集装置各部分设计思想对于整个系统来说,硬件设计是基础,因此需要考虑到很多方面的要求,用以达到实现这个设计的基本功能。具体主要需要考虑的因素有如下几个:系统的稳定程度;器件本身的通用性;软件编程是否容易实现;系统在其他方面的功能和性能指标。由此可以看出,硬件电路设计用于对影响果树生长的光照温度湿度因素的数据采集,对于整个课题的顺利实现有着至关重要的作用,下面就开始从每个功能模块的设计和实现上来逐个的对其进行细致的分析和探讨。3. 2 温度采集电路设计在对于温度的采集电路中,本文主要采用DS18B20单总线数字式温度计进行设计,单总线指的就是将地址线控制线和数据线合成为一根信号线,在这根信号线上可以连接多个器件,在适当的时间任何一个器件都可以驱动该根总线。DS18B20是一种新型数字式集成温度传感器,它只有唯一的一个数据输入/输出口,使用起来非常方便,也正因为这个原因被广泛的应用于测量温度。本课题选择DS18B20是因为它符合该选题中温度的采集范围从-55到+125且精度+0.5这个要求,因为任何一个DS18B20都有唯一的一个64位序列码,这就使它允许任何数量的DS18B20同时连接在同一个单线总线上,也可在一根总线上实现数据的双向传输。此外,DS18B20不需要外部电源,可以直接从数据线上获取供电。如图3.1所示为DS18B20引脚图,表3.1为DS18B20引脚功能表。图3.1 DS18B20引脚图表3.1 DS18B20引脚功能8引脚SOIC封装TO-9封装符号说明51GND接地42DQ数据输入/输出引脚。对于单线操作:漏极开路。当工作在寄生电源模式的时候用来提供电源。33VDD可选的VDD引脚。工作于寄生电源模式时,VDD必须接地。注释:所有上表未提及的连接都无连接电路中采用DS18B20测量温度,输出的为全数字化信号。这种全数字化信号可以免去使用传统测量温度方法时的很多外围电路,因此更便于单片机对输入的信号进行处理和控制。该芯片最大的优点就是用单总线进行数据的传输,所以它能直接与计算机连接,并且可以直接输出温度。本系统是利用AT89C51单片机对其进行温度数据的实时采集,再与LCD一起实现对温度的显示,从而实现了温度的快速采集显示需求。图3.2为DS18B20温度采集电路。图3.2 DS18B20温度采集电路3. 3 湿度采集电路设计湿度的采集电路选用湿度传感器HS1101进行电路的设计。HS1101传感器在设计电路中的作用相当于一个电容器件,该电容器件的数值随着湿度的增大而增大。它符合所需要的湿度范围:0100%的要求,具有快速的反映时间,HS1101湿度受温度影响变化非常的小,具有长时间的稳定和高度的可靠性,在标准环境下不需要进行任何校正,长时间的饱和情况下能快速的脱湿,因此对于选择它进行电路设计非常合适。如图3.3为HS1101实物图,表3.2为HS1101常用参数表。图3.3 HS1101实物图表3.2 HS1101常用参数表参数符号参数值单位工作温度Ta40100C储存温度Tstg40125C供电电压Vs10Vac湿度范围RH0100%RH焊接时间t10S湿度采集电路设计的主导思想是将HS1101放在555振荡电路中,微波处理器直接采集电路中的电容值变换,并将其转换为电压的频率信号。芯片555电路中,连接的R4R5与HS1101一起,共同组成一个充电回路。放电回路则由芯片内部的晶体管通过引脚7和地端相连短路来实现。引脚2和引脚6相连,引入到片内,和片内比较器一起组成一个多谐波的振荡器,引脚3引出后连接的电阻R7是保护电阻,目的在于防止短路,之后连接到AT89C51的P34输入端。电路中R5相对于R4来说一定要非常小,但是不能太小以至于不能起到该电阻在电路中的作用。HS1101湿度传感器在整个电路中的作用类似于一个可以变化的电容器,与引脚2和引脚6连接在一起。HS1101的等效电容,在R4和R5的作用下充电达到上限电压(此时的时间记作T1),达到上限电压时555芯片引脚3的电压由高电平转换为低电平,接着利用R4进行放电,因为引脚7由于R5内部短路接地,因此开始放电并放电到触发界线(此时时间记作T2)就停止,这个时候芯片555的引脚3电压又变为高电平。利用此原理,通过两个不同的电阻对传感器进行不停的充放过程,并输出产生的方波波形。图3.4为湿度采集电路。图3.4 湿度采集电路对于充电放电的时间,以及最终输出方波要通过什么样的方法转换为湿度,这都需要涉及一些计算函数,通过这些函数的计算之后,才能转换为我们读取的湿度数值。充电放电的时间计算公式分别为:输出波形的频率和占空比的计算公式如下:通过上面的公式进行分析可以看出,空气湿度相对于芯片555的输出频率大小之间存在着一定的线性关系,表格3.3中给出了典型的湿度和频率之间的关系,通过采集到555芯片的频率,然后按照下面的表格进行对照,这样就能够通过查表得出其相对湿度的数值。表3.3为典型频率湿度关系表。表3.3 典型频率湿度关系RH0102030405060708090100Frequency685267346618650363886271615260295901576656233. 4 光照采集电路设计光照对于果树的成长和发育起着至关重要的作用。果树的整个生命周期中,都必须在一定的光照下才能进行生长发育。对于光照采集的电路设计中,选用的主要元件为对于光照强度变化具有非常灵敏的感应能力的光敏电阻,光敏电阻是一种随着光照强度的变化,其自身的阻值也会发生相应的变化的电阻器件。本电路设计中采用的为GL3516光敏电阻,因为它的暗电阻往往超过1M,而亮电阻则在5K10K,因此R6阻值选择为10K,当其为暗电阻时,电路中光敏电阻远远大于R6阻值,采集到的电压值基本为0可与光照强度0KLax对应,当其为亮电阻时,电阻值与R6大小基本相同,此时采集到电压与200KLax相对应。这部分所设计的电路就是充分利用了光敏电阻的这种特性,当光照强度发生改变时,阻值随着光照而变化,从而电路中光敏电阻两端的电压也随之发生变化,这样就能通过对于电压变化的检测,将电压信号进行A/D转换,实现对于果园中光照强度的采集。本电路的设计目的在于完成对于果园光照强度的采集,而实际情况中采集到的是电压值的变化,因此电路中还需要再设计一个A/D转换电路,选用的A/D转换器就是芯片ADC0832。ADC0832是一种8位分辨率双通道的A/D转换芯片,其最高分辨率可达到256级,可以实现一般适量的模拟量转换要求,作为单通道模拟信号输入的时候,ADC0832的输入电压为0V到5V,由于本设计电路预想情况下输出的应该是检测到的光照强度,而实现的途径是通过电阻值的变化引起电压值发生变化,并对电压值进行记录,因此这个输出电压必须通过A/D转换器的转换作用,将输入的电压信号最终转换为本课题中要求的光照强度进行输出。如图3.5为光照强度的采集电路。图3.5 光照强度的采集电路3. 5 AT89C51单片机AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压、高性能CMOS 8位微处理器,俗称单片机4。它是一种低功耗高性能的CMOS 8位微控制器,具有32个可编程的I/O口,2个16位定时/计数器以及256KB RAM单元,因此它可以不需要额外的扩展EEPROM或者静态RAM就可以实现所要求的功能8。从众多单片机中选用AT89C51作为核心芯片的原因,也是因为它能够简化电路提高整个系统的可靠性。AT89C51单片机是整个硬件系统设计的核心,它除了是协调整个电路的控制器之外,还是整个系统的数据处理器。 AT89C51芯片中P0口是一个8位的漏极开路的双向I/O口,它可以用作输出口,如果它访问的是外部程序或者数据存储器时,P0口也可以用作低8位的地址/数据复用。P1口是一个8位的内部有上拉电阻的双向I/O口,P1口输出的缓存器可以用来驱动4个TTL逻辑门电路。P2口P3口和P1口的功能基本相同,P3口也具有一些特殊的功能也可称作其第二功能。表3.4为P3口的特殊功能表。表3.4 P3口的特殊功能端口引脚第二功能P3.0RXD串行输入端P3.1TXD串行输出端P3.2INT0外部中断0P3.3INT1外部中断1P3.4T0 计时器0P3.5T1 计时器1P3.6WR 外部数据存储写选通P3.7RD外部数据存储读选通 由于AT89C51内部有一个有个高增益反相放大器,引脚XTAL1为该放大器的输入端,XTAL2为该放大器的输出端,这个反相放大器和作为反馈元件的石英晶体谐振器,可以构成一个自激振荡器,如图3.6为单片机C51电路。图3.6 单片机C51电路3. 6 MAX232在单片机中,只要谈到串行通信,必然要想到MAX232。MAX232芯片是一个使用+5V单电源供电的标准串口设计的单电源电平转换芯片,是常用的一种电平转换芯片,一般被使用在串行通信中。单片机输出的是TTL或者CMOS电平,而TTL电平或者CMOS电平中规定的逻辑0电平为0V,逻辑1的电平为+5V,在单片机与计算机的串行通信过程中,输出电压的数值往往高达12V,如果这样直接与单片机连接的话,非常容易造成芯片的烧毁,所以需要MAX232芯片进行电平的转换。 从MAX232的原理上来看,可以将其分为3部分。第一部分是电荷泵,它的主要作用是可以将直流的5V电源转换为10V的电源,用来满足TTL/CMOS电平转换成所需要的电平。第二部分是将TTL或者CMOS电平转换成RS232电平,在本电路中,将引脚12与AT89C51单片机的串行发送的端TXD相连,将引脚7与RS232相连接,通过这种方式,实现了从单片机中输出TTL/CMOS电平,将这个输出的电平在MAX232内进行转换,从而成为所需要的电平。第三部分就是把10V的RS232电平转换为TTL/CMOS电平。通过上述方法,来完成整个实验过程中对于电平转换的需求。图3.7为RS232引脚图。图3.7 RS232引脚图根据上述的介绍, AT89C51输出的信号通过MAX232的电平转换作用以达到最终本选题所需要的与计算机连接目的。图3.8为MAX232电平转换电路。图3.8 MAX232电平转换电路3. 7 LCD显示电路对于前面电路中采集到的温度湿度光照这些数据,可以通过在电路中加入一个LCD来实现对于采集数据的显示功能。在本电路的设计中选用的LCD是LCD1602,之所以没有选择传统的数码管,而是选用选择液晶显示器的原因就是它的体积非常的小,采用数字式的接口,功耗很低,能够显示的内容非常的丰富显示质量也很高,而且非常的轻巧。在现在的日常生活中,其实对于液晶显示器并不陌生,在许多电子产品中,液晶显示模块频繁的被使用,如计算机电视机电子表等非常多的家用电器中也可以时常看到,而这些液晶显示器主要是显示图形数字专用符号等。LCD1602液晶显示模块,它的显示原理是通过电压对它的显示区域进行控制,有电压就可以显示出波形或者数字字符,LCD1602是字符型液晶显示器的代表。在本电路中LCD1602液晶显示模块是可以直接的和单片机AT89C51直接连接在一起,对于输入AT89C51的数据,经过编程执行,便可以在LCD1602上进行显示。LCD1602液晶显示模块的内部控制器中一共有11条控制的指令,它本身也是一个慢显示的器件,因此在执行任何一条指令之前,都必须要确定模块忙的标志是低电平,即为不忙的状态,否则该条指令就无效。要显示字符必须要编程输入显示字符的地址,这样才能准确的显示出所需要的数据。 LCD1602液晶显示模块在于AT89C51连接时,需要一个上拉电阻,上拉电阻的作用是用于增加LCD显示的亮度,来实现对于ATC89C51输出信号的显示功能。图3.9为LCD1602液晶显示电路。图3.9 LCD1602液晶显示电路3. 8 前端采集装置设计总电路系统的硬件设计最核心的部分就是AT89C51单片机,对于温度的采集,采用的是传感器DS18B20,对于湿度的采集,选用的是HS1101湿度传感器加上一个555组成振荡电路;最后利用的是光敏电阻然后通过一个A/D转换器来实现对于光照的采集。图3.10为前端采集装置总框图。DS18B20HS1101光敏电阻湿度频率转换电路A/D转换器单片机AT89C51LCD显示MAX232图3.10 前端采集装置总框图3.8.1 前端采集的总电路图将上述介绍的各部分电路连接在一起,便形成前端采集装置的总电路图。图3.11为硬件电路总设计图。图3.11 硬件电路总设计图4 前端采集装置的软件部分4.1 前端采集装置电路设计的仿真软件介绍本课题中对于硬件电路的设计部分采用的是Proteus进行电路设计和仿真,Proteus是目前最好的仿真单片机及外围器件的工具。Proteus软件主要由四大功能模块构成:智能原理图设计(ISIS),其中包括丰富的器件库,有超过2700种的元器件,智能的器件搜索功能可以通过模糊搜索快速找到所需要的元器件,智能化的连线功能使得作图的时间大大缩短;完善的电路仿真功能(Prospice),因为其具有大量的仿真器件,丰富的虚拟仪器生动化的仿真显示,是的电路仿真简便快捷;独特的单片机协同仿真功能(VSM),这个功能支持通用的外设模型和大部分的主流CPU,能够实行编译调试和实时仿真;使用的PCB平台,支持多种输出格式,更便于满足不同用户在不同情况下的需求。除此之外它具有其他EDA工具软件的功能,例如:原理布图PCB自动或人工布线SPICE电路仿真等功能,而对于其他工具软件,它所具有的革命性特点有:可以实现互助的电路仿真;仿真处理器及其外围电路5。在Proteus绘制好原理图后,调入已经编写好的程序文件夹,就可以在Proteus的原理图中看到模拟的实物运行状态。 要看到运行状态,就必须调入编写好的语言程序文件夹,而针对本课题中使用的核心单片机为AT89C51,编写程序便可采用KEIL软件完成。在单片机的开发和使用上,除了必不可少的硬件之外,软件也是十分必要的。汇编语言程序成为CPU可以执行的机器码有两种方法,手工汇编是一种非常古老的汇编方式,这种方法耗时费力,因此现在极少使用,目前主要采用的就是机器汇编。KEIL C51软件提供丰富的库函数和功能强大的集成开发调试工具,且其生成的目标代码频率非常高,易于理解学习起来也比较简单方便6。程序编写完成后通过KEIL对于各个部分的检测也很容易发现语言编程时产生的错误,以便于及时进行修改改正。在本课题中,对于单片机AT89C51处理和控制的温度,湿度等因素进行语言编程,使其能在Proteus仿真时进行程序文件夹的调用, KEIL软件是个非常有益的选择。4.2 前端采集装置总流程图对于由温度传感器DS18B20湿度传感器HS1101光敏电阻构成的对于温度湿度光照因素进行采集的前端采集装置电路,经过单片机AT89C51的处理和分析,准确的采集到上述环境因素的实时数据,把采集到的数据进行适当转换,并将数据输出到PC终端进行显示。图4.1为前端采集装置总流程图。开始温度湿度光照的循环采集数据处理显示检测结果串行发送检测结果系统初始化图4.1 前端采集装置总流程图4.3 DS18B20软件编程对于DS18B20组成的温度采集电路在AT89C51的控制下,最终能在LCD显示温度,必须进行温度采集语言的编写,用C语言编写的程序输入KEIL软件,在KEIL软件中进行运行检测,并最终生成正确的调用程序,将生成的正确程序建立文件夹,然后在用Proteus软件仿真时,单片机AT89C51进行程序的调用。编写的程序的主要功能在于对于DS18B20所采集到的实时温度进行适当的转换处理和读取,并显示出采集到的实时温度的数值。如图4.2为DS18B20采集温度的流程图。向总线发复位脉冲发读ROM命令读入8字节序列号并保存发送跳过ROM指令发送温度转换指令复位DS18B20发送跳过ROM指令发送暂存器指令读温度值初始化DS18B20转换完毕?开始返回YESNO图4.2 DS18B20采集温度流程图用芯片DS18B20进行温度采集的读入和写出,以及对于它的初始化用汇编语言进行编程的程序如下。void delay_18B20(unsigned int i) /延时1微秒 while(i-);void ds1820rst() /ds1820复位 unsigned char x=0;DQ = 1; /DQ复位delay_18B20(4); /延时DQ = 0; /DQ拉低delay_18B20(100); /精确延时大于480usDQ = 1; /拉高delay_18B20(40); uchar ds1820rd() /读数据 unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; /给脉 dat=1;冲信号 DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata) /写数据unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; read_temp() /读取温度值并转换uchar a,b;ds1820rst(); ds1820wr(0xcc); /跳过读序列号ds1820wr(0x44); /启动温度转换ds1820rst(); ds1820wr(0xcc); /跳过读序列号ds1820wr(0xbe); /读取温度a=ds1820rd();b=ds1820rd();tvalue=b;tvalue=8;tvalue=tvalue|a; if(tvalue0x0fff) tflag=0; else tvalue=tvalue+1;tflag=1; tvalue=tvalue*(0.625); /温度值扩大10倍,精确到1位小数return(tvalue);4.4 LCD1602软件编程对于AT89C51采集到的光照湿度温度等环境因素的数据,想要在LCD1602液晶显示模块上进行显示的话,需要通过KEIL进行编程,图4.3为LCD1602显示流程图。初始化LCD延时设置第一行显示位置显示第一行内容设置第二行显示位置显示第二行内容开始返回图4.3 LCD1602显示流程图LCD1602要将DS18B20中的温度数据进行显示,必须要对LCD1602进行芯片的初始化和温度显示符号数位等进行编程,其程序分别如下面所示。 首先是对于LCD1602进行初始化的程序。void delay1ms(unsigned int ms) /延时1毫秒(不够精确的)unsigned int i,j; for(i=0;ims;i+) for(j=0;j100;j+);void wr_com(unsigned char com) /写指令/ delay1ms(1); RS=0; RW=0; EN=0; P0=com; delay1ms(1); EN=1; delay1ms(1); EN=0;void wr_dat(unsigned char dat) /写数据/ delay1ms(1); RS=1; RW=0; EN=0; P0=dat; delay1ms(1); EN=1; delay1ms(1); EN=0;void lcd_init() /初始化设置/delay1ms(15);wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x0c);delay1ms(5);void display(unsigned char *p) /显示/while(*p!=0)wr_dat(*p);p+;delay1ms(1);init_play()/初始化显示 lcd_init();wr_com(0x80);display(str1);wr_com(0xc0);display(str2); 下面是对于LCD1602显示温度数值的编程。void ds1820disp() /温度值显示 uchar flagdat; disdata0=tvalue/1000+0x30; /百位数 disdata1=tvalue%1000/100+0x30; /十位数 disdata2=tvalue%100/10+0x30; /个位数 disdata3=tvalue%10+0x30; /小数位 if(tflag=0) flagdat=0x20; /正温度不显示符号 else flagdat=0x2d; /负温度显示负号:- if(disdata0=0x30) disdata0=0x20; /如果百位为0,不显示 if(disdata1=0x30) disdata1=0x20; /如果百位为0,十位为0也不显示 wr_com(0xc0); wr_dat(flagdat); /显示符号位 wr_com(0xc1); wr_dat(disdata0); /显示百位 wr_com(0xc2); wr_dat(disdata1); /显示十位 wr_com(0xc3); wr_dat(disdata2); /显示个位 wr_com(0xc4); wr_dat(0x2e); /显示小数点 wr_com(0xc5); wr_dat(disdata3); /显示小数位 5 PC终端的软件设计PC终端对前端采集装置采集到的数据进行显示的设计,主要是基于虚拟仪器来实现。具体方法是经过单片机进行对数据的实时处理,并通过串行接口将数据传送给PC机,PC机利用虚拟仪器技术,以LabVIEW为开发平台,来设计一个将采集数据进行显示的程序。5.1 虚拟仪器技术虚拟仪器是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出检测结果,利用计算机强大的软件功能实现信号数据的运算分析处理,有I/O接口完成信号的采集测量和调理7 。虚拟仪器具有数据采集数据分析处理结果输出显示三大基本功能,而数据的实时自动采集是最基本的功能。由于虚拟仪器可有根据用户自己的需求进行自定义设计其测试功能,所以构建非常简单灵活,广泛的应用于各个行业。虚拟仪器作为一种新型的仪器,充分的利用计算机技术,用以实现和扩展完成传统仪器的功能,因为方便简单,且耗能较低,所以近几年在我国快速的发展。5.1.1 虚拟仪器的组成 虚拟仪器的组成有硬件和软件两部分组成。核心部件还是计算机,其中硬件模块是用来采集数据或者传递信号,例如各种传感器插入式的数据采集卡信号调理器等。通过通用的接口总线如GPIB通用接口总线USB通用串行总线RS232串行总线VXI总线和PXI总线,可以将虚拟仪器与这些总线接口相连成为一个虚拟仪器的自动测试系统。 软件部分主要也有3部分组成:VISA库(即为I/O接口软件)仪器驱动程序以及应用软件的开发环境。VISA库应用于仪器编程的标准I/O函数库以及相关规范的总称,一般称这个I/O函数库为VISA库。VISA库驻留在计算机之中,作为计算机和仪器之间的软件层连接,用以实现对仪器的远程控制。仪器驱动程序则主要用于完成仪器硬件的通信以及控制功能,是虚拟仪器实现对真实物理信号采集的基础。虚拟仪器的应用程序也有常用的开发环境,最主要的两种方式:一种是基于传统文本语言的软件开发环境,例如LabWindows/CVI,VB,VC+等:另外一种是基于图形化语言的软件开发环境,例如LabVIEWDASPHP-VEE8。LabVIEW在这三个平台中属于影响力较大且在国内外都有大量用户的一个虚拟仪器开发平台,能够满足各种客户的需求。DASP则是一个直接面向最终的客户的虚拟仪器库,不需要再进行多余的编程,可以直接使用,因此使用起来非常方便,精度也很高,但是对于用户的需要有一定的局限性,不能满足各种用户的要求。对于本次课题中软件的平台选用LabVIEW进行设计,因为它是一个非常理想的程序设计和虚拟仪器的开发平台,它具有的对于信号的采集数据的分析和显示功能与我所需要的相符合,也能在一定程度上简化对于程序的设计。如图4.4为虚拟仪器的开发框图。图4.4 虚拟仪器的开发框图5.1.2 虚拟仪器的优点虚拟仪器并非普通物理意义上的仪器,它是一种功能意义上的仪器,通过硬件接口和仪器的驱动设备将信号采集分析和处理结合成一体,来实现和测量设备的硬件通信,将信号的分析显示存储打印和其他管理交给计算机来处理。综上所述,在程序的智能化处理能力性价比可操作性和实用性等方面相对于传统仪器都具有明显的优势。软件作为虚拟仪器的核心,由软件代替了传统仪器中的硬件,以此来完成硬件功能,同时可以根据每个用户的不同需求和不同方面的应用,自己去定义各种功能,设计出不同的显示界面,而且具有图形化的用户界面,操作起来非常简单。这种通过计算机进行软件处理,使得仪器的操作变得更加直观方便容易理解,测试的结果可以直接输入数据库,也可以通过网络进行传输,完成之后还可以进行显示,可操作性得到了大大的提升。因为虚拟仪器的软件开发中,其设计思想是尽可能的模块化,并且存在有大量的库函数动态链接库和类库,因此代码也具有良好的可重复性。在现实意义上,虚拟仪器缩短了开发的周期,因为核心技术在于计算机上进行操作,维护也很方便,而且相较于传统意义上的硬件器件,在很大程度上节约了成本,对于科研中的创新理论或者计算方法,更易于在虚拟仪器上进行应用,可以更加便捷的来验证这些理论的正确性。表4.1为虚拟仪器与传统仪器的比较表。表4.1 虚拟仪器与传统仪器比较虚拟仪器传统仪器仪器功能用户能够自己设计并且定义仪器的功能,非常灵活只有厂商能够定义一起的功能,因此仪器的功能较单一结构的开放性开放式的结构,有非常多厂家支持,可以和计算机保持同步封闭固定兼容性差操作界面图形化的界面,操作十分简单显示功能单一,操作不方便互联性能可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文化产业管理考试的众多考点与试题及答案解析
- 爆破技术员试题及答案
- 提升光电工程师能力的试题及答案
- 药物临床试验设计与管理试题及答案
- 药物临床试验的伦理审查与实施试题及答案
- 经典考法西医临床考试试题及答案
- 文化产业管理实践案例试题及答案探索
- 药物受体作用基本知识试题及答案
- 网络设计师考试的思维训练试题及答案
- 如何在2024年信息系统项目管理师考试中实现高效备考试题及答案
- 江苏省苏州市2022-2023学年高二下学期数学期中试卷(含答案)
- 中华人民共和国国家安全法全文
- 人工智能导论-第2版-全套课件
- 勘察任务委托书范本
- 数控技术(第4版)课件:数控技术的发展及机械加工自动化
- 《孔雀鱼组》课件
- 江苏省徐州市(2024年-2025年小学六年级语文)部编版小升初真题(下学期)试卷及答案
- 《习近平法治思想概论(第二版)》 课件 11.第十一章 坚持依法治国、依法执政、依法行政共同推进法治国家、法治政府、法治社会一体建设
- 设计单位施工期间配合及技术服务措施
- 2024版编剧网络剧保密及收益分配协议3篇
- 《混凝土坝智能建造技术导则》知识培训
评论
0/150
提交评论