ImageVerifierCode 换一换
格式:DOC , 页数:34 ,大小:682.04KB ,
资源ID:2953990      下载积分:4 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2953990.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(LabVIEW湿度检验系统.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

LabVIEW湿度检验系统.doc

1、沈阳工学院毕业设计题 目: 基于单片机和LabVIEW湿度 探测系统设计和实现 院 系: 信息和控制学院 专 业: 测控技术和仪器 班级学号: 10305219 学生姓名: 王宏 指导老师: 耿欣 成 绩: 年 月 日目 录1 方案设计1 1.1 设计任务要求1 1.2 系统方案设计1 1.3 编程语言和调试环境选择22 系统硬件设计4 2.1 单片机最小系统电路设计4 2.2 湿度采集电路设计5 2.2.1 湿度传感器选择5 2.2.2 DHT11电路设计6 2.3 串口通信部分电路设计7 2.3.1 串口芯片选择7 2.3.2 MAX3232电路设计8 2.4 电源部分电路设计93 系统软

2、件设计10 3.1 软件系统总体工作步骤10 3.2 湿度采集程序设计10 3.3 串口通信部分程序12 3.4 LabVIEW程序设计13 3.4.1 实时湿度曲线模块13 3.4.2 参数设置模块14 3.4.3 LabVIEW程序框图设计14参考文件16附录A 硬件原理图17附录B 程序代码18附录C 实物图241 方案设计1.1 设计任务要求本设计关键设计一个以湿度传感器,单片机和虚拟仪器为关键设计一个小型湿度检测系统,该系统功效以下:现场湿度实时检测并传输,上位机湿度显示,包含实时湿度曲线,具体设计包含,硬件和软件两个部分,硬件设计包含测量电路设计,单片机和上位机虚拟仪器接口电路设计

3、;软件设计包含下位机C语言程序设计和上位机LabVIEW程序设计,下位机完成数据测试,上位机完成数据显示和分析。1.2 系统方案设计本设计上位机实现部分采取了LabVIEW,LabVIEW是一个开放性通用程序开发系统,含有强大数据采集、数据处理、数据分析和仪器控制功效。本设计要实现功效是构建一个小型湿度检测系统,既然是湿度检测那自然就有数据采集部分,而在LabVIEW中数据采集硬件部分关键是 ( Data Acquisition-DAQ)卡,它和LabVIEW有很好接口程序,用LabVIEW实现数据采集,就是在LabVIEW中控制多种DAQ卡(或设备)完成特定功效,不过本设计中采取湿度传感器本

4、身就是数字信号而且传输数据也较为简单,所以本设计中下位机和上位机数据传输是利用单片机对数字信号进行换算处理以后再经过串口传送至PC端LabVIEW进行实时显示。所以确定初步设计思绪:湿度传感器采集到特定湿度数字信号,再利用单片机将这些数字信号根据一定运算转换成Ascii码形式湿度值然后经过串口传送至PC端,在PC端LabVIEW监控界面能够完成对串口参数设置、平均湿度,最高湿度,最低湿度参数和实时温度曲线显示和数据存放等功效。本设计关键是串口通讯部分,是整个设计关键部分,串口通信部分是上位机和下位机之间联络纽带,将二者紧密联络起来,形成一个完整设计。此次设计中串口通讯关键经过LabVIEW自带

5、部分串行通信模块就行构建很完成。本设计实现湿度检测系统简单实用,灵活性强,实用性高,而且操作简单,易于掌握。1.3 编程语言和调试环境选择本设计过程编译语言采取C语言,编译调试环境采取Keil uVision4。C语言一共有32个关键字和9种控制语句,程序书写很形式自由,而且大小写要区分。把低级语言实用性和高级语言基础结构和语句结合起来。C 语言能够像汇编语言一样对位、字节和地址进行操作,而这三者恰恰就是计算机最基础工作单元。同时C语言运算符包含范围也很广泛,一共有34种运算符。C语言把赋值、括号、强制类型转换等全部作为了运算符处理。这就使C语言运算类型很丰富,表示式类型也多样化了。假如能灵活

6、得使用多种运算符,就能够实现在其它高级语言中难以实现运算。C语言数据类型有:实型、整型、字符型、指针类型、共用体类型、数组类型、结构体类型、共用体类型等。这些全部能用来实现多种复杂数据结构运算。而且C语言引入了指针概念,这就使程序效率更高了。C语言提供多个运算符和表示式值方法,对问题表示可经过多个路径取得,其程序设计更主动、灵活。它语法限制不太严格,程序设计自由度大,如对整型量和字符型数据及逻辑型数据能够通用等1。C语言描述问题比汇编语言快速,工作量小、可读性好,易于调试、修改和移植,而代码质量和汇编语言相当。C语言通常只比汇编程序生成目标代码效率低10%20%。C语言有丰富数据结构和运算符。

7、包含了多种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现多种数据结构运算。C语言能直接访问硬件物理地址,能进行位(bit)操作。兼有高级语言和低级语言很多优点。它既可用来编写系统软件,又可用来开发应用软件,已成为一个通用程序设计语言。2月公布Keil uVision4,Keil uVision4引入了灵活窗口管理系统,为使用者提供一个整齐,高效环境来开发应用程序,开发人员使用Keil uVision4能够同时使用多台监视器,而且提供了视觉上改变,新用户界面能够让使用者愈加好地利用屏幕空间,从而更有效地组织多个窗口。3月ARM企业公布最新集成开发环境RealView MDK开发工具中

8、集成了最新版本Keil uVision4,其编译器、调试工具实现和ARM器件最完美匹配。现在使用Keil uVision4产品有Keil MDK-ARM,Keil C51,Keil C166和Keil C251。最新Keil uVision4 IDE,意在提升开发人员生产力,实现愈加快,更有效程序开发。uVision4引入了窗口管理系统,使用方法更为灵活,能够拖放到视图内任何地方,包含支持多显示器窗口。uVision4在Vision3 IDE基础上,增加了更多大众化功效2。1多显示器和灵活窗口管理系统;2系统浏览器窗口显示设备外设寄存器信息;3调试还原视图创建并保留多个调试窗口布局;4多项目工

9、作区简化和众多项目。Keil uVision4开发界面图1.1所表示。图1.1 Keil uVision4开发界面图2 系统硬件设计系统硬件部分包含测量电路设计,单片机和上位机虚拟仪器接口电路设计,本设计中湿度采集电路主控芯片采取STC89C52、湿度传感器采取DHT11、单片机和上位机虚拟仪器接口电路部分采取串口通信芯片MAX3232,电源部分电路采取USB直接从PC处取电。下面将对各部分电路分别介绍。2.1 单片机最小系统电路设计本设计控制系统因为较为简单,没有其它特殊要求,只需要控制DHT11进行湿度实时采集后经过串口将数据实时传送至上位机LabVIEW处理即可,本设计选择STC89C5

10、2单片机,STC89C52各个参数大家全部很熟悉了,再次就不一一赘述了,本小节讲一下STC89C52最小系统连接。 VCC :接+5V电源,供电即可。 GND :接地即可。XTAL1:单片机上时钟管脚,是独立输入和输出反相放大器,它们能够被配置为使用石英晶振片内振荡器,或是器件直接由外部时钟驱动。XTAL2:单片机上时钟管脚,是独立输入和输出反相放大器,它们能够被配置为使用石英晶振片内振荡器,或是器件直接由外部时钟驱动。RST:STC89C52复位信号输入引脚,当复位引脚RST(第9管脚)出现2个机器周期以上高电平时候,单片机就实施复位操作。假如RST连续为高电平,单片机就处于循环复位状态。复

11、位操作使得内部特殊功效寄存器内容均被设成已知状态。EA:应接高电平,访问内部ROM。STC89C52实物图图2.1所表示。图2.1 STC89C52实物图STC89C52最小系统原理图图2.2所表示。图2.2 STC89C52最小系统原理图2.2 湿度采集电路设计2.2.1 湿度传感器选择本系统是为建立小型湿度采集平台,所以湿度传感器挑选至关关键,经过多方资料查阅和咨询大致确立了以下多个方案:方案一:采取CHR-01湿敏电阻。CHR-01湿敏电阻适适用于阻抗型高分子湿度传感器,它工作电压为交流1V左右,其频率为50Hz2kHz,测量湿度范围为20%90%RH,测量精度5%,工作温度范围为0+8

12、5,最高使用温度120,阻抗在60%RH(25)时为30(2140.5)K。采取555时基或RC振荡电路,将湿度传感器等效为阻抗值,测量振荡频率输出,振荡频率在1k Hz左右。方案二:采取HF3223/HTF3223。HF3223/HTF3223采取模块式结构,属于频率输出式集成湿度传感器,相对湿度在0%99%RH范围内,精度为5%,测量指标和测量精度比较高,不需要校准就能够达成完全交换性,可靠性和稳定性全部比较高,而且响应速度相当快,能够应用于线性电压输出和线性频率输出电路中, HTF3223在HF3223基础上多了一个温度传感器。HF3223湿度传感模块将湿度信息转化为频率信号,传输给单片

13、机进行分析、处理和控制显示3。方案三:采取DHT11数字温湿度传感器,DHT11是一款采集数据正确且无需校准数字信号输出温湿度传感器,它应用了专业数据量模块采集技术和温度和湿度传感技术,可靠性相当高,而且数据采集稳定,且使用寿命长。可和一个高性能8位单片机相连接,实现对温湿度数据实时检测,该产品相当契合我们本设计中设计需要。综合比较三种方案,因为本设计是将采集到数据经过串口传输到上位机部分,所以采取集成式数字型传感器DHT11,会提升整个系统运行速度,而且电路设计也较为简单,所以在满足设计要求情况下,我们选择方案三即DHT11来作为本设计湿度传感器。2.2.2 DHT11电路设计本设计中采取D

14、HT11湿度传感器有四个引脚,包含VCC,GND,DATA,NC,就是除了接+5V电源和地以外只有一个数据口,是单总线数据控制模式器件,所以其连接是时候DATA口需要加510K上拉电阻,其它并无尤其地方。DHT11关键技术参数:供电电压: 3.35.5V DC输 出: 单总线数字信号测量范围: 湿度20-90%RH, 温度050测量精度: 湿度+-5%RH, 温度+-2分 辨 率: 湿度1%RH, 温度1互 换 性: 可完全交换 。长久稳定性: 1%RH/年相关对DHT11时序控制等会在软件部分具体说明,DHT11实物图图2.3所表示。 图2.3 DHT11实物图DHT11原理图图2.4所表示

15、。图2.4 DHT11原理图 DHT11DATA接上拉电阻后连接到STC89C52RCP1.0口进行控制,NC口悬空即可,VCC接+5V电源,GND接地。2.3 串口通信部分电路设计2.3.1 串口芯片选择本设计中需要将采集到湿度数据传送至PC端LabVIEW中进行处理,因为电脑串口是RS232电平,不能和单片机TTL电平直接通信,所以需要使用串口通信芯片将单片机TTL电平转换为RS232电平,此处可选芯片有MAX232和MAX3232,MAX3232是MAX232升级版而且价格相差又不多,所以此处我们选择MAX3232作为串口通信芯片,下面对MAX3232参数做简明说明。MAX3232含有二

16、路驱动器和二路接收器,配置了1uA关断模式,实现了低功耗和延长产品使用寿命。关断模式中,MAX3232接收器保持运行状态,在低功耗情况下,实现了对外部设备实时监测。MAX3232引脚、和MAX242还有MAX232全部是相互兼容,理论上是能够无差异交换。MAX3232即使工作在高速数据传输下,仍然能够确保RS232标准要求正负5.0V最小发送器输出电压4。MAX3232采取专有低压差发送器输出级,利用双电荷泵在3.0V至5.5V电源供电时就能够实现良好RS232通信,MAX3232仅需四个0.1uF外部小尺寸瓷片电容,就能够确保在120kbps高速数据传输下,还能有效保持RS232输出电平。2

17、.3.2 MAX3232电路设计本设计中串口通信芯片是MAX3232芯片,其利用双电荷泵在3.0V至5.5V电源供电时能够实现稳定RS232数据通信,电路中电容值在MAX3232芯片手册上全部为0.1uf。MAX3232相当于串口和单片机直接桥梁,MAX3232有两路接收器和两路驱动器,本设计中只需要利用到其中一路即可。下面介绍一下DB9串口各个引脚。DB9头各管脚定义:1载波检测DCD;2接收数据RXD;3发送数据TXD;4数据终端准备好DTR;5信号地SG;6数据准备好DSR;7请求发送RTS;8清除发送CTS;9振铃提醒RI。MAX3232引脚图图2.5所表示。图2.5 MAX3232引

18、脚图MAX3232电路连接原理图图2.6所表示。图2.6 MAX3232原理图经过原理图可知MAX3232连接方法,其1脚和3脚直接连接104瓷片电容,4脚和5脚直接也连接104瓷片电容,2脚和6脚分别接104瓷片电容后接地,本设计中我们用到是1路接收器和1路驱动器,其DOUT1连接到DB92脚即接收数据口,RIN1连接到DB93脚发送数据口,其和单片机连接口是ROUT1和DIN1分别连接到单片机串口P3.0和P3.1。.2.4 电源部分电路设计 本设计中全部元器件全部是用+5V供电即可,而且需要设计需要和PC端进行实时数据传输,所以电源部分设计是直接利用USB母座经过USB线从笔记本USB口

19、取电即可,在电源和地端并上10uf电解电容和104磁片电容,其得到电压刚好是+5V而且很稳定足以满足本设计需求,电源部分原理图图2.7所表示。图2.7 电源部分原理图3 系统软件设计3.1 软件系统总体工作步骤系统初始化本系统整体步骤是:利用DHT11进行实时湿度实时采集并经过串口传输给上位机经过LabVIEW进行处理,本设计中软件下位机工作步骤图3.1所表示。湿度采集串口传送至PC图3.1 软件下位机步骤图由系统整体步骤可知,本设计软件部分设计可分为上位机部分软件设计和下位机软件部分设计,下面先介绍下位机部分软件设计。3.2 湿度采集程序设计本设计中采取DHT11是经典单总线数据通信元器件,

20、即只使用DATA引脚就能够完成全部控制和数据传输,采取单总线数据格式,一次通讯时间长度在4ms左右,温度和湿度数据分小数部分和整数部分还有校验码,DHT11数据精度是1%,所以她读取到小数部分是不存在一直为零,所以我们只需要对整数部分数据进行处理即可,操作步骤以下:一次完整数据传输数据长度为40bit,高位在前低位在后。数据为,8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验数据,总共为40bit,假如前面32bit计算总和等于后面校验位则证实此次数据读取是正确,若不等于,证实数据读取错误,必需重新读数据。DHT11控制步骤大致是:主控芯片发送

21、一次开启信号以后,DHT11从低功耗模式转换为高速模式,等候到主控芯片开启信号结束以后,DHT11发送响应信号,由主机接收判定以后,DHT11开始送出40bit数据,并触发信号采集,我们估量需要使用到数据段对数据进行采集,但通常全部是全部采集,这么才能够使用DHT11自带数据校验功效。DHT11每接收到一次开启信号则触发一次温湿度数据采集,假如没有收到开启信号,则一直处于低功耗模式,不采集数据。DHT11DATA总线在低功耗模式时为高电平,主控芯片把DATA拉低等候DHT11响应,而且主控芯片把DATA拉低必需大于18ms,确保DHT11能稳定检测到开启信号。DHT11接收到主控芯片开启信号以

22、后,等候主控芯片开启信号结束后,然后DHT11会发出80us低电平响应信号。主机发送开启信号结束后,延时等候40us左右后, 即可读取DHT11响应信号,判定其为响应信号以后即可开始读取40bit数据位。DATA总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号以后,会再把DATA总线拉高80us,准备发送40bit数据,每一bit数据全部以50us低电平作为间隙,高电平长短判定了数据位是高还是低。当最终一bit数据传送完成以后,DHT11会拉低DATA总线50us,以示数据传输结束,随即总线由上拉电阻拉高而且进入空闲状态,对DHT11进行数据采集需要尤其注意是,两次采集间隔必需

23、在1s以上,不然采集命令无效。本设计中DATA口连接在单片机P1.0口,依据DHT11通信协议,首先由单片机P1.0口主动产生要求激发信号,然后将数据线控制权交给传感器,接着单片机经过while语句不间断检验P1.0口高低电平,从而达成对时序正确把握,解析出正确传输数据,在经过对其数据分析处理,即可得到目前湿度值,DHT11采集程序步骤图图3.2所表示。P1.0拉低延时18ms程序开始P1.0拉高延时40usNDHT11响应信号Y数据读取数据校验返回图3.2 DHT11程序步骤图3.3 串口通信部分程序STC89C52单片机上有一个通用异步接收发送器UART,经过引脚RXDP3.0和TXDP3

24、.1可外部电路进行全双工串行异步通信,发送数据时由TXD端送出,接收时数据由RXD端输入串行端口有4种基础工作方法,经过编程设置,能够使其工作在任一方法,本设计中实用是工作方法1。51单片机串行端口关键由SCON、PCON这两个寄存器来控制,用于设置传输速率,是否触发中止,数据位,标志位,校验位,和接收或发送模式选择。串口通信关键还用到了一个数据寄存器SBUF,SBUF为发送和接收所共用寄存器。当在发送模式时,只写不读;接收模式时,只读不写。设置完成发送条件以后,向SBuF写入数据就开启了串口发送;读SBuF就能够读取到串口接收到数据。在不一样工作方法中,由时钟振荡频率分频值或由定时器T1定时

25、溢出时间来确定串口波特率,串口通信程序步骤图图3.3所表示。T1为工作方法2,开中止程序开始串口方法1,波特率9600,许可接收串口发送完成NY清除标志位返回图3.3 串口通信程序步骤图3.4 LabVIEW程序设计 该设计设计思想是:由湿度传感器检测信号,经过单片机控制串口传送至PC,进入计算机虚拟仪器程序,对采集到湿度进行上位机湿度显示,包含实时湿度曲线,平均湿度,最高湿度,最低湿度参数测量和显示。本系统组成和其它基于虚拟仪器系统组成一样,全部由系统前面板及和之相对应程序框图两大部分组成。下面以前面板开始介绍整个LabVIEW整体构架,整个上位机检测界面前面板图3.4所表示。图3.4 检测

26、系统前面板图由图3.4能够看到,前面板关键由串口配置,接收数据缓冲区和实时湿度曲线,平均湿度,最高湿度,最低湿度参数等和部分参数输入控件组成。3.4.1 实时湿度曲线模块实时湿度曲线模块由波形图表控件组成,它用来依据所测湿度值来绘制湿度改变曲线,从而对湿度走势一目了然,能够依据需要设置曲线样式等参数,实时湿度曲线模块图图3.5所表示。图3.5 实时湿度曲线模块图3.4.2 参数设置模块参数设置模块中可对端口选择、波特率、数据位、奇偶校验、停止位。波特率是传输速率,默认值为9600。数据位是输入数据位数,数据比特值介于5和8之间,默认值为8。奇偶校验制订要传输或接收每一帧所使用校验方法:0为无校

27、验(默认);1为奇校验;2为偶校验;3为校验位一直为1;4为校验位一直为0。停止位指定用于表示帧结束停止位数量5。参数设置模块图3.6所表示。图3.6 参数设置模块图3.4.3 LabVIEW程序框图设计本设计关键是利用到LabVIEW串口通信功效,所以程序框图关键由一个while循环、一个条件结构、VISA配置串口、VISA写入、VISA读取和VISA关闭等控件组成。其中有些控件我们在前面板中已经介绍,在此我们关键介绍串口通讯用到多个子V I 6。系统总程序框图图3.7所表示。图3.7 总程序框图程序开始首先利用VISA 配置串口模块对串行口进行初始化,然后判定开始运行按钮是否按下,若按下开

28、始使能串口采集。本设计中我们关键使用VISA实现串口通信,所以下面具体讲解一下VISA使用,在labview功效面板Instrument I/OSerial 目录下,包含串行通信所需要集成模块。利用这些模块,能够很方便设计出基于串行通信控制系统。需要注意是,在使用这些模块前,需安装在光盘上VISA驱动程序,也可从NI网站无偿下载最新VISA驱动程序,下面介绍一下最常见串行通信模块7。1、VISA 配置串口用于初始化所选择串行口。其中VISA 资源名称用于选择所用到串行口,PC机中常见到串口号分别用COM1和COM2表示,流控制用于设置握手方法。波特率、数据位、停止位、奇偶校验分别用于设置串行通

29、信波特率,数据位长度,停止位和校验方法8。2、VISA Write用于将 Write Buffer中字符写到VISA 资源名称指定串行接口中。3、VISA Read用于从VISA资源名称指定串行口中读取要求字节数数据,并把这些数据传输给Read Buffer。其中,Byte count 用于设置要读取字节数。4、VISA Close用于关闭VISA 资源名称指定串行口,让出串行口使用权。参考文件1 李广弟单片机基础M北京:北京航空航天出版社,2 唐俊翟单片机原理和应用M北京:冶金工业出版社,3 周航慈单片机应用程序设计技术M北京:北京航天航空大学出版社,4 勒达单片机应用系统开发实例导航M北京

30、:人民邮电出版社,5 陈树学,刘萱LabVIEW宝典M北京:电子工业出版社,6 刘君华基于LabVIEW虚拟仪器设计M北京:北京电子工业出版社,7 赵茂泰智能仪器原理及应用M北京:电子工业出版社,8 蔡建安,陈洁华基于LabVIEW工程软件应用M重庆:重庆大学出版社,附录A 硬件原理图图A 硬件原理图附录B 程序代码#include #include /typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */typedef signed char S8; /* defined f

31、or signed 8-bits integer variable 有符号8位整型变量 */typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 无符号16位整型变量 */typedef signed int S16; /* defined for signed 16-bits integer variable 有符号16位整型变量 */typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 无符号32位

32、整型变量 */typedef signed long S32; /* defined for signed 32-bits integer variable 有符号32位整型变量 */typedef float F32; /* single precision floating point variable (32bits) 单精度浮点数(32位长度) */typedef double F64; /* double precision floating point variable (64bits) 双精度浮点数(64位长度) */#define uchar unsigned char#def

33、ine uint unsigned int#define Data_0_time 4/-/-IO口定义区-/-/sbit P2_0 = P20 ;/-/-定义区-/-/U8 U8FLAG,k;U8 U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 U8comdata;U8 outdata5; /定义发送字节数 U8 i

34、ndata5;U8 str5= ;U8 count, count_r=0;U16 U16temp1,U16temp2;SendData(U8 *a)outdata0 = a0; outdata1 = a1;outdata2 = a2;outdata3 = a3;outdata4 = a4;count = 1;SBUF=outdata0; void Delay(U16 j) U8 i; for(;j0;j-) for(i=0;i27;i+); void Delay_10us(void) U8 i; i-; i-; i-; i-; i-; i-; void COM(void) U8 i; for(

35、i=0;i8;i+) U8FLAG=2; /- /- while(!P2_0)&U8FLAG+);Delay_10us();Delay_10us();/Delay_10us(); U8temp=0; if(P2_0)U8temp=1; U8FLAG=2; while(P2_0)&U8FLAG+); /- /- /超时则跳出for循环 if(U8FLAG=0)break; /判定数据位是0还是1 / 假如高电平高过预定0高电平值则数据位为 1 U8comdata=1; U8comdata|=U8temp; /0 /rof /-/-湿度读取子程序 -/-/-以下变量均为全局变量-/-温度高8位=

36、U8T_data_H-/-温度低8位= U8T_data_L-/-湿度高8位= U8RH_data_H-/-湿度低8位= U8RH_data_L-/-校验 8位 = U8checkdata-/-调用相关子程序以下-/- Delay();, Delay_10us();,COM(); /-void RH(void) /主机拉低18ms P2_0=0; Delay(180); P2_0=1; /总线由上拉电阻拉高 主机延时20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); /主机设为输入 判定从机响应信号 P2_0=1; /判定从

37、机是否有低电平响应信号 如不响应则跳出,响应则向下运行 if(!P2_0) /T ! U8FLAG=2; /判定从机是否发出 80us 低电平响应信号是否结束 while(!P2_0)&U8FLAG+); U8FLAG=2; /判定从机是否发出 80us 高电平,如发出则进入数据接收状态 while(P2_0)&U8FLAG+); /数据接收状态 COM(); U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_tem

38、p=U8comdata; COM(); U8checkdata_temp=U8comdata; P2_0=1; /数据校验 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp=U8checkdata_temp) U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8chec

39、kdata_temp; /fi /fi/-/main()功效描述: AT89C51 11.0592MHz 串口发 /送温湿度数据,波特率 9600 /-void main()/uchar str6=RS232;/* 系统初始化 */TMOD = 0x20; /定时器T1使用工作方法2TH1 = 253; / 设置初值TL1 = 253;TR1 = 1; / 开始计时SCON = 0x50; /工作方法1,波特率9600bps,许可接收 ES = 1;EA = 1; / 打开所以中止 TI = 0;RI = 0;Delay(1); /延时100US(12M晶振)while(1) /- /调用温湿

40、度读取子程序 RH(); /串口显示程序 /- str0=U8RH_data_H; str1=U8RH_data_L; str2=U8T_data_H; str3=U8T_data_L; str4=U8checkdata; SendData(str) ; /发送到串口 /读取模块数据周期不易小于 2S Delay(0);/elihw/ mainvoid RSINTR() interrupt 4 using 2if(TI=1) /发送中止 TI=0;if(count!=5) /发送完5位数据 SBUF= outdatacount;count+;if(RI=1) /接收中止 RI=0; 附录C 实物图图C1 实物图

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服