“京信杯”电子创新设计大赛--远程温湿度测量系统

合集下载

温湿度检测仪的设计报告

温湿度检测仪的设计报告

报告成绩电子电路综合实验设计报告设计题目:温湿度检测仪的设计学生姓名:学号:专业年级:指导教师:起止日期:2016年5月—2016年6月电气与信息工程学院2016年6月19日目录1 目的与意义---------------------------------------------------------------------------------------------- 12 设计要求------------------------------------------------------------------------------------------------- 13 方案设计------------------------------------------------------------------------------------------------- 13.1 方案一-------------------------------------------------------------------------------------------- 13.2 方案二------------------------------------------------------------------------------------------ 24 系统硬件设计------------------------------------------------------------------------------------------- 24.1 STC89C52主控电路--------------------------------------------------------------------------- 34.2 DTH11温湿度检测电路 ---------------------------------------------------------------------- 44.3 LCD1602液晶屏显示电路 ------------------------------------------------------------------- 55 系统软件设计------------------------------------------------------------------------------------------- 65.1 主程序程序流程图 ---------------------------------------------------------------------------- 65.2 温湿度检测程序 ------------------------------------------------------------------------------- 25.3 LCD1206显示程序 ---------------------------------------------------------------------------- 96 系统测试结果与分析-------------------------------------------------------------------------------- 116.1系统测试结果 -------------------------------------------------------------------------------- 116.2 系统结果分析 -------------------------------------------------------------------------------- 117 总结 ----------------------------------------------------------------------------------------------------- 11参考文献 -------------------------------------------------------------------------------------------------- 11附录 -------------------------------------------------------------------------------------------------------- 12附录A 系统实物图 ----------------------------------------------------------------------------- 12附录B 系统主程序 ------------------------------------------------------------------------------ 121 目的与意义温湿检测在仓库管理、生产制造、气象观测、科学研究、国防军事以及日常生活中有广泛的应用,传统的模拟式温湿度传感器一般都要设计信号调理电路并需要经过复杂的校准和标定过程,因此测量精度难以保证,且在线性度、重复度、互换性、一致性等方面往往不尽人意。

电子设计大赛报告

电子设计大赛报告

电子设计大赛报告电子设计大赛报告我们参加了一场电子设计大赛,我们团队的项目是一个智能家居系统。

我们团队由五个成员组成,分别负责项目的不同方面,包括硬件设计、软件开发和系统集成等。

我们设计的智能家居系统主要包括以下几个模块:温湿度监测模块、光照感应模块、声控模块、红外遥控模块和智能插座模块。

温湿度监测模块通过一个温湿度传感器实时监测室内的温湿度情况,并将数据发送到中央控制器。

中央控制器根据室内温湿度情况来控制空调系统,实现室内温度的自动调节。

光照感应模块通过一个光敏电阻感应室内光照情况,并将数据发送到中央控制器。

中央控制器根据室内光照情况来控制灯光系统,实现室内光照的自动调节。

声控模块通过一个声控传感器感应室内的声音,并将声音信号发送到中央控制器。

中央控制器根据室内声音情况来控制音响系统,实现室内声音的自动调节。

红外遥控模块通过一个红外遥控传感器接收红外遥控信号,并将信号发送到中央控制器。

中央控制器根据接收到的信号来控制电视、空调等家电设备。

智能插座模块是一个带有Wi-Fi模块的插座,用户可以通过手机APP控制插座的开关状态,实现家电设备的远程控制。

在进行项目设计的过程中,我们遇到了一些挑战。

首先是硬件设计方面的挑战,包括传感器的选型和电路的设计。

我们花了很多时间研究不同的传感器,并选择了性能稳定、响应快速的传感器。

对于电路设计,我们进行了多次仿真和调试,以确保电路的稳定性和可靠性。

其次是软件开发方面的挑战,包括系统的架构设计和代码的编写。

我们采用了分层架构的设计方式,将不同的模块分割成独立的子系统,并通过中央控制器进行集成和协调。

对于代码的编写,我们注重代码的可读性和可维护性,采用了面向对象的设计思想,使得代码结构清晰、易于理解和修改。

最后是系统集成方面的挑战,包括不同模块之间的通信和协作。

我们使用了串口通信和无线通信等方式,实现了不同模块之间的数据传输和控制。

我们还进行了大量的测试和调试,以确保整个系统的稳定性和可靠性。

电子竞赛—具有语音功能的水温控系统

电子竞赛—具有语音功能的水温控系统

历届全国大学生电子竞赛SPCE061A 实现方案目录具有语音功能的水温控制系统 (3)摘要..............................................................................................................................3 一、方案设计与论证...................................................................................................4 二、系统硬件电路设计 (4)2.1电路方框图及说明............................................................................................4 2.2各部分电路设计...............................................................................................5 三、软件设计 (9)3.1PID 控制算法介绍.............................................................................................9 3.2程序结构图.....................................................................................................11 3.3主程序流程图.................................................................................................12 3.4中断流程图.....................................................................................................13 3.5测试方法和测试结果......................................................................................14 四、总结.....................................................................................................................14 五、参考资料. (14)历届全国大学生电子竞赛SPCE061A 实现方案具有语音功能的水温控制系统摘要本系统采用凌阳十六位单片机SPCE061A 实现温度控制,温度信号由PT1000和电压放大电路提供。

第八届电子设计竞赛之无线温度遥测系统报告

第八届电子设计竞赛之无线温度遥测系统报告

HEFEI UNIVERSITY第八届电子设计竞赛设计报告题目无线温度遥测系统(C题)成员何义10电气六班1005076019 成员邓华青10电气六班1005076036 成员姜潇10电气六班10050760352012年2 月27日目录摘要: ....................................................................................................................................... - 1 - 1引言..................................................................................................................................... - 1 - 2 系统设计方案 ...................................................................................................................... - 1 -2.1设计思想............................................................................................................................................ - 1 -2.2 可行性方案....................................................................................................................................... - 2 -2.3 系统组成模块................................................................................................................................... - 4 -3 技术路线 ............................................................................................................................. - 6 - 4各模块设计........................................................................................................................... - 9 - 4.1系统硬件电路设计.. (9)4.1.1温度数据发射电路........................................................................................................................ - 9 -4.1.2温度数据接收电路...................................................................................................................... - 11 -4.1.3温度数据测量电路...................................................................................................................... - 11 - 4.2系统软件设计 . (12)5电源部分............................................................................................................................ - 13 - 6电路原理图......................................................................................................................... - 14 - 7 器材选择方案 .................................................................................................................... - 16 - 8总结................................................................................................................................... - 18 - 9 参考文献 ........................................................................................................................... - 20 -附录1 单片机最小系统原理示意图........................................................................................ - 21 -摘要:文章介绍了一种基于单片机STC89C52为控制核心的的遥控遥测系统的设计,根据设计其温度传感器DS18B20采用单总线协议、直接将被测环境的温度转化成数字信号的特点,实现了环境温度的实时监测和无线传输数据、显示被测温点数据温度及声光上限报警。

温度测量及湿度检测

温度测量及湿度检测

