基于SHT1x的温湿度采集单元的软件设计_第1页
基于SHT1x的温湿度采集单元的软件设计_第2页
基于SHT1x的温湿度采集单元的软件设计_第3页
基于SHT1x的温湿度采集单元的软件设计_第4页
基于SHT1x的温湿度采集单元的软件设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业设计(论文)基于SHT1x的温湿度采集单元的软件设计SoftwareDesignoftheTemperatureandHumidityCollectingUnitBasedonSHT1x总计:20页表格:1个插图:10幅学院(系):电子与电气工程专业:电子信息工程[摘要]本课题是基于单片机的集中显示主机通过RS485总线构成的一个温湿度数据采集显示系统。系统采用主从式协议实现对多点温湿度数据采集和集中显示,以单片机AT89C51为核心,数据采集、存储、显示以及上传至主机进行数据处理都要通过单片机。数据采集通过单总线的智能温湿度传感器SHT11完成,数据处理在从机完成,数据显示在主机中完成。在整个系统中采用了多种总线、协议技术,如智能温湿度传感器SHT11的单总线技术、从机和主机连接的RS485协议技术等。[关键词]单片机;温湿度传感器;485总线技术;通信协议SoftwareDesignoftheTemperatureandHumidityCollectingUnitBasedonSHT1xAbstract:Thistopicisbasedontheconcentrationofsingle-chipdisplayhostthroughtheRS485bus,itconsistsofadisplayoftemperatureandhumiditydataacquisitionsystem.Itusesmaster-slaveprotocolonthemulti-pointtemperatureandhumiditydataacquisitionandcentralizeddisplay.ThecoreisAT89C51single-chipmicrocomputersystem.ThetemperatureandhumiditysensorSHT11completesdataacquisition.Theslavecompletesdataprocessing,andthehostdisplaysdata.Throughoutthesystemitusesavarietyofbusprotocoltechnologies,suchasthetemperatureandhumiditysensorSHT11intelligentsingle-bustechnology,andtheRS485protocoltechnologybetweentheslaveandhost.Keywords:Single-chipMicrocomputer;TemperatureandHumiditySensors;485BusTechnology;CommunicationProtocol目录1引言 11.1设计背景及目的 11.2本课题主要工作 12系统软件设计流程图 32.1主机软件设计流程图 32.2从机软件设计流程图 33主机软件设计 43.1数码管显示软件设计 43.1.1数码管数据显示方法 43.1.2显示程序流程图 53.2看门狗电路软件设计 63.2.1X5045工作原理 63.2.2X5045看门狗软件设计 64从机软件设计 74.1温湿度采集软件设计 74.1.1SHT11简介 74.1.2SHT11通信协议 84.1.3SHT11通信软件包设计 94.1.3温湿度采集程序流程图 105RS485主从式通信软件设计 105.1通信协议 115.2通信规则 125.3主机通信软件设计 125.4从机通信软件设计 13结束语 14参考文献 15附录 15致谢 201引言1.1设计背景及目的目前我国农业正处于从传统农业向以优质、高产、高效益为目标的现代农业转化的新阶段。环境控制工程作为农业生物速生、优质、高产的手段,是农业现代化的重要标志。温室大棚中的环境由多个因子组成,如温度、光照、湿度及二氧化碳浓度等。时下我国温室环境控制目前仍靠人工经验来管理,严重影响了农业生产的效益,阻碍了农业生产的发展。因此,采用先进的人工智能技术,科学合理地控制影响作物的环境因子,通过计算机控制设备进行环境控制,以便给作物生长创造一个最佳的环境条件,做到既提高产品的质量、产量、经济价值和社会效益,同时尽量降低生产成本,这对温室环境施行自动检测和控制是非常必要的。温室设施的关键技术是环境控制,其目的是提高控制及作业精度。本文将信息采集技术、信息传输技术、信息存储技术及信息处理技术等相互融合,将温室环境多种参数监测和单片机控制理论相结合,提出一种切实可行的温室环境监测系统,可以全面、实时、自动地对监测数据进行自动记录、存储和处理,并将有关信息根据现场实际情况,采用最有效方式送入单片机进行处理,并可对监测系统进行远程控制。1.2本课题主要工作本课题拟研究的主要问题包括:(1)温度和湿度数据的数字化采集;(2)主机对温湿度数据的处理和显示;(3)温湿度数据的远程传输。重点和难点是系统的软件设计方案的确定及数据的处理和传输的软件设计。图1系统总体结构图如图1所示,各个从机都可以独立的采集数据。每一个从机的工作互不影响。通过RS485总线与主机连接。主机通过智能控制分时处理各个从机上传的数据。因此可以完成多点采集的功能。为了实现该系统的实时性,主机是循环向各从机发出温湿度数据采集命令,传送回来的温湿度数据以动态刷新的形式直观的显示在主机的数码管上。为了保证传输数据的可靠性,所有的命令和数据传输都制定了严格的通信协议。如图2所示,主机部分由看门狗、数码管显示和MAX485三个模块构成。主机主机数码管显示看门狗看门狗MAX485MAX485图2主机结构框图系统中每台从机都有一个唯一且固定的地址编码。由于系统的主机与从机之间采用半双工的RS485通信标准,所以主机采用问答式的通信方式,通过不同的地址编码逐一同从机通信。作为主机以命令的方式对下层的从机统一管理,从机上传采集到的温湿度数据,被主机选中的从机要求上传温湿度数据。主机把采集到的温湿度值通过数码管显示给用户。如图3所示,从机以单片机为核心,外围主要包括以下几个单元电路:SHT11接口电路;看门狗电路;采集器地址选择开关电路;RS485总线接口电路。图3从机结构框图本系统中从机主要完成以下一系列的工作:接收通过RS485总线下传的命令,启动传感器进行温湿度数据转换命令,上传采集到的温湿度数据命令。2系统软件设计流程图2.1主机软件设计流程图上电初始化发出采集第一个节点数据命令上电初始化发出采集第一个节点数据命令若返回数据无效,则最多发三次采集此节点命令,三次若无效,则采集下一个节点数据有效则显示采集完所有节点后重新从第一个节点开始图4主机软件流程图主机软件编程的基本思路:先对主机上电初始化,包括看门狗电路,并将波特率设置为9600bps,然后主机对第一个节点发出数据采集命令,若返回数据无效,则最多发三次采集此节点命令,三次若无效,则采集下一个节点。当所采集的数据有效时则通过数码管显示出来。当采集完所有节点后重新从第一个节点开始采集。流程图如图4所示。2.2从机软件设计流程图从机软件编程的基本思路:先对从机上电初始化,包括看门狗电路,并将波特率设置为9600bps。然后等待主机数据采集命令,当接收到主机命令后,通过通信协议发送数据给主机,流程图如图5所示。下几章分别介绍上述每个单元软件相关详细设计。3主机软件设计本部分包括数码管显示软件设计、看门狗电路软件设计及与从机通信软件设计。其中,与从机通信软件设计详见第五章RS485主从式通信软件设计中的主机部分。3.1数码管显示软件设计数码管需要显示的数据包括:节点编号两位、温度数据三位和湿度数据三位。上电初始化等待主机数据采集命令接收到命令后判断是否是现有节点发送数据给主机YN上电初始化等待主机数据采集命令接收到命令后判断是否是现有节点发送数据给主机YN图5从机软件流程图3.1.1数码管数据显示方法用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将所有要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独的具有锁存功能的I/O接口,该接口用于笔划段字型代码。这样单片机只要把要显示的字形代码发送到接口电路,该字段就可以显示发送的字形。要显示新的数据时,单片机在发送新的字形码。另一种方法是动态扫描显示。动态扫描方法是用其接口电路把所有显示器的8个笔画段A-H同名端连在一起,而每一个显示器的公共极COM各自独立的受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM段,而这一段是由I/O控制的,由单片机决定何时显示哪一位了。动态扫描用分时的方法轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。静态显示虽然数据显示稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多;动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。按照硬件电路设计,数码管显示采用软件译码的动态扫描方法实现显示。3.1.2显示程序流程图当数字信号送到单片机后,把温湿度数据通过P0口送给数码管,同时,通过P2口输出动态扫描码实现节点温湿度数据的显示。其流程图如图6所示。DIS指向显示缓冲区地址7FHDIS指向显示缓冲区地址7FH先点亮最左边的数码管送位控制信号取显示数据查表取字形码送出一位显示延时1ms指向下一个缓冲单元最右边一位显示吗?位控制号右移一位图6显示程序流程图3.2看门狗电路软件设计本系统采用硬件看门狗,选用X5045。3.2.1X5045工作原理X5045是一种集上电复位、看门狗、电压监控和串行EEPROM四种功能于一身的可编程控制电路,它有助于简化应用系统的设计,减少电路板的占用面积,提高可靠性。(1)上电复位X5045加电时会激活其内部的上电复位电路,从而使RESET引脚有效。该信号可避免系统微处理器在电压不足或振荡器未稳定的情况下工作。当VCC超过器件的限值时,电路将在200ms(典型)延时后释放RESET以允许系统开始工作。(2)低电压检测工作时,X5045对VCC电平进行监测,若电源电压跌落至预置的最小以下时,系统即确认RESET,从而避免微处理器在电源失效或断开的情况下工作。当RESET被确认后,该RESET信号将一直保持有效,直到电压跌到低于1V。而当VCC返回并超过限值达200ms时,系统重新开始工作。(3)看门狗定时器看门狗定时器的作用是通过监视WDI输入来监视微处理器是否激活。由于微处理器必须周期性的触发CS/WDI引脚以避免RESET信号激活而使电路复位,所以CS/WDI引脚必须在看门狗超时时间终止之前受到由高至低信号的触发。3.2.2X5045看门狗软件设计X5045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。看门狗定时器的预置时间是通过X5045的状态寄存器的相应位来设定的。X5045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPR0M的工作设置有关。WD1=0,WD0=0,预置时间为1.4s。WD1=0,WD0=1,预置时间为0.6s。WD1=1,WD0=0,预置时间为0.2s。WD1=1,WD0=1,禁止看门狗工作。硬件看门狗的流程如图7所示。图7看门狗喂狗程序流程图实践证明,采用该电路的数据采集的性能稳定可靠。X5045看门狗电路具有多功能、反应速度快、抗干扰能力强等特点。可以说X5045是一种性价比较高的电路芯片,非常适用于智能仪器、实时控制、微型化等场合。4从机软件设计从机软件设计包括温湿度采集软件设计、看门狗软件设计及与主机通信软件设计。其中看门狗软件设计同主机看门狗软件设计,与主机通信软件设计见第五章RS485主从式通信软件设计中的从机软件设计。4.1温湿度采集软件设计4.1.1SHT11简介SHT11是个芯片,它由标准数字输出的湿度和温度传感器模块组成。该芯片包括两个已校准的微型温度和湿度传感器,14位的A/D转换器,放大器,线性校准电路和数字串行接口。一体化的结构使它具有质量好,反应快,抗干扰,价格低等特点。(1)I/O脚(双向2线接口):串行时钟输入(SCK):串行时钟输入应用于母机与子机(SHT11)之间的同步通讯,串行数据(DATA)串行数据三态针用于芯片读入与输出数据,串行数据必须在下降沿后更新在串行时钟上升沿有效,需要外部上拉电阻使信号升高,在微控制器I/O电路中常使用上拉电阻。初始化传输时,应发出“传输开始”命令。串行数据(DATA):DATA三态门用于数据的读取。DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。数据传输期间,在SCK时钟高电平时DATA必须保持稳定。为避免信号冲突,微处理器应驱动DATA在低电平需要一个外部的上拉电阻将信号提拉至高电平上拉电阻,通常已包含在微处理器的I/O电路中。后一个命令顺序包含三个地址位(目前只支持“000”)和5个命令位,通过DATA脚的ACK位处于低电位表示SHT11正确收到命令。(2)连接复位顺序当使DATA线处于高电平时,触发SCK9次以上(含9次),则必须随后发一个前述的“传输开始”命令。(3)CRC-8校验数字信号的整个传输过程由8bit校验来确保,任何错误数据将被检测到并清除。(4)测量分辨率默认的测量分辨率分别为14bit(温度)、12bit(湿度),也可分别降至12bit和8bit。通常在高速或超低功耗的应用中采用该功能。4.1.2SHT11通信协议SHT11有其固定的协议。SHT11的命令为一个字节,高3位为器件地址位,由于不是标准的I2C总线,SHT11命令的地址位现在只有000可用,低5位为实际的命令代码,如表1所示:表1命令代码命令代码预留000x温度测量00011湿度测量00101读状态寄存器00111写状态寄存器00110预留0101x-1110x软复位、复位接口、清空状态寄存器,即清空为默认值下一次命令前等待至少11ms11110其中热启动命令将使SHT11进行复位,不但使通信接口复位,同时清除状态寄存器内容为默认值;SHT11热启动过程所需时间最少为11ms,所以热启动以后需要等待11ms以上才可以进行下一步操作。在发送每一个命令之前需要有一个传输初始化信号,即一个传输起始序列:由主机拉低DATA线,在DATA为低电平期间,SCK线发送一个高一低一高的序列。在一个字节发送结束之后主机需要释放DATA线,因为在下一个SCK信号周期,SHT11将会向DATA线发送一个握手应答信号表示正确接收了一个字节。SHT11在完成一次湿度或者温度测量之后会向DATA线发送一个低电平信号,通知主机已经可以读取数据在本系统中温度和湿度测量分别设置为14位和12位,SHT11的完成一次12位的AD转换约55ms,14位的AD转换约200ms。在从机对SHT11进行读操作时,类似于写操作的时序,但是读操作有两种情况,在读取SHT11的转换结果、状态寄存器的时候在读完每一个字节之后都需要主机在第9个SCK周期向DATA线发送一个低电平作为应答信号才可以读取接下来的数据;在读取8位CRC校验码时不需要从机发送应答信号。此外,在每次对SHT11操作之前或者通信出现错误时都需要对SHT11进行通信复位,与其建立通信,通信复位时序为:DATA线为高电平,并且维持9个SCK周期以上。4.1.3SHT11通信软件包设计为了保持程序的兼容性,所有关于SHT11的函数都封装在SHT11.c文件中,那么在主程序文件中把这些函数声明为外部函数就可以方便的调用,而且只要在硬件相关变量的定义中稍作改动就可以新的硬件平台上使用。软件包设计主要考虑到了可重用性,编写4个底层函数:从SHT11读取一字节函数chars_read_byte(unsignedcharack),这个函数返回值为所读取的数据,参数ack表示该次读取是否需要主机发送应答信号;向SHT11发送一个字节的函数chars_write_byte(unsignedcharvalue),参数value就是所要发送的数据或者命令;传输初始化函数voids_transstart(void),需要在每次调用s_write_byte函数之前调用通信复位函数voids_connectionreset(void)。下面主要讲述一下软件包中两个最主要的上层函数:测量和计算函数。chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode)为测量函数,该函数所完成的工作就是向SHT11发送测量命令,等待测量结束之后读取测量结果。其中参数表中的mode参数用以确定所要测量的内容,如果要求SHT11测量温度那么在调用该函数的时候mode设为00000011即0x3,测量湿度则设为00000101即0x5。这样可以精简代码,提高代码的效率。转换结果为2字节,p_value存储单元存放高字节,p_value+1存储单元存放低字节,符合int型变量的存储格式,这样可以把两个字节的测试结果作为int型数据处理。从SHT11读取的两字节转换结果并不是最后的温湿度值,还需要经过换算。其中温度的结果通过T=d1+d2*RES_T换算得到的。其中d1为一个与供电电压有关的常量。在5V供电的情况下取-40;d2为一个与AD转换精度有关的常量,在14位情况下取0.01,12位情况下取0.04。RES_T为得到的16位int型温度转换结果。而相对湿度结果也需要经过下面的公式换算:RH=C1+C2*RES_RH+C3*RES_RH2式中C1、C2、C3均为与AD转换精度有关的常量。在12位采样情况下分别为-4,0.0405、-2.8*10-6,在8位采样情况下分别为-4,0.648,-7.2*10-4,RES_RH为从SHT11得到的湿度转换结果,经过上式换算得到的湿度值是在温度为25摄氏度的情况下的值。4.1.4温湿度采集程序流程图编写上述关于SHT11的软件包之后,可以方便供主程序调用,主程序所要做的就是按照SHT11的操作顺序依次调用软件包函数即可。因为在SHT11转换结束之后会自动发送低电平然后接着是数据,所以在程序等待DATA低电平的过程中不能执行其他的操作。所以在如图8的程序流程中,程序禁止中断,而且中间不穿插任何其他操作,以保证对SHT11的操作能够正确完成。开始 开始 读取湿度转换结果通信复位读取湿度转换结果通信复位换算温湿度值N发送温度测量命令换算温湿度值N发送温度测量命令YDATA是否为低YDATA是否为低发送温湿度值读取温度转换结果发送温湿度值读取温度转换结果结束发湿度测量命令结束发湿度测量命令NNYDATA是否为低YDATA是否为低图8温湿度测量程序流程图5RS485主从式通信软件设计各个从机能够连接到RS485总线网络上的前提是从机上RS485总线接口电路的实现。RS485是应远距离数字通信的需要而研究得到的一种支持多节点、远距离和接收灵敏度高的总线标准。该标准是一种采用平衡传输方式的串行接口标准,由于采用平衡发送和差分接收,因此具有很高的抗共模干扰能力。接收器具有很高的灵敏度,能监测到低达±200mV的电压,使传输数据能在千米以外得到恢复。当数据传输速率在100kbps时,传输距离可达1200米若传输速率下降,则传送距离可以更远。该标准允许一对双绞线上一个发送器驱动多个负载设备,因此使用RS485总线仅用一对双绞线就能实现多站联网构成分布式系统。它以设备简单、价格低廉以及能够进行长距离可靠通信等特点,在各种工业现场控制系统中得到了广泛的应用。5.1通信协议为了使主机和从机之间能够正确通信,减少传输错误必须制定双方共同遵守的协议,即通信协议。通信协议如下:数据格式:8个数据位,无校验位,1个停止位通讯速率:9600bps命令格式:主机发送:第1字节:AEH第2字节:温湿度采集点的地址(站址范围:00H─63H)从机回应:第1字节:9XH第2字节:9XH(X=温度十位十进制码)第3字节:9XH(X=温度个位十进制码)第4字节:9XH(X=温度小数十进制码)第5字节:9XH(X=湿度十位十进制码)第6字节:9XH(X=湿度个位十进制码)第7字节:9XH(X=湿度小数十进制码)第8字节:9XH(X=以上7字节低4位累加和)当温度为零下时,第2、3、4字节定义如下:第2字节:9XH(X=负温度符号)第3字节:9XH(X=温度十位十进制码)第4字节:9XH(X=温度个位十进)其相关解释如下:(1)首先使所有从机,处于只接收命令的监听状态。(2)主机先向从机发送命令地址信息,共有8位为地址。主机发送的第一个字节地址可以扩充,这样就可以为单片机内存扩展,以便以后更方便。其中温度为负值时,用补码的方式采集温度湿度的地址。(4)通信的主从机之间必须以相同的帧格式及波特率进行通信。通信协议中,帧格式和波特率的选择,它关系到通信的效率,传输的距离和通信的可靠性,是串行通信中的一个关键参数。本系统采用帧格式为:1位起始位,1位停止位,8位数据位。根据通信距离和通信速率的要求,综合考虑,在实验中,将波特率设置为9600bps。5.2通信规则由于RS-485通讯是一种半双工通讯,发送和接收共用同一物理信道。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下。才能应答。半双工通讯对主机和从机的发送和接收时序有严格的要求。如果在时序上配合不好,就会发生总线冲突,使整个系统的通讯瘫痪,无法正常工作。要做到总线上的设备在时序上的严格配合,必须要遵从以下几项原则:(1)复位时,主从机都应该处于接收状态。另外,在主从机软件上也应附加若干处理措施,如:上电时或正式通讯之前,对串行口做几次空操作,清除端口的非法数据和命令。(2)控制端RE、DE的信号的有效脉宽应该大于发送或接收一帧信号的宽度。在RS-485半双工通讯中,必须对控制信号进行切换。控制信号何时为高电平,何时为低电平,一般以单片机的TI,RI信号作参考。发送时,检测TI是:建立起来,当TI为高电平后关闭发送功能转为接收功能。接收时,检测RI是否建立起来,当RI为高电平后。接收完毕,又可以转为发送。单片机在串行口发送数据时,只要将8位数据位传送完毕,TI标志即建立,但此时应发送的第九位数据位(若发送地址帧时)和停止位尚未发出。如果在这是关闭发送控制。势必造成发送帧数据不完整。如果单片机多机通讯采用较高的波特率,几条操作指令的延时就可能超过2位(或1位)数据的发送时间。问题或许不会出现。但是如果采用较低波特率,单靠几条操作指令的延时远远不够,问题就明显地暴露出来。接收数据时同样如此,单片机在接收完8个数据位后就建立起RI信号,但此时还未接收到第九位数据位(若接收地址帧时)和停止位。所以,接收端必须延时大于2位数据位的时间(1位数据位时间=1,波特率),再作应答,否则会发生总线冲突。(3)总线上所连接的各单机的发送控制信号在时序上完全隔开,为了保证发送和接收信号的完整和正确,避免总线上信号的碰撞。对总线的使用权必须进行分配才能避免竞争,连接到总线上的单机,其发送控制信号在时间上要完全隔离。总之,发送和接收控制信号应该足够宽,以保证完整地接收一帧数据,任意两个单机的发送控制信号在时问上完全分开,避免总线争端。5.3主机通信软件设计主机按照通信协议发出对某一节点的温湿度数据采集命令,软件流程图如图9所示。从第一个节点开始采集,先发出采集第一个节点数据命令,最多发三次,如果还没得到此节点有效数据,将采集下一个节点,直到所有节点都采集完成,然后重新从第一个节点开始。发出采集第一个节点数据采集命令接收等待节点数据是否有效是否够三次采集下一个节点所有节点是否采集完YNY发出采集第一个节点数据采集命令接收等待节点数据是否有效是否够三次采集下一个节点所有节点是否采集完YNYNNY图9主机通信软件流程图5.4从机通信软件设计从机上电后一直处于接收状态,当接收到第一个字节数据即首先判断命令是否有效,无效则丢掉此数据重新接收;有效则接收第二个字节数据。同时判断此字节数据是否与从机地址相同,若不同则丢掉这两个字节数据并重新接收;相同则此为采集第一节点有效命令。此时,从机开始启动温湿度数据采集,同时按照协议格式发送给主机。然后返回等待接收命令状态。整个流程图如图10所示。等待接收第一个字节数据命令是否有效等待接收第一个字节数据命令是否有效接收第二个字节数据地址是否与节点地址相同主机命令对此节点有效,启动数据采集,并将其发送给主机NYYN图10从机通信软件流程图结束语到此为止,基于SHT1x的温湿度采集单元软件设计已经完成。本系统最大的特点是测量准确、结构简单、调试使用方便、性价比高。实验证明,该装置运行可靠,测量误差小,具有很好的应用效果,因此可以广泛应用于工业环境中。毕业设计是大学学习的最后一门课,是对大学所学知识的一个总结和拓展,所以做好了可以是自己学到很多的东西。经过一个学期的学习、思考和设计。我从中学到了好多好多的东西:大学四年的学习得到了很好的总结,理论知识也得到了很好的巩固和升华,理论很好的应用到了实践上,是理论与实践结合,从而提高了我的理论实践水平,进而使我的科技素质得到了提高。在整个设计的过程中除了我的科学知识得到了提高外,我的个人素质也得到了很大的提高。毕业设计要求要有严谨、执着的态度,积极、耐心、细致、谦虚的心态,还要求有较高的团队合作精神。设计期间我遇到了很多的问题,经过自己的查找资料、老师同学的帮助最后都得到很好的解结;这段经历使我学到了和多过于为人处事的知识,这将在我以后的工作生涯中受益匪浅,为我以后的职业生涯打下了很坚实的基础。但是,由于时间问题以及所学知识有限不能完成达到预期所要达到的要求,然而,这给我了一个启示,就是让我懂得以后的学习、生活中应该注意些什么,应该补充些什么知识。 参考文献[1]李朝青.单片机原理与接口技术.北京:北京航空航天大学出版社,1995年7月[2]肖洪兵等编著.跟我学单片机.北京:机械工业出版社,1997年9月[3]王福瑞.单片微机测控系统设计大全.北京:北京航空航天大学出版社1999年7月[4]王忠诚.电子电路用元器件入门教程.北京:电子工业出版社,2006年5月[5]刘义涛.protelDXP设计及应用教程.北京:清华大学出版社,2000年6月[6]何立民.单片机应用文集.北京:北京航空航天大学出版社,1994年6月[7]周兴华编.手把手教你学单片机.北京:北京航空航天大学出版社,1993年1月[8]胡宴如,耿苏燕.模拟电子技术.北京:机械工业出版社,1999年9月[9]齐秋群.MOTOROLA单片机实用技巧集萃.北京:电子工业出版社,1997年2月[10]张明波编.数字电子技术.北京:中国电力出版社,2003年10月[11]何立明.单片机应用系统抗干扰技术.北京:北京航空航天大学出版社,2000年[12]王幸之等编.单片机应用系统抗干扰技术.北京:北京航空航天大学出版社,2000年[13]王秀珍等编.微型计算机A/D,D/A转换接口技术及数据采集系统.北京:清华大学出版社,2004[14]涂时亮等编.单片微机软件设计技术.重庆:科学技术文献出版社重庆分社,2003附录(1)看门狗程序Main(){

WDTRST=0x1E;

WDTRST=0xE1;

//初始化看门狗。

While(1)

{

WDTRST=0x1E;

WDTRST=0xE1;

//喂狗指令

}}(2)温湿度采集程序#include<AT89s53.h>#include<intrins.h>#include<math.h>#include<stdio.h>typedefunion{unsignedinti;floatf;}value;enum{TEMP,HUMI};#define DATA P1_1#define SCK P1_0#definenoACK0#defineACK1#defineSTATUS_REG_W0x06/*00000110*/#defineSTATUS_REG_R0x07/*00000111*/#defineMEASURE_TEMP0x03/*00000011*/#defineMEASURE_HUMI0x05/*00000101*/#defineRESET0x1e/*00011110*/chars_write_byte(unsignedcharvalue){unsignedchari,error=0;for(i=0x80;i>0;i/=2){if(i&value)DATA=1;elseDATA=0;SCK=1;_nop_();_nop_();_nop_(); SCK=0;}DATA=1;SCK=1;error=DATA;SCK=0;returnerror;}chars_read_byte(unsignedcharack){unsignedchari,val=0;DATA=1;for(i=0x80;i>0;i/=2){SCK=1;if(DATA)val=(val|i);SCK=0; }DATA=!ack;SCK=1;_nop_();_nop_();_nop_();SCK=0; DATA=1;returnval;}voids_transstart(void){DATA=1;SCK=0;_nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0;_nop_();_nop_();_nop_();SCK=1;_nop_();DATA=1; _nop_();SCK=0; }voids_connectionreset(void){unsignedchari;DATA=1;SCK=0;for(i=0;i<9;i++){SCK=1;SCK=0;}s_transstart();}chars_softreset(void){unsignedcharerror=0;s_connectionreset();error+=s_write_byte(RESET);returnerror;}chars_measure(unsignedchar*p_value,unsignedchar*p_checksum,unsignedcharmode){unsignederror=0;unsignedinti;s_transstart();switch(mode){caseTEMP :error+=s_write_byte(MEASURE_TEMP);break;caseHUMI :error+=s_write_byte(MEASURE_HUMI);break;default:break; }for(i=0;i<65535;i++)if(DATA==0)break;if(DATA)error+=1;*(p_value)=s_read_byte(ACK);//readthefirstbyte(MSB)*(p_value+1)=s_read_byte(ACK);//readthesecondbyte(LSB)*p_checksum=s_read_byte(noACK);//readchecksumreturnerror;}constfloatC2=+0.0405;//for12BitconstfloatC3=-0.0000028;

温馨提示

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

评论

0/150

提交评论