基于STC89C52单片机的温湿度检测电路设计.doc_第1页
基于STC89C52单片机的温湿度检测电路设计.doc_第2页
基于STC89C52单片机的温湿度检测电路设计.doc_第3页
基于STC89C52单片机的温湿度检测电路设计.doc_第4页
基于STC89C52单片机的温湿度检测电路设计.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的车间温湿度控制系统 本科毕业设计(论文)任务书学生姓名导师姓名导师职称论文题目 基于单片机的车间温湿度控制系统题目分类 1应用与非应用类:工程 科研 教学建设 理论分析 模拟2软件与软硬结合类:软件硬件软硬结合非软硬件主要研究内容及指标:本设计主要研究如何应用单片机实现车间温湿度检测,应用STC89C52单片机,经过单总线式AM2301芯片分别对车间温湿度数据进行采集,并通过液晶显示屏1602进行显示。指标:(1)温度测量范围为1530,湿度为4070%;(2)温度测量误差为0.1,湿度测量误差为3%;(3)具有量程自动转换功能主要参考文献:1、 康华光.电子技术基础M. 北京:高等教育出版社2、 彭介华.电子技术课程设计指导M. 北京:高等教育出版社3、 郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略M.电子工业出版社4、 黄智伟.印制电路板(PCB)设计技术与实践M北京:电子工业出版社,20095、 高吉祥等.电子技术基础实验与课程设计M北京:电子工业出版社,2002阶段规划:2011年12月20日 至2012年1月9日 系统分析准备,硬件设计初步2012年 1月10日 至2012年1月16日 系统设计分析,硬件书面完成2012年 3 月1日 至2012年4月 17 日 硬件加工制作,编码测试及改进2012年 4 月18日 至2012年5月8日 整理论文材料及论文撰写2012年 5 月 9日 至2012年5月 19 日 答辩准备开题时间完成论文时间专业审定意见:系主任签字:年 月 日摘要本设计是基于STC89C52单片机的温湿度检测电路设计,采用单总线传输模式的AM2301传感器,对温度湿度分别测量并通过液晶显示屏1602显示。单片机采集到AM2301温湿度传感器给出的数据进行处理与计算,得出当前的温度与湿度并送给液晶屏显示。本系统具有可读性高,稳定性高,反应速度快,测量值准确的特点。关键词:温度 湿度 单片机目 录摘要IABSTRACTII前言IV1设计要求12方案设计及论证22.1系统主要单元的选择与论证22.2 总体方案设计23 单片机主模块设计43.1单片机主电路设计43.2主程序流程图63.3主程序设计64 温湿度检测模块设计84.1温湿度检测电路设计84.2温湿度检测流程图94.3温湿度检测程序设计105液晶显示模块设计175.1 1602液晶显示模块电路设计175.2 液晶显示流程图185.3 液晶显示程序设计196. 系统测试216.1系统运行测试216.2主要指标测试216.3测试结果分析21参考文献22致谢23附录A:原理图24附录: PCB图及元件分布图25附录C:元器件清单26附录D:程序清单27附录E:实物照片43前言随着智能检测技术的飞速发展,多传感器系统得到了广泛的应用。如何把多传感器集中于一个检测系统,综合利用来自多传感器的信息获得被测对象的可靠数据,是智能检测系统中需要解决的首要问题。为此,本设计利用STC89C52单片机制作了一个简便但精度较高的室内温湿度检测系统;它是利用DS18B20温度传感器作为测温元件;温度测量范围在-55125C;用HS1101湿度传感器作为测湿元件;湿度测量范围在0%100%RH;在同时该设计具备温湿度显示功能,主要原理是:通过温度传感器将非电量的温湿度值转换为电量输出并由AD转换器对模拟信号进行数字化,然后通过单片机读取温湿度传感器转换的温湿度值,当温度超过一定值时蜂鸣器报警。11设计要求基于单片机的室内温湿度检测电路设计要求如下:(1)设计制作一个温湿度计,温度测量范围为-4050,湿度为0100%;(2)温度测量误差为0.1,湿度测量误差为3%;(3)具有量程自动转换功能;(4)其他创新性设计,如低功耗等。372方案设计及论证2.1系统主要单元的选择与论证2.1.1单片机控制模块的选择论证方案一:采用XC9000系列的FPGA。该类器件具有并行处理能力,能快速的响应外部的各种数字信号,但在数据处理方面过于复杂,而且芯片价格较昂贵。 方案二:采用单片机作为控制核心,单片机数学运算功能较强。在程序相互调用方面,处理方便灵活,性能稳定,适合实际应用。且单片机技术发展较为成熟,价格便宜。基于以上分析,采用单片机控制可更为简便灵活地实现系统功能,故拟采用方案二。2.1.2 温度湿度检测模块的选择与论证方案一:选用DHT11作为温湿度检测模块。DHT11是一款数字输出的复合传感器,包含一个电阻式感湿元件和NTC式温度检测元件,可测2090%RH湿度,误差5%RH,050摄氏度,误差2摄氏度。方案二:选用DS18B20温度传感器和HS1101湿度传感器。DS18B20是一线式数字温度传感器,具有独特的单线式接口方式,测量范围在-55125,误差为-+0.5。最高精度可达0.0625。HS1101是电容式湿度传感器,可测相对湿度范围在0%100%RH,误差为-+2%RH。上述数据可知,根据设计要求,本模块采用方案二。2.1.3 显示模块的选择与论证方案一:采用12864液晶模块显示测得的数据,可显示较多组的数据,字体较大,可清晰读数,但12864液晶模块价格昂贵,接线复杂,故不采用。方案二:采用1602液晶模块显示所测数据,1602液晶接线简单方便,同时也能满足显示需要,价格远低于12864液晶。因此,本方案为首选方案。综上所述,显示模块选择方案二。2.2 总体方案设计经分析,系统选用单片机STC89C52、温度传感器DS18B20、湿度传感器HS1101、LCD液晶显示1602。由温度检测电路和湿度检测电路将检测到的数据送到单片机,单片机对接收到的数据进行处理并送到1602显示,5V稳压电源给各个部分供电。电源DS18B20温度检测显示模块单片机HS1101 湿度检测图1系统组成框图如图1所示,本系统由单片机主模块、DS18B20温度检测模块、HS1101湿度检测模块、1602液晶显示模块4部分组成。3 单片机主模块设计3.1单片机主电路设计单片机主模块包括了电源电路、晶振电路、复位电路,同时接入了各个模块的接口,保证了整个系统的灵活性。3.1.1 电源电路图2电源电路如图2所示:系统的供电既能由USB供电又能由电源供电,S1是电源开关,DS1为电源指示灯。3.1.2 复位电路图3复位电路按键后:电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入“复位状态”。松手后:电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”;稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。3.1.3 单片机电路与晶振电路 图4单片机电路与晶振电路如图4所示,图中的晶振电路的作用是提供时序的频率,统一单片机和外部设备的时钟周期。单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。这种设计方法可以降低系统设计的复杂性。控制电路的核心器件是由美国Atmel公司生产的STC89C52单片机。STC89C52是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。因此广泛应用于工业控制和嵌入式系统中。3.2主程序流程图开始初始化Key2键按下?Key1键按下?显示湿度显示温度图5 主程序流程图3.3主程序设计4 温湿度检测模块设计4.1温湿度检测电路设计DS18B20温度检测模块和HS1101湿度检测模块电路原理图如下所示: 图6 温湿度检测电路图4.1.1 HS1101湿度检测传感器工作原理如图6所示,C2为HS1101湿度检测传感器,其工作电路由555多谐振荡器来实现,HS1101作为电容变量接在555芯片的2、5脚之间,引脚7用作电阻R5的短路,等量电容HS1101通过R5、R8充电到门限电压(约0.67V),通过R5放电到触发电平,然后R5通过7短路到地,传感器由不同的电阻R5、R8充放电,进行工作循环,形成方波。其周期计算如下: T充电=C*(R5+R8)*In2; T放电=C*R8*In2; 由此可知输出方波频率为f=1/(T充电+ T放电)=1/C*(R5+2R8)*In2;可见空气湿度通过555测量振荡电路,就转变为与之呈反比例的频率信号。4.1.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都存在镜像,以方便用户操作。4.1.3蜂鸣器电路原理 如图6所示,蜂鸣器额定电流IB30mA,而对于STC89C52单片机,P1口的灌电流为 16mA,上拉电流为60A,由此可见,仅靠单片机的P1插针座口电流是不能驱动蜂鸣器的,必须使用集晶体管放大电路,为了使单片机消耗的功率更小,所以使用 PNP型晶体管9012。STC89C52采用的晶振电路采用110592MHz的无源晶振,微调电容大小取30pF。4.2温湿度检测流程图4.2.1温度检测流程图初始化从18B20读字节初始化是否成功向18B20写字节读取温度显示温度图7 温度检测流程图4.2.2湿度检测流程图开定时T0,T1关闭T0并根据频率算出湿度是否计满1S初始化显示湿度 图8 湿度检测流程图4.3温湿度检测程序设计5液晶显示模块设计5.1 1602液晶显示模块电路设计显示模块选用1602字符型液晶模块,是目前工控系统中使用最为广泛的液晶屏之一。1602字符型液晶模块是点阵型液晶,驱动方便,经编码后显示内容多样化。系统的输入模块采用中断扫描的44矩阵键盘,相比定时扫描方式,提高了MCU的使用效率。1602液晶显示模块电路原理图如图9所示:图9 1602液晶显示电路在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LCD数码管、液晶显示器。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高、数字式接口 、体积小、重量轻 、功耗低 、 1602LCD 主要技术参数: 显示容量:162 个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm 引脚功能说明:1602LCD 采用标准的 14脚(无背光)或 16脚(带背光)接口, 第 1 脚:VSS 为地电源。 第 2 脚:VDD接 5V正电源。 第 3 脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS和 R/W共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W为低电平时可以写入数据。 第 6 脚:E端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714脚:D0D7为 8 位双向数据线。 第 15脚:背光源正极。 第 16脚:背光源负极。5.2 液晶显示流程图开始初始化是否忙碌?写指令LCD初始化写数据设置显示位置显示图10 液晶显示流程图5.3 液晶显示程序设计6. 系统测试6.1系统运行测试主程序进行键盘扫描,单片机根据判断键盘哪个键按下,显示温度或湿度。如果key1键按下就调用温度检测程序,单片机对18B20进行初始化,成功则读字节,再写入字节,读取温度数据送到1602显示。如果key2键按下,就调用湿度显示程序,开启定时中断T0、T1,T0进行定时,T1对湿度电路给的频率计数,当计满1S时关闭T1,单片机对计的数进行运算,的出湿度值,送往液晶显示。源程序见附录D6.2主要指标测试本系统主要指标就在于所测得的温湿度的数据是否达到了题目要求,本系统测量范围为-4050,湿度为0100%;温度测量误差为0.1,湿度测量误差为2%;在1号公寓336测试温度为25.6,湿度为41%。6.3测试结果分析本温湿度计的制作基本上达到了题目要求的技术指标,温度测量范围为-4050,湿度为0100%;温度测量误差为0.1,湿度测量误差为3%;实现了量程自动转换功能。参考文献1 康华光.电子技术基础M. 北京:高等教育出版社2 彭介华.电子技术课程设计指导M. 北京:高等教育出版社3 郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略M.电子工业出版社,2009.4 黄智伟全国大学生电子设计竞赛制作实训M北京:北京航空航天大学出版社,20075 黄智伟全国大学生电子设计竞赛系统设计M北京:北京航空航天大学出版社,2006.6 黄智伟全国大学生电子设计竞赛技能训练M北京:北京航空航天大学出版社,2007 7 黄智伟全国大学生电子设计竞赛电路设计M北京:北京航空航天大学出版社,20068 黄智伟全国大学生电子设计竞赛 常用电路模块制作M北京:北京航空航天大学出版社,20109 黄智伟等.基于NI multisim的电子电路计算机仿真设计与分析M北京:电子工业出版社,200710 黄智伟.印制电路板(PCB)设计技术与实践M北京:电子工业出版社,2009 11 高吉祥等.电子技术基础实验与课程设计M北京:电子工业出版社,200212 吴运昌.模拟集成电路原理与应用M广州:华南理工大学出版社,2001年 13 陈有卿.报警集成电路和报警器制作实例M人民邮电出版社199614 周慈航单片机应用程序设计技术M 北京:北京航空航天大学出版社,2002.15 韩志军,沈晋源,王振波单片机应用系统设计入门向导与设计实例接 M 北京:机械工业出版社,200516 夏路易,石宗义.电路原理图与电路板设计教程Protel 99SE.北京:北京希望电子出版社,2002.致谢短短的大学生活即将结束,在做毕业设计的这一学期里我收获很多,从开始选题至毕业设计的结束,花费不少业余时间也遇到了不少难题。在完成毕业设计论文时也不是一件很轻松的事情,通过论文的撰写,我更系统、全面地学习了有关单片机方面新型的、先进的前沿理论知识,并得以借鉴众多专家学者的宝贵经验,这对于我今后的工作的企业,无疑是不可多得的宝贵财富。本论文是在导师老师指导下完成的。老师富有创造性的思维方法、丰富的科研经验和对科学研究的远见卓识,开拓了我的思路,使我受益非浅。老师的严谨的治学态度和高尚的人格为我树立了做人的榜样。在此致以深深的谢意!“不积跬步无以至千里”,这次毕业论文能够最终顺利完成,归功于各位老师两年间的认真负责,使我能够很好的掌握专业知识,并在毕业论文中得以体现。在做毕业设计的这学期里首先我要感谢我的导师老师,其次要感谢同学在编程方面给与我的帮助,最后要感谢黑龙江八一农垦大学图书馆以及中国知网等网站给我提供了大量的参考资料和技术支持。在这里我向所有帮助过我的老师和同学们再次表示衷心感谢:谢谢你们!也正是你们长期不懈的支持和帮助才使得我的毕业论文最终顺利完成。附录A:原理图附录: PCB图及元件分布图附录C:元器件清单元件种类元件型号数量单片机STC89C521温度传感器DS18B201湿度传感器HS11011定时器LMC555/NE5551电阻1K、51K、560K、1M10、3、3、3排阻10K5电容30P、0.1uf、10uF4、2、2发光二极管2蜂鸣器5V1电位器10K2晶振11.0592MHz1微触开关3三极管90122插槽若干杜邦线50锁紧座1单排针10万能板1附录D:程序清单#include #include #define uchar unsigned char#define uint unsigned intsbit DQ = P33 ; /定义DS18B20端口DQ sbit BEEP=P34 ; /蜂鸣器驱动线bit presence ;sbit LCD_RS = P22; sbit LCD_RW = P23; sbit LCD_EN = P24;sbit led= P35; sbit key1= P20;sbit key2= P21;uchar code cdis1 = wendujishiyan ;uchar code cdis2 = T= . C ;uchar code cdis3 = shidujishiyan ;uchar code cdis4 = shidu: % ;uchar code cdis5 = the system of ;uchar code cdis6 = temp and hum ;unsigned char data temp_data2 = 0x00,0x00 ;unsigned char data display5 = 0x00,0x00,0x00,0x00,0x00 ;unsigned char code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09 ;void beep() ; unsigned char code mytab8 = 0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00 ;bit int_flag; /定时器0 1S到标志位unsigned char volatile int_count; /定时器0中断次数unsigned char volatile T1count; /定时器1中断次数unsigned long sum,wet; /1S内脉冲总个数unsigned char le6; /LCD显示缓存 #define delayNOP() ; _nop_() ;_nop_() ;_nop_() ;_nop_() ; ;/*/void delay1(int ms) unsigned char y ; while(ms-) for(y = 0 ; y250 ; y+) _nop_() ; _nop_() ; _nop_() ; _nop_() ; /*/*检查LCD忙状态 */*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。 */*/ bit lcd_busy() bit result ; LCD_RS = 0 ; LCD_RW = 1 ; LCD_EN = 1 ; delayNOP() ; result = (bit)(P0&0x80) ; LCD_EN = 0 ; return(result) ; /*写指令数据到LCD */*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */ /*/void lcd_wcmd(uchar cmd) while(lcd_busy() ; LCD_RS = 0 ; LCD_RW = 0 ; LCD_EN = 0 ; _nop_() ; _nop_() ; P0 = cmd ; delayNOP() ; LCD_EN = 1 ;delayNOP() ; LCD_EN = 0 ; /*/*写显示数据到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */*/void lcd_wdat(uchar dat) while(lcd_busy() ; LCD_RS = 1 ; LCD_RW = 0 ; LCD_EN = 0 ; P0 = dat ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /* LCD初始化设定 */*/void lcd_init() delay1(15) ; lcd_wcmd(0x01) ; /清除LCD的显示内容 lcd_wcmd(0x38) ; /16*2显示,5*7点阵,8位数据 delay1(5) ; lcd_wcmd(0x38) ; delay1(5) ; lcd_wcmd(0x38) ; delay1(5) ; lcd_wcmd(0x0c) ; /显示开,关光标 delay1(5) ; lcd_wcmd(0x06) ; /移动光标 delay1(5) ; lcd_wcmd(0x01) ; /清除LCD的显示内容 delay1(5) ;/* 设定显示位置 */*/void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80) ; /数据指针=80+地址变量/*自定义字符写入CGRAM */*/void writetab() unsigned char i ; lcd_wcmd(0x40) ; /写CGRAM for (i = 0 ; i 0 ; i-) DQ = 0 ; / 给脉冲信号 dat = 1 ; DQ = 1 ; / 给脉冲信号 if(DQ) dat |= 0x80 ; Delay(4) ; return (dat) ;/* 写一个字节 */*/ WriteOneChar(unsigned char dat) unsigned char i = 0 ; for (i = 8 ; i 0 ; i-) DQ = 0 ; DQ = dat&0x01 ; Delay(5) ; DQ = 1 ;dat=1 ; /* 读取温度 */*/ Read_Temperature(void) Init_DS18B20() ; WriteOneChar(0xCC) ; / 跳过读序号列号的操作 WriteOneChar(0x44) ; / 启动温度转换 Init_DS18B20() ; WriteOneChar(0xCC) ; /跳过读序号列号的操作 WriteOneChar(0xBE) ; /读取温度寄存器 temp_data0 = ReadOneChar() ; /温度低8位 temp_data1 = ReadOneChar() ; /温度高8位 /* 数据转换与温度显示 */*/ Disp_Temperature()display4=temp_data0&0x0f ;display0=ditabdisplay4+0x30 ; /查表得小数位的值display4=(temp_data0&0xf0)4)|(temp_data1&0x0f)=0x32&display1=0x31) BEEP=1;elseBEEP=0;/*湿度测量*/ /软件延时/void delays(unsigned int cnt) while(-cnt);/定时器0初始化void init_t0(void) TMOD=(TMOD&0xF0)|0x01; /定时器0工作于方式1/ TH0=(65536-50000)/256; /定时50ms/ TL0=(65535-50000)%256;TH0=0x4c;TL0=0x00;/ 定时器1初始化void init_t1(void) TMOD=(TMOD&0x0F)|0x50; /定时器1用作计时 TH1 =0x00; TL1 =0x00;/定时器0中断服务程序void int_t0(void) interrupt 1 TH0=(65535-50000)/256; TL0=(65535-50000)%256; int_count+; if(int_count=20) TR1=0; int_flag=1; int_count=0x00; /定时器1中断服务程序void int_t1(void) interrupt 3 T1count+; void disp(void) /湿度显示函数 int_flag=0; sum=TL1+TH1*256+T1count*65536; /计算1秒内的脉冲个数 /以下将数据格式化,转成LCD可显示的BCD码wet=100-(sum-4000)/50;/* 湿度计算公式 le0=wet%10; /最低位 wet=wet/10; le1=wet%10; /第二位 wet=wet/10; le2=wet%10; /第三位 wet=wet/10; int_count=0x00; T1count=0; TH1=0x00; TL1=0x00; TR1=1; lcd_pos(0x4a) ; lcd_wdat(le2+48); lcd_pos(0x4b) ; lcd_wdat(le1+48); lcd_pos(0x4c) ; lcd_wdat(le0+48); delays(100); void wendu_Menu () /显示温度的菜单 uchar m ; lcd_pos(0) ; /设置显示位置为第一行的第1个字符 m = 0 ; while(cdis1m != 0) /显示字符 lcd_wdat(cdis1m) ; m+ ; lcd_pos(0x40) ; /设置显示位置为第二行第1个字符 m = 0 ;while(cdis2m != 0) lcd_wdat(cdis2m) ; /显示字符 m+ ; writetab() ; /自定义字符写入CGRAM delay1(5) ; lcd_pos(0x4d) ; lcd_wdat(0x00) ; /显示自定义字符 void shidu_Menu () /显示湿度的菜单 uchar m ; lcd_pos(0) ; /设置显示位置为第一行的第1个字符

温馨提示

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

评论

0/150

提交评论