版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、- II-摘要本设计实现的是单片机温湿度测量与控制系统,通过LED数码管显示所测量的温湿度。系统采用集温湿度传感器与A/D转换器为一体的SHT11芯片,通过单片机处理进行显示,其它模块包括了温湿度测量电路,实时时钟/日期产生电路,超限报警处理电路,通信电路等,对所测量的值进行实时显示和报警处理。本文介绍了基于ATMEL公司的AT89S52系列单片机的温湿度实时测量与控制系统和显示系统的设计,包括介绍了硬件结构原理,并分析了相应的软件的设计及其要点,包括软件设计流程及其程序实现。系统结构简单、实用,提高了测量精度和效率。关键词:单片机、SHT11、LED、6N137、MAX487、温湿度控制Ab
2、stractThedesignandimplementationofmeasurementandcontroltemperatureandhumidityisMCUsystem,throughwhichthetemperatureandhumiditymeasurementLCD.SystemadoptssettemperatureandhumiditysensorandA/DconverterforSHT11chipmicrocontrollerprocessing,throughthatothermodulesincludingreal-timeclock/dateproducecircu
3、itandtheoff-gaugealarmcircuit,thevalueofmeasurementforreal-timedisplayandalarm.ThepaperintroducestheATMELcompanybasedonAT89S52single-chipseriesoftemperatureandhumiditymeasurementandcontrolsystemandreal-timedisplaysystemdesign,includingthehardwarestructureandprinciple,andthecorrespondingsoftwaredesig
4、n,includingthedesignofthesoftwareanditskeyprocessandprocedure.Systemstructureissimple,practical,andimprovethemeasuringprecisionandefficiency.Keywords:MCU,SHT11,LED,6N137,MAX487,temperatureandhumiditycontrol目录TOC o 1-5 h z摘要I HYPERLINK l bookmark2 AbstractI目录II HYPERLINK l bookmark6 第一章绪论1 HYPERLINK
5、l bookmark8 1.1课题目的及意义11.2课题主要研究内容及应用场合1 HYPERLINK l bookmark10 第二章总体方案22.1性能指标和功能描述2 HYPERLINK l bookmark12 2.2总体框图2 HYPERLINK l bookmark14 2.3各部分电路方案对比选择2 HYPERLINK l bookmark16 按键和报警提示选择3 HYPERLINK l bookmark18 第三章硬件和软件设计4 HYPERLINK l bookmark20 3.1主要硬件简介4 HYPERLINK l bookmark22 3.2硬件电路的设计9 HYPER
6、LINK l bookmark26 3.3整体电路图11 HYPERLINK l bookmark28 3.4调试程序及流程图11 HYPERLINK l bookmark30 第四章仿真调试和结论14 HYPERLINK l bookmark32 4.1软件仿真144.2软件功能模块调试以及效果17 HYPERLINK l bookmark34 4.3硬件电路功能模块的测试17调试心得18致谢19 HYPERLINK l bookmark38 参考资料20 HYPERLINK l bookmark40 附录21大鹏温湿度控制仪项目设计报告- -第一章绪论1.1课题目的及意义目前我国农业正处于
7、从传统农业向以优质、高产、高效益为目标的现代农业转化的新阶段。环境控制工程作为农业生物速生、优质、高产的手段,是农业现代化的重要标志。温室大棚中的环境由多个因子组成,如温度、光照、湿度及二氧化碳浓度等。时下,我国温室环境控制目前仍靠人工经验来管理,严重影响了农业生产的效益,阻碍了农业生产的发展,因此,采用先进的人工智能技术,科学、合理地控制影响作物的环境因子,通过计算机控制设备进行环境控制,以便给作物生长创造一个最佳的环境条件,做到既提高产品的质量、产量、经济价值和社会效益,同时尽量降低生产成本,这对温室环境施行自动检测和控制是非常必要的。温室设施的关键技术是环境控制,主要是温湿度的控制,其目
8、的是提高控制及作业精度。温湿度控制仪的发展相当迅速,近几十年内,由于电子行业的迅速发展和集成电路和高集成电路的产生,控制仪走向微型化、多功能化。温湿度传感器在工农业生产、气象、环保、医学等领域得到越来越广泛的应用。温湿度控制仪目前普遍采用的几种方案有采用单总线的DS1820的温度传感器和HS110X相对湿度传感器组成的控制仪和采用集温湿度传感器于一体的SHT11芯片为主要芯片的控制仪。课题主要研究内容及应用场合本课题旨在探索一种基于单片计算机硬件环境下,且具有较高控制精度和较佳品质的控制算法,用于改善温湿度试验箱的控制质量,使其能适合现代科学实验中对温度和湿度的高控制精度和高控制品质的要求。人
9、性化的设计。界限温度值及湿度值能够由用户根据不同植被的各种生长需求由键盘输入并通过显示器显示。能够实时、准确的显示采样温度值与湿度值。通过采集温度及湿度值,准确的判断标准值与当前值之间的差异,及时的启动报警装置(包括警报灯的提示功能以及提示音等)进行报警,并采取相应的方案。能够根据植被在不同时间段内对温湿度的不同要求,用户可随机更改温度及湿度值,以满足用户不同的需求。主要应用于蔬菜大棚、花卉大棚、孵化场等对温度和湿度要求较高的场合,本课题主要针对蔬菜大棚进行探索。第二章总体方案性能指标和功能描述(一)性能指标范围:099C分辨率:1C湿度显示:范围:099%RH分辨率:1%RH电源:DC:35
10、v温度的测量范围和精度范围:099C精度:0.04C(12位)湿度的测量范围和精度范围:099%RH精度:0.03%RH(12位)温度显示:(二)功能描述利用单片机、传感器等可组成一个数字化大棚温湿度监控系统,本控制器可实时测量现场温湿度,并根据温湿度情况和人为设置情况调节现场温湿度,其中人为设置可通过操作按键完成;为了方便了解实地情况,我们采用了远程传输,从而控制农业大棚内的相关参数,当温度显示值低于低温加热下限时,或湿度显示值超过湿加热整定值上限时,通过继电器启动加热器进行加热;当温度显示值超过低温加热上限与湿度显示值低于过湿加热整定值下限都满足时,加热器停止工作;当温度显示值超过排风降温
11、整定值上限时,通过继电器启动排风扇进行排风;当温度显示值低于排风降温整定值下限,排风扇停止工作。从而进一步提高大棚的生产效率。大鹏温湿度控制仪项目设计报告- -2.2总体框图图2-1总体框图各部分电路方案对比选择传感器方案对比选择:方案一:采用单总线的DS1820的温度传感器和HS110X相对湿度传感器组成的控制仪。HS1101(相对湿度传感器)特点:(1)全互换性在标准环境下不需校正(2)长时间饱和下快速脱湿(3)高可靠性与长时间稳定性(4)可用于线性电压或频率输出回炉DB18B20(温度测量)的主要特性:1独特的单线接口方式:当DS18B20与微处理器连接时,仅需要一条数据线即可实现微处理
12、器与DS18B20的双向同信。2使用中不需要任何外围元件3可用数据线供电,电压范围为+3.0+5.5测量范围为-55+125C固有测温分辨率为0.5C通过编程可实现912位的数字读数方式用户可自设定非意失性的报警上下限值7支持多点组网功能,多个DS18B20可以并联在唯一的数据线上,实现多点测温8负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作方案二:采用集温湿度传感器于一体的SHT11芯片为主要芯片的控制仪。SHT11温湿度传感器的主要特性如下:将温湿度传感器、信号放大调理、A/D转换、I2C总线接口全部集成于一芯片(CMOSensTM技术);2可给出全校准相对湿度及温度值输
13、出;3.带有工业标准的I2C总线数字输出接口;4具有露点值计算输出功能;5具有卓越的长期稳定性;6湿度值输出分辨率为14位,温度值输出分辨率为12位,并可编程为12位和8位;7小体积(7.65X5.08X23.5mm),可表面贴装;8具有可靠的CRC数据传输校验功能;9片内装载的校准系数可保证100互换性;电源电压范围为2.45.5V;电流消耗,测量时为550pA,平均为28pA,休眠时为3卩A。由于传统的模拟式湿度传感器(方案一)一般不仅要设计信号调理电路,还要经过复杂的校准和标定过程,其测量精度难以保证。而SHT11是瑞士Sensiri-on公司生产的具有二线串行接口的单片全校准数字式新型
14、相对湿度和温度传感器,可用来测量相对湿度、温度和露点等参数,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。该传感器将CMOS芯片技术与传感器技术融合,为开发高集成度、高精度、高可靠性的温湿度测控系统提供了解决方案。经过对比本课题温湿度测量部分采用方案二显示电路对比选择:方案一:采用LCD1602液晶显示器优点:更为美观,显示更加清晰。缺点:价格高且浪费;编程较复杂方案二:数码管显示特点:硬件设计简单,6个数码管即可,3个数码管显示温度,另外3个用来显示湿度,编程相对较为容易。经过对比本课题显示部分采用方案二2.4按键和报警提示选择按键分为独立式和矩阵式两种按键。矩阵键盘的按键较多,
15、硬件比较复杂,软件设计较复杂;独立键盘的按键少,硬件电路简单,软件设计较容易。在本设计中只需要用五个按键即温、湿度调整切换键,上、下线调整切换键,加减键,复位键。综上所述所以我们采用独立式按键。二极管便宜且效果明显,蜂鸣器应用广泛第三章硬件和软件设计3.1主要硬件简介(1)AT89S52AT89S52单片机是一种低功耗高性能的CM0S8位微控制器,内置8KB可在线编程闪存。该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。通过把通用的8位CPU与可
16、在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。其结构框图如图3-1所示。图3-1AT89S52结构框图AT89S52的主要特性如下兼容MCS51产品8K字节可擦写1000次的在线可编程ISP闪存4.0V到5.5V的工作电源范围全静态工作:OHz24MHz3级程序存储器加密256字节内部RAM32条可编程I/O线3个16位定时器/计数器8个中断源UART串行通道低功耗空闲方式和掉电方式通过中断终止掉电方式看门狗定时器双数据指针灵活的在线编程(字节和页模式)XTAL1PO.O/ADOPO.1/AD1P0.2/A
17、D2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11PSENALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT6P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD二4141二轉含亍倉*3乞i2343O7于于专2222222图3-2AT89S52封装图(2)传感器模块:此模块是整个电路设计的信号采集及初步处理的模块,由温湿度传感器芯
18、片SHT11构成,下面我们对SHT11进行简要介绍:SHT11简介:SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。温湿度传感器SHT11集温度传感器和湿度传感器于一体,因此采用SHT11进行温湿度实时监测的系统具有精度高、成本低、体积小、接口简单等优点;另外SHT11芯片内部集成了14位A/D转换器,且采用数字信号输出,因此抗干扰能力也比同类芯片高。该芯片在温湿度监测、自动控制等领域均已得到广泛应用。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。共主要特点如下:1、高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;2、提供二
19、线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;3、测量精度可编程调节,内置A/D转换器(分辨率为812位,可以通过对芯片内部寄存器编程选择);4、测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;5、封装尺寸超小(7.62mmX5.08mmX2.5mm),测量和通信结束后,自动转入低功耗模式;6、高可靠性,采用CMOSens工艺,测量时可将感测头完全浸于水中。2!SHT113II!NCNCNCNCGNDDATASCKVCC图3-3SHT11外形及管教排列示意图SHT11的引脚功能SHT11温湿度传感器采用SMD(LCC)表
20、面贴片封装形式,接口非常简单,引脚名称及排列顺序如图2-2所示。各引脚的功能如下:脚1和4-信号地和电源,其工作电压范围是2.45.5V;脚2和脚3二线串行数字接口,其中DA-TA为数据线,SCK为时钟线;脚58-未连接。温湿度传感器SHT11将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,其内部结构如图2-3所示。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的A/D转换器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在
21、恒湿或恒温环境巾进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT11内部还集成了一个加热元件,加热元件接通后可以将SHT11的温度升高5C左右,同时功耗也会有所增加。此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(95%RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。温度传感器湿度传感器14位A/D转换器-SCKDATAGND1VCC校准储存器FC总线接口和CRC寄存器图3-4SHT11内部结构图微处理器是通过二线串行
22、数字接口与SHT11进行通信的。通信协议与通用的I2C总线协议是不兼容的,因此需要用通用微处理器I/O口模拟该通信时序。微处理器对SHT11的控制是通过5个5位命令代码来实现的,命令代码的含义如表2-1所列。表3-1SHT11控制命令代码命令代码含义00101测量湿度00011测量温度00111读内部状态寄存器00110写内部状态寄存器11110复位命令,使内部状态寄存器恢复默认值。下一次命令前至少等待11ms发送命令与接收数据:开始传送,一个“传输开始”序列必须发出。其过程为当SCK是高电平时DATA线是低电平,接着SCK给出一个低脉冲,当SCK再次为高电平时DATA再次升高。命令序列由三个
23、地址位(只有.000.是目前支持的)和五个命令位组成。SHT11/71通过第八个SCK时钟的下降沿后的DATA的下拉引脚来指示命令的正确接收。在SCK时钟的第九个下降沿时,DATA线被释放(升为高电平)。传输两个字节的测量数据和一个字节的CRC校验和传输,|C必须通过DATA线的下拉引脚接收每一个字节,所有的计算结果都是首先是最高有效位经过无误的判断。常用命令为“取得温度”“取得湿度”“改变测量方法”“取状态寄存器值”。CRC校验数据位受到后通信结束。如果CRC-8位值没有被使用,控制器可能会在监测数据最低有效位被应答高时而终止通信。当监测和传输结束后该设备自动进入睡眠状态。温度和湿度值的计算
24、:SHT11可通过DATA数据总线直接输出数字量湿度值。该湿度值称为相对湿度,需要进行线性补偿和温度补偿后才能得到较为准确的湿度值。由于相对湿度数字输出特性呈一定的非线性,因此为了补偿湿度传感器的非线性,可按下式修正湿度值:RHlinear=C1+C2*SORH+C3*SORH2式中:RHlinear为经过线性补偿后的湿度值,SORH为相对湿度测量值,Cl、C2、C3为线性补偿系数,取值如表3-2所列。表3-2湿度线性补偿系数SOrhC1C2C312bit-40.0405-2.8*10-68bit-40.648-7.2*10-4由于温度对湿度的影响十分明显,而实际温度和测试参考温度25C有所不
25、同,所以对线性补偿后的湿度值进行温度补偿很有必要。补偿公式如下:RHtrue=(TC-25)*(tl+t2*SORH)+RHlinear式中:RHtrue为经过线性补偿和温度补偿后的湿度值,T为测试湿度值时的温度(C),tl和t2为温度补偿系数,取值如表3-3所列。表3-3湿度值温度补偿系数SORHt1t212bit0.010.000088bit0.010.00128微处理器采用二线串行数字接口和温湿度传感器芯片SHT11进行通信,所以硬件接门设计非常简单;然而,通信协议是芯片厂家自己定义的,所以在软件设计中,需要用微处理器通用I/O口模拟通信协议。3.2硬件电路的设计传感器电路的设计SHT1
26、1通过二线数字串行接口来访问,所以硬件接口电路非常简单。需要注意的地方是:DATA数据线需要外接上拉电阻,时钟线SCK用于微处理器和SHT11之间通信同步,由于接口包含了完全静态逻辑,所以对SCK最低频率没有要求;当工作电压高于4.5V时,SCK频率最高为10MHz,而当工作电压低于4.5V时,SCK最高频率则为1MHz。硬件连接如图2-4所示。图3-5SHT11与AT89S52之间硬件连接图复位电路的设计复位电路的工作原理是:单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后,5V的电通过电阻给电容进行充电电容两端的电会由0V慢慢的升到4V左右(此时间很短一般小于0
27、.3秒),RC构成的微分电路在上电瞬间产生一个微分脉冲,其宽度大于两个机器周期,89C51将复位。正因为这样,复位脚的电由低电位升到高电位,引起了内部电路的复位工作,RST端电压慢慢下降,降到一定电压值以后,即为低电平,单片机开始正常工作(这是单片机的上电复位,也叫初始化复位);当按下复位键时,电容两端放电,电容又回到0V了,于是又进行了一次复位工作(这是手动复位原理)显示电路部分显示部分由数码管,三极管,上拉电阻构成Q15k5151D1U11415kQ2PNF87654321F1.0F3.0/RXD10图3-7显示部分电路图765432F1F1F1F1F1F1Q3FNFQ4FNFR1451R
28、R1R5|_51RF3.7/FDJ7F3.6/WR16F35/tF34/TF3.3/INFTf2F3.2/INr0R4R8节R1RI1R12J1K1K1KR91K超限处理部分此部分电路是由3个发光二极管和一个蜂鸣报警器构成,分别是D2、D3和D4,蜂鸣器接单片机的P1.0口,发光二极管与单片机的连接部分如图3-8所示。D2、D3、D4分别代表着声音、电机、加热、一旦传感器测定的温湿度超过设定的限额,就会产生不同的发光反应,起警示作用,同时蜂鸣报警器连续发出“嗡”的声音DATL?SHT1加热图3-8超限处理电路图3-9整体电路图3.3整体电路图调试程序及流程图(一)主程序流程图(二)按键子程序流
29、程图模式键再次按下?(三)按键子程序key()if(set&setkey)setkey=0;if(setbz_l)setbz_l=0;setbz_h=0;elseif(!setbz_h)setbz_h=1;elsesetbz_h=0;setbz_l=1;if(!set)setkey=1;第四章仿真调试和结论4.1软件仿真Proteus简介:Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动
30、的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等。Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评为最好产品一“TheRoutetoPCBCAD。Proteus产品系列也包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模
31、型来对设计进行交互仿真。其功能模块:一个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARESPCB设计。PROSPICE仿真器的一个扩展PROTEUSVSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型。支持许多通用的微控制器,如PIC,AVR,HC11以及8051.最新支持ARM交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘,I2C,SPI器件强大的调试工具,包括寄存器和存储器,断点和单步模式IARC-SPY和KeiluVision2等开发工具
32、的源层调试应用特殊模型的DLL界面-提供有关元件库的全部文件最新版支持非常丰富仿真元件共7000多种,还有很多第三方模型。如MMC卡,以太网卡,ATA硬盘,麦克风,等等。KEILC51编译器简介1.8051开发工具KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2IDE可为它们提供单一而灵活的开发环境。uVision2集成开
33、发环境项目管理工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”开发工具选项可以对应目标,组或单个文件。uVision2包含一个器件数据库(devicedatabase),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extradatapointer)或者加速器(mathaccelerator)的特性。uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。集成功能uVi
34、sion2的强大功能有助于用户按期完工。集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。文件寻找功能:在特定文件中执行全局文件搜索。工具菜单:允许在V2集成开发环境下启动用户功能。可配置SVCS接口:提供对版本控制系统的入口。PCLINT接口:对应用程序代码进行深层语法分析。Infineon的EasyCase接口:集成块集代码产生。Infineon的DAVE功能:协助用户的CPU和外部程序。DAVE工程可被直接输入uVision2。第三部分编辑器和调试器源代码编辑器uVision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行
35、和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。断点uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行.在属性框(attributescolumn)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。调试函数语言uVision2中,你可以编写或使用类似C的数语言进行调试。内部函数:如printf,memset,rand及其它功能的函数。信号函数:模拟产生CPU
36、的模拟信号和脉冲信号(simulateanaloganddigitalinputstoCPU)。用户函数:扩展指令范围,合并重复动作。变量和存储器用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整:当前函数的局部变量用户在两个不同watch窗口页面上的自定义变量堆栈调用(callstack)页面上的调用记录(树)(calltree)不同格式的四个存储区C51编译器KEILC51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。存储器和特殊功能寄存器的存取C51编译器可以实现对8051系列所有资源的操作SFR的存取由sfr
37、和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字一at还能把变量放入固定的存储器存储模式(大,中,小)决定了变量的存储类型。连接定位器支持的代码区可达32个,这就允许用户在原有64KROM的8015基础上扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。中断功能C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。灵活的指针C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何
38、变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需1一2字节,因此,指针存取非常迅速。调试方法和效果1仿真调试工具:编程软件keil和protues仿真;实物调试工具:万能板搭建的电路;调试思路、方法:根据课题的需要达到的效果和性能指标进行分析(2)可以适当的参考网上程序,对其修改或者根据自己的情况编写程序;在keil中编译通过;(3)根据所需要的元器件在protues连接硬件图;(4)联机或者生成HEX文件调试修改程序,使得仿真效果尽量的完美;(5)烧制在万能板上,调整程序;注意:程序是否可以运行稳定软件功能模块调试以及效果根据动态扫描的原理,首先将硬件
39、电路连好;再简单的编写一下测试程序联机或者生成HEX文件进行调试。调试过程根据可能出现问题进行程序的修改和硬件的变动;首先要保证每个功能模块的正常工作显示部分:(问题1:数码管不亮,可能是段码位码和所选的不匹配;问题2:闪烁,是显示时间不对问题3:错位,移位方向或者初始值错误);CPU部分:由于仿真中at89s52不需要像硬件实物那样连接,所以基本上不需要调试;传感器部分:SHT11在protues可以实现近似实物的仿真,在虚拟调试的状态下,在view菜单的watch&callstackwindow中观察温湿度变量的测量值和测量精度。按键部分:常态下为高电平,按下时所接的端口可以检测到低电平;
40、报警部分:蜂鸣器:给所接的端口一个低电平蜂鸣器可以响;指示灯:同上的方法给出低电平,灯亮即可;在确保每部分功能都可以实现,最后进行统调。观察最后的结果,一部分一部分检查,修改程序,达到仿真效果;仿真效果图:见附图二硬件电路功能模块的测试(一)CPU部分:硬件电路中cpu的好坏尤为重要,所以首先对cpu进行调试;调试过程:确保电路焊接完好,并通过万用表检查是否出现短路或断路的情况;2将准备好的HEX文件(可以是置某个端口为低电平,用万用表检测)烧制进cpu;3如果没有出现预期的效果,需再次检查硬件电路,如芯片的使能端EA,复位端reset等是否连接正确,知道可以达到预期效果,烧制成功。(二)显示
41、部分:显示数据要正确,不闪烁,亮度适中(一般段码:470Q位码4.7KQ);调试过程:确保电路焊接完好,并通过万用表检查是否出现短路或断路的情况;编写简单测试程序,如“00000000”或“12345678”,烧制程序;先检查每个段码是否都可以正常工作,然后在检查位码;是否出现闪烁的情况,然后对动态扫描的时间进行调整;(三)传感器(shtil)测试和显示部分的统调:传感器焊接的好坏直接影响着整个控制器的工作,所以要求比较高。调试过程:1把测试程序烧制进去,观察显示情况;显示数据是否正确,误差多大(观察变量的内存是否正确?对程序进行修改;再对硬件电路进行测量检查);温湿度变化后显示的数据能否及时
42、更新;(四)统调:确保硬件对应软件连接正确同时其它元器件都可以正常工作;4.4调试心得软件仿真调试过程:(一)锻炼自己对程序理解能力,同时平时的C语言知识点得到了应用,对C的认识更加透彻、深入(比如:程序编译时出现错误、警告时应该如何修改,出现的原因有哪些,经过长期的积累便会从容应对,节省时间);(二)在网上搜索一些自己需要的程序,参考别人程序时能够理解,就可以变成自己的东西;(三)在keil如何看变量内存,必须在模拟仿真条件下;(四)在protues硬件仿真图中可以简单的了解一些硬件知识,为实物奠定一些必要的基础;(五)联机调试:程序编译通过了,仿真刚开始基本都是有些问题,需要耐心的调试才行
43、;(这是一个积累的过程,遇到的错误越多,学到的也相应更多。(六)硬件调试和整机调试:(一)首先要确保每个功能模块能够正常工作,再烧制一些简单测试程序,整机是否可以实现此功能;(测试测序必须尽量的简单,比如是让某个口赋值变为低电平,这样才能最快检测出问题);(1)CPU(AT89s52)的调试:第一步:简单检查元器件的焊接,是否出现明显短路、断路情况和重要的元器件型号是否正确等;第二步:将准备好的测试程序生成HEX文件并烧制进芯片;第三步:若烧制不成功,对照画的焊接连接图再次检测硬件电路;若烧制成功,能不能实现复位和测试程序的功能;(2)数码管显示的调试:第一步:简单检查元器件的焊接,是否出现明
44、显短路、断路情况,数码共阴还是共阳,三极管驱动,段码、位码电阻的选择是否合适;第二步:烧制检测程序,检测数码管段码和位码是否一致,亮度是否适中等;第三步:根据测试程序显示出来的问题,用万用表对电路进行检查,直到可以正常工作;SHT11温湿度传感器测试的调试:SHT11的测试是整个项目最关键的部分,温湿度数据显示是否正确,精度如何,数据能否根据周围温湿度的变化及时更新,这都需要一个个去解决的;动态显示可能需要解决的问题:闪烁,位码是否对应,数据的正确性和精度(如小数点的解决方法&07f等)其他周围元器件的调试:蜂鸣器:三极管驱动,以及基极电阻的选择;红绿指示灯:限流电阻300Q即可;展望:需要解
45、决的使显示精度的问题;可以具体实现对控制电路控制;用RS485进行通讯,上传服务器;将温湿度测量仪形成一个系统,在模拟条件下可以实现;致谢本次课题研究是在我的老师井新宇老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。井老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向井老师致以诚挚的谢意和崇高的敬意。我还要感谢在一起愉快的度过毕业课题小组的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本次课题的顺利完成。在课题即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多
46、少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!参考资料参考文献和参考资料要求不小于8条1 HYPERLINK /sensors/humidity/ /sensors/humidity/SHT71数据表格和信息SpasovG.,KakanakovN。CGI-基于温湿度监测的分散式嵌入式系统,CompSysTech!-04,17-18June2004,Rousse,Bulgari温湿度传感器SHT11数据手册(中文)版E2戴佳.51单片机C语言应用程序设计实例精讲沙占友.集成化智能传感器原理与应用M.北京:电子工业出版社.孟臣
47、,李敏.12c总线数字式温湿度传感器SHTll及其在单片机系统的应用I-J.国外电子元器件,2004(3):5054.Proteus,KEILC51中文使用说明附录(一)源程序#include#include#include#include#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlong#defineTEMP_ML0 x03#defineHUMI_ML0 x05unsignedcharerror;unsignedcharack;unsignedchartemp_h;unsignedchartemp_LL
48、;unsignedintxianzhi_t=0;unsignedintxianzhi_h=0;ucharsetzhi_h,setzhi_l;bitsetbz_h,setbz_l,setkey;/00000011温度命令/00000101温度命令/全局应答变量/温度显值/湿度显值/设定温度的上下线和设置标志sbitDATA二P2飞;/数据sbitSCK二P27;/时钟sbithot二P20;/加热sbitmotor二P2l;/电机sbitspeek二P22;/声音sbitset二POO;/设置sbitsetup二POl;/设置+sbitsetdown二P02;/设置-sbittpwei二P36;
49、sbitgwei二P3“5;sbitswei二P34;sbithpwei二P33;sbitbwei二P32;sbitqwei二P31;unsignedcharcodedispcode二0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90;/共阳/读一个字节返回应答信号/释放数据总线/位移8位charread()unsignedchari,val=O;temp_LL=O;temp_h=O;DATA=l;for(i=Ox8O;iO;i/=2)SCK=l;/上升沿读入if(DATA)val=(val|i);SCK=0;DATA=0;S
50、CK=1;_nop_();_nop_();_nop_();SCK=0;DATA=1;temp_h=val;val=0;DATA=1;for(i=0 x80;i0;i/=2)SCK=1;if(DATA)val=(val|i);SCK=0;DATA=1;SCK=1;_nop_();_nop_();_nop_();SCK=0;DATA=1;temp_LL=val;returnval;charwrite(unsignedcharvalue)unsignedchari;ack=0;for(i=0 x80;i0;i/=2)if(i&value)DATA=1;elseDATA=0;SCK=1;_nop_()
51、;_nop_();_nop_();SCK=0;DATA=1;SCK=1;if(DATA=1)ack=1;SCK=0;returnack;/确定值/读应答信号,有应答为1,为应答为0通过CPU下拉为应答/第9个脉冲/pulswithapprox.5us/释放数据总线/低8位/释放数据总线/位移8位/上升沿读入/确定值/不需要应答通过CPU下拉为应答/第9个脉冲/pulswithapprox.5us/释放数据总线/写一个字节返回应答信号/释放数据总线/写入值/上升沿写入/延时/释放数据总线/第9个脉冲/error=1表示没有应答voidstart_sht11(void)DATA=1;SCK=0;_
52、nop_();SCK=1;_nop_();DATA=0;_nop_();SCK=0;_nop_();_nop_();_nop_();SCK=1;_nop_();DATA=1;_nop_();SCK=0;voidsht_rest(void)unsignedchari;DATA=1;SCK=0;for(i=0;i9;i+)SCK=1;SCK=0;start_sht11();delay(inti)while(-i);xianshi()intabcd=0,low=0;inti;for(i=0;i1;i+)/启动/数据为1,SCK=0/第一个脉冲/数据跌落/完成一个脉冲/再一个脉冲/数据变为1/完成该脉
53、冲/复位/数据为1时钟为0/9个脉冲为复位/启动/延时/显示/送湿度值abcd=xianzhi_h;gwei=1;swei=1;bwei=1;qwei=1;P1=dispcodeabcd/100;qwei=0;delay(40);qwei=1;abcd=abcd%100;P1=dispcodeabcd/10&0 x7f;bwei=0;delay(40);bwei=1;P1=dispcodeabcd%10;hpwei=0;delay(40);hpwei=1;if(setbz_hsetbz_l)if(setbz_h)abcd=setzhi_h;P1=dispcodeabcd/10;swei=0;delay(40);swei=1;P1=dispcodeabcd%10;gwei=0;delay(40);gwei=1;P1=0 xdc;tpwei=0;delay(40);tpwei=1;if(s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 样本土地征用协议书示范
- 大学生毕业实习就业协议书模板
- 2024年商铺房屋买卖合同范本
- 新型连锁商品供贷合同书
- 建筑项目承包合同模版
- 产品责任保险合同条款全新解读
- 挡土墙工程设计施工总包合同
- 房屋建造安全协议
- 试用期劳动合同维权宝典
- 快递承包合同的格式与内容
- 临战转换措施
- 2020年滴滴出行行程报销单
- GB/T 8888-2014重有色金属加工产品的包装、标志、运输、贮存和质量证明书
- 远离赌博赌博危害教育讲座PPT模板(推荐)
- DB51T 2968-2022 经济开发区安全风险评估导则
- 社会网络分析课件
- 小学生学习兴趣和习惯培养课件
- 保安公司客户满意度调查表
- 课间安全教育主题班会课件
- 民法典 婚姻家庭编课件
- 电气工程及其自动化专业人才需求调研报告(新)5100字
评论
0/150
提交评论