智能测控系统课程大作业作业题目:环境温度测量及湿度检测学院名称:电气工程学院专业班级:测控1303班****:***学号: 0320完成时间:2016-6 ****:**目录1 课程大作业内容课题设计背景随着科技的发展对对检测技术要求的不断增高,迫使新材料的开发及寻找检测能力的不断提升;传感器的种类与测量精度以及测量稳定性也发生了巨大的变化,从最初的接触式测温到非接触式测温,膨胀式、热电阻式以及热电偶式测温,使温度检测领域得到了快速发展;再加上单片机技术的不断发展,测量检测变得更加方便;温湿度传感器除电阻式、电容式湿敏元件之外,还有电解质离子型湿敏元件、重量型湿敏元件利用感湿膜重量的变化来改变振荡频率、光强型湿敏元件、声表面波湿敏元件等;湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长期暴露在待测环境中,很容易被污染而影响其测量精度及长期稳定性;在公共工作场所为了达到让人感到舒适的环境温度及湿度,往往需要对温度、湿度进行检测已达到最佳的效果;本课题以ds18b20温度传感器为温度检测器件,设计了一个对单点温度实时检测的单片机温度检测系统;以bsp_dht11湿度传感器为湿度检测器件;课题设计的意义1、该设计具有以下优点:制作简单,便于使用,价格便宜,稳定可靠,功耗低省电;2通过设计与制作可以达到这些目的:熟悉MSP430单片机技术的应用范围;掌握MSP430单片机编程的特点,提高实践操作能力能够在制作过程中发现并改正错误;达到一定的解决问题的能力;提高了动手的能力;设计目标使用ds18b20温度传感器测量环境温度并完成A/D转换;bsp_dht11湿度传感器测量湿度,把数据发送到MSP430中进行转换用LCD进行显示;2 系统设计方案系统设计方案的选择是决定设计作品完整度与精度的重要前提,一个好的作品的完成需要选择比较多种方案,从多种方案中选择最优方案,才能使设计作品精度更高;本次设计主要从实用性,稳定性,精度等级,可靠性,经济性等方面进行考虑;在完成本次课程设计要求、目的的情况下尽可能的准确和经济的条件下进行选择;温湿度传感器选型与论证本设计采用测量精度高,性能稳定可靠的ds18b20温度传感器作为温度检测器件和bsp_dht11温湿度传感器作为湿度监测器件;尽管bsp_dht11也能够检测出环境温度,但该传感器的测温范围窄,精度不够,和要求测量的环境较为苛刻;因此选用较为精确的ds18b20来测量温度;该传感器具有适应性强检测迅速,受环境影响较小;且对温度可以接触和非接触测量均可;而其他传感器价格和测量条件较为苛刻因此不建议选取;显示屏的选择与论证方案一:采用LCD1602显示;LCD1602是一种专门用于显示字母、数字、符号等点阵式LCD,能够同时显示16x02即32个字符;它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用;由于它不能显示汉字,而温度湿度的显示需要显示汉字,所以此方案不可行;方案二:采用LCD5110显示;LCD5110采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,支持多种串行通信协议,传输速率高达4Mbps,可全速写入显示数据,无等待时间;它由84x48的点阵LCD组成,可显示汉字和字符;LCD5110工作电压,正常显示时工作电流200uA以下,而且接口简单,体积小便于安装携带,速度快,价格便宜;所以采用此方案,显示模块选择用LCD 5110;但屏幕色彩较暗,在光线较强的地方无法清晰的辨别;方案三:采用TFT彩屏显示;TFT-LCD采用低压应用,低驱动电压,固体化使用安全性和可靠性提高;平板化,又轻薄,节省了大量原材料和使用空间;低功耗,它的功耗约为CRT显示器的十分之一,反射式TFT-LCD甚至只有CRT的百分之一左右,节省了大量的能源;高亮度,高对比度,高响应速度;无辐射、无闪烁,对使用者的健康无损害;适用范围宽,从-20℃到+50℃的温度范围内都可以正常使用,寿命超过3万小时,且价格便宜因此本次设计采用TFT-LCD作为显示屏;信号采集电路ds18b20是一种64 位只读存储器储存器件的唯一片序列号;高速暂存器含有两个字节的温度寄存器,这两个寄存器用来存储温度传感器输出的数据;除此之外,高速暂存器提供一个直接的温度报警值寄存器TH和TL,和一个字节的配置寄存器;配置寄存器允许用户将温度的精度设定为9,10,11 或12位;TH,TL 和配置寄存器是非易失性的可擦除程序寄存器EEPROM,所以存储的数据在器件掉电时不会消失;ds18b20通过达拉斯公司独有的单总线协议依靠一个单线端口通讯;当全部器件经由一个3态端口或者漏极开路端口DQ引脚在ds18b20上的情况下与总线连接的时候,控制线需要连接一个上拉电阻;在这个总线系统中,微控制器主器件依靠每个器件独有的64位片序列号辨认总线上的器件和记录总线上的器件地址;由于每个装置有一个独特的片序列码,总线可以连接的器件数目事实上是无限的;ds18b20的另一个功能是可以在没有外部电源供电的情况下工作;当总线处于高电平状态,DQ与上拉电阻连接通过单总线对器件供电;同时处于高电平状态的总线信号对内部电容Cpp充电,在总线处于低电平状态时,该电容提供能量给器件;这种提供能量的形式被称为“寄生电源”;作为替代选择,ds18b20同样可以通过VDD引脚连接外部电源供电;如下图s18b20的工作原理图用户单片机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发送响应信号,送出 40bit 的数据,并触发一次信采集;信号发送如图所示;数据时序图bsp_dht11时序原理图供电电源的选择本设计采用标准USB数据线5V为该设计供电;3 硬件设计硬件电路的设计是该系统重要的部分,是系统运行的前提,如果硬件设计的科学合理就能大大增加该系统功能的稳定性,可靠性;系统软件的设计是以硬件设计为前提,硬件设计是单片机高效工作的前提与重要保障,但是只有软件和硬件都正确,并且软件与硬件能够相互兼容、协调工作才能使系统工作达到我们想要的效果;本系统的硬件设计部分主要包括传感器电桥电路设计、运算放大电路的设计、单片机最小系统设计下面进行详细介绍;结构框图本设计采用均采用电源供电,温度传感器和温湿度传感器采集到数据后发送到单片机,单片机根据接收到的数据进行处理后再LCD屏幕上显示;如图位系统结构框图;图系统结构框图温度信号采集电路温度信号的获取关系到后续电路设计的难度,因此温度信号是获取是本设计的关键;ds18b20的简介:独特的单线接口仅需一个端口引脚进行通讯每个器件有唯一的64 位的序列号存储在内部存储器中简单的多点分布式测温应用无需外部器件可通过数据线供电;供电范围为到测温范围为-55~+125℃-67~+257℉在-10~+85℃范围内精确度为±5℃温度计分辨率可以被使用者选择为9~12位最多在750ms 内将温度转换为12 位数字用户可定义的非易失性温度报警设置报警搜索命令识别并标志超过程序限定温度温度报警条件的器件与ds1822兼容的软件应用包括温度控制、工业系统、消费品、温度计或任何热感测系统bsp_dht11的简介:DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出;数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位;实际使用时发现小数位都是0,这一步忽略对结果也不造成影响;单片机的最小电路图MSP430g2553简介:MSP430G2553性能参数DIP-20 工作电压范围:~;5种低功耗模式;16位的RISC 结构,指令周期;超低功耗运行模式-230μA;待机模式μA;关闭模式μA;可以在不到1μs的时间里超快速地从待机模式唤醒;基本时钟模块配置:具有四种校准频率并高达16MHz的内部频率;内部超低功耗LF振荡器;晶体;外部数字时钟源;两个16 位Timer_A,分别具有三个捕获比较寄存器;用于模拟信号比较功能或者斜率模数A/D转换的片载比较器;带内部基准、采样与保持以及自动扫描功能的10位200-ksps 模数A/D转换器;16KB闪存,512B的RAM;16个I/O口;这里给出了本次实验的最小电路图最小电路图4 软件设计程序模块本装置主要用到MSP430g2553单片机的IO功能程序设计中主要包括:1.单片机对温度传感器的数据接收模块;2.单片机对温湿度传感器的数据接收模块;3.对LCD屏的显示模块;软件设计流程图图软件流程图5调试本次设计最主要的工作之一就是对系统的调试部分,因为一个测量显示软件的主要功能就是显示正确的结果;开始显示的数据会因为采集的不准确和其他方面的误差导致接收到的数据不能正确表示想要的得到的数据,也可能会因为采集过程出现频繁的错误等问题;因此调试的工作极其重要,在温度传感器的采集过程中经过和标准的温度值的校准,测出了误差的范围和误差的大致规律最后在现实过程中消除了这种误差让温度测量更加准确稳定;在湿度传感器的调试过程中的工作更是复杂,湿度传感器可以返回温度和湿度值,但经过检测返回的温度值与实际的温度值偏差较大,而湿度的计算方法是在该温度条件下的空气中水含量的多少,这就使得测得的温度不准导致湿度不准确,最后查阅资料找到了湿度的测量计算方法;将返回的湿度值加权后再显示出来;这些工作很复杂湿度传感器的工作要求的时序很高就导致在时序配置上要花很大功夫一点不对就不能返回正确的结果屡屡出错;总之调试工作发杂多变;6总结本次设计的东西看起来很简单,好像没有什么技术含量;但当实际操作时想要完美的运行却遇到了重重的困难;因为MSP430是开始接触的单片机,之前也一直没有做过关于它的太多试验;修改驱动显示屏程序也花费了很长时间才将原来51单片机的程序移植过来,结果刷屏与显示与想要显示的位置不符,后来请教同学计算了LCD的显示位置才更改过来;接下来的湿度调试,因为开始找不到bsp_dht11温湿度传感器的原理图就在网上找了关于它的程序结果发现不能用不管怎么更改总是无法返回正确的数值,最后终于找到了关于该传感器的详细资料;发现该传感器的工作要求对时序的要求特别严格,最后精确计算了延时时间并且进行了延时时间的修改才能返回结果;但得到的湿度值与正常的湿度值存在较大的偏差,但没有标准湿度值可以进行比较于是选取了天气预报软件上面公布的湿度值进行校准;因为这次作业选用的是模块化的传感器且传感器对电压的要求不太严格~均可以,为了降低设计设计的复杂度就选取了给单片机供电的电压作为传感器和显示屏的供电电压;本次对单片机的实际制作成东西才感到动手的重要性,和一些看起来简单的东西也许不那么简单;在以后的学习中要增加动手的能力;参考文献1 杨家成.单片机原理与应用及C51程序设计.北京:清华大学出版社,20072 夏路易石宗义.Protel 99se电路原理图与电路板设计教程.北京:北京希望电子出版社,20043 李林功.单片机原理与应用——基于实例驱动和Proteus仿真.北京:科学出版社,20114 皮大能等. 单片机课程设计指导书. 北京:北京理工大学出版社,20105 MSP430单片机C语言应用程序设计实例精讲电子工业出版社附件程序主程序include<>include""include""include""include""include""void CLK_Init void ,0;LCD_ShowString70,68,""; //湿度显示}int main void{WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer unsigned int temp=0,temp1,temp2,temp3;//ucharRH_data_H = 0;P2DIR |= 0x1f;//设置P2为输出方式输出方式P2OUT |= 0X1f;BACK_COLOR=YELLOW;POINT_COLOR=BLUE; //背景色,画笔色CLK_Init;Lcd_Init;LCD_ClearYELLOW;DHT11_IO_Init;showjiemian;while1{temp=Read_Temp;temp1=temp/100;temp2=temp%100/10;temp3=temp%10;LCD_ShowNum56,42,temp1,2;//显示数字LCD_ShowNum80,42,temp2,1;//显示数字LCD_ShowNum88,42,temp3,1;//显示数字DHT11;LCD_ShowNum88,68, ucharRH_data_H,3;delay_ms1000;}}温度采集include<>include""include""void DS18B20_Init void//DS18B20初始化函数{DQ_OUT;DQ_L; //拉低总线delay_us480; //精确延时大于 480usDQ_H; //释放总线delay_us48;DQ_IN;DQ_OUT;DQ_H;delay_us360;}void DS18B20_WriteData u8 dat //写一个字节{u8 i;for i=0;i<8;i++//位计数值{DQ_L; //拉低总线产生写信号delay_us5;if dat&0x01 DQ_H;//此位数据是否为高,是高则将单总线拉高else DQ_L;//是低则将单总线拉低dat>>=1; //准备下一位数据的传送delay_us50;DQ_H; //释放总线,等待总线恢复delay_us8;}}u8 DS18B20_ReadData void//读一个字节{u8 i;u8 dat=0;for i=0;i<8;i++//位计数值{dat>>=1;//右移,准备接受新的数据位DQ_L; //拉低总线产生读信号delay_us5;DQ_H; //释放总线准备读数据delay_us5;//等待5微秒DQ_IN;//配置为输入,开始读取数据位_NOP;if READ_DQ//该位是否为高{dat|=0x80;//是就将此位置高}delay_us50;//等待50微秒DQ_OUT;DQ_H;delay_us5;}return dat;//将读到的一个字节返回}u16 Read_Temp void//读取温度{u16 temp_low,temp_high,d;float c;DS18B20_Init;//初始化,每次写命令都从初始化开始DS18B20_WriteData0xcc; //跳过ROM命令DS18B20_WriteData0x44; //温度转换命令DS18B20_Init;//初始化,每次写命令都从初始化开始DS18B20_WriteData0xcc; //跳过ROM命令DS18B20_WriteData0xbe; //temp_low=DS18B20_ReadData;//读温度低字节temp_high=DS18B20_ReadData; //读温度高字节temp_high<<=8;d=temp_high|temp_low;c=d;d=u16c100;return d; //返回16位变量}湿度采集include""include""include<>unsigned int uchartemp;unsigned charucharT_data_H,ucharT_data_L,ucharRH_data_H,ucharRH_data_L,ucharcheckda ta;unsigned charucharT_data_H_temp,ucharT_data_L_temp,ucharRH_data_H_temp,ucharRH_data _L_temp,ucharcheckdata_temp;void DHT11_IO_Init{P1SEL &= ~BIT0;}void COM void{unsigned char i;unsigned char ucharFLAG;uchartemp=0;P1DIR &= ~BIT0;for i=0;i<8;i++{ucharFLAG=2;while P1IN&0x01&&ucharFLAG++; delay_us30;uchartemp=uchartemp<<1;if P1IN&0x01{uchartemp |= 1;}ucharFLAG=1;while P1IN&0x01&&ucharFLAG++; }}void DHT11void{unsigned char ucharFLAG;P1DIR |= BIT0;//设置为输出口DATA_L;delay_ms20; //>18MSDATA_H;delay_us30;P1DIR &= ~BIT0;if P1IN&0x01{ucharFLAG=1;while P1IN&0x01&&ucharFLAG++;ucharFLAG=1;while P1IN&0x01&&ucharFLAG++;COM;ucharRH_data_H_temp=uchartemp;COM;ucharRH_data_L_temp=uchartemp;COM;ucharT_data_H_temp=uchartemp;COM;ucharT_data_L_temp=uchartemp;COM;ucharcheckdata_temp=uchartemp;uchartemp=ucharT_data_H_temp+ucharT_data_L_temp+ucharRH_data_H_temp+uc harRH_data_L_temp;if uchartemp==ucharcheckdata_temp{ucharRH_data_H=ucharRH_data_H_temp; ucharRH_data_L=ucharRH_data_L_temp; ucharT_data_H=ucharT_data_H_temp; ucharT_data_L=ucharT_data_L_temp; ucharcheckdata=ucharcheckdata_temp; }}else{ucharRH_data_H=12;ucharT_data_H=23;}//P2DIR |= BIT0;}显示include<>include""include""include""u16 BACK_COLOR, POINT_COLOR; //背景色,画笔色void LCD_Writ_Bus char da //串行数据写入{u8 i;for i=0; i<8; i++{if da & 0x80{SDA_H;}else{SDA_L;}SCK_L;da <<= 1;SCK_H;}}void LCD_WR_DATA8char da //发送数据-8位参数{AO_H;LCD_Writ_Busda;}void LCD_WR_DATA int da{AO_H;LCD_Writ_Busda>>8;LCD_Writ_Busda;}void LCD_WR_REG char da{AO_L;LCD_Writ_Busda;}void LCD_WR_REG_DATA int reg,int da{LCD_WR_REGreg;LCD_WR_DATAda;}void Address_set unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2{LCD_WR_REG0x2a;LCD_WR_DATA8x1>>8;LCD_WR_DATA8x1;LCD_WR_DATA8x2>>8;LCD_WR_DATA8x2;LCD_WR_REG0x2b;LCD_WR_DATA8y1>>8;LCD_WR_DATA8y1+32;LCD_WR_DATA8y2>>8;LCD_WR_DATA8y2+32;LCD_WR_REG0x2C;}void Lcd_Init void{//调用一次这些函数,免得编译的时候提示警告CS_H;/ifLCD_CS==0{LCD_WR_REG_DATA0,0;LCD_ShowString0,0," ";LCD_ShowNum0,0,0,0;LCD_Show2Num0,0,0,0;LCD_DrawPoint_big0,0;LCD_DrawRectangle0,0,0,0;Draw_Circle0,0,0;}/REST_H;delayms5;REST_L;delayms5;REST_H;CS_H;delayms5;CS_L; //打开片选使能LCD_WR_REG0x11; //Sleep outdelayms120; //Delay 120ms//------------------------------------ST7735S Frame Rate-----------------------------------------// LCD_WR_REG0xB1;LCD_WR_DATA80x05;LCD_WR_REG0x11;//Sleep exitdelayms 120;//ST7735R Frame RateLCD_WR_REG0xB1;LCD_WR_DATA80x01;LCD_WR_DATA80x2C; LCD_WR_DATA80x2D;LCD_WR_DATA80x01; LCD_WR_DATA80x2C; LCD_WR_DATA80x2D; LCD_WR_REG0xB3;LCD_WR_DATA80x01; LCD_WR_DATA80x2C; LCD_WR_DATA80x2D; LCD_WR_DATA80x01; LCD_WR_DATA80x2C; LCD_WR_DATA80x2D; LCD_WR_REG0xB4; //Column inversionLCD_WR_DATA80x07;//ST7735R Power SequenceLCD_WR_REG0xC0;LCD_WR_DATA80xA2; LCD_WR_DATA80x02; LCD_WR_DATA80x84; LCD_WR_REG0xC1; LCD_WR_DATA80xC5;LCD_WR_REG0xC2;LCD_WR_DATA80x0A; LCD_WR_DATA80x00;LCD_WR_REG0xC3;LCD_WR_DATA80x8A; LCD_WR_DATA80x2A;LCD_WR_REG0xC4;LCD_WR_DATA80x8A; LCD_WR_DATA80xEE;LCD_WR_REG0xC5; //VCOMLCD_WR_DATA80x0E;LCD_WR_REG0x36; //MX, MY, RGB modeLCD_WR_DATA80xC8;//ST7735R Gamma SequenceLCD_WR_DATA80x0f; LCD_WR_DATA80x1a;LCD_WR_DATA80x0f; LCD_WR_DATA80x18;LCD_WR_DATA80x2f; LCD_WR_DATA80x28;LCD_WR_DATA80x20; LCD_WR_DATA80x22;LCD_WR_DATA80x1f; LCD_WR_DATA80x1b;LCD_WR_DATA80x23; LCD_WR_DATA80x37; LCD_WR_DATA80x00; LCD_WR_DATA80x07;LCD_WR_DATA80x02; LCD_WR_DATA80x10;LCD_WR_REG0xe1;LCD_WR_DATA80x0f; LCD_WR_DATA80x1b;LCD_WR_DATA80x0f; LCD_WR_DATA80x17;LCD_WR_DATA80x33; LCD_WR_DATA80x2c;LCD_WR_DATA80x29; LCD_WR_DATA80x2e;LCD_WR_DATA80x30; LCD_WR_DATA80x30;LCD_WR_DATA80x39; LCD_WR_DATA80x3f;LCD_WR_DATA80x00; LCD_WR_DATA80x07;LCD_WR_DATA80x03; LCD_WR_DATA80x10;LCD_WR_REG0x2a;LCD_WR_DATA80x00;LCD_WR_DATA80x00;LCD_WR_DATA80x00;LCD_WR_DATA80x7f;LCD_WR_REG0x2b;LCD_WR_DATA80x00;LCD_WR_DATA80x00;LCD_WR_DATA80x00;LCD_WR_DATA80x7f;LCD_WR_REG0xF0; //Enable test commandLCD_WR_DATA80x01;LCD_WR_REG0xF6; //Disable ram power save mode LCD_WR_DATA80x00;LCD_WR_REG0x3A; //65k modeLCD_WR_DATA80x05;LCD_WR_REG0x29; //Display onLCD_WR_REG0x2C;}//清屏函数//Color:要清屏的填充色void LCD_Clear u16 Color{u8 VH,VL;u16 i,j;VH=Color>>8;VL=Color;Address_set0,0,LCD_W-1,160;for i=0;i<LCD_W;i++{for j=0;j<LCD_H;j++{LCD_WR_DATA8VH;LCD_WR_DATA8VL;}}}//在指定位置显示一个汉字3233大小//dcolor为内容颜色,gbcolor为背静颜色void showhanzi unsigned int x,unsigned int y,unsigned char index {unsigned char i,j;const unsigned char temp=hanzi;Address_setx,y,x+31,y+31; //设置区域temp+=index128;for j=0;j<128;j++{for i=0;i<8;i++{if temp&1<<i=0{LCD_WR_DATAPOINT_COLOR;}else{LCD_WR_DATABACK_COLOR;}}temp++;}}//在指定位置显示一个汉字1616大小//dcolor为内容颜色,gbcolor为背静颜色void showhanzi1unsigned int x,unsigned int y,unsigned char index,u16 p_color,u16 b_color{unsigned char i,j;const unsigned char temp=hanzi1;BACK_COLOR = b_color;POINT_COLOR = p_color;Address_setx,y,x+15,y+15; //设置区域temp+=index32;for j=0;j<32;j++{for i=0;i<8;i++{if temp&1<<i=0{LCD_WR_DATAPOINT_COLOR;}else{LCD_WR_DATABACK_COLOR;}}temp++;}}//画点//POINT_COLOR:此点的颜色void LCD_DrawPoint u16 x,u16 y{Address_setx,y,x,y;//设置光标位置LCD_WR_DATAPOINT_COLOR;}//画一个大点//POINT_COLOR:此点的颜色void LCD_DrawPoint_big u16 x,u16 y{LCD_Fillx-4,y-4,x+4,y+4,POINT_COLOR;}//在指定区域内填充指定颜色//区域大小:// xend-xstayend-ystavoid LCD_Fill u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color {u16 i,j;Address_setxsta,ysta,xend,yend; //设置光标位置for i=ysta;i<=yend;i++{for j=xsta;j<=xend;j++LCD_WR_DATAcolor;//设置光标位置}}//画线//x1,y1:起点坐标//x2,y2:终点坐标void LCD_DrawLine u16 x1, u16 y1, u16 x2, u16 y2{u16 t;int xerr=0,yerr=0,delta_x,delta_y,distance;int incx,incy,uRow,uCol;delta_x=x2-x1; //计算坐标增量delta_y=y2-y1;uRow=x1;uCol=y1;if delta_x>0incx=1; //设置单步方向else if delta_x==0incx=0;//垂直线else {incx=-1;delta_x=-delta_x;}if delta_y>0incy=1;else if delta_y==0incy=0;//水平线else{incy=-1;delta_y=-delta_y;}if delta_x>delta_ydistance=delta_x; //选取基本增量坐标轴else distance=delta_y;for t=0;t<=distance+1;t++ //画线输出{LCD_DrawPointuRow,uCol;//画点xerr+=delta_x ;yerr+=delta_y ;if xerr>distance{xerr-=distance;uRow+=incx;}if yerr>distance{yerr-=distance;uCol+=incy;}}}//画矩形void LCD_DrawRectangle u16 x1, u16 y1, u16 x2, u16 y2 {LCD_DrawLinex1,y1,x2,y1;LCD_DrawLinex1,y1,x1,y2;LCD_DrawLinex1,y2,x2,y2;LCD_DrawLinex2,y1,x2,y2;}//在指定位置画一个指定大小的圆//x,y:中心点//r :半径void Draw_Circle u16 x0,u16 y0,u8 r{int a,b;int di;a=0;b=r;di=3-r<<1; //判断下个点位置的标志while a<=b{LCD_DrawPointx0-b,y0-a; //3LCD_DrawPointx0+b,y0-a; //0LCD_DrawPointx0-a,y0+b; //1LCD_DrawPointx0-b,y0-a; //7LCD_DrawPointx0-a,y0-b; //2LCD_DrawPointx0+b,y0+a; //4LCD_DrawPointx0+a,y0-b; //5LCD_DrawPointx0+a,y0+b; //6LCD_DrawPointx0-b,y0+a;a++;//使用Bresenham算法画圆if di<0di +=4a+6;else{di+=10+4a-b;b--;}LCD_DrawPointx0+a,y0+b;}}//在指定位置显示一个字符//num:要显示的字符:" "--->"~"//mode:叠加方式1还是非叠加方式0//在指定位置显示一个字符//num:要显示的字符:" "--->"~"//mode:叠加方式1还是非叠加方式0void LCD_ShowChar u16 x,u16 y,u8 num,u8 mode{u8 temp;u8 pos,t;u16 x0=x;u16 colortemp=POINT_COLOR;if x>LCD_W-16||y>LCD_H-16return;//设置窗口num=num-' ';//得到偏移后的值Address_setx,y,x+8-1,y+16-1; //设置光标位置if mode //非叠加方式{for pos=0;pos<16;pos++{temp=asc2_1608u16num16+pos; //调用1608字体for t=0;t<8;t++{if temp&0x01POINT_COLOR=colortemp;else POINT_COLOR=BACK_COLOR;LCD_WR_DATAPOINT_COLOR;temp>>=1;x++;}x=x0;y++;}}else//叠加方式{for pos=0;pos<16;pos++{temp=asc2_1608u16num16+pos; //调用1608字体for t=0;t<8;t++{if temp&0x01LCD_DrawPointx+t,y+pos;//画一个点 temp>>=1;}}}POINT_COLOR=colortemp;}//m^n函数u32 mypow u8 m,u8 n{u32 result=1;while n--result=m;return result;}//显示2个数字//x,y :起点坐标//len :数字的位数//color:颜色//num:数值void LCD_ShowNum u16 x,u16 y,u32 num,u8 len{u8 t,temp;u8 enshow=0;num=u16num;for t=0;t<len;t++{temp=num/mypow10,len-t-1%10;if enshow==0&&t<len-1{if temp==0{LCD_ShowCharx+8t,y,' ',0;continue;}else enshow=1;}LCD_ShowCharx+8t,y,temp+48,0;}}//显示2个数字//x,y:起点坐标//num:数值0~99;void LCD_Show2Num u16 x,u16 y,u16 num,u8 len {u8 t,temp;for t=0;t<len;t++{temp=num/mypow10,len-t-1%10;LCD_ShowCharx+8t,y,temp+'0',0;}}//显示字符串//x,y:起点坐标//p:字符串起始地址//用16字体void LCD_ShowString u16 x,u16 y,const u8 p {while p='\0'{if x>LCD_W-16{x=0;y+=16;}if y>LCD_H-16{y=x=0;}LCD_ShowCharx,y,p,0;x+=8;p++;}}void showimage//显示4040图片{int i,j,k;for k=2;k<3;k++{for j=0;j<3;j++{Address_set40j,40k,40j+39,40k+39; //坐标设置for i=0;i<1600;i++{LCD_WR_DATA8imagei2+1; //发送颜色数据LCD_WR_DATA8imagei2;}}。

