1、(完整word)基于单片机的的智能晾衣系统设计安徽大学嵌入式系统工程训练课程设计报告题 目基于单片机的智能晾衣系统设计学 院电子信息工程学院专 业通信工程专业组员 姓名与学号指导教师张红伟、赵博2018 年 7月 基于单片机的的智能晾衣系统设计摘要 随着社会经济水平的发展,现在人们的生活追求个性化、自动化,追求快节奏,追求充满乐趣的生活方式,家装要求的档次越来越高,生活家居人性化、智能化的要求使智能控制技术在智能家居电子产品中得到了广泛应用,伴随着智能家居的快速发展,晾衣工具的智能化发展明显落后与其他家用器具智能化发展之后,现在己经引起社会的很大关注.本论文为了把握市场动态,顺应时代主题,设计
2、并实现了智能晾衣架系统。 采用单片机进行采集光照、雨滴两个外部天气信号,并通过单片机控制旋转衣架,旋转衣架通过步进电机进行调节,当外部天晴,且无雨时,将衣架转出,晾晒衣物;当下雨或者没有阳光时,转回室内,防止被雨打湿,或者天已黑。其中光照传感器采用光敏电阻,雨滴传感器采用LY-69雨滴检测传感器,控制硬件采用步进电机,按键电路设定光照和雨滴的阈值,L602液晶显示感测量和设定值,及工作状态。通过设计和实验调试完成了基于单片机的智能晾衣系统。目录 一。引言。.。.。.。.。.。.。.。.。.。.。.。.41。1课题研究背景与意义.。.。.。.。.。.。.。41.2本设计的发展现状。.。.。.。.
3、。.。.。.。.。.41.3 研究方法.。.。.。.。.。.。.。.。.。51。4 研究内容。.。.。.。.。.。.。.。.。5二智能晾衣系统的硬件设计。.。.。.。.。.。.。.。.52。1 设计要求.。.。.。.。.。.。.。.。.。.。.。.52.2整体设计框图.。.。.。.。.。.。.。.。62。3 系统组成概述.。.。.。.。.。.。.。62.4 系统设计要求.。.。.。.。.。.。.。.。.。.72.5 光强采集模块.。.。.。.。.。.。.。.。.72.6 温湿度传感模块。.。.。.。.。.。.。.。.。.82.7 驱动模块.。.。.。.。.。.。.。.。.。.。.。.。92.8
4、 显示模块。.。.。.。.。.。.。.。.。.。.。.。10三基于单片机的的智能晾衣系统的软件设计。.。.。.。.。113.1系统分析.。.。.。.。.。.。.。.。.。113.2 STC89C52RC单片机介绍。.。.。.。.。.。.。.123。3程序设计.。.。.。.。.。.。.。.。.。.。.。.143。4 软件算法 。.。.。.。.。.。.。.。14四实验调试.。.。.。.。.。.。.。.。.。.。.。16五结论与展望。.。.。.。.。.。.。.。.。.18六心得。.。.。.。.。.。.。.。.。.。.。.。.。18参考文献。.。.。.。.。.。.。.。.。.。.20一、引言1。1 研
5、究背景与意义基于现在晾衣架发展现状,本设计开发了一种能帮助人们摆脱原始操作的智能晾衣架。本新型晾衣架主要特点在于:可以伸缩,操作简单,占地面积小,美观实尸构优点。同类产品虽有可收缩式的,但属组装而成,操作比较麻烦,而本晾才架只需按下打开按键,衣架杆即可自动伸展开来.同时晾衣架能识别晴雨天气一自动完成收衣服功能的目的。晴雨智能晾衣架能有效地避免在下雨时,衣服无人收起而被雨淋湿;或在天色变晚时,衣架能自动收回,避免衣服在外面过夜1。2 智能晾衣架的发展现状在中国各大中城市以及农村普遍是将衣物晾晒于阳台内部或外部,而传统的晾晒衣物方式是阳台内天花板下设置有钢筋挂钩,钩卜通常是挂有竹杆或其它杆体.人们
6、通常习惯于用一支撑杆将衣物支撑到晾衣杆晾晒,这样晾晒衣物费时费力,而且布置钢筋及竹杆与当今现代化建筑结构的阳台也不搭配、有失雅观。另外,家庭通常大都是老人晾衣物,因此,传统的支撑晒衣、收衣不仅是费神费力,而目。容易扭伤筋胃或支撑不顺扎伤人体。正因传统晾晒衣方式有众多的不便,后出现手摇晾衣架,手摇晾衣架改变了支撑晾衣架的传统习惯,同时也给众多家庭带来了更多的方便。但手摇晾衣架需设置多个机械装置和支撑点,同时需多根网线布置来带动其晾衣杆上下升降。由几支撑点及多根网线的布置,手摇式晾衣架给原本漂亮的阳台增添了不美的因素。其次,手摇晾衣架的升降每次都要人工转换接头,目.需要人力摇动慢慢将杆升降,若晾杆
7、承载的衣物重量过大,摇上去既费力又容易伤手。因此,手摇晾衣架虽然改变传统支撑晾衣的不便,但没有彻底改变费神费力的根本状态。人们期望着一种更方便更美观的新型晾衣架的出现。1.3 研究方法(1)文献法。由于本研究将会触及到很多单片机方面的绘图以及变成等方面的知识和技术,为了能够更好的完成研究,所以需要对大量的期刊杂志等书籍进行浏览、整理和分析。这样做能够快速而且有效的获得大量对本研究由有利的信息和材料,因此成为研究方法不可缺少的部分.(2)观察法。合理的观察对研究有很大的帮助,这种研究方法具有很强的目的性和计划性,在实验中往往能达到意想不到的效果,从而开辟人们的思路,招致新的发现,因此也成为研究方
8、法不可缺少的部分。1。4 研究内容基于单片机的的智能晾衣系统设计,需要采用单片机作为控制中心,实现自动晾衣的功能,并根据具体情况进行相应的调整,具体性能和指标如下: (1)智能晾衣杆全自动工作,可实现无人操控 (2)晾衣杆只有两个位置,伸出去,缩回来 (3)位置检测:晾衣杆伸出去时,到达指定位置能够停下来 (4)光敏传感器:天黑时候将衣服收回来,天亮时候或者阳光猛烈的时候伸出去晾晒(5)温湿度传感器:下雨温湿度变大的时候将衣服收回来 (6)参数灵敏度调节(动态设置):按键+液晶显示(7)供电:5V电源供给单片机、电机二、智能晾衣系统的硬件设计采用单片机进行采集光照、雨滴两个外部天气信号,并通过
9、单片机控制旋转衣架,旋转衣架通过步进电机进行调节,当外部天晴,且无雨时,将衣架转出,晾晒衣物;当下雨或者没有阳光时,转回室内,防止被雨打湿,或者天已黑。2。1 设计要求(1)构建一个型号为STC89C52的单片机系统(内含串口通信电路,单片机最小系统),作为系统的主控模块,负责数据的采集、处理与分析、执行部件的控制等;(2)检测功能:实时检测温湿度传感器测得的温度值、湿度值;实时检测环境的光强值;实时检测限位开关的状态,为电机转动时提供停转信号;(3)显示功能:通过液晶屏1602对系统的参数及系统状态进行指示;(4)执行部件:2路继电器模块,在本系统中采用2路继电器实现对电机正转、反转和停转的
10、控制,以此来模拟晒衣、收衣和停止的动作;(5)程序编写:使用KEIL C软件编译环境,使用C语言进行系统程序的编写,并在程序中对采集到的数据进行分析、处理和显示。2。1整体设计框图 控制总体款图如下图2.1所示,通过光照传感器和雨滴传感器感知外部天气的光照和雨滴情况,按键设定光照和雨滴的阈值,衣架位置传感器采集衣架所在位置,最后单片机驱动步进电机,将衣架来回于室内室外。衣架电机液晶屏继电器单片机温湿度传感器用按键模拟的限位开关光照传感器图2.1 系统程序框图2。3系统组成概述系统主要由:控制系统核心、温湿度模块、光强检测模块、电机驱动模块、直流电机、开关模块和显示模块.控制系统核心作为系统的控
11、制核心和数据处理中心;湿度检测模块用来采集环境湿度信号;光强检测模块用来采集环境光强信号;电机驱动模块用来功率放大驱动电机正反转,进而带动晾衣架做伸出或缩回运动;开关模块是用来设置系统工作模式,并在手动工作模式下,设置晾衣架的伸出或缩回;显示模块用来显示湿度数据、光强情况、晾衣架状态等内容2。4 系统设计要求(1)简单性:智能晾衣架是为现在生活节奏快的上班一族设计,因此本设计必须操作简单,因为忙碌一天的上班族是不愿意在这些小事上花费精力。而且本设计就是为了解决生活小事,若是操作繁杂,这就与我们的初衷恰恰相反的,所以此设计必须操作简单.(2)经济性:本设计拥有着大量的潜在市场,是能够在家庭中应用
12、的.所以必须要设计合理。设计合理中经济性尤为重要,而且我们设计的是智能晾衣架,作为一个晾衣架本身功能来说,就决定了本设计的产品价格就不能太高。并且,任何人都喜欢性价比高的产品。所以我们的设计应该追求物美价廉。这就要求我们不仅要技术先进,经济上也要更加合理.(3)实用性:本设计是工具,因此我们设计应该多考虑一些实用功能,不能设计那些不实用的功能。本设计针对的是经常在露天晾晒衣物的人群设计,所以在设计过程中也会做一些调整,添加实用的功能,减少冗杂而不必要的功能。(4)安全、可靠性:因为智能晾衣架是应用于家庭的,所以要保证其安全、可靠性。从电子元件、电路设计、材料的选用都应注意提高其安全性与可靠性。
13、2。5 光强采集模块为了对外部光照强度的测量,论文采用光敏电阻对光照进行测量,如图2。2所示光敏电阻,此光敏电阻是负参数的光敏电阻,也就是说光照增强后电阻阻减小,我们通过实验测量得到光敏电阻的电子变化范围在几百欧姆到几兆欧姆之间变化,当光强度很大时,光敏电阻的阻值可达几百欧姆,当在黑暗的环境中时,测量光敏电阻两端的阻值,可达几兆欧姆的电阻。 图 2。2光敏电阻 为了实现与光敏电阻的阻值想匹配的电阻,我们采用10K的电阻进行上拉电阻。通常情况下,光敏电阻的阻值在千欧姆上,所以当光照强度很大时,光敏电阻的阻值很小,进行图2.2电路后输出的信号就是很小的电压信号;当光照强度很小时,即黑暗情况下,光敏
14、电阻的阻值很大,进行图2.2电路后输出的信号就是接近供电电源的电压3。3V。在电压信号输出后,采用104电容进行滤波,已得到更平滑的信号波形,方便单片机对信号的处理,不会因为光照的不稳定,而导致误判。图2。2 光敏电阻2.6 温湿度传感模块DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进
15、行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便。连接方式如图2。3图2.3 DHT11连接方式2.7 驱动模块1。电机要实现正反转控制,将其电源的相序中任意两相对调即可(我们称为换相),通常是V相不变,将U相与W相对调节器,为了保证两个接触器动作时能够可靠调换电动机的相序,接线时应使接触器的上口接线保持一致,在接触器的下口调相。由于将两相相序对调,故须确保二个KM线圈不能同时得电,否则会发生严重的相
16、间短路故障,因此必须采取联锁。为安全起见,常采用按钮联锁(机械)与接触器联锁(电气)的双重联锁正反转控制线路(如下图所示);使用了按钮联锁,即使同时按下正反转按钮,调相用的两接触器也不可能同时得电,机械上避免了相间短路。另外,由于应用的接触器联锁,所以只要其中一个接触器得电,其长闭触点就不会闭合,这样在机械、电气双重联锁的应用下,电机的供电系统不可能相间短路,有效地保护了电机,同时也避免在调相时相间短路造成事故,烧坏接触器。2。用单片机控制直流电机正反转:继电器介绍:继电器引脚图VCC就是电源正极,GND就是电源负极,IN是通断信号的输入引脚。而另一边,NC即常闭端,COM即公共端,NO即常开
17、端。在中学物理中已经学过,开路即通路、断路,闭合指的是开关闭合,也就是说,在没有任何上电之类的动作时,NC和COM端相当于已经连通,这种继电器模块的连线一般为:因为在一般情况下NC是闭合的,所以我们要接到NO接口,然后信号输入引脚即IN引脚给低电平,NC端断开,NO端闭合,负载端电路形成闭合回路,开始工作,当IN端给高电平时,NO端断开,负载即停止工作.如果想一直工作,给信号停止工作,即把NO端的连线接在NC端就行了。继电器的GND要和单片机的GND接在一起共地,也可以使用同一个电源来达到共地的效果)继电器被发明的目的使用来用弱电控制强电,保证人们不会在高压电路中因为某种因为发生危险(当然单片
18、机使用的继电器模块驱动电流很小,甚至光耦隔离的继电器,只需要一个低电平的信号即可触发,并不需要太大的电流.3。继电器常开端接5v电压,常闭端接地。继电器公共端,常闭端,常开端,当p3。4口为1时,继电器com与常开端吸合,为5v,p3.5口为0,继电器com端与常闭端吸合,电机两端产生电压差,实现正转,再根据采集到的数据与阈值比较判断来改变p3。4,p3.5状态,实现正转,反转,停转,模拟收衣,晾衣。2。8 显示模块1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间
19、有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶.三、 基于单片机的的智能晾衣系统的软件设计软件部分C语言进行编写,开发环境选择keil4。采用单片机进行采集光照、温湿度两个外部天气信号,并通过单片机控制旋转衣架,旋转衣架通过步进电机进行调节,当外部天晴,
20、且无雨时,将衣架转出,晾晒衣物;当下雨或者没有阳光时,转回室内,防止被雨打湿,或者天已黑。3.1系统分析外部天气的光照和下雨情况,如下表3.1:是否有阳光是否下雨衣架状态否否收回否是收回是否晾晒是是收回所以我们可以通过表格发现,只有当外部天气是晴天, 且没有雨的时候,衣物是可以进行晾晒的,其他条件下,都需要将衣物拿回室内.STC89c52RC3。2 STC89C52RC单片机介绍图3。2 STC89c52引脚图主要特性如下:1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。2. 工作电压:5。5V3。3V(5V单片机)/3。8V2.0V
21、(3V单片机)3. 工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz4. 用户应用程序空间为8K字节5. 片上集成512字节RAM6。 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻.7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3。1)直接下载用户程序,数秒即可完成一片8。 具有EEPROM功能9。 具有看门狗功能10. 共3个16位定时器/计数器。即定时器T
22、0、T1、T211。 外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒12. 通用异步串行口(UART),还可用定时器软件实现多个UART13. 工作温度范围:40+85(工业级)/075(商业级)14. PDIP封装STC89C52RC单片机的工作模式1、掉电模式:典型功耗0.1A,可由外部中断唤醒,中断返回后,继续执行原程序2、空闲模式:典型功耗2mA3、正常工作模式:典型功耗4Ma7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代
23、码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 3。3 程序设计C语言是计算机程序设计语言的一种,它处于机器语言与高级语言之间,它不仅具备机器语言的特点,同时又具备高级语言的特点.C语言1972年产生于美国,它是由贝尔研究所的D。M.Ritchie推出的。在此之后,各种不同类型的计算机都被移植成为C语言.C语言不仅能够编写工作系统和控制程序代码,还能够作为设计应用程序的语言,其编写的应用程序与计算机硬件无绝对关系。如今,C语言的使用范围非常之广泛,因为该语言极其强大的处理数据的能力,已经不仅仅是应用在软件的开发上,很多种类的科研也都开始使用C语言编程8.C语言
24、简明易懂、开发和维护都很方便,并且不受硬件操作能力约束,采用模块化设计移植很容易,开发周期短。使用C语言开发单片机的控制程序代码,储存单元的分配都是通过编译器自动完成的,程序设计者只需要关注程序本身的设计,无需考虑储存单元分配等问题.C语言可以采用模块化的编程,对一些常用控制功能或算法的函数可以编写相应的程序块,在使用时直接调用,可以极其方便的进行程序开发和移植,缩短程序开发周期。3.4软件算法算法从最初对的系统初始化、外设初始化后,就通过按键9设定光照和雨滴的阈值,来决定怎么样的光照强度和怎么样的雨滴强度,才能使衣架出去晾晒,或者回到室内.之后就判断是否有雨,是否有光照,若有达到相应强度的光
25、照和没有雨时就出去晾晒衣物,其他清理进室内。但是有时机器也会被东西给卡主,所以需要检查衣架是否有故障,若有故障,就停下来,若无故障就完成上一步没有完成的动作,即回到室内或者出室晾晒。算法图四、 实验调试通过设计调试得到图4。1测试图:1。用手遮住光强传感器使外界光照低于设定阈值30cd,此时电机反转收回衣架2.用手电筒模拟强光使光强大于阈值100cd,此时电机正转晾出衣架3.用手捂住温湿度传感器使其湿度大于设定阈值70,此时电机反转收回衣架4。无论何时按下按键k3,电机总会停止转动,手动收衣架可以看出实现运行正常,且可行。当外部天晴,且无雨时,将衣架转出,晾晒衣物;当下雨或者没有阳光时,转回室
26、内,防止被雨打湿,或者天已黑。五 结论展望本报告设计并实现了基于单片机的智能晾衣系统,通过实验调试,当外部天晴,且无雨时,衣架转出,晾晒衣物;当下雨或者没有阳光时,转回室内。完成要求中智能晾衣杆全自动工作,实现无人操控;晾衣杆有两个位置,伸出去,缩回来;可以进行位置检测:晾衣杆伸出去时,到达指定位置能够停下来;有软件容错处理:晾衣杆伸缩过程中遇到各种障碍,能够通过软件容错处理来停止;使用光敏传感器:天黑时候将衣服收回来,天亮时候或者阳光猛烈的时候伸出去晾晒;使用雨滴传感器:下雨的时候将衣服收回来;参数灵敏度可以调节(动态设置):按键+液晶显示;采用5V供电:5V电源供给单片机、电机。 本报告实
27、现了智能晾衣系统,还需要结合市场,对衣架的结构和工作方式。比如旋转还是上下伸缩,前后伸缩等,进一步完善系统,使之满足市场需求,更好的为客户服务.六、心得张旭:1.通过这次单片机课设,我们学到了很多平时难得的东西,首先是团队协作,在这次设计当中,难免和同学产生观点和意见的分歧,以及分工明细、时间安排等不合理2.通过这次设计,我们体会到了团结合作的重要性及力量之强大,还有让我们处理事情更加有条理,思路更加清晰明了了,发现、提出、分析、解决问题和实践能力的提高都将受益于我在以后的学习、工作和生活中。3。此次的设计,其实也是我们所学知识的一次综合运用,让我深深的认识到了学习单片机要有一定的基础,要有电
28、子技术方面的数字电路和模拟电路等方面的理论基础,特别是数字电路;也要有编程语言的汇编语言或C语言。要想成为单片机高手,我们首先要学好汇编语言,然后转入C语言学习,所以我们不能学到后面就忘了前面的知识,更应该将所学的知识紧紧的结合在一起,综合运用,所谓设计,就是要求创新,只有将知识综合运用起来才能真正的设计好.高彭:1.在智能晾衣架系统的设计与搭建中,我学到了很多。温湿度器件,AD转换模块,继电器以及单片机主板,我认识了好多器件。不仅仅是它们在书上描写到的那些,还有它们在实际中的应用。2.在这次设计中更可贵的是懂得了将实际情况加入到搭建的系统中.根据实际可能发生的情况以及用户可能的需求来改进系统
29、,更多的从使用者的角度去考虑这个系统需要怎样的功能,怎样做才能更便利。3。当中间遇到了很多的问题,比如高压继电器的驱动问题,软硬件结合的问题.这些问题的解决有一部分要归功于与另一组的讨论,团队合作与交流的重要性在开发中也很重要。通过搭建系统学到了很多软硬件知识,也认识到了自己的很多不足,希望能慢慢弥补.乐子成:1.通过本次嵌入式实验我加深了对书本上所学习知识的理解与运用,讲学习到的专业知识付诸实践提高了对专业的兴趣与了解。2.在一次次的ppt修改中,收获了最后成功的喜悦.也让我知道了团队分工的重要,众人拾柴火焰高,好的团队精神往往事半功倍。3.科技发展日星月异,唯有不断学习,才能充实自己,立足
30、于当下. 宋星阳:当今世界的发展已经不断的面向智能、面向科技、面向网络. 如今,我们的生活已经不断网络化、智能化了,比如说汽车、电脑等等工具。而单片机是这里面最重要的一部分,此设计也是对我们通信工程有用的一门学生很有用的一门学科之一. 经过小学期学期的设计,我有以下几点感想和对这门课设的总结: 1自己通过课设也是被单片机的强大功能所震撼,课堂上也没有感受到单片的优越性和可操作性,单片机的应用越来越广泛,越来越重要。 2做课设很重要,不仅要反复操作,还要反复学习,做到各部分软硬件要熟练。 3时间要安排合理得当,切记不能拖拖拉拉,撰写报告要仔细认真,注重报告的格式要求和内容的详略得当。总之,此次设
31、计对我很受益,收获很多。参考文献1潘清明,丁左武,蒋伟,郑孙伟。防雨、防暴晒、夜晚能自动收缩的智能晾衣架设计J。机电产品开发与创新,2007,06:7981.2吕广红,黄崇林,陈晓铭。基于AT89C52的智能晾衣架的设计J。自动化与仪器仪表,2013,02:71-73。3刘秋呈,顾凯燕,刘辉.感光智能晾衣架的设计J.科学咨询(科技管理),2013,05:67.附件:include 0;j) for(i=0;i27;i+); void Delay_10us(void) U8 i; i-; i-; i-; i; i-; i; void COM(void) U8 i; for(i=0;i8;i+)
32、U8FLAG=2; while((!P2_0)&U8FLAG+); Delay_10us(); Delay_10us(); Delay_10us(); U8temp=0; if(P2_0)U8temp=1; U8FLAG=2; while((P2_0)&U8FLAG+); /超时则跳出for循环 if(U8FLAG=1)break; /判断数据位是0还是1 / 如果高电平高过预定0高电平值则数据位为 1 U8comdata=1; U8comdata=U8temp; /0 /rof /- /-湿度读取子程序 - /- /-以下变量均为全局变量- /-温度高8位= U8T_data_H- /-温度
33、低8位= U8T_data_L- /-湿度高8位= U8RH_data_H- /-湿度低8位= U8RH_data_L- /-校验 8位 = U8checkdata- /-调用相关子程序如下- /- Delay();, Delay_10us();,COM(); /-void RH(void) /主机拉低18ms P2_0=0; Delay(180); P2_0=1; /总线由上拉电阻拉高 主机延时20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); /主机设为输入 判断从机响应信号 P2_0=1; /判断从机是否有低电平响应信
34、号 如不响应则跳出,响应则向下运行 if(!P2_0) /T ! U8FLAG=2; /判断从机是否发出 80us 的低电平响应信号是否结束 while(!P2_0)&U8FLAG+); U8FLAG=2; /判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 while((P2_0)&U8FLAG+); /数据接收状态 COM(); U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8com
35、data; COM(); U8checkdata_temp=U8comdata; P2_0=1; /数据校验 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp=U8checkdata_temp) U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; /fi /fi /以上是DHT11驱动程序/以下是LCD1602驱动程序/void lcd_delay(uchar ms) /LCD1602 延时*/ uchar j; while(ms-) for(