资源描述
泉 州 师 范 学 院 毕业论文(设计) 题 目 基于单片机的恒温箱控制系统 物理与信息工程 学 院 电子信息科学与技术 专 业 07 级 1 班学生姓名 学 号 070303052 指导教师 职 称 讲师 完成日期 2011年3月 教务处 制基于单片机的恒温箱控制系统物理与信息工程学院 07级电子信息科学与技术 指导教师 讲师【摘 要】恒温箱控制系统是通过采集温度,将温度反馈给系统,与系统所设的温度进行比较,通过判断决定进行加热或制冷工作。本设计采用单片机控制整个系统,通过按键设置温度范围,由温度传感器DS18B20采集箱中空气的温度,并反馈给STC89C51单片机,与设置的温度进行比较,决定要进行加热或制冷工作。用半导体制冷片进行加热、制冷工作,通过STC89C51给出指令控制两个继电器开关,以改变电流的正负极,实现半导体的加热、制冷工作,同时在半导体制冷片上配以风扇,当半导体朝向箱内的一面进行制冷工作时,风扇可将朝向箱外加热的一面的热量散开,以防影响箱内制冷效果。【关键字】STC89C51;DS1820;半导体制冷片;恒温箱目录0. 引言31. 系统方案设计3 1.1系统设计3 1.2系统设计方案32. 系统硬件设计3 2.1总体设计框图3 2.2系统主要部分设计方案论证4 2.2.1单片机控制模块4 2.2.2稳压模块4 2.2.3温度采集器件的设计方案5 2.2.4显示方案的设计5 2.2.5加热或制冷方案的设计5 2.3各部分设计模块介绍6 2.3.1温度传感器DS18B206 2.3.2显示电路LCD16027 2.3.3继电器控制电流正负极原理7 2.3.4半导体制冷片的介绍73.系统软件设计8 3.1系统程序设计主流程图8 3.2 DS18B20温度采集流程图9 3.3 LCD1602显示流程图94.实际调试10 4.1硬件调试10 4.2软件调试105.系统实际测量106.结束语117.设计心得11 致辞11 参考文献12附录1:原理图14附录2:PCB图15附录3:总程序160.引言随着社会经济的进一步发展,能源、环境问题日益突出,节能、环保已成为当今社会关注的重点。在生产、生活、军用、工业探伤等领域,甚至检测疾射的学术研究和实验使用中,我们经常需要一个相对特定且稳定的温度环境。基于恒温箱的广泛使用,本作品以此为基点,设计制作小型恒温箱控制系统。本设计以单片机STC89C51为核心,对恒温箱进行控制。利用温度传感器DS18B02作为恒温箱的温度检测元件,DS18B02可以直接把测量的温度值变换成单片机可读取的标准电压信号而用户无需进行任何操作。LCD显示屏可显示空气温度及通过按键所设置的温度范围。根据温度传感器DS18B20反馈给单片机STC89C51的温度与设置的温度进行比较,判断进行加热或制冷工作,同时蜂鸣器发出“嘀嘀”响声报告箱内温度在设置范围之外。单片机STC89C51给予指令控制两个继电器,以改变电流的正负极,使系统进行加热或制冷操作。当在箱内的半导体的一面进行制冷在箱外的一面进行加热时,放置在箱外半导体一面的风扇便会工作,将该面的热量散去,以防影响箱内半导体一面的制冷效果,并且在加热或制冷过程中,LCD可及时显示恒温箱内的温度进行监控。1.系统方案设计 1.1系统功能本设计基于温度传感器DS18B20采集箱内的温度反馈给单片机STC89C51,而单片机STC89C51判断,并给予指令控制两个继电器,以控制继电器的电流正负极,以决定半导体加热或制冷,而不管进行加热还是制冷工作,蜂鸣器都会发出“嘀嘀”的响声以报告此时箱内的温度在设置的范围之外。当采集的箱内温度低于设置的最低温度TL,则半导体朝向箱内的一面加热,朝向箱外的一面制冷;反之,当采集的箱内温度高于设置的最高温度TH,则半导体朝向箱内的一面制冷,朝向箱外的一面加热,同时朝向箱外一面上的风扇工作,将朝外一面加热的热量尽快散开,防止影响朝向箱内一面的制冷效果。由此反复工作,以使箱子达到恒温的效果。 1.2系统设计方案本设计的目的在于使箱内有一个恒温环境,当温度过高时要使温度能够降低,当温度过低时要使温度能够升高。温度传感器DS18B20是“一线总线”接口,且可以直接读出被测温度,测温范围大1,因此选择DS18B20来采集温度,。半导体制冷片是用直流电流使其运转的,可以连续的工作,且既有加热和制冷两种功能2,使用两个继电器改变半导体的电流方向以实现加热(制冷)工作。显示方面则选用LCD1602,可以显示英文及数字,质量轻,耗电小,而且显示内容多3。整个系统选择由STC89C51最小系统控制,STC89C51系列单片机具有强抗干扰、高速、低功耗的功能,且指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择4。2.系统硬件设计 2.1总体设计框图本设计主要由七个部分组成,总体设计框图如下图1所示: 图1 总体设计框图 2.2系统主要部分设计方案论证本系统模块主要包括MCU处理模块,稳压模块,键盘和显示模块,温度采集模块,半导体制冷或加热模块。 2.2.1单片机控制模块本设计使用STC89C51控制整个电路,STC89C51系列是从引脚到内核都完全兼容标准8051的单片机,如图2所示,TC系列单片机,可靠性高,性价比高,选用40脚的单片机确保了I/O能够满足系统需要;具有看门狗保护功能,当系统发生故障,电路中看门狗将通过RESET 信号向CPU 做出反应,保密性能佳;只需使用MAX232芯片进行电平转化,通过串口将单片机与PC机连接,通过下载助手可以容易的将程序载进单片机内部。图2为STC89C51外部框图。主要特性4:与MCS-51 兼容8K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定512内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 图2 STC89C51外部框图 2.2.2稳压模块本设计中涉及到12v和5v两种电源,除半导体制冷片和继电器使用12v电源外其余均使用5v电源, 而设计中只使用一个电源端子,必须使用稳压电源将12v电源转为5v电源,本设计采用78L05三短稳压器件。78L05是线性降压型 DC/DC 转换器,不仅成本较低,而且简单易用。设计图如图3所示: 图3 稳压模块设计图 2.2.3温度采集器件的设计方案温度采集器件使用温度传感器,温度传感器包括热电偶、热敏电阻、RTD和IC温度传感器等几种,本设计中采用DS18B20温度传感器,该温度传感器应用时不需要任何外部器件即可实现测温电路,只通过一条数据线即可实现通信,精度可达到0.0625,测量温度可从-55+125,且内部设有温度上、下限告警功能5。设计如图4所示:图4 温度采集设计图 2.2.4显示方案的设计显示方式可选择LED数码管,也可选择字符型LCD显示。本设计采用LCD1602液晶显示,LCD1602不仅质量轻,体积、功耗小,而且显示的内容丰富,可以显示英文和数字。设计如图5所示: 图5 显示设计图 2.2.5加热或制冷方案设计 本设计采用半导体制冷片实现系统的加热和制冷。MCU通过继电器控制电流的正负极来控制制冷片的工作,通过电流方向控制从而使半导体制冷片实现切换于制冷与加热的状态。由于半导体制冷片没有任何滑动部件,所以它的静音效果特别好,降温时不使用任何化学添加剂,也不产生氟利昂6。该方案选择半导体制冷片不仅环保,而且温控范围广。设计图如图6所示:图6 实现加热、制冷功能设计图 2.3各部分设计模块介绍 2.3.1温度传感器DS18B20温度传感器DS18B20是数字式温度传感器,是一种改进型的只能温度传感器,“一线总线”接口,相对于传统温度传感器精度高、稳定性好、电路简单、控制方便。能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式5。DS18B20的性能特点5:可通过数据线供电,电压范围:3.05.5V; 测温范围:-55+125;无须外部器件,独特的单线接口仅需要一个端口引脚进行通信; 多个DS18B20可以并联在唯一的三线上,实现多点组网功能;零待机功耗;用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625;负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20的引脚图和内部结构分别如图7、图8所示:图7 DS18B20的引脚图 图8 DS18B20的内部结构 DS18B02内部结构由64位光刻ROM、温度传感器、非挥发的温度报警器TH和TL、配置器四个部分组成。温度的测量是:当温度转换命令执行后,经转换而获得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.0625/LSB形式表示。对应的温度计算:当符号位S=0时,表示测得的温度值为正值,可直接将二进制位转换为十进制;当S=1时,表示测得的温度值为负值,要先将补码变为原码,再计算十进制值。 DS18B20完成温度转换后,将测得的温度值与RAM中的TH、TL字节内容进行比较。如果TTH,或者TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。 在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机根据ROM的前56位来计算CRC值,并存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。 2.3.2显示电路LCD1602本设计中显示部分采用的是LCD1602液晶显示模块,具有体积小,功耗低,显示内容丰富,超薄轻巧7等优点,在袖珍式仪表和低功耗应用系统中得到广泛的运用。字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件。LCD1602液晶显示屏不仅可以显示两行,每行16个字符,采用单+5V电源供电,而且外围电路配置简单,价格便宜,具有很高的性价比。 LCD1602外观如图9所示:RS R/W E DB0DB7 V0 Vss Vdd LEDA LEDK 4 5 6 714 3 1 2 15 16 图9 LCD1602外观图液晶显示的原理是利用液晶的物理特性,通过电压对其显示的区域进行控制,有电通过的地方就会显示,而没电通过的地方则就不会显示,这样即可显示出相应的图形。LCD1602液晶模块内部的存储器存储了160个不同的点阵字符图形,而这些字符每一个都有一个固定的代码,只要将字符的代码即地址发送我们便可看到相应的点阵字符7。 2.3.3 继电器控制电流正负极原理继电器一共有五个引脚,其中一边有三只脚,中间是输出出点的公共端子,另外两个引脚是线圈引脚,即接驱动端,还有两个脚分别是常开和常闭点。将公共端子和常开或常闭引脚连接,即可控制继电器的开关8。通过控制与两个继电器连接的两个单片机引脚的高低电平即可实现电流正负极的改变。 2.3.4半导体制冷片的介绍半导体制冷片也叫热电制冷片,是一种热泵,他的工作原理是用直流电源,它既可制冷又可加热,通过改变直流电流的极性来决定该半导体制冷片两面哪面加热哪面制冷,而这个结果的产生采用的就是通过热电的原理。半导体制冷片的优点是不需要任何的制冷剂,没有污染源,没有滑动部件,是一种固体片件,工作是没有噪音、振动,寿命长,安装容易。半导体制冷片虽然可以进行制冷工作,又可以进行加热工作,但是制冷效率一般不高,而制热效率比较高,一般都大于1。它的温差范围可以从-130到+90。半导体制冷片的工作原理是:当一块N型半导体材料和一块P型半导体材料联结成电偶对时,在这个电路中接通直流电流后,就能产生能量的转移,电流由N型元件流向P型元件的接头吸热热量,成为冷端,由P型元件流向N 型元件的接头释放热量,成为热端。吸热和放热的大小则是通过电流的大小以及半导体材料N、P的元件对数来决定9。 半导体制冷片的特点9:a、 不需要任何制冷剂,可连续工作,没有污染源没有旋转部件,不会产生回转效应,没有滑动部件,是一种固体片件,工作时没有振动、噪音、寿命长、安装容易。b、 半导体制冷片具有两种功能,既能制冷。又能加热,制冷效率一般不高,但制热效率很高,永远大于1。因此使用一个片件就可以代替分立的加热系统和制冷系统。c、 半导体制冷片是电流换能型片件,通过输入电流的控制,可实现高精度的温度控制,再加上温度检测和控制手段,很容易实现遥控、程控、计算机控制,便于组成自动控制系统。d、 半导体制冷片热惯性非常小,制冷制热时间很快,在热端散热良好冷端空载的情况下,通电不到一分钟,制冷片就能达到最大温差。e、 半导体制冷片的反向使用就是温差发电,半导体制冷片一般适用于中低温区发电。f、 半导体制冷片的单个制冷元件对的功率很小,但组成电堆,用同类型的电堆串、并联的方法组合成制冷系统的话,功率就可以做得很大,因此制冷功率可以做到几毫瓦到上万瓦的范围。而半导体制冷片的温差范围,从正温90C到负温度130C都可以实现。3. 系统软件设计 3.1系统程序设计主流程图系统程序主流程图如图10所示:图10 系统程序设计主流程图如图10所示,本设计中控制模块采用STC89C51,将DS18B20所采集到的温度和按键所设置的温度送到LCD显示出来,同时判断DS18B20所采集的温度是否在设置的温度范围之内,并比较大小,给出指令以控制半导体加热或制冷工作。 3.2 DS18B20温度采集流程图DS18B20温度采集流程图如图11所示:图11 DS18B20温度采集流程图DS18B20从测温结束到将温度转化为数字量需要一定的转化时间,所以要保证足够的延时时间以保证转换结果的正确性。 3.3 LCD1602显示流程图LCD1602显示流程图如图12所示:图12 LCD1602显示流程图 4.实际调试 4.1硬件调试根据画好的电路图画好PCB图,制好板并焊接,焊接好后检查电路是否有错误,并检查焊接是否有出现短路、断路或虚焊等情况。利用串口下载程序到实验板中,看是否可以下载程序。将DS18B20温度传感器、LCD1602子程序下载至单片机STC89C51,检查DS18B20温度传感器是否能正确采集到温度,LCD1602能否正常工作,显示结果。通过按键设置温度范围,检查蜂鸣器是否可以按照预期的,当温度不在设置的范围之内时会发出“嘀嘀”的声响。利用单片机STC89C51给出指令,检查半导体制冷片是否能正常进行加热或制冷工作。检测结果每部分均能正常工作,说明硬件部分没问题。 4.2软件调试将写好的程序进行编译,编译成功后下载至实验板上,发现未能实现预期的功能,LCD1602上显示的温度固定在85,分析可能是因为延时不够导致,检查程序延时时间是足够的。重新尝试,结果一样,将DS18B20温度传感器子程序载入单片机,LCD显示的还是一样的结果,始终保持不变的温度,温度传感器DS18B20虽然可以工作,但是可能由于某方面的原因无法正常工作。重新换一个DS18B20温度传感器发现温度可以正常显示。通过按键设置温度范围,当箱内的温度在设置的温度范围内时,蜂鸣器不会发出“嘀嘀”声响,并且温度半导体不会进行工作,而当温度不在设置的温度范围内时,蜂鸣器便会发出“嘀嘀”的声响,以示警告,并且半导体进行加热和制冷工作。当箱内的温度高于设置的最高温度时,半导体箱内的一面会进行制冷,箱外的一面则进行加热工作,同时风扇也开始工作。相反当箱内的温度低于设置的最低温度时,半导体箱内的一面会进行加热工作,箱外的一面进行制冷工作,此时风扇停止工作。发现当半导体箱内的一面进行加热工作时,温度升得很慢。将半导体拿下直接用直流稳压电源,电压用12v同时将电流慢慢增加,发现半导体加热的一面温度升得很快。分析结果是因为用12v直流电源直接从插头引出的电压虽然足够达到12v但是电流太小,导致半导体加热的一面工作效率不高,温度上升得比较慢。5. 系统实际测量系统实际测量如图13所示,因电源是直接从插座引入12v电压,电流较小,温度的改变较慢。当且箱内温度高于设置的最高温度时,半导体箱外的一面进行加热工作时,风扇才会工作。图13 实际测量图 测量过程中不断改变最高温度和最低温度,在不同的天气下(使恒温箱内的实际温度不同)分别测量。当实际温度在最高温度和最低温度时,温度保持不变,受空气和箱子的密封性影响有时会有稍许的改变,但是改变的范围很小;当实际温度低于所设置的最低温度时,蜂鸣器发出“嘀嘀”的声音,半导体朝向箱内的一面会加热使箱内的温度升高到设置的最低温度,然后保持不变;当实际温度高于所设置的最高温度时,蜂鸣器发出“嘀嘀”的声音,半导体朝向箱内的一面会进行制冷工作使箱内的温度降低到设置的最高温度,然后保持不变。将部分测量记录成表1:表1 部分测量记录表TL()TH()实际温度()一段时间后的温度()152318.518.5121719.0 17.0 132019.519.5182118.918.9122119.319.3192218.819.0 测量过程中曾试过将最低温度和最高温度设置成一样的,这样可使得恒温箱永远保持在一个温度点,但是效果较差,始终无法使使恒温箱保持在一个温度点,而只能保持在一个温度范围内。原因在于半导体制冷片同时具有加热和制冷功能,当有电流通过的时候半导体制冷片一定会工作,或加热或制冷,而不可能不工作,所以恒温箱始终只能保持在一个温度范围内,而无法保持在一个温度点上。6.结束语本次设计的恒温箱控制系统主要是以STC89C51为控制核心,通过按键设置温度范围,以DS18B20温度传感器采集温度,相关信息则是通过无背光显示屏LCD1602显示,半导体制冷片进行加热或制冷工作,通过STC89C51给予指令控制继电器改变电流的正负极以控制半导体的加热或制冷工作,蜂鸣器可以报警,以示温度是否在设置范围之内。这次设计的恒温箱控制系统成本低,易于实现,在现实生活中被广泛应用,具有一定的实用意义。本设计的不足之处就是电源的选择,设计中是用12v直流电源直接提供,虽电压可以达到要求但是由于电流太小,导致半导体工作效率较低。当然,本设计也还有可以改进的地方,比如可以给系统配上语音功能,以实现报温功能。6. 设计心得本次设计是硬件与软件的相结合,让我学到了很多以前所没学到的,这次用的器件部分是以前没用过的,我翻阅了很多相关书籍,这不仅让我学习到了更多的知识,同时也让我懂得了更得的学习方法。在这以前我的软件编程一直很差,通过这次的设计,我的软件编程能力有了一定的提高。整个设计做下来,虽然碰到不少问题,但都一一解决,在检测自己所学知识的掌握情况的同时也提高了自己的分析问题能力以及解决问题的能力。 致谢在本次的毕业设计中,林顺达老师给了我很大的支持,在各方面都给予了我宝贵的意见,在整个毕业设计过程中给予我关心,给予我悉心的指导,使我的毕业设计能够顺利的完成,对此我表示由衷的感谢。同时衷心感谢林配晖同学在这次毕业设计中给予我的指导与帮助。参考文献:1赵健.基于DS18B20温度传感器温室测温系统设计J.安徽农业科学,2008年25期.2徐德胜.半导体制冷与应用技术M.上海:上海交通大学出版社,1999.3王立文,邵晓根,席建中,等.LCD1602在CO2增施控制器中的应用J.安徽农业科学,2008,36(33).4张毅刚.单片机原理及应用M.北京:高等教育出版社,2006.5李钢,赵彦峰.1-Wire总线温度传感器DS18B20原理及应用J.现代电子技术,2005,28(21).6半导体制冷片.百度百科.7于志赣,刘国平,张旭斌.液晶LCD1602模块的应用J.机电技术,2009,32(3).8继电器.百度百科.9半导体制冷片.百度百科.The constant temperature box based on single-chip microcomputer control systemColloge of Physics and Information Engineering Electronic information science and technology major 070303052 ZHANG Xiao-fen LIN Shun-da lecturerAbstract: Thermostat control system is a system that gathers heat,and then delivers the heat to the system to compare the temperature with the set temperature in the system,from which to decide whether to heat up or refrigerate the temperature.This design aims to utilize single-chip microcomputer to control the whole system.Temperature can be set by pressing the button, and the temperature of the air in the thermostat is gathered and reflected to the single-chip microcomputer STC89C51 by temperature sensor DS18B20 to make a comparison between the sensed temperature and the set temperature and then temperature adjustment will be made. This design applys semiconductor refrigeration chip to heat up or refrigerate the temperature.The single-chip microcomputer STC89C51 will give orders to control the state of the two relays,through which the polarity of electric current will be changed and the operation of temperature adjustment of the semiconductor can be accomplished.Meanwhile,there is a fan in the semiconductor refrigeration chip,therefore,when the semiconductor do the job of refrigeration to the inside side of the incubator, the pan will disperse the heat heated in the outside side in case of affecting the refrigeration results. Key words:STC89C51; DS1820; Semiconductor refrigeration slices.;Thermostatic box附录1:原理图 附录2:PCB图附录3:主程序#include #include #define uchar unsigned char#define uint unsigned intsbit DQ = P37; /定义DS18B20端口DQ sbit BEEP=P36 ; /蜂鸣器驱动线sbit jdq1=P27;sbit jdq2=P26;bit presence,flag;bit compare_th,compare_tl,alarm_on_off=0,temp_th,temp_tl;sbit LCD_RS = P35; sbit LCD_RW = P34;sbit LCD_EN = P33;sbit K1 = P20;sbit K2 = P21;sbit K3 = P22;sbit K4 = P23;uchar code cdis1 = READ_ROMCORD ;uchar code cdis2 = ;uchar code cdis3 = DS18B20 ERR0R ;uchar code cdis4 = PLEASE CHECK ;uchar code cdis5 = TEMP: ;uchar code cdis6 = TH: TL: ;unsigned char data temp_data2 = 0x00,0x00;unsigned char data temp_alarm2 = 0x00,0x00;unsigned char data display5 = 0x00,0x00,0x00,0x00,0x00; /温度值显示unsigned char data display13 = 0x00,0x00,0x00; /温度报警值显示/unsigned char code ditab16 = 0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,/ 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;unsigned char data RomCode8 = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;unsigned char code mytab18 = 0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00;unsigned char code mytab28 = 0x01,0x1b,0x1d,0x19,0x1d,0x1b,0x01,0x00;/小喇叭#define delayNOP(); _nop_();_nop_();_nop_();_nop_();unsigned char Temp,temp_comp,timecount,count;unsigned char crc;void Disp_Temp_alarm(uchar addr,uchar num);void spk(uchar addr);void set_temp_alarm();void temp_compare();void beep();/*/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_(); P1 = 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; P1 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; /*/* */*自定义字符写入CGRAM */* */*/void writetab() unsigned char i; lcd_wcmd(0x40); /写CGRAM for (i = 0; i 8; i+) lcd_wdat(mytab1i); 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;
展开阅读全文