(通信) “京信杯”创新电子设计大赛获奖结果

(通信) “京信杯”创新电子设计大赛获奖结果

(通信)“京信杯”创新电子设计大赛获奖结果经过为期一周的测试及成绩统计工作,第三届“京信杯”创新电子设计大赛顺利地完成了测评环节。

根据各参赛队伍提交作品的测评情况,本次竞赛共评选出一等奖1队,二等奖3队,三等奖5队,优胜奖10队。

以下是获奖队伍名单:一等奖:高大珩陈二凯刘锐群二等奖:杨钊陈嘉张角秦杰付亮王君龙黄长富高清三等奖:章家鹏周鹏程景彦超贾可赵孝开焦明捷秦阳陈胜华王希刘未洋周末杨慧然王阳卢石海王晏清优胜奖:户孝围范亚浩程曦韩珂李元熙何兵赵文扬艾雪斐李华繁朱迪曾明栋刘维飞伍彦坤谢鹏陈天奇左余典段衍东胡清松王佳王佳戴正昱冯一于文龙彭思远成功参与奖:黄文龙王龙张江波余波张雯霁李翔鹏郑学良胡周姹陈田川祖东辉张婷徐丹谢济全余具根罗洁梅何锡明高亚天谭述江陈婉刘畅罗鹏飞李瑄孙禄钊周律陈通汪意焙刘校瑄苏东泉张元黎胡睿杰张晓泉洪杰宋晓雪王松尹项托金钲韬陈操李论桂一鸣谢义敏杨倬波丁海强施友岚马宗琳陈绍斌林志豪邱纪亮吴丹烨郝腾飞候晨涛陈思遥李瑶鑫舒伟唐涛曾宇朱德华向竑宇肖燕平李文昊彭作勇方灯吴帅唐巍丁菁闫世森徐昊本届“京信杯”创新电子设计大赛是举办的三届以来规模最大的一次,共有334支队伍,909人参与。

同时本次大赛的题目难度也有所加大,参赛作品的质量也有很大的提高。

最终共有43支队伍提交了参赛作品,评出优胜奖以上19个。

本次创新电子设计大赛受到了京信通信公司的大力支持,以及学校和学院有关部门的积极帮助。

同时,其他兄弟科协也对本次大赛进行了卓有成效的宣传工作。

在此特向以上企业、部门和组织表示诚挚的感谢!更多有关第三届“京信杯”创新电子设计大赛的更多情况说明和后续安排,可访问通信科协官方网站:了解。

或直接前往科研楼B260咨询。

最后的总结报告书格式书写电子设计大赛多点温度检测系统

最后的总结报告书格式书写电子设计大赛多点温度检测系统

2004年山东省大学生电子设计竞赛设计说明书设计题目:多点温度检测系统编号:D甲2404专业:电气工程、自动化参赛学校:山东科技大学青岛校区参赛学生:方育阳孟海磊倪江涛指导教师:黄鹤松朱其刚郑效田2004年9月13日摘要本设计根据课题要求,无论主控器单元还是各检测器单元都选用了价格低廉的AT89S52单片机为CPU,选用完全符合测量温度范围要求且工作一致性很高的PT100热电阻作为温度传感器,由自行设计的精密恒流源电路构成能补偿温度传感器线路阻抗的四线制高精度采样电路,信号的调理主要由失调电压很低、线性误差极小的高精度仪用放大器AD620来完成。

还可以通过主控单元的键盘来设定各检测器的各种参量,并具有温度数码显示、报警存储、系统时钟等功能;系统增加的用PC机来实现各种参量的设置也符合目前对工业现场参数远程监控的要求,能对现场的温度数据进行存贮、报警、打印曲线等功能。

现场所有的通信总线采用技术十分成熟的RS-485。

为提高测量精度,采用分段的最小二乘法对实验数据进行预处理,采用0.1级的标准电阻箱对系统进行与PT100的分度表进行误差对比。

经过各项实验测试,该系统的性能指标不仅全部达到了任务书的基本要求,而且在各检测单元具有独立的非掉电的系统时钟、主控器所带检测器容量、增加的温度超限声光报警、与PC机通信等多方面达到或超过发挥部分的要求。

该系统根据需要,稍加改造可方便地移植于压力、液位、流量等方面的检测场合。

一、方案的比较与电路选择根据竞赛设计任务的总体结构框图,构成多点温度检测系统的总体方案是采用主从网络式结构,为考虑目前工业现场的各类智能分站大多采用PC机作为上位微机,因此,我们对本方案进行修改,修改后的方案是将题目要求的主控器单元与我们增加的PC机功能并列,从而实现PC机在参数设置(包括系统检测器的容量设置、各检测器的系统时钟设置,温度报警值的设置等)、各检测器的温度历史数据、报警记录以及形象直观的温度工作曲线(可调出观察也可打印存档)等方面的优势。

基于LabVIEW的多功能温度测控系统设计

基于LabVIEW的多功能温度测控系统设计

升级维护方便等优点,是延长医院精密仪器使用寿命、降低医 院运行成本的有效途径。
1 系统总体结构
该系统采用软硬件相结合的控制结构,软件部分采用 Lab⁃ VIEW 编写监控程序,实现实时温度的仪表和数字显示、实时温 度曲线显示、接收的短信指令和号码显示、温度数据存储和报 警等功能[1][2]。硬件部分以 ATC89C52RC 为主控芯片,短信收发 模块由 GSM 模块构成,温度采集模块由 DS18B20 温度传感器[3] 构成,将采集到的温度由单片机处理后通过串口传到计算机。 当温度超过或低于设置的报警温度时会发出报警信号,并经过 单片机处理后发出相应的控制指令,然后驱动对应的继电器去 启动制冷或加热设备,同时把报警信息编辑成短信通过 GSM 模
收稿日期:2021-03-20 作者简介:李春辉(1991—),男,河南周口人,硕士,研究方向为智能控制与检测技术。
66
软件设计开发
本栏目责任编辑:谢媛媛
第 17 卷第 17 期 (2021 年 6 月)
块发送给管理人员的手机,管理人员可通过 GSM 模块把编辑好 的控制指令传给单片机,单片机处理后产生对应的控制指令去 控制继电器,进而启动制冷或加热设备。这样可增加了管理人 员的态势感知能力,使其能够及时了解到仪器室的动态。另 外,管理人员还可通过网页浏览器访问 WEB 服务器发布的温 控前面板页面,查看仪器室当前温度,实现远程监控。系统结 构框图如图 1 所示。
图 8 收到的短信内容图
图 6 短信显示程序图
4 网络远程监测
传统的温控系统往往在现场操作,这给管理带来不便。网 络技术拓展了虚拟仪器的使用范围,使之能通过局域网或 In⁃ ternet 实现远程测控的功能。本系统运用 LabVIEW 自身具有的 Web 发布功能,实现系统的网络与远程控制[4]。首先配置好服 务器目录与日志配置、客户端可见 VI 配置和客户端访问权限 配置,在客户端通过网页浏览器输入地址打开服务器上的 VI, 浏览器操作方式只需要在客户端安装一个 Run-Time Engine 就 可远程操作。Web 发布时保存网页的面板如图 7 所示。

温湿度测量设计实训报告

温湿度测量设计实训报告

一、实训目的本次实训旨在通过设计、搭建和调试一个温湿度测量系统,使学生掌握温湿度传感器的工作原理,了解温湿度测量系统的设计方法,提高学生的实际操作能力和工程实践能力。

二、实训内容1. 传感器选型:选择合适的温湿度传感器,如SHT11或DHT11。

2. 电路设计:设计温湿度传感器的电路,包括传感器与单片机的接口电路、电源电路等。

3. 程序编写:编写单片机程序,实现温湿度数据的采集、处理和显示。

4. 系统调试:对系统进行调试,确保其正常运行。

三、实训过程1. 传感器选型:根据实训要求,选择SHT11温湿度传感器。

SHT11传感器具有精度高、响应速度快、功耗低等优点,适用于各种温湿度测量场合。

2. 电路设计:(1)传感器与单片机的接口电路:将SHT11传感器的输出信号与单片机的I/O 口相连,实现数据的采集。

(2)电源电路:为SHT11传感器和单片机提供稳定的电源。

3. 程序编写:(1)初始化单片机,配置I/O口、定时器等。

(2)读取SHT11传感器的数据,包括温度和湿度。

(3)对数据进行处理,转换为实际值。

(4)将温度和湿度值显示在LCD屏幕上。

4. 系统调试:(1)检查电路连接是否正确,确保传感器与单片机之间的信号传输正常。

(2)运行程序,观察LCD屏幕上的显示,确保温湿度数据采集和显示正确。

(3)对系统进行校准,确保测量精度。

四、实训结果1. 系统功能:(1)实时采集温湿度数据。

(2)显示温度和湿度值。

(3)具有数据保存和查询功能。

2. 系统性能:(1)测量精度:温度精度±0.5℃,湿度精度±3%RH。

(2)响应时间:≤1秒。

(3)功耗:≤0.5W。

3. 系统优点:(1)结构简单,易于搭建。

(2)操作方便,易于使用。

(3)测量精度高,可靠性好。

五、实训总结通过本次实训,我们学习了温湿度传感器的工作原理,掌握了温湿度测量系统的设计方法。

在实训过程中,我们学会了电路设计、程序编写和系统调试等技能,提高了自己的实际操作能力和工程实践能力。

温湿度监控系统验证方案

温湿度监控系统验证方案

温湿度监控系统验证方案目录一、项目背景与目标 (3)1. 项目背景 (3)2. 验证目标 (4)二、验证范围与对象 (5)1. 验证范围 (6)2. 验证对象 (6)三、验证准备 (7)1. 团队组建 (8)2. 设备与工具准备 (9)3. 资料准备 (10)四、验证内容与方法 (11)1. 系统硬件验证 (13)1.1 硬件设备清单核对 (14)1.2 设备性能检测 (15)1.3 设备安全性检测 (16)2. 系统软件验证 (17)2.1 软件功能测试 (18)2.2 软件性能评估 (19)2.3 软件易用性评估 (20)3. 系统集成验证 (21)3.1 温湿度数据采集准确性验证 (22)3.2 数据传输稳定性验证 (23)3.3 系统响应速度验证 (24)4. 监控点布局合理性验证 (25)4.1 布局设计审查 (26)4.2 实际监控效果评估 (27)五、验证流程 (28)1. 初步检测与评估 (29)2. 详细测试与记录 (29)3. 问题反馈与整改 (31)4. 再次验证与确认 (32)六、验证结果分析与报告编写 (33)1. 数据整理与分析 (34)2. 问题汇总与解决方案 (36)3. 验证结果评估 (37)4. 报告编写与审批 (37)七、后续工作与维护计划 (38)1. 系统日常运行维护管理 (40)2. 定期巡检与保养计划 (41)3. 故障排查与应急处理机制建设 (42)八、培训与宣传计划 (43)一、项目背景与目标随着现代工业的发展,温湿度作为关键的环境参数,对生产环境及仓储物品的质量有着至关重要的影响。

为了确保生产过程稳定、产品质量可靠,并提高仓储管理的效率,我们计划实施一套完善的温湿度监控系统。

该系统能够实时监测环境的温湿度变化,并在出现异常时及时发出警报,从而确保生产及存储环境的舒适性与稳定性。

本项目旨在通过引入先进的温湿度监控技术,构建一个高效、精准的监控体系。

GSM远程温度检测系统设计

GSM远程温度检测系统设计

GSM远程温度检测系统设计李飒;贺伟;韩耀飞;王丹豪【期刊名称】《现代计算机(专业版)》【年(卷),期】2015(000)003【摘要】根据实际需要设计的系统,利用手机通过GSM网络对温度实行远程无线检测,以实现工业设备运行的智能化、现代化。

温度信号的获取由典型数字温度传感器(DS18B20)对工业设备或所监测的环境温度进行检测采集,并将采集到的数据传输给单片机(MSP430F149)进行分析处理,然后通过控制GSM通信模块(MG323)发送给远程用户。

针对异常信号(超出限定温度)自动发送报警信息。

%The system is based on the actual needs, uses a mobile phone via the GSM network to realize remote wireless temperature testing to achieve intelligent industrial equipment operation and modernization. Typical temperature signal acquisition by the digital temperature sensor(DS18B20) for industrial equipment or environment being monitored for detecting the temperature acquisition, and transfers the col-lected data to the microcontroller (MSP430F149) for analysis and processing, and by controlling the GSM communication module (MG323) sends to the remote user. For abnormal signal (beyond the limited temperature) automatically sends alarm information.【总页数】4页(P58-61)【作者】李飒;贺伟;韩耀飞;王丹豪【作者单位】河南城建学院电气与信息工程学院,平顶山 467036;河南城建学院电气与信息工程学院,平顶山 467036;河南城建学院电气与信息工程学院,平顶山 467036;河南城建学院电气与信息工程学院,平顶山 467036【正文语种】中文【相关文献】1.基于GSM温度检测系统的设计 [J], 蔡旭;裴志蕾;卢超2.基于GSM网络的远程温度检测系统的设计与研究 [J], 沈娟;高晶晶;江世明3.基于单片机的无线远程温度检测系统设计 [J], 侯泽振;张丽;贲永青4.基于STM32的GSM远程温度检测系统设计 [J], 刘云;郑汉松5.基于GSM技术的粮库温度检测系统设计 [J], 凌振宝;王君;邱春玲因版权原因,仅展示原文概要,查看原文内容请购买。

物联网校园气象站系统设计

物联网校园气象站系统设计

物联网校园气象站系统设计作者:作者:***来源:《江苏科技报·E教中国》2024年第03期张嘉宇DFRobot课程开发工程师,编写了“信息技术高中基础教学课程”“行空板Python入门教程”“云雀气象仪入门教程”等系列科创类文章百余篇,收获超百万浏览量,曾荣获VEX机器人世锦赛冠军。

教学背景天气是我们日常生活中不可或缺的一部分,对我们的校园生活也有着举足轻重的影响。

无论是课间活动、运动会,还是户外考试,学校都需要根据天气情况来进行调整和策划,以确保学生的安全和活动的顺利进行。

因此,及时、准确地了解气象数据,能够帮助学生和教职工做出明智的决策和安排。

教师将在本案例中引导学生搭建一个物联网校园气象站系统,实现校园内气象数据的实时获取,并能够在学校的不同地方进行远程查看,同时依据天气变化远程控制窗户开关。

教学目标1.认识“云雀气象仪”的特点及功能。

2.认识物联网、SIoT、MQTT。

3.学习物联网气象站系统的架构。

4.学习通过编程实现向物联网平台发送并接收数据的方式。

教学重点与难点教学重点:物联网气象站系统的架构设计。

教学难点:编程实现物联网系统数据的收发。

教学过程一、情境导入师:同学们,今天我带来了一个小神器,你们看这是什么?学生观察,描述设备特点。

师:很好,这款设备叫“云雀气象仪”,你们知道它有什么用吗?生1:是不是可以测量气温、湿度之类的?师:没错,它不仅可以测量温度和湿度,还可以测量气压、风速和风向。

我们可以通过编程,让它自动收集这些气象数据。

你们觉得这样做有什么好处呢?生2:我们可以随时了解周围环境的情况,然后做出决策。

例如温度高了,可以打开风扇;起大风了,可以关闭窗户。

师:非常好!但是如果我们将“云雀气象仪”放置在操场或者教学楼楼顶,又想在教室查看这些数据,再远程控制教室窗户开关,可以怎么做呢?生3:我们可以把数据发送到网络上,然后通过手机或电脑查看。

师:同学们都很棒,我们可以把数据发送到物联网平台。

基于LabVIEW的温湿度检测系统的设计

基于LabVIEW的温湿度检测系统的设计

基于LabVIEW的温湿度检测系统的设计董冬;司颉【摘要】主要介绍了利用数据采集卡进行温湿度检测的工作原理、一般方法、步骤,以及如何利用LabVIEW软件进行上位机的编程控制.具有温湿度数据显示、波形显示、超温报警等功能,并且操作简单、易于控制.【期刊名称】《黑龙江科技信息》【年(卷),期】2010(000)033【总页数】2页(P5-6)【关键词】LabVIEW;数据采集卡;温湿度检测【作者】董冬;司颉【作者单位】兰州交通大学,机电技术研究所,甘肃,兰州,730070;兰州交通大学,机电技术研究所,甘肃,兰州,730070【正文语种】中文温度和湿度是工业生产中的两个重要环境参数,直接影响到生产效率,因此有必要对其进行适时的检测以及控制,所以设计出一个简单方便的温湿度检测系统具有十分重要的意义。

本文基于LabVIEW软件设计出可以采集1路温度和1路湿度信号的温湿度检测系统,具有温湿度数据显示、波形显示、温湿度超限报警以及数据保存的功能,并且操作简单。

本系统采用温湿度传感器,将试验所采集到的温度和湿度,经过变换,转换成电压信号送入数据采集卡中,再经USB总线接入计算机中,在计算机软件的支持下,完成自动采集、自动处理等功能。

温湿度检测系统的仪器构成主要有传感器、信号调理电路、采集卡、计算机4部分。

传感器将待测量的物理量转化为电信号,然后由采集卡实现温度实时采集、湿度实时采集,并将检测信号传输到计算机。

数据采集卡通过USB总线与计算机连接,USB(Universal Serial Bus)通用串行总线是一种新的PC机互连协议,具有总线供电、低成本、即插即用、热插拔、方便快捷等特点。

目前在通用计算机上普遍配置了USB接口,基于USB总线技术构建虚拟仪器是一种非常理想的方案。

当数据进入计算机后,在LabVIEW平台上经数据处理子程序、温湿度检测子程序实时监测,同时在前面板实时输出温度、湿度控制曲线[1]。

基于IoT的在线温湿度测量系统

基于IoT的在线温湿度测量系统

基于IoT的在线温湿度测量系统
张玉伟;左云波;王倪珂
【期刊名称】《设备管理与维修》
【年(卷),期】2018(0)13
【摘要】温湿度测量系统在工农业生产中发挥着重要作用,但因安装成本高,使用不便等限制其在智能化工农业生产中的推广.介绍一种基于IoT技术及太阳能技术的在线温湿度测量测量系统,采用ESP8266和DHT11温湿度传感器,通过WiFi技术实现实时与互联网平台的数据传输、统计.
【总页数】2页(P70-71)
【作者】张玉伟;左云波;王倪珂
【作者单位】北京信息科技大学现代测控教育部重点实验室,北京 100192;北京信息科技大学现代测控教育部重点实验室,北京 100192;北京信息科技大学现代测控教育部重点实验室,北京 100192
【正文语种】中文
【中图分类】TM935.44
【相关文献】
1.数字式温湿度测量系统在变电站绝缘在线监测中的应用
2.基于NB-IoT的环境温湿度监测系统设计
3.基于NB-IoT的蜂箱温湿度采集系统
4.基于NB-IoT技术的环境温湿度监测系统的研制
5.基于NB-IoT的户外端子箱温湿度监测系统
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“京信杯”电子创新设计大赛--远程温湿度测量系统“京信杯”电子创新设计大赛设计项目:远程温湿度测量系统计参赛队员:李伟李孟飞王泽夏报告时间: 2012/12/13目录目录 (III)第一章方案比较与论证01.1温度测量方案 01.2湿度测量方案 (1)1.3远程数据传输方案 (1)第二章系统设计与论证计算22.1总体设计 (2)2.2流程图.................................................................................... .. (2)第三章理论分析与计算 33.1 HS1101湿度计算 (4)3.2 红外发射接收模块分析 (4)第四章电路图及软件设计84.1电路图 (9)4.1.1 红外发射端 ........ 错误!未定义书签。

4.1.2 红外接收端 ........ 错误!未定义书签。

4.2源程序 ............................ 错误!未定义书签。

第五章测量方法及仪器10第六章测量数据及测试结果分析11第七章设计总结11参考文献(References): (12)第一章方案比较与论证1.1温度测量方案方案一:本方案采用PT100热电阻温度传感器。

PT100温度传感器的主要技术参数如下:测量范围:-200℃~+850℃;A级精度为(0.15+0.002*|t|)℃;B级精度为(0.30+0.005*|t|)℃;其中|t|为实际温度的绝对值。

热响应时间<30s;最小置入深度:热电阻的最小置入深度≥200mm;允通电流≤5mA。

另外,PT100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。

但在实际应用中,使用单片机来进行温度的计算,表达式比较复杂,用单片机处理这样的计算过程,将会占用大量的资源,程序的编写上很复杂。

方案二:本方案采用DS18B20数字温度传感器。

DS18B20温度传感器的技术性能:单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯,测温范围-55℃~+125℃,固有测温分辨率0.5℃,工作电源: 3~5V/DC,测量结果以9~12位数字量方式串行传送。

基于设计要求的考虑,即温度误差<1℃,温度测量范围0℃~120℃,方案二完全能满足要求,且设计电路和程序编写较为简单,本设计采用方案二。

1.2湿度测量方案方案一:本方案采用HR202电阻型湿度传感器。

HR202电阻型湿度传感器技术参数:工作范围20…95%RH,0…60℃,供电电压为1.5V AC,工作频率为500Hz…2kHz,湿度检测精度为±5%RH。

特点:线性优良,高性价比,能耗低,测量范围宽,响应迅速,抗污染能力强,性能稳定。

方案二:本方案采用HS1101湿度传感器。

HS1101湿度传感器技术参数:工作温度:-40~100 ℃,湿度范围:0~100 %RH。

曲线精度(10%~90%):+/-2 %RH,供电电压:5~10 V。

特点:全互换性在标准环境下不需校正,长时间饱和下快速脱湿,高可靠性与长时间稳定性,可用于线性电压或频率输出回炉,快速反应时间。

从设计要求湿度误差<1%,湿度测量范围1%~99%出发,HS1101更符合要求,本设计采用方案二。

1.3远程数据传输方案方案一:使用射频发射电路和接收电路传输数据。

射频技术是用无线电波来传送控制信号的,它的特点没有方向性,可以不“面对面”控制、距离远,可达数十米。

发射器和接收器之间只要没有能起屏蔽作用的金属阻挡物,就可正常使用。

射频发射电路制作成本较高,但其无方向性,使用方便。

方案二:使用红外二极管发射电路和红外接收电路传输数据。

红外发射接收有方向性,发射器必须对准接收器,并且中间不能有阻挡物,距离较近,但不受电磁干扰,成本优势明显,制作成本低、价格便宜。

基于设计要求传输距离大于5米和成本问题,选择方案二。

第二章系统设计与论证计算2.1总体设计数据采集发射端采用单片机(STC89C52)作为处理器,由DS18B20直接采集温度数据与单片机进行双向通信,HS1101与7555定时器构成多谐震荡电路,将HS1101的电容值转换为频率值并用单片机的计数器测量并转换为相对湿度值,测得的数据将在1602液晶显示屏上显示,由红外发射管发射数据。

数据接收显示端也采用STC89C52单片机作为处理器,由红外接收管接收发射端发出的温度湿度数据,并显示在1602液晶显示屏上以便与发射端进行对比。

2.2流程图第三章 理论分析与计算 DS18B2HS1101 89c52 1602液红外发送 红外接收 HS0038 89c52 1602液3.1 HS1101湿度计算由电路可知t 充电=C(R2 +R1 ) ln2t 放电=CR4 ln2因而, 输出的方波率f= 1 /(t 充电+t 放电)= 1 /[C(R2+ 2 R1) ln2 )]相对湿度与电容的关系可看成直线段,所以有相对湿度RH=2.7C+163所以有3.2 DS18B20工作原理DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。

其一个工作周期可分为两个部分,即温度检测和数据处理。

在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。

18B20共有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。

数据在出产时设置不由用户更改。

DS18B20共64位ROM。

RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。

第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。

在上电复位时其值将被刷新。

第5个字节则是用户第3个EEPROM的镜像。

第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。

第9个字节为前8个字节的CRC码。

EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。

初始化时序图写数据时序图读数据时序图3.3 红外发射与HS0038工作原理HS0038红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。

在本系统中我们采用红外一体化接收头HS0038,外观图如图3 所示。

HS0038 黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。

在用小功率发射管发射信号情况下,其接收距离可达35m。

它能与TTL、COMS 电路兼容。

HS0038 为直立侧面收光型。

它接收红外信号为38 kHz,周期约26 μs,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。

三个管脚分别是地、+5 V 电源、解调信号输出端。

红外一体化接收头的测试可以利用图 4 所示的电路进行,在HS0038 的电源端与信号输出端之间接上一只二极管及一只发光二极管后,再配上规定的工作电源(为+5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。

只要确保遥控器工作正常,很容易判断红外接收头的优劣。

红外管发出波形和HS0038信号输出原理红外接收部分是通过测量HS0038接收到的红外线,然后所产生的正脉宽时间进行信号接收。

当测到第一个正脉宽在4.5-7.0ms时,开始准备计数,然后检测16次正脉宽的大小值。

当接收的正脉宽时间是1.7-2.1ms时,计0;当接收的正脉宽时间是2.1-2.5ms时,计1;得到16位二进制数,在液晶上显示。

第四章电路图及软件设计(见附录)4.1整体电路图液晶显示电路第五章测量方法及仪器将测得的温度和湿度数据与家用温湿表对比,调整参数,得到粗略数据,然后进实验室进行更为精确的测试。

第六章测量数据及测试结果分析在常温下测试的数据与普通的温度计对比,温度相差应小于一度。

湿度传感器由于过于灵敏,需要在实验室做进一步调试。

第七章设计总结本设计能够比较准确的走时,并能够通过硬件对时钟进行时间调整。

◆功能介绍:达到测试温度范围-55—125摄氏度,湿度范围1%—99%,采用红外发射与接收,距离大于5m,采用1602液晶显示。

◆制作心得:在这次课程设计的调试过程中,我遇到很多问题,如:在查找资料的过程中学到了许多,同时在协作过程中增进同学间的友谊。

参考文献(References):[1]郭天祥.51单片机C语言教程.清电子工业出版社.2008[2]童诗白华成英.模拟电子技术基础.高等教育出版社.2006[3]邱玉娟.运用KEILC 分析HS1101 湿度传感器F-RH转换算法.江阴职业技术学院.2008附录(程序设计)/************************************************************************ 红外接收部分是通过测量HS0038接收到的红外线,然后所产生的正脉宽时间进行信号接收。

当测到第一个正脉宽在4.5-7.0ms时,开始准备计数,然后检测16次正脉宽的大小值。

当接收的正脉宽时间是1.7-2.1ms时,计0;当接收的正脉宽时间是2.1-2.5ms时,计1;得到16位二进制数,在液晶上显示。

红外发部分包温湿度采集和红外发射功能,红外发射的信号为38KHz,正脉宽时间接收端。

*************************************************************************/ //红外接收和温度显示(11.0592MHz)#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define ulong unsigned longsbit lcdrs=P3^7;sbit lcden=P3^6;sbit receive=P3^2;//红外接收口ulong num,num1,num2,num11,t;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=10;y>0;y--);}void write_com(uchar com)//写1602地址{lcdrs=0;lcden=0;P2=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date)//写1602数据{lcdrs=1;lcden=0;P2=date;delay(5);lcden=1;delay(5);lcden=0;}void writeString(uchar * str, uchar length)//写一个数组{uchar i;for(i = 0; i < length; i++){write_date(str[i]);}}void display_tempzheng(uchar add,uint temp)//显示正温度{unsigned char count;unsigned char datas[] = {0, 0, 0, 0, 0};datas[0] = temp / 10000;datas[1] = temp % 10000 / 1000;datas[2] = temp % 1000 / 100;datas[3] = temp % 100 / 10;datas[4] = temp % 10;write_com(0x80+add);writeString("+ ", 2);if(datas[0] != 0){write_date(0x30+datas[0]);}for(count = 1; count != 5; count++){write_date(0x30+datas[count]);if(count == 2){write_date('.');}}write_date(0x63);write_date(0xDF);}void display_tempfu(uchar add,uint temp)//显示负温度{unsigned char count;unsigned char datas[] = {0, 0, 0, 0, 0};datas[0] = temp / 10000;datas[1] = temp % 10000 / 1000;datas[2] = temp % 1000 / 100;datas[3] = temp % 100 / 10;datas[4] = temp % 10;write_com(0x80+add);writeString("- ", 2);if(datas[0] != 0){write_date(0x30+datas[0]);}for(count = 1; count != 5; count++){write_date(0x30+datas[count]);if(count == 2){write_date('.');}}write_date(0x63);write_date(0xDF);}void display_huminity(uchar add,uint haminity)//显示湿度{unsigned char count;unsigned char datas[] = {0, 0, 0, 0, 0};datas[0] = haminity / 10000;datas[1] = haminity % 10000 / 1000;datas[2] = haminity% 1000 / 100;datas[3] = haminity% 100 / 10;datas[4] = haminity % 10;write_com(0x80+0x40+add);if(datas[0] != 0){write_date(0x30+datas[0]);}for(count = 1; count != 5; count++){write_date(0x30+datas[count]);if(count == 2){write_date('.');}}writeString("% ", 2);}void init() // 初始化函数{lcdrs=0;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);EA=1;TMOD=0x01;TH0=(65535-9206)/256;TL0=(65535-9206)%256;ET0=1;TR0=0;writeString(" temp:",7);write_com(0x80+0x40);writeString(" rh :", 6);}void main(){uchar i;init();while(1){TH0=0;TL0=0;TR0=0;while(receive==1);while(receive==0);TR0=1;while(receive);TR0=0;num1=TH0*256+TL0;num11=num1*1085/1000;if(num11<4500||num11>7000)continue;//如果在4.5-7ms内,开始接收数据delay(4);for(i=0;i<16;i++){TH0=0;TL0=0;TR0=0;while(receive==0);TR0=1;while(receive);TR0=0;t=TH0*256+TL0;t=t*1085/1000;if(t>2500||t<1700){i=i-1;continue; //是否开始接收第i位数据}num=num>>1;if(t>1700&&t<2100)num=num|0x0000;if(t>2100&&t<2500)num=num|0x8000;}if(num>=0&&num<10000)display_huminity(9,num); //显示湿度if(num>=10000&&num<=22500)display_tempzheng(7,num-10000);//显示正温度if(num>22500&&num<=28000)display_tempfu(7,num-22500);//显示负温度}}void time0() interrupt 1{TH0=(65535-9206)/256;TL0=(65535-9206)%256;}//温湿度采集&&发送(24MHz晶振)#include <reg52.H>#include <intrins.H>#include <math.H>#define uchar unsigned char#define uint unsigned intsbit send=P3^0;//红外发送口sbit RS = P3^7;sbit LCDEN = P3^6;uint flag,F1;int temp;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=47;y>0;y--);}void send_num(uint num)//发送数据{uchar i;uint num1;num=num*2;TR0=1;delay(6);TR0=0;delay(30);//4.5-7.0ms开始发送数据for(i=0;i<16;i++){TR0=1;num1=num>>i;num1=num1&0x01;delay(3);TR0=0;if(num1==0x00)delay(10);//1.7ms-2.1msif(num1==0x01)delay(12);//2.1ms-2.5ms发送16位数据}}void delayUs(){_nop_();}void delayMs(uint a){uint i, j;for(i = a; i > 0; i--)for(j = 100; j > 0; j--);}void writeComm(uchar comm)//写1602地址{RS = 0;P2 = comm;LCDEN = 1;delayUs();LCDEN = 0;delayMs(2);}void writeData(uchar dat) //写1602数据{RS = 1;P2 = dat;LCDEN = 1;delayUs();LCDEN = 0;delayMs(2);}void writeString(uchar * str, uchar length)//写一个数组{uchar i;for(i = 0; i < length; i++){writeData(str[i]);}}sbit ds = P3^1;void dsInit() //DS18B20复位,初始化函数{unsigned int i;ds = 0;i = 100;while(i>0) i--;ds = 1;i = 4;while(i>0) i--;}void dsWait(){unsigned int i;while(ds);while(~ds);i = 4;while(i > 0) i--;}bit readBit() //读一位数据函数{unsigned int i;bit b;ds = 0;i++;ds = 1;i++; i++;b = ds;i = 8;while(i>0) i--;return b;unsigned char readByte() //读一个字节数据函数{unsigned int i;unsigned char j, dat;dat = 0;for(i=0; i<8; i++){j = readBit();dat = (j << 7) | (dat >> 1);}return dat;}void writeByte(unsigned char dat)//向DS18B20写一个字节数据函数{unsigned int i;unsigned char j;bit b;for(j = 0; j < 8; j++){b = dat & 0x01;dat >>= 1;if(b){ds = 0; i++; i++;ds = 1;i = 8; while(i>0) i--;}else{ds = 0;i = 8; while(i>0) i--;ds = 1;i++; i++;}}}void sendChangeCmd()dsInit(); //DS18B20复位,初始化函数dsWait();delayMs(1); //延时writeByte(0xcc);//写跳过读ROM指令writeByte(0x44);//写温度转换指令}void sendReadCmd(){dsInit();dsWait();delayMs(1);writeByte(0xcc);writeByte(0xbe);// 读温度}int getTmpValue(){unsigned int tmpvalue;int value;float t;unsigned char low, high;sendReadCmd();low = readByte(); //读低八位high = readByte();//读高八位tmpvalue = high;tmpvalue <<= 8;tmpvalue |= low; //两个字节组合为一个字value = tmpvalue;t = value * 0.0625;value = t * 100 + (value > 0 ? 0.5 : -0.5); //大于0加0.5, 小于0减0.5 return value;}void display(int v) //显示温度{unsigned char count;unsigned char datas[] = {0, 0, 0, 0, 0};unsigned int tmp = abs(v);datas[0] = tmp / 10000;datas[1] = tmp % 10000 / 1000;datas[2] = tmp % 1000 / 100;datas[3] = tmp % 100 / 10;datas[4] = tmp % 10;if(v < 0){writeString("- ", 2);}else{writeString("+ ", 2);}if(datas[0] != 0){writeData(0x30+datas[0]);}for(count = 1; count != 5; count++){writeData(0x30+datas[count]);if(count == 2){writeData('.');}}writeData(0x63);writeData(0xDF);}void init() //初始化程序{TMOD=0x11;TCON=0x01;EA=1;EX0=0;ET0=1;ET1=1;TH0=(65535-20)/256;TL0=(65535-20)%256;TR0=0;TR1=0;sendChangeCmd();writeComm(0x38);writeComm(0x0c);writeComm(0x06);writeComm(0x01);writeComm(0x80);writeComm(0x80+0x40);writeString(" rh :",6);writeComm(0x80);writeString(" temp:",6);}void display_temp()//得到温度值temp{delayMs(1500); //温度转换时间需要750ms以上writeComm(0x80+7);temp=getTmpValue();display(temp);sendChangeCmd();}void display_F1()//得到频率值F1{TH1=(65535-39200)/256;TL1=(65535-39200)%256;TR1=1;EX0=1;while(flag<=50);EX0=0;TR1=0;flag=0;}int get_humidity()//得到湿度值{float RH;int value;if(F1<=7351&&F1>=6330)if(F1>7224)RH=(7351-F1)/12.7;else if(F1>6600)RH=10+(7224-F1)/12.4;else if(F1>6186)RH=60+(6600-F1)/13.8;else RH=90+(6186-F)/15.3;value=RH*100;return value;}void dispaly_rh(uint add,uint date)//显示湿度值{uchar qian,bai,shi,ge;qian=date%10000/1000;bai=date%1000/100;shi=date%100/10;ge=date%10;writeComm(0x80+0x40+add);writeData(0x30+qian);writeData(0x30+bai);writeData(0x2E);writeData(0x30+shi);writeData(0x30+ge);writeData(0x25);}void main(){uchar i;uint hum;init();while(1){display_temp();//显示温度for(i=15;i>0;i--){if(temp>=0)send_num(temp+10000);else send_num(abs(temp)+22500); // 发送正负温度值}display_F1();//得到HS1101频率值F 1display_rh(9,get_humidity());// 显示湿度值hum=get_humidity();//将湿度值付给humfor(i=15;i>0;i--)send_num(hum); //发送湿度值}}void enter0() interrupt 0{F1++;}void time0() interrupt 1{TH0=(65535-20)/256;TL0=(65535-20)%256;send=~send;}void time1() interrupt 3{TH1=(65535-39200)/256;TL1=(65535-39200)%256;flag++;}。

相关文档
最新文档