基于Proteus的温湿度采集系统设计
- 格式:docx
- 大小:60.65 KB
- 文档页数:8
基于PROTEUS的单片机测温系统的仿真设计I.概述在现代工业生产中,温度的准确测量对于保证产品质量、确保生产安全至关重要。
因此,设计一套可靠的温度测量系统对于工程师来说是必要的。
本文将介绍一种基于PROTEUS仿真平台的单片机测温系统的设计方法,利用该系统可以实现对温度的准确测量和监控。
II.系统设计1.系统硬件设计系统硬件设计包括传感器、单片机和显示器等部件的选型和连接。
温度传感器选用DS18B20数字温度传感器,该传感器具有高精度和抗干扰能力。
单片机选用常用的51系列单片机,如STC89C52等。
显示器可以使用数码管或LCD液晶显示器。
2.系统软件设计系统软件设计包括单片机程序的编写和功能实现。
首先,需要编写初始化程序,初始化系统设置和连接传感器。
其次,编写温度测量程序,通过单片机与传感器进行通信,并获取温度值。
最后,编写温度显示程序,将测得的温度值显示在数码管或LCD显示器上。
III.仿真操作1.运行PROTEUS软件首先,打开PROTEUS软件,并创建一个新的工程文件。
2.添加单片机和传感器在PROTEUS的元件库中找到所需的单片机和传感器元件,并将其拖放到画布中。
然后,通过连线工具将它们连接起来。
3.编写单片机程序使用类似Keil C等开发工具编写单片机程序。
将编写好的程序导入到PROTEUS中的单片机元件中,然后设置程序的执行方式。
4.设置仿真参数设置仿真参数,如仿真时间、时钟频率等。
为了模拟真实环境下的测温系统,可以设置仿真时间较长,以确保系统的稳定性和可靠性。
5.运行仿真点击运行按钮,开始执行仿真。
在仿真过程中,可以观察温度传感器的输出、单片机的工作状态以及显示器的显示情况。
根据需要可以调整相关参数,进行优化和改进。
IV.仿真结果分析通过观察仿真结果,可以评估设计的温度测量系统的性能和稳定性。
根据实际需求,可以对系统参数进行调整和优化。
同时,可以根据仿真结果进一步完善系统设计和功能实现。
基于Proteus的温室大棚温湿度采集系统设计及仿真
孙万麟
【期刊名称】《工业控制计算机》
【年(卷),期】2023(36)1
【摘要】为了有效提高茄子温室大棚的生产数量和质量,采用Proteus软件设计及仿真了一个以AT89C52单片机作为主控器的温湿度采集系统。
该系统以温湿度参数作为主要研究对象,选取DHT11传感器作为温湿度数据采集器件,LCD1602作为输出显示器件,独立式按键作为温湿度阈值设置器件,发光二极管作为报警信号指示灯,若采集的温湿度在阈值范围内则绿色指示灯点亮,但超出或低于阈值时红色指示灯点亮,并发出报警声进行提示。
在系统正常运行基础上,通过查看虚拟寄存器窗口对该系统设计正确性进行了验证性分析。
【总页数】3页(P138-140)
【作者】孙万麟
【作者单位】昌吉学院物理系
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于PROTEUS的单片机温度采集系统设计与仿真
2.基于WinUSB与SHT75的温湿度数据采集与控制系统设计仿真
3.基于PROTEUS的多路温度\r采集系统设
计与仿真4.基于Proteus的温湿度数据采集系统设计与仿真5.基于Proteus和LabVIEW的温室大棚温湿度测控系统设计及仿真
因版权原因,仅展示原文概要,查看原文内容请购买。
东北石油大学毕业设计(论文)任务书题目基于proteus的数据采集处理系统专业学号姓名主要内容:1、针对基于单片机的温度的数据采集系统进行深入的研究,分析其硬件结构和优缺点;2、选择温度传感器和单片机、应用PROTEUS软件设计系统电路图和Keil软件设计系统程序;3、应用PROTEUS软件仿真实现数据采集系统。
基本要求:1、设计完善的硬件电路图;2、应用Proteus软件仿真实现3、提交规范的论文。
主要参考资料:[1] 张丹,费陆公.基于proteus和labview的教学监控系统的设计[J].仪器仪表标准化与测量,2008(1):42-44[2] 周润景. 基于DS18B20的温度测量模块设计[M].机械工业出版社,2011.13-43.[3] 张福学.传感器应用及其电路精选[M].高等教育出版社,2004:58-67[4] 林祝亮,武林,杨金华.基于双单片机的多路数据采集系统设计.仪器仪表学报,2006,No.6完成期限:指导教师签名:专业负责人签名:年月日摘要随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力的场合。
本设计以温室环境作为研究对象,主要研究了温度数据采集系统的设计过程与仿真的实现方法。
针对该系统设计了基于单片机的温度数据采集系统的各部分电路并利用汇编语言设计了针对该系统的各个环节的子程序。
同时在Proteus环境下结合Keil uVision 2成功实现了基于单片机的温度数据采集系统的仿真调试。
该系统实现了温度数据的采集、处理、实时显示、开关量的控制输出、超限报警及系统键盘设置等功能。
此外,该系统可手动调节报警上下限,控制方便,操作简单。
本设计的仿真方法提高了系统的开发效率、缩短周期和降低成本,为单片机系统的开发提供了手段。
关键词:AT89C51;温度;proteusAbstractWith the rapid development and popularization of micro-computer technology,data acquisition monitoring has become an increasingly important detection techniques are widely used in industry and agriculture need to monitor such as temperature, humidity and pressure of the occasion. The design and simulation implementation methods of temperature data acquisition system are introduced in this paper, which takes a green house as the research object. Each part of the circuit based on the MCU temperature data acquisition system is designed for the system and the use of assembly language to design subroutine of each link for the system. At the same time, in the Proteus environment combined with Keil uVision 2 realized the virtual simulation debugging process based on MCU temperature data acquisition system. The system verify that it is possible to realize many functions, such as temperature data acquisition, data processing , displaying on real time,the output of switching value , alarm, and the keyboard operation and so on . In addition, the system can manually adjust the alarm range, convenient control and simple operation. This design of the simulation method is proved to be an effective means which raised the development efficiency, reduced the cycle time and saved costs .Key words : AT89C51 ; temperature ; Proteus目录第1章绪论 (1)1.1 研究背景及其目的意义 (1)1.2 国内外研究现状 (2)1.3 该课题研究的主要内容 (2)1.4 本章小结 (3)第2章数据采集系统方案论证 (4)2.1 数据采集系统 (4)2.2 方案论证 (4)2.3 系统的元件介绍 (8)2.4 本章小结 (18)第3章数据采集系统原理及分析 (19)3.1 系统总体流程图 (19)3.2 系统各部分电路设计 (20)3.3 本章小结 (30)第4章软件部分 (30)4.1 仿真软件 (30)4.2 主程序设计 (35)4.3 仿真结果 (40)4.4 功能模块的调试 (43)4.5 本章小结 (43)结论 (44)参考文献 (45)致谢 (46)附录1:程序 (47)附录2:系统原理图 (58)第1章绪论1.1 研究背景及其目的意义近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。
本科毕业设计(论文)题目:基于PROTEUS的单片机测温系统的仿真设计学院:机械电子工程学院专业:测控技术与仪器学号:学生姓名:指导教师:职称:二O一二年五月十八日摘要随着人们生活水平的不断提高,单片机控制无疑是人们追求目标之一,它给人们带来了很大的方便,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作,科研,生活,提供更好的更方便的设施就需要从多数单片机技术入手,一切向着数字化控制,智能化控制方向发展,温度传感器适用范围广,数量多,居各种传感器之首。
本文从硬件和软件两方面来讲述温度测量过程,在控制过程中应用单片机AT89C52、数字温度传感器DS18B20、共阴极数码管、锁存器74HC573。
主要是通过DS18B20数字温度传感器采集温度,以单片机为核心控制部件,并通过存储器进行存储、共阴极数码管显示实时温度的一种数字温度计。
软件方面采用C语言来进行程序设计,使指令执行速度快,节省存储空间。
为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。
本设计主要做了如下几方面的工作:一是确定系统的总体设计方案,包括其功能设计、组成与工作原理、设计说明;二是进行硬件电路设计,包括硬件电路构成及测量原理、温度传感器的选择、单片机的选择;三是进行了调试和仿真,获得仿真结果。
经实验测试表明,该系统测量精度高、抗干扰能力强,具有一定的参考价值。
该系统设计和布线简单、结构紧凑、体积小、重量轻、性价比高、扩展方便,在大型仓库、工厂、智能化建筑等领域的温度检测中有广阔的应用前景。
关键词:温度测量;数字温度传感器DS18B20;AT89C52单片机;共阴极数码管显示。
AbstractAs people living standard rise ceaselessly, SCM control is undoubtedly one of the goals of the people to pursue, it brings convenience is not negative, including digital thermometer is one example, but people on its demand is higher and higher, to work for modern, scientific research, life, providing better more convenient facilities should be, from most of the single chip microcomputer, all to digital control system, intelligent control direction, the temperature sensor application scope. The number of sensors in the list.This article from two aspects of hardware and software to tell temperature measurement process, in the main process of single chip microcomputer control application AT89C52, digital temperature sensor DS18B20, cathode tube of digital, latches 74 HC573, mainly through digital temperature sensor DS18B20 collection temperature, with the single chip processor as the core to control components, and through the memory storage, liquid crystal display shows real-time temperature of a digital thermometer. Software using C language program to design, make the instruction execution speed, save storage space. In order to facilitate the expansion and the change, the software design using modular structure, make the program design logical relationship more concise and clear, make the hardware in the software under the control of the harmonious operation.This design is the major of the following aspects of work: one is sure the design of the whole system solutions, including the function design, composition and working principle, design descriptions; 2 it is hardware circuit design, including hardware circuit structure and measuring principle, the temperature sensor of choice, the choice of the single chip microcomputer; 3 it is the testing and simulation, get the simulation results.The test results show that the system measurement precision, strong anti-interference, concrete the certain reference value. The system design and wiring is simple, compact structure, small volume, light weight, high performance/price ratio, expansion of convenient, in the large warehouse, factory, intelligent building and other areas of temperature in detecting have broad application prospects.Keywords: temperature measurement; Digital temperature sensor DS18B20; AT89C52 single chip microcomputer; The cathode tube of digital display.目录摘要 (Ⅰ)Abstract (Ⅱ)第一章概述 (1)1.1 课题研究的背景 (1)1.2 课题研究的意义 (1)1.3 课题设计的目的 (2)1.4 课题设计的任务及要求 (2)第二章系统总体设计 (3)2.1 系统的功能设计 (3)2.2 系统的组成与工作原理 (3)2.3 系统设计说明 (4)第三章系统硬件电路的设计 (5)3.1 系统硬件电路构成及测量原理 (5)3.1.1 系统硬件电路构成 (5)3.1.2 系统工作原理 (6)3.2 单片机AT89C52 (7)3.2.1 AT89C52的主要性能参数 (7)3.2.2 功能特性概述 (7)3.2.3 引脚功能说明 (7)3.2.4 时钟振荡器 (9)3.2.5 AT89C52软件编程模式 (9)3.2.6 单片机最小系统设计 (10)3.2.7 关于单片机上拉和阻值选择的问题 (11)3.3 数字温度传感器DS18B20 (12)3.3.1 DS18B20技术性能描述 (12)3.3.2 数字温度传感器DS18B20的简单介绍 (13)3.3.3 AT89C52单片机与DS18B20的接口 (17)3.3.4 DS18B20使用中注意事项 (19)3.4 温度显示方式 (19)3.4.2 74HC573锁存器 (21)3.4.3 数码管显示 (24)3.4.4 数码管跟液晶显示的选择 (27)第四章系统的软件设计 (29)4.1 系统的总体设计思路 (29)4.2 系统的程序设计 (29)4.2.1 主程序 (29)4.2.2 读出温度子程序 (30)4.2.3 温度转化命令子程序 (30)4.2.4 计算温度子程序 (31)第五章PROTEUS软件仿真 (32)5.1 PROTEUS 仿真器与集成开发环境KEIL (32)5.1.1 PROTEUS 仿真器 (32)5.1.2 集成开发环境KEIL4 (32)5.2 绘制温度测量系统仿真电路图 (33)5.3 实现温度测量系统的仿真 (34)第六章结束语 (35)致谢 (36)参考文献 (37)附录1:程序清单 (38)附录2:设计图纸 (43)第一章概述1.1 课题研究的背景随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作,科研,生活,提供更好的更方便的设施就需要从多数单片机技术入手,一切向着数字化控制,智能化控制方向发展,温度传感器适用范围广,数量多,居各种传感器之首。
收稿日期:2009-10作者简介:冯梅琳(1979)),女,硕士,讲师,主要从事传感检测、单片机及嵌入式系统方面的教学与研究工作。
基于Proteus 的温湿度数据采集系统设计与仿真冯梅琳,王 芸,温家旺(江西理工大学机电工程学院,江西赣州341000)摘要:文章以温室环境作为研究对象,介绍了温湿度数据采集系统的设计过程与仿真的实现方法。
详细介绍了温湿度测量电路以及单片机外围电路的设计,软件流程及汇编语言源程序的设计。
另外,在P ro teus 环境下结合K e il u V isi on 2将软硬件相结合,成功地实现了系统的仿真调试,并可在线演示。
该方法可以提高系统的开发效率、缩短周期和降低成本,为单片机系统的开发提供了手段。
结果表明,该系统可以实现温湿度数据的采集、处理、实时显示、开关量的控制输出、超限光报警及系统键盘设置等功能,温度控制精度稳定在0.1e 范围之内,湿度的误差可控制在?2.0%RH 以内,达到了设计要求。
关键词:AT 89C52;温度;湿度;P roteus中图分类号:TH811;TH837 文献标识码:B 文章编号:1006-2394(2010)02-0012-04Desi gn and Simulation of Te mperature and Hu m i dity D ata A cquisitionSyste m B ased on ProteusFENG M e-i li n ,WANG Yun ,WEN Jia -w ang(Jiangx iU n i versity o f Sc i ence and T echnology ,G anz hou 341000,Ch i na)Abst ract :The desi g n and si m u lati o n i m ple m entation m ethods o f te m perature and hum idity data acqu isition syste mare intr oduced i n th is paper ,wh ich takes a g reenhouse as the research ob jec.t A t the sa m e ti m e ,t h e te m pera t u re and hu m i d ity m easure m ent circui,t periphery circu it of si n gle chip co m puter ,soft w are flo w chart and the desi g n of asse m ble language source prog ra m are described in deta il i n the paper .In add ition ,the v irtual si m u l a ti o n debugg i n g process is realized successf u ll y by integ rati n g the har dw are and soft w are in the Proteus and the Ke il uV ision2env ironm ents ,and can be de m onstrated on li n e .Th is m ethod is proved to be an effective m eans wh ich raised t h e deve l o p m ent effic iency ,reduced the cyc le ti m e and saved costs .Resu lts verif y that it is possi b le to rea lize m any functions of the syste m,such as te mperature and hum idity data acquisiti o n,data processi n g ,d isp lay i n g on rea-l ti m e ,the output of s w itch i n g va l u e ,optic alar m ,and the keyboard operation and so on .The te m perature contro l accuracy can be contr o lled i n 0.1e ,and the hu -m idity can be con tro lled i n ?2.0%RH very w e l.l It verifi e s that the syste m hasm et the require m ents .K ey w ords :AT89C52;te m pera t u re ;hu m i d ity ;Proteus 1 系统总体方案设计本系统以单片机AT89C52作为控制核心,以数字式温度传感器DS18B20、电容式湿度传感器H S1101作为测量元件,构成智能温湿度测量系统;同时可把采集到的数据通过RS -232总线上传给工业控制计算机进行进一步处理,系统设计方案如图1所示。
学校代码10126 学号分类号TP31 密级本科毕业论文(设计)学院、系电子信息工程学院专业名称自动化年级学生姓名指导教师教授2014年5月10日基于Proteus的Contex-M3的数据采集系统设计摘要给出了一种基于PROTEUS 仿真实现的数字温度采集系统设计。
系统以Cortex-M3芯片和数字温度传感器DS18B20 为基础,进行温度采集。
通过PROTEUS 对温度采集系统的工作过程进行模拟,以检验和评估设计的可行性和稳定性,是一种有效可行的仿真方法。
关键词: PROTEUS,cortex-M3, DS18B20Design of data acquisition system of Proteus based on Contex-M3ABSTRACTAuthor: Daoqi SunTutor: Runjing Zhou Design of a digital temperature acquisition system based on PROTEUS simulation is given. The system is based on the Cortex-M3 chip and digital temperature sensor DS18B20, temperature acquisition. By simulating the working process of PROTEUS on the temperature acquisition system, the feasibility and stability of the system test and evaluation, is a kind of simulation method is effective and feasible.Key words: PROTEUS,cortex-M3, DS18B20目录1 绪论 (5)一个基本的温度采集系统包括温度的采集和显示,按照传统的模式,先根据控制系统要求设计原理图、PCB 电路图绘制、电路板制作、元器件焊接等操作,然后再进行软件编程与烧录,软件可以模拟调试,牵涉到硬件调试或整个系统的调试是在整个硬件系统焊接完成后进行的,若设计过程中有纰漏需要修改硬件,就需重新制板,成本和开发周期将相应增加。
基于Proteus的粮仓温湿度监控系统的设计与仿真王子涵1,伍萍辉1,郑玲2,程一钊1,2(1.河北工业大学信息工程学院,天津300401;2.国家农业智能装备工程技术研究中心,北京100097)摘要:为了提高粮仓监控的自动化程度和效率,降低高精度温湿度测量仪开发成本和周期,采用Proteus软件辅助,设计了一种基于Proteus仿真的粮仓温湿度监控系统,对粮仓的温湿度进行采集,当温度超过设定的限值时自动进行降温抽湿调节,并自动进行声光报警。
软件采用C语言进行模块设计,上位机采用MFC进行界面的编程,利用MFC提供的CMSComm控件完成单片机与界面的通信,并结合KeilC51完成对粮仓温湿度监控系统设计和仿真。
关键词:监控系统;粮仓;温湿度;仿真中图分类号:TP273.+5文献标识码:A文章编号:1003-188X(2013)07-0115-040引言粮食是国家的战略物质,是人民生活的必需品,而粮食质量的好坏与数量的多少以及粮食存储的安全性是影响国民经济的发展和社会稳定的重要因素,因此粮食的储备工作具有重要意义。
温度和湿度是影响粮食储藏好坏的两个最重要的参数。
目前,大多数粮仓采用人工检测与控制的方法监控粮仓的温度和湿度,控制精度不高而且往往不够及时,很容易造成粮食的损失;而且人工效率低、易出错、劳动强度大,不仅增加了生产成本,浪费了人力资源,又很难达到较好的效果[1]。
由于计算机控制系统发展的速度加快,具有能够设定希望的数值和同时监控制多个粮仓等优点,非常适合于控制温湿度的设备。
性价比高的AT89c52单片机给计算机在农业自动化方面的应用提供了硬件基础和物质条件。
借鉴单片机在工业上广泛应用的经验,将其应用在农业上也更为方便[2]。
笔者基于Proteus的单片机温湿度自控系统对粮仓的温湿度进行采集,科学合理地调节粮仓内的温度、湿度,并及时进行处理,对减少粮食损耗有着重要的现实意义。
1系统的整体设计在以往的单片机应用开发中,完成系统的硬件电收稿日期:2012-07-04基金项目:国家“863计划”项目(2012AA10A503)作者简介:王子涵(1988-),女,河北唐山人,硕士研究生,(E-mail)wolfprincess@yahoo.cn。
毕业论文学生姓名谢欢欢学号170907073 学院物理与电子电气工程学院专业电子信息工程题目基于PROTUES的温湿度测量系统设计指导教师付浩副教授2013 年 5 月摘要:本文采用Protues7.5仿真软件设计以低功耗STC89C51单片机为核心,配置新式的微型低功耗传感器DHT11,使用液晶显示LED1602采集到的数据,实现了温度、湿度两个参数的采集、处理和显示等功能。
文章以温室环境作为研究对象,介绍了温湿度温湿度测量电路、单片机外围电路、软件流程、汇编语言源程序的设计、数据采集系统的设计过程及仿真的实现方法。
该方法可以提高系统的开发效率、缩短周期和降低成本,为单片机系统的开发提供了手段。
结果表明,所设计环境参数温度控制精度稳定在O.1℃范围之内,湿度的误差可控制在±2.0%RH以内。
关键词:Protues,STC89C51,DHT11,LED1602,温度,湿度Abstract:By Protues7.5 simulation software design for low power STC89C51 microcontroller as the core, the allocation of new low-power micro-sensors DHT11, using liquid crystal display LED1602 data collected, realizing the collection of temperature, humidity, two parameters, processing and display functions. Based on greenhouse environment as the research object, this paper introduces the temperature and humidity temperature and humidity measuring circuit, microcontroller peripheral circuit, software flow, assembly language source program design, the design process of the data acquisition system and the realization of the simulation method. The method can improve system development efficiency, shorten the cycle and reduce costs, provides a means for the development of single-chip microcomputer system. Results show that the design of environmental parameters, temperature control precision is stable in o. 1 ℃, humidity of the error can be controlled within + / - 2.0% RH.Key words: Protues, STC89C51, DHT11, LED1602, temperature and humidity目录1 前言 (4)2 整体方案设计 (4)2.1 温湿度测量测量系统的基本构成 (4)2.2 温湿度测量系统原理 (5)2.3 系统框图 (5)3 硬件电路设计 (5)3.1 温湿度传感器模块 (5)3.1.1 DHT11简介 (6)3.1.2传感器性能说明 (6)3.1.3 接口说明 (7)3.1.4 电源引脚 (7)3.1.5 串行接口 (7)3.1.6 测量分辨率 (9)3.2 LCD显示模块 (8)3.2.1 LCD1602简介 (8)3.2.2 LCD1602接口电路 (11)3.3 电源模块 (11)3.4 单片机STC89C51模块 (12)4 系统软件设计 (15)4.1 系统程序设计方案 (15)4.2 系统流程图 (15)4.2 系统主要程序 (15)5 系统仿真与调试 (18)5.1 仿真结果 (18)5.2 实验数据记录 (20)结论 (21)参考文献 (22)致谢 (23)1 前言在单片机应用系统的传统开发方式中,对系统的硬件电路进行设计完成后,需要制作成实物的电路板,并结合单片机仿真器进行软硬件的联合调试。
基于Proteus的温室大棚温湿度采集系统设计及仿真基于Proteus的温室大棚温湿度采集系统设计及仿真摘要:本文基于Proteus仿真软件,设计了一种基于温湿度传感器的温室大棚温湿度采集系统。
系统采用模拟与数字转换技术,实现了温湿度数据的采集、传输和显示。
通过系统的实时监测和控制,可以有效地提高温室大棚的温湿度管理效率,增加农作物产量。
1. 引言温室大棚是一种在封闭环境中种植农作物的一种方法,可以提供稳定的温湿度和光照环境,适应各种气候条件下的作物生长。
温室大棚温湿度的管理对于农作物的生长发育极为重要。
因此,设计一种温湿度采集系统,进行温湿度的实时监测和控制,对于提高温室大棚的生产效益具有重要意义。
2. 系统设计2.1 硬件设计系统的硬件部分主要由温湿度传感器、模拟信号处理电路和数字转换电路组成。
温湿度传感器可以实时采集温湿度数据,并将模拟信号传输到模拟信号处理电路中。
模拟信号处理电路通过滤波、放大等前处理技术,对温湿度信号进行处理,然后将处理后的信号转换为数字信号。
数字转换电路将模拟信号转换为数字信号,并通过串口接口传输到下位机进行进一步处理。
2.2 软件设计系统的软件部分主要由下位机程序和上位机程序组成。
下位机程序主要负责数据的采集、处理和传输,上位机程序主要负责数据的显示和控制。
下位机程序通过串口接口接收和发送数据,采用PIC单片机进行处理。
上位机程序通过串口接口与下位机程序进行通信,使用Proteus软件进行软件仿真。
3. 系统仿真与测试在Proteus软件中,依据系统设计原理,进行系统仿真和测试。
首先,通过模拟信号处理电路对温湿度信号进行滤波和放大处理。
然后,将处理后的信号通过数字转换电路转换为数字信号。
下位机程序将数字信号通过串口发送给上位机程序。
上位机程序接收到数据后,进行数据的显示和控制,实时监测温湿度数据,并根据设定的阈值进行相应的控制。
通过Proteus仿真,验证了系统的可行性和正确性。
基于proteus的温度检测系统的设计与实现本文介绍了应用proteus仿真完成系统开发的方法以及基于proteus的温度检测系统的仿真设计,通过设计发现,proteus仿真平台可以大幅度降低开发成本以及开发所需的时间,有效地促进了单片机产品的快速发展。
标签:单片机proteus 温度检测一、系统方案设计本系统是由单片机为主控芯片,7SEG--mpx2-cc数码管为温度显示单元的简单温度检测系统,其系统组成框图如图1所示,该系统单片机通过单总线接口访问DS18B20,首先对DS18B20温度传感器进行初始化,然后进行ROM操作命令和储存器的操作命令,单片机在ROM操作指令完成后使DS18B20温度传感器开始采集温度数据并传输与寄存器中最后由数码管完成显示。
二、硬件设计与实现本系统包括单片机,7SEG--mpx2-cc数码管,温度传感器模块,其硬件设计原理图如图2所示。
7SEG--mpx2-cc数码管采用动态扫描的方法分别读入单片机P0口八个输出引脚所输出的高低电频,并用一个上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动,P2口接数码管选位的4个引脚,温度传感器与单片机的P3.6口相连。
1.单片机最小系统设计本系统的最小单片机单元包括80c52单片机,晶振电路,复位电路。
其中的晶振电路采用内时钟模式,选择12MHZ或11.0592MHZ的石英晶振与30pf的电容并联;复位方法为手动按钮复,在复位输入端RST上加入高电平。
RST端和正电源Vcc之间接一个按钮。
当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。
2.温度传感器温度传感器采用DS18B20,DS18B20是DALLAS公司生产的一线式数字温度传感器,具有抗干扰能力强,精度高等优点,有三个引脚,体积小,测量温度范围广,可编程为9位到12位A/D转化精度,分辨率可达0.0625℃,采用穿行输出测量到的温度,可以通过远端映入电源也可用寄生电源的方式产生,而且可以多个单元并联到3根或2根线上,单片机只需一个端口就可以和多个单元进行通信,这样有效地节约了大量的引线,这样方便了多点测量和远距离测量的温度检测系统。
摘要随着社会的不断发展前进,人们进入了数字化信息时代,对生活质量的要求越来越高。
汽车、空调、除湿器、烘干机等都已家喻户晓,它们都离不开对温度、湿度等环境因素的要求。
本设计主要利用单片机、温湿度测量芯片SHT10及C语言和Proteus仿真软件开发。
Proteus仿真软件十分强大可以仿硬件。
本系统主要是测量环境的温湿度,又附带添加了显示时间和日期的功能。
由于显示内容较多。
因此。
本系统显示模块选择了PG160128液晶。
为使本系统的时间与日期较为精确,所以选择了时钟芯片DS1302。
关键词:单片机;Proteus;温湿度;SHT10;PG160128;DS1302AbstractWith the continuous development of social progress, people entered the digital information age, the requirement for the quality of life is higher and higher. Automobile, air conditioner, dehumidifier, dryers, etc have been household names, they are inseparable from the demand for environmental factors such as temperature, humidity. This design mainly using single chip microcomputer, temperature and humidity measurement chip SHT10 and Proteus simulation software development and C language. Proteus simulation software is very powerful hardware can copy. This system mainly is measuring the temperature and humidity of the environment, and along with adding the function of the display time and date. Because the display content is more. Therefore. This system chose PG160128 liquid crystal display module. In order to make the date and time of this system is relatively accurate, so select the DS1302 clock chip.Key words:AT89C51;Proteus;temperature & humidity;SHT10;PG160128A;DS1302一、前言本设计主要是单片机在带实时日历时钟的温度湿度检测系统中的应用。
基于Proteus的温湿度采集系统设计一.设计目的:1.熟悉Proteus的操作环境,能够使用keil u-vision和Proteus对单片机程序进行联合调试的方法。
2.熟悉单片机的编程,学习根据时序图编写程序的方法,理解模块化编程的思想。
3.掌握1602液晶显示模块程序的编写。
二.设计要求:通过SHT10土壤温湿度传感器对当前的温度和湿度进行采集,并将采集的结果送1602液晶进行实时显示。
三.设计方案:1.硬件电路设计(1)单片机最小系统单片机最小系统由晶振电路和上电复位电路组成。
图一单片机最小系统(2)1602液晶显示电路本设计采用LCD1602液晶作为显示器件,1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
包括一个电容式聚合体测湿元件和一个能隙式测温元件组成,并与一个14位的AD转换器和串行接口电路进行无缝连接。
采用两线式串行方式与单片机进行通信,但通信协议并不是IIC总线式。
2.软件设计(1)液晶显示部分程序/*************端口定义***************P1.0------SCK (SHT10)P1.1------DATA (SHT10)P0------DB0~DB7 (LCD1602)P2.0------RS (LCD1602)P2.1------RW (LCD1602)P2.2------E (LCD1602)************************************/#include <reg52.h>#include <intrins.h>#include <stdio.h>#include <string.h>#include <absacc.h>#include <math.h>#define uchar unsigned char#define uint unsigned int//1602液晶端口定义sbit LcdRs= P2^0;sbit LcdRw= P2^1;sbit LcdEn= P2^2;sbit ACC0 = ACC^0;sbit ACC7 = ACC^7;uchar str[7];uchar dis[4];//向LCD写入命令或数据#define LCD_COMMAND 0// Command#define LCD_DATA 1 // Data#define LCD_CLEAR_SCREEN 0x01// 清屏#define LCD_HOMING 0x02// 光标返回原点//设置显示模式************************************* ***********************#define LCD_SHOW 0x04 //显示开#define LCD_HIDE 0x00 //显示关#define LCD_CURSOR 0x02 //显示光标#define LCD_NO_CURSOR 0x00 //无光标#define LCD_FLASH 0x01 //光标闪动#define LCD_NO_FLASH0x00 //光标不闪动//设置输入模式************************************ #define LCD_AC_UP 0x02#define LCD_AC_DOWN 0x00 // default#define LCD_MOVE 0x01// 画面可平移#define LCD_NO_MOVE 0x00 //defaultunsigned char LCD_Wait(void);void LCD_Write(bit style, unsigned char input);/****1602液晶显示部分子程序******/ void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void LCD_Write(bit style, unsigned char input){LcdRs=style;P0=input;delay(5);LcdEn=1;delay(5);LcdEn=0;}void LCD_SetDisplay(unsigned char DisplayMode){LCD_Write(LCD_COMMAND,0x08|DisplayMode);}void LCD_SetInput(unsigned char InputMode){LCD_Write(LCD_COMMAND,0x04|InputMode);}//初始化LCD********************************* void LCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_N O_CURSOR); //开启显示, 无光标LCD_Write(LCD_COMMAND,LCD_C LEAR_SCREEN); //清屏LCD_SetInput(LCD_AC_UP|LCD_NO_ MOVE); //AC递增, 画面不动}//液晶字符输入的位置************************void GotoXY(unsigned char x, unsigned char y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40));}//将字符输出到液晶显示void Print(unsigned char *str){while(*str!='\0'){LCD_Write(LCD_DATA,*str);str++;}}void zhuanhuan(float a)//浮点数转换成字符串函数{memset(str,0,sizeof(str));sprintf (str,"%f", a);}void Dataconv(unsigned char dat){uchar temp;temp=dat/100;dis[0]=temp+0x30;temp=dat%100;dis[1]=temp/10+0x30;dis[2]=temp%10+0x30;}void welcome(){LCD_Initial();GotoXY(0,0);Print(" Welcome! ");GotoXY(0,1);Print(" Code of sht10 ");delay(200);} /*--------------------------------------;模块名称:delay_n10us();;功能:延时函数,延时约n个10us较精确的延时函数,"_nop_()"延时1us@12M 晶振;-------------------------------------*/void delay_n10us(uint n) //延时n个10us@12M晶振{uint i;for(i=n;i>0;i--){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}}2.SHT10测量温湿度程序sbit SCK = P2^3; //定义通讯时钟端口sbit DATA = P2^4; //定义通讯数据端口typedef union{ unsigned int i; //定义了两个共用体float f;} value;enum {TEMP,HUMI};//TEMP=0,HUMI=1#define noACK 0 //用于判断是否结束通讯#define ACK 1 //结束数据传输//adr command r/w#define STA TUS_REG_W 0x06 //000 0011 0#define STA TUS_REG_R 0x07 //000 0011 1#define MEASURE_TEMP 0x03 //000 0001 1#define MEASURE_HUMI 0x05 //0000010 1#define RESET 0x1e //000 1111 0/****************定义函数****************/void s_transstart(void); //启动传输函数void s_connectionreset(void); //连接复位函数char s_write_byte(unsigned charvalue);//DHT90写函数char s_read_byte(unsigned char ack);//DHT90读函数char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);//测量温湿度函数void calc_dht90(float *p_humidity ,float*p_temperature);//温湿度补偿/*--------------------------------------;模块名称:s_transstart();;功能:启动传输函数;-------------------------------------*/void s_transstart(void)// generates a transmission start{DA TA=1; SCK=0;//Initial state_nop_();SCK=1;_nop_();DA TA=0;_nop_();SCK=0;_nop_();_nop_();_nop_();SCK=1;_nop_();DA TA=1;_nop_();SCK=0;} /*--------------------------------------;模块名称:s_connectionreset();;功能:连接复位函数;-------------------------------------*/void s_connectionreset(void)// communication reset: DATA-line=1 and at least 9 SCK cycles followed by transstart//{unsigned char i;DATA=1; SCK=0;//Initial statefor(i=0;i<9;i++) //9 SCK cycles{SCK=1;SCK=0;}s_transstart();//transmission start}/*--------------------------------------;模块名称:s_write_byte();;功能:SHT10写函数;-------------------------------------*/char s_write_byte(unsigned char value)//----------------------------------------------------------------------------------// writes a byte on the Sensibus and checks the acknowledge{unsigned char i,error=0;for (i=0x80;i>0;i/=2) //shift bit for masking{if (i & value) DA TA=1;//masking value with i , write to SENSI-BUS else DA TA=0;SCK=1;//clk for SENSI-BUS_nop_();_nop_();_nop_();//pulswith approx. 3 usSCK=0;}DATA=1;//release DATA-lineSCK=1;//clk #9 for ackerror=DATA;//check ack (DATA will be pulled down by DHT90),DATA在第9个上升沿将被DHT90自动下拉为低电平。
产业科技创新 Industrial Technology Innovation 58Vol.2 No.20基于Proteus的温湿度环境监测系统设计与实现*倪丹艳(苏州高博软件技术职业学院,江苏 苏州 215163)摘要:文章主要设计实现基于单片机的温湿度环境监测系统。
文章在Proteus 环境下结合Keil u Vision4将软硬件结合,以AT89C51单片机为核心控制模块,外接DHT11温湿度及GP2Y1010AU 粉尘传感器进行环境温湿度与PM2.5的实时采集,利用ADC0832模数转换芯片将采集到的芯片传输至单片机,选用LCD1602液晶显示器对温湿度及PM 值实时显示,成功实现系统仿真调试,缩短开发周期,提高系统开发效率。
关键词:AT89C51;温度;湿度;Proteus中图分类号:TP311 文献标识码:A 文章编号:2096-6164(2020)20-0058-02随着时代的发展和工业水平进步,人民的生活水平得到极大地提高,对于生活环境质量要求也日益提高,环境中的温度、湿度等指标也备受大家关注。
如果环境质量数据能够通过某种仪器便捷提取,人们可根据提取到的环境数据调节环境舒适度。
在物联网时代,传感器的重要性不言而喻。
在智能家居领域,现代人追求高品质舒适生活,对环境要求进一步提升。
国内已相继出现各种以微机为核心的温湿度系统,具有较高的精度、重复性好、自动化程度高。
1 Proteus 和Keil 软件介绍Proteus 软件是英国Labcenter 公司开发的电路分析与实物仿真软件,实现了单片机仿真和SPICE 电路仿真结合,支持主流单片机系统仿真[1]。
通过Proteus 搭建电路,模拟和演示设计效果,增加学生学习的透明度,激发学生兴趣,其工作台界面如图1。
Keil C 是目前常用的单片机程序编译软件,支持C 语言和汇编语言,可生成“.HEX”文件,配合Proteus 软件较好地完成单片机软件仿真,其软件工作界面如图2。
毕业设计基于PROTEUS的温湿度测量系统设计摘要温度和湿度是两个最基本的环境参数,与人们的生活息息相关。
在工农业生产、气象、环保、国防、科研等部门,经常需要对环境温度和湿度进行测量和控制。
准确测量温湿度在生物制药、食品加工、造纸等行业更是至关重要。
因此研究温湿度的测量和控制方法具有重要的意义。
本设计实现的是单片机温湿度测量和控制系统,通过LCD显示所测量的温湿度。
系统采用集温湿度传感器与A/D转换器于一体的SHT11芯片,通过单片机进行处理显示,其它模块包括了实时时钟/日期产生电路和超限报警处理电路,对测量的值进行实时显示和报警处理。
文章介绍了基于ATMEL公司的AT89C51系列单片机的温湿度实时测量与控制系统和显示系统的设计,包括介绍了硬件结构原理,并分析了相应的软件的设计及其要点,包括软件设计流程及其程序的实现。
系统结构简单、实用,提高了测量精度和效率。
关键词:AT89C51、SHT11、LCD、DS1302、温湿度控制ABSTRACTTemperature and humidity are two basic environmental parameters which are closely related to people’s lives. In the industrial and agriculture production, meteorology, environmental protection, national defense, scientific research and other departments, we often need to measure and control the temperature and humidity of the environment. Accurate measurement of temperature and humidity in the pharmaceutical, food processing, paper making and other sectors is essential. So the method of temperature and humidity control and measurement is of great significance.The design implementation of measurement and control temperature and humidity is MCU system, through which the temperature and humidity measurement LCD. System adopts set temperature and humidity sensor and A/D converter for SHT11 chip microcontroller processing, through that other modules including real-time display and alarm. The paper introduces the ATMEL company based on AT89C51 single-chip series of temperature and humidity measurement and control system and real-time display system design, including the hardware structure and principle, and the corresponding software design, including the design of the software and its key process and procedure. System structure is simple, practical, and improve the measuring precision and efficiency.Key words: AT89c51, SHT11、LCD、DS1302、temperature and humidity control目录摘要 (I)ABSTRACT........................................................ I I 第1章绪论.. (1)1.1 研究的目的及意义 (1)1.2 国内外研究情况 (1)1.3 系统内容的设计 (2)1.3.1 系统的主要性能指标 (2)1.3.2 主要工作任务 (2)1.4 方案论证 (2)第2章工具简介 (4)2.1 C语言 (4)2.1.1 C语言的优点 (4)2.1.2 C语言的缺点 (4)2.2 Proteus简介 (4)2.3 Keil C51编译器简介 (5)2.3.1 8051开发工具 (5)2.3.2 uVision2集成开发环境 (5)第3章硬件设计 (7)3.1 芯片介绍 (7)3.1.1 单片机——AT89C51 (7)3.1.2 LCD显示——LCD1604 (9)3.1.3 DS1302原理及应用 (11)3.1.4温湿度传感器SHT11 (15)3.2 模块功能介绍 (18)3.2.1 复位电路部分 (18)3.2.2 DS1302时钟电路模块 (19)3.2.3 SHT11传感器模块 (19)3.2.4 显示电路模块 (20)3.2.5 超限处理电路模块 (20)3.3 整体电路图 (21)第4章软件设计 (22)4.1 程序框图 (22)4.1.1 主程序框图 (22)4.1.2 温湿度采集及处理框图 (23)4.1.3 LCD显示框图 (23)4.2 主函数解析 (24)第5章仿真与调试 (26)结论 (29)致谢 (30)参考文献 (31)附录A 系统源程序 (32)附录B 系统原理图 (55)第1章绪论1.1 研究的目的及意义温度和湿度与人们的生活息息相关。
基于Proteus 的温湿度釆集系统设计一. 设计目的:1. 熟悉Pioteus 的操作坏境,能够使用keil u-vision 和Proteus 对单片机程序进行联合调试的 方法。
2. 熟悉单片机的编程,学习根据时序图编写程序的方法,理解模块化编程的思想。
3. 掌握1602液晶显示模块程序的编写。
二. 设计要求:通过SHT10 土壤温湿度传感器对当前的温度和湿度进行采集,并将采集的结果送1602液晶 进行实时显示。
三. 设计方案:1 •硬件电路设计(1)单片机最小系统单片机最小系统由晶振电路和上电复位电路组成。
图一单片机最小系统(2) 1602液晶显不电路本设计采用LCD 1602液晶作为显示器件,1602液晶也叫1602字符型液晶它是一种专门用 来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组 成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有也有 间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。
1602LCD 是指 显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
目前市 面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于 HD44780写的控制程序町以很方便地应用于市面上人部分的字符型液晶。
5T 22PC2-^:2Pk VTA I AP0.0/AD0 卩 I AL IYTAI OP0.1/AD1 P0.2/AD2 P0.3/AD3P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 • XO IP2.0/A8 P2.1/A9 P2.2/A10 PSEN P2.3/A11 ALE P2.4/A12 CAP2.5/A13P2.6/A14 P2.7/A15 P1.0 P3.0/RXD P1.1 P3.1/TXD P1.2 P3.2/IRT0 P1.3 P3.3/INT1 P1.4 P3.4/T0 P1.5 P3.5/T1 P1.6 P1.7 P3.6^WR P3.7/K153938 •- /37 心/ 36 03丿 35 d4丿34 Q3332 d7丿 21 RS/22 QN/23 uAT89C51293031 12345678918 9 242714LCD1LM016L图二液晶显示电路(3) SHT10温湿度传感器电路SHT1O 系列单芯片传感器是一款含有已校准数字信号输出的温湿度复合传感器。
该传感器 包括一个电容式聚合体测湿元件和一个能隙式测温元件组成,并与一个14位的AD 转换器 和串行接I I 电路进行无缝连接。
采用两线式串行方式与单片机进行通信,但通信协议并不是 IIC 总线式。
U2SHT1O2 •软件设计(1)液晶显示部分程序^define uchar unsigned char 严 ************ 端]1 定义****** *********^define umt unsigned mtP1.0——SCK (SHT1O)P1.1——DATA (SHT1O) //1602液晶端1 1定义 P0——DB0-DB7 (LCD 1602) sbit LcdRs= P2A 0; P2.0——RS (LCD 1602) sbit LcdRw=P2T; P2.1——RW (LCD 1602) sbit LcdEn= P2A 2;P2.2——E(LCD 1602)************************************/sbit ACC0=ACC z 0;sbit ACC7=ACC A 7;#include <ieg52.h>#include <intriiis.h>uchar str [7]; #include <stdio.h>uchar dis[4];#include <stnng.h>#include <absacc.h>〃向LCD 写入命令或数据#include <matli.h>^define LCD_COMNIAND// Command8588388&寸99卜0 6LC4 LL LLU£8/// ///RP1RESPACK-8#define LCD_DATA 1 //Data#define LCD.CLEAR.SCREEN 0x01//清屏#define LCD_HO\nNG 0x02//光标返回原点 //设置显示模式************************************************************ #define LCD_SHOW 显示开 #define LCD_HIDE显示关#define LCD.CURSOR显示光标#define LCD_NO_CURSOR 无光标#define LCD_FLASH光标闪动#define LCD_NO_FLASH0x00 〃光标不闪动 〃设置输入模式************************************#define LCD_AC_UP 0x02#define LCD^AC.DOWN 0x00 // default#define LCD_MOVE0x01//画面可平移#define LCD^NO.MOVE 0x00//defaultunsigned char LCD_Whit(void);void LCD_Write(bit style, unsigned char mput);严***1602液晶显示部分子程序******/void delay(uint z){uiiit x,y;fbr(x=z;x>0;x —) for(y=110;y>0;y-);}mput){LcdRs=style; P0=input; delay(5); LcdEn=l; delay(5); LcdEn=0:}void LCD_SetDisplay(unsigned char DisplayMode){LCD_W 门 tqLCD_COMMAND 、 0x08|DisplayMode);}void LCD_SetInp 叫unsigned char IiiputMode){LCD_W 门 tqLCD_COMMAND 、 0x04|IiiputMode);} //初始化LCD********************************* void LCD_Initial0{LcdEn=0:LCD_Wnte(LCD -COMMAND,0x38);〃8位数据端口,2行显示,5*7点阵LCD_W 门 tqLCD_COMMAND 』x3 8); LCD_S^Display(LCD_SHOW|LCD_N O_CURSOR); 〃开启显示,无光标LCD_W 门 tqLCD_COMMAND,LCD_C LE AR_SCREEN); 〃清屏LCD_S 亡 tInput(LCD_AC_UP|LCD_NO_ MOVE);〃AC 递增,画面不动}//液晶字符输入的位置************************void GotoXY(unsigned char x, unsigned charvoid LCD_Write(bit style, unsigned char0x04 // 0x00 // 0x02 // 0x00// 0x01//if(v==O)LCD_W门te(LCD_COMMAND,0x80|x);if(y==l)LCD_W血(LCD_COMMAND,0x80|(x-0x40));}〃将字符输出到液晶显示void Prmt(unsigned char *str){wlule(*str?=<\0,){LCD^Wnte(LCD_DATA.*str); str++;}}void zhuaiiliuaii(float a)〃浮点数转换成字符串函数{meniset(sti;0,sizeof(sti)); sprintf(str,H%f\ a); }void Dataconv(unsigned char dat){uchar temp;temp=dat/100;dis[0]=temp+0x30;temp=dat%100;dis[ 1 ]=temp/l 0-Wx30; dis[2]=temp%10+0x30;}void welcome(){LCD_Imtud();GotoXY(O.O);Pnnt(H Welcome? ”);GotoXY(OJ);Print(n Code of shtlO ”);delay(200);;模块名称水lay_ii 1 OusQ;;功能:延时函数,延时约11个10us较精确的延时函数,"_nop_()”延时lus@12M 晶振;------------------------- */void delay_n!0us(umt n) 〃延时n 个10us@12M 晶振{uint i;fbr(i=n;i>O;i-){_Dop_()」op_();_nop_0;_iiop_()」op_();_nop_0;}}2.SHT10测量温湿度程序sbit SCK =P2T; 〃定义通讯时钟端口sbit DATA = P2,'4; 〃定义通讯数据端口typedef union{ unsigned mti; 〃定义了两个共用体float f;} value;enum {TEMP,HUND};//TEMP=0.HUMI=]^define noACK 0 是否结束通讯^define ACK 1 传输conmiaiid r/w^define STATUS_REG_W 0x06//000 0011 0^define STATUS_REG_R 0x07 //000 0011 1^define MEASURE_TEMP 0x03 //000 0001 1^define MEASURE_HUMI 0x05 //000〃用于判断〃结束数据//adr}0010 1char s_write_byte(unsigned char value);//DHT90 写函数char s_read_byte(unsigned char ack);//DHT90读函数char s_measure(unsigned cliar *p_value, unsigned char *p_checksuni. unsigned chai mode);//测量温湿度函数void calc_dht90(float *pjiunudity afloat*p_temperature)^/ 温湿度补偿unsigned char i;DATA=1; SCK=0;//Initial statefor(i=0;i<9;i++) //9 SCK cycles{SCK=1;SCK=0;}s_transstart();//transmission start};模块名^:s_transstart();;功能:启动传输函数; */void s_transstart(void)〃generates a tiaiisnussion stall{DATA=1; SCK=0;//Initial state_nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0;_nop_();_nop_()」op_0;SCK=1;_nop_();DATA=1;_nop_();SCK=0;;模块名称:s_w门t jbyte();;功能:SHT10写函数;------------------------- */ char s_wiite_bvte(unsigned char value)// --------------------------------------- // writes a byte on the Sensibus and checks the acknowledge{unsigned char i,enoi-0;for (i=0x80;i>0;i/=2) //sliift bit fbi masking{if (i & value) DATA=1;//masking value with i, write to SENSI-BUS else DATA=0;SCK=1;//elk for SENSI-BUS_nop_();_nop_0;_iiop_0;//pulswith approx. 3 usSCK=0;frdefine RESET1111 0Oxle //OOO严***************定义函数****************/void s_transstart(void); 动传输函数void s_coiinectiomeset(void); 接复位函数〃启〃连/* ----------------------------------------;模块名称:s_coiuiectiomeset();;功能:连接复位函数; -------------------------------------- */void s_coimectiomeset(void)// conununication reset: DAIA-lme=l and atleast 9 SCK cycles followed by tiaiisstait//}}DATA=1;//release DATA-lmeSCK=1;//elk #9 for ackenoi-DATA;//check ack (DATA will be pulled down by DHT90).DATA在第9个上升沿将被DHT90 自动下拉为低电平。