版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)课题名称基于单片机的自动温度控制系统的设计学生姓名学号系、年级专业指导教师职称2012年目录TOC\o"1-2"\h\z\u摘要④CRC的产生。图3.4DS18B20测温流程4.键盘输入模块图3.5键盘输入键盘输入可以快速方便的设置我们所需要使用的温度范围〔20~35摄氏度5.PID控制模块PID控制器是一种线性控制器,它根据给定值与实际输出值构成的控制偏差[6]:〔3.1〕将偏差的比例〔Proportional〕、积分〔Integral〕和微分〔Derivative〕通过线性组合构成控制量,对被控对象进行控制,因此称为PID控制。PID控制系统原理如下图:图3.6PID控制系统原理框图其控制规律为:〔3.2〕或者写成传递函数的形式为:〔3.3〕式中:为比例系数为积分时间常数为微分时间常数PID控制器各校正环节的作用如下[7]:1.比例环节即时成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差;2.积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之那么越强;3.微分环节能够反映偏差信号的变化趋势,并且能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。图3.7PID控制电路PID控制电路对采集的实际温度进行计算处理,在传送给单片机与设定温度进行比照计算,从而控制加热器的状态。3.2控制算法由于计算机控制是一种采样控制系统,它只能根据采样时刻的偏差值计算控制量。因此,(3-2)式中的积分和微分项不能直接使用,需要进行离散化处理。现令T为采样周期,以一系列的采样时刻点kT代表连续时间t,以累加求和近似代替积分,以一阶后向差分近似代替微分,做如下的近似变换[8]:〔3.4〕〔3.5〕〔3.6〕其中,T为采样周期,为系统第k次采样时刻的偏差值,为系统第(k-1〕次采样时刻的偏差值,k为采样序列号,。将上面的〔3.5〕式和(3.6)式代入〔3.2)式,那么可以得到离散的PID表达式〔3.7〕如果采样周期T足够小,该算式可以很好的逼近模拟PID算式,因而使被控过程与连续控制过程十分接近。通常把〔3.7〕式称为PID的位置式控制算法。假设在〔3.7〕式中,令〔称为积分系数〕〔称为微分系数〕那么〔3.8〕〔3.8〕式即为离散化的位置式PID控制算法的编程表达式。可以看出,每次输出与过去的所有状态有关,要想计算,不仅涉及到和,且须将历次相加,计算复杂,浪费内存。下面,推导计算较为简单的递推公式[9]。为此,对〔3.8〕式做如下变动:考虑到第〔k-1〕次采样时有〔3.9〕使〔3.8〕式两边对应减去〔3.9〕式,得整理后得〔3.10〕其中,,,式〔3.10〕就是PID位置式得递推形式。如果令[10]那么〔3.11〕式中的,,同〔3.10〕式中的一样。因为在计算机控制中,,,都可以事先求出,所以,实际控制时只须获得、、三个有限的偏差值就可以求出控制增量。由于其控制输出对应执行机构的位置的增量,故〔3.11〕式通常被称为PID控制的增量式算式。3.3整体电路的设计系统的总电路如图3.8所示:图3.8系统总电路图键盘模块设定我们所需要的温度20~35摄氏度,通过温度传感器DS18B20对实际温度进行采集,采集后将数据送入PID控制电路,经过PID计算后传入单片机与设定温度进行比照,进而来控制加热器的状态。显示模块显示当前温度与设定温度以及加热器的状态。第4章系统的软件设计一个应用系统要完成各项功能,首先必须有较完善的硬件作保证,同时还必须得到相应设计合理的软件的支持。尤其是微机应用高速开展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与C51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。4.1系统软件设计流程图系统程序主要包括主程序,读出温度子程序,复位应答子程序,写入子程序等。(1)主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图所示。通过调用读温度子程序把存入内存储中的整数局部与小数局部分开存放在不同的两个单元中,然后通过调用显示子程序显示出来图4.1主程序流程图(2〕读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能到达预期的目的,同时,要注意读进来的是高位在后低位在前,共有12位数,小数4位,整数7位,还有一位符号位图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门翻开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1DS18B20复位、应答子程序DS18B20复位、应答子程序跳过ROM匹配命令跳过ROM匹配命令写入子程序写入子程序温度转换命令温度转换命令写入子程序写入子程序显示子程序(延时)显示子程序(延时)DS18B20复位、应答子程序DS18B20复位、应答子程序跳过ROM匹配命令跳过ROM匹配命令写入子程序写入子程序读温度命令子程序读温度命令子程序终止终止图4.2读出温度子程序(3〕复位、应答子程序主机发出延时537微秒的复位低脉冲,然后拉高数据线等待DS18B20回应,判断表示DS1820是否存在,如果存在口置1读出转换后的温度值。开始开始延时537US延时537US50US是否有低电平50US是否有低电平否是标志位置1有234US低电平标志位置1否是标志位置1有234US低电平标志位置1终止终止图4.3复位、应答子程序〔4〕写入子程序开始开始进位C清0进位C清0终止R2是否为0P1.0置0延时46US带进位右移终止R2是否为0P1.0置0延时46US带进位右移延时12US延时12US图4.4写入子程序(5)系统总的流程图如图4.5所示图系统总的流程图系统主程序的功能是:启动DS18B20测量温度,将测量值与给定值通过PID控制器进行比拟,假设测得温度低于设定温度下限值,那么进入加热阶段,置为低电平,这期间继续对温度进行监测,直到温度在设定范围内,置为高电平断开可控硅,关闭加热器,等待下一次的启动命令。当测得温度高于设定温度上限值,那么进入降温阶段,那么置为低电平,这期间继续对温度进行监测,直到温度在设定范围内,置为高电平断开,等待下一次的启动命令。第一次接电可设置温度上限为35摄氏度,温度下限为20摄氏度。加热后,温度有时超过35摄氏度却不停止加热,后经检查,发现是进位C没有清0MOVR3,#6DJNZR3,$RRCAMOVP1.0,CMOVR3,#23DJNZR3,$NOPDJNZR2,WR1RET;读DS18B2第5章系统仿真与调试5.1仿真方法与操作〔1〕创立文件并命名“自动温度控制系统〞,并且在proteus中建立新的文件。〔2〕放置原件,设定好参数,并连接电路。(3)双击单片机芯片,添加“〞文件。(4)仿真运行,“debug〞“execute〞。(5)检查错误直到达设计要求。5.2仿真结果程序调试运行后,得到仿真结果:图5.4继电器加热仿真初始要按下设置键把温度设置成20摄氏度,再通过调节温度来模拟实际温度的变化,当温度低于所设温度下限20摄氏度图5.5继电器继续加热当温度低于所设温度上限35摄氏度时,继电器保持工作,持续加热,亮红灯。图5.6继电器停止加热当温度高于所设温度上限35摄氏度图5.7继电器保持原状当温度处于所设温度界限20摄氏度或35摄氏度时,继电器保持原有工作状态,亮黄灯。5.3结果分析当前温度低于所设温度下限20摄氏度时,红灯亮起,继电器开始加热,当前温度在所设温度范围内〔20~35摄氏度〕时,继电器保持加热状态不变,红灯亮起,当前温度超过所设温度上限35摄氏度时,绿灯亮起,继电器自动断电,当前温度处于设定温度界限〔20或35摄氏度〕时,继电器保持原有状态,黄灯亮起。温度控制精度为摄氏度,控制精度较高,符合设计的要求。第6章结论本设计以单片机80C51为核心,用DS18B20温度传感器采集温度变化信号,PID控制器对采集的温度进行处理,AMPIRE128X64液晶以动态扫描方式实现设定温度与当前温度,通过单片机与设定温度进行比拟后去控制加热器,并将当前温度返还给温度传感器进行自动控制。在前人的根底上采用PID算法精确的控制温度的变化,精确度为摄氏度,符合设计的要求,更有利于在花房的使用。本温度控制系统可以应用于多种场合,像育婴房的温度、水温的控制。用户可灵活选择本设计的用途,有很强的实用价值。参考文献[1]陈跃东.DS18B20集成温度传感器原理与应用[J].安徽机电学院学报,2002,17(4):35~36.[2]王海宁.基于单片机的温度控制系统的研究[D].合肥:合肥工业大学,2023.[3]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2003:88~101.[4]罗文光,兰红莉.基于单总线的多路温度测试技术[J].传感技术,2002,21〔3):15~20.[5]Digitaltemperaturesensoraccuracyexplained[J].Rev.01—9August2006.[6]孙泽勇,王庸贵.基于PID的温度自动控制系统的实现[J].中国测试技术,2003(3):19-21.[7]基于模糊PID控制的玻璃纤维机械温度控制系统研究[D].西安:西安建筑科技大学硕士学位论文,2006.[8]李善寿.基于单片机的恒温控制器的设计和实现[J].计算机技术与开展,2023〔12〕:197-199.[9]苏卫东,任思聪等.温控箱数学模型的建立及其自适应PID控制[J].中国惯性技术学报,1995,3(4):5~6.[10]冯建华,赵亮.单片机应用系统设计与产品开发[M].北京:人民邮电出版社,2004:102~121.[11]蔡美琴等.MCS—51系列单片机系统及其应用[M].北京:电子工业出版社,2007.[12]唐华光.电子技术根底—模拟局部[M].北京:高等教育出版社,2023.[13]朱清惠等.Protous教程:电子线路设计制版与仿真[M].北京:清华大学出版社,2023.致谢首先要衷心感谢的是我的指导教师李剑老师!在我学习期间不仅传授了做学问的秘诀,还传授了做人的准那么。这些都将使我终生受益。无论是在理论学习阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,无不得到导师的悉心指导和帮助。我愿借此时机向导师表示衷心的感谢!其次要感谢所有教育过我的老师!你们传授给我的专业知识是我不断成长的源泉,也是完本钱论文的根底。我还要向关心和支持我学习的朋友们表示真挚的谢意!感谢他们对我的关心、关注和支持!大学的生活让我有了坚强的性格,冷静的头脑和永远乐观的态度。最重要的是让我有了责任感,对自己、对家人和对社会。我愿在未来的学习过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所有领导、老师、同学和朋友。永远以一颗为人民效劳的心来回报。附录*****************************主程序开始******************ORG0000HLJMPSTARTORG0003HLJMPINT0;外部中断ORG0030HSTART:MOVSP,#70HMOVP2,#0F0HCLRACLRF0;清设置键CLRFLAG2;清确认键MOVCOUNT,#0;中断次数计数SETBIT0SETBEX0SETBEALCALLINT;LCD12864初始化子程序LCALLCLEAR;LDC12864清屏子程序LCALLDISPLAY1;显示"温度自动控制系统"LCALLDISPLAY2;显示"设置温度"LCALLDISPLAY3;显示预设的温度LCALLDISPLAY4;显示"实际温度"LCALLDISPLAY5LCALLGET_TEMPER;调用读温度子程序ACALLDISPLAY5;调用显示M:LCALLGET_TEMPERLCALLDELAY1MM:LCALLDISPLAY3MM1:JBF0,MM4;是否按上"设置"键JNBF1,M;是否按下"确认"键MOVA,48HCJNEA,43H,MM5MOVA,55HCJNEA,42H,MM5MOVA,56HCJNEA,41H,MM5LJMPMM8MM4:MOVA,COUNTCJNEA,#1,MM2LCALLDISPLAY8LCALLDISPLAY8LJMPMMMM2:CJNEA,#2,MM3LCALLDISPLAY9LCALLDISPLAY9MM3:CJNEA,#3,MMLCALLDISPLAY10LCALLDISPLAY10LJMPMMMM5:JCMM7LJMPMM6MM6:LCALLDISPLAY6LJMPMMM7:LCALLDISPLAY7LJMPMMM8:LCALLDISPLAY11LJMPM***********************外部中断0子程序**************INT0:CLREX0INCCOUNT;中断计数器加1MOVDPTR,#JSMOVA,P2MOVP2,#0FHMOV47H,P2JNBACC.4,E1JNBACC.5,E2JNBACC.6,E3JNBACC.7,E4SETBEX0RETIE1:MOV20H,#0LJMPKEYHE2:MOV20H,#4LJMPKEYHE3:MOV20H,#8LJMPKEYHE4:MOV20H,#12LJMPKEYHKEYH:MOVA,47HJNBACC.0,D0JNBACC.1,D1JNBACC.2,D2JNBACC.3,D3SETBEX0RETID0:MOVA,#0ADDA,20HMOV59H,AMOVB,#3MULABJMP@A+DPTRD1:MOVA,#1ADDA,20HMOV59H,AMOVB,#3MULABJMP@A+DPTRD2:MOVA,#2ADDA,20HMOV59H,AMOVB,#3MULABJMP@A+DPTRD3:MOVA,#3ADDA,20HMOV59H,AMOVB,#3MULABJMP@A+DPTRJS:LJMPLOOP0LJMPLOOP1LJMPLOOP2LJMPLOOP3LJMPLOOP4LJMPLOOP5LJMPLOOP6LJMPLOOP7LJMPLOOP8LJMPLOOP9LJMPLOOP10LJMPLOOP11LOOP0:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP1:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP2:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP3:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP4:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP5:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP6:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP7:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP8:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP9:ACALLSHIFT1MOVP2,#0F0HSETBEX0RETILOOP10:SETBF0;按下设置键MOVCOUNT,#1MOVP2,#0F0HSETBEX0RETILOOP11:;按下"确认"键CLRF0SETBF1MOVCOUNT,#0MOVP2,#0F0HSETBEX0RETISHIFT1:JBF0,LLLLJMPEXITLLL:MOVA,COUNTCJNEA,#2,LLL1MOV48H,59HLJMPEXITLLL1:CJNEA,#3,LLL2MOV55H,59HLJMPEXITLLL2:CJNEA,#4,EXITMOV56H,59HSETBF1CLRF0EXIT:RET*************************显示子程序*************************DISPLAY1:;显示"自动温度控制系统"循环效果movcolumn4,#48movpagef4,#0;温movcode,#0lcallwriteright2LCALLDELAY1movcolumn4,#32movpagef4,#0;温movcode,#0lcallwriteright2movcolumn4,#48movpagef4,#0;度movcode,#1lcallwriteright2LCALLDELAY1movcolumn4,#16movpagef4,#0;温movcode,#0lcallwriteright2movcolumn4,#32movpagef4,#0;度movcode,#1lcallwriteright2movcolumn4,#48movpagef4,#0;自movcode,#2lcallwriteright2LCALLDELAY1movcolumn4,#0movpagef4,#0;温movcode,#0lcallwriteright2movcolumn4,#16movpagef4,#0;度movcode,#1lcallwriteright2movcolumn4,#32movpagef4,#0;自movcode,#2lcallwriteright2movcolumn4,#48movpagef4,#0;动movcode,#3lcallwriteright2LCALLDELAY1movcolumn3,#48movpagef3,#0;温movcode,#0lcallwriteleft2movcolumn4,#0movpagef4,#0;度movcode,#1lcallwriteright2movcolumn4,#16movpagef4,#0;自movcode,#2lcallwriteright2movcolumn4,#32movpagef4,#0;动movcode,#3lcallwriteright2movcolumn4,#48movpagef4,#0;控movcode,#4lcallwriteright2LCALLDELAY1movcolumn3,#32movpagef3,#0;温movcode,#0lcallwriteleft2movcolumn3,#48movpagef3,#0;度movcode,#1lcallwriteleft2movcolumn4,#0movpagef4,#0;自movcode,#2lcallwriteright2movcolumn4,#16movpagef4,#0;动movcode,#3lcallwriteright2movcolumn4,#32movpagef4,#0;控movcode,#4lcallwriteright2movcolumn4,#48movpagef4,#0;制movcode,#5lcallwriteright2LCALLDELAY1movcolumn3,#16movpagef3,#0;温movcode,#0lcallwriteleft2movcolumn3,#32movpagef3,#0;度movcode,#1lcallwriteleft2movcolumn3,#48movpagef3,#0;自movcode,#2lcallwriteleft2movcolumn4,#0movpagef4,#0;动movcode,#3lcallwriteright2movcolumn4,#16movpagef4,#0;控movcode,#4lcallwriteright2movcolumn4,#32movpagef4,#0;制movcode,#5lcallwriteright2movcolumn4,#48movpagef4,#0;系movcode,#6lcallwriteright2LCALLDELAY1movcolumn3,#0movpagef3,#0;温movcode,#0lcallwriteleft2movcolumn3,#16movpagef3,#0;度movcode,#1lcallwriteleft2movcolumn3,#32movpagef3,#0;自movcode,#2lcallwriteleft2movcolumn3,#48movpagef3,#0;动movcode,#3lcallwriteleft2movcolumn4,#0movpagef4,#0;控movcode,#4lcallwriteright2movcolumn4,#16movpagef4,#0;制movcode,#5lcallwriteright2movcolumn4,#32movpagef4,#0;系movcode,#6lcallwriteright2movcolumn4,#48movpagef4,#0;统movcode,#7lcallwriteright2LCALLDELAY1RETDISPLAY2:;显示"设置温度"movcolumn3,#16;设movpagef3,#2movcode,#8lcallwriteleft2LCALLDELAY1movcolumn3,#32;置movpagef3,#2movcode,#9LCALLwriteleft2LCALLDELAY1movcolumn3,#48;温movpagef3,#2movcode,#0lcallwriteleft2LCALLDELAY1movcolumn4,#0;度movpagef4,#2movcode,#1lcallwriteright2LCALLDELAY1RETDISPLAY3:movcolumn2,#16movpagef2,#2movcode,#10lcallwriteright;显示预设的温度movcolumn2,#24movpagef2,#2movcode,48Hlcallwriterightmovcolumn2,#32movpagef2,#2movcode,55Hlcallwriterightmovcolumn2,#40movpagef2,#2;.movcode,#11lcallwriterightmovcolumn2,#48movpagef2,#2movcode,56HlcallwriterightRETDISPLAY4:;显示"实际温度"movcolumn3,#16;实movpagef3,#4movcode,#10lcallwriteleft2LCALLDELAY1movcolumn3,#32;际movpagef3,#4movcode,#11lcallwriteleft2LCALLDELAY1movcolumn3,#48;温movpagef3,#4movcode,#0lcallwriteleft2LCALLDELAY1movcolumn3,#0;度movpagef3,#4movcode,#1lcallwriteright2LCALLDELAY1RETDISPLAY5:;显示实际的温度MOVA,29HMOVC,40H;28的位地址RRCAMOVC,41HRRCAMOVC,42HRRCAMOVC,43HRRCAMOV51H,AANL29H,#0FHMOVA,29HMOVB,#6MULABMOV50H,Amova,51Hmovb,#10divabmov43H,amov42H,bMOVA,50HMOVB,#10DIVABMOV41H,AMOV40H,Bmovcolumn2,#16movpagef2,#4movcode,#10lcallwriterightmovcolumn2,#24;实际温度movpagef2,#4movcode,43hlcallwriterightmovcolumn2,#32movpagef2,#4movcode,42hlcallwriterightmovcolumn2,#40movpagef2,#4;.movcode,#11lcallwriterightmovcolumn2,#48movpagef2,#4movcode,41hlcallwriterightRETDISPLAY6:movcolumn3,#24movpagef3,#6;状movcode,#13lcallwriteleft2LCALLDELAY1movcolumn3,#40movpagef3,#6;态movcode,#14lcallwriteleft2LCALLDELAY1movcolumn,#56movpagef,#6;:movcode,#10lcallwriteleftLCALLDELAY1movcolumn4,#0movpagef4,#6;加movcode,#15lcallwriteright2LCALLDELAY1movcolumn4,#16movpagef4,#6;热movcode,#16lcallwriteright2LCALLDELAY1movcolumn4,#32movpagef4,#6;!movcode,#19lcallwriteright2LCALLDELAY1RETDISPLAY7:movcolumn3,#24movpagef3,#6;状movcode,#13lcallwriteleft2LCALLDELAY1movcolumn3,#40movpagef3,#6;态movcode,#14lcallwriteleft2LCALLDELAY1movcolumn,#56movpagef,#6;:movcode,#10lcallwriteleftLCALLDELAY1movcolumn4,#0movpagef4,#6;降movcode,#17lcallwriteright2LCALLDELAY1movcolumn4,#16movpagef4,#6;温movcode,#0lcallwriteright2LCALLDELAY1movcolumn4,#32movpagef4,#6;!movcode,#19lcallwriteright2LCALLDELAY1RETDISPLAY8:movcolumn2,#24movpagef2,#2movcode,48HlcallwriterightLCALLDELAYLCALLDELAYmovcolumn2,#24movpagef2,#2movcode,#12lcallwriterightRETDISPLAY9:movcolumn2,#32movpagef2,#2movcode,55HlcallwriterightLCALLDELAYLCALLDELAYmovcolumn2,#32movpagef2,#2movcode,#12lcallwriterightRETDISPLAY10:movcolumn2,#48movpagef2,#2movcode,56HlcallwriterightLCALLDELAYLCALLDELAYmovcolumn2,#48movpagef2,#2movcode,#12lcallwriterightRETDISPLAY11:movcolumn3,#24movpagef3,#6;状movcode,#13lcallwriteleft2LCALLDELAY1movcolumn3,#40movpagef3,#6;态movcode,#14lcallwriteleft2LCALLDELAY1movcolumn,#56movpagef,#6;:movcode,#10lcallwriteleftLCALLDELAY1movcolumn4,#0movpagef4,#6;降movcode,#20lcallwriteright2LCALLDELAY1movcolumn4,#16movpagef4,#6;温movcode,#21lcallwriteright2LCALLDELAY1movcolumn4,#32movpagef4,#6;!movcode,#19lcallwriteright2LCALLDELAY1RETDISPLAY:movcolumn2,#24movpagef2,#2movcode,48Hlcallwriterightmovcolumn2,#32movpagef2,#2movcode,55Hlcallwriterightmovcolumn2,#40movpagef2,#2;.movcode,#11lcallwriterightmovcolumn2,#48movpagef2,#2movcode,56HlcallwriterightMOVA,29HMOVC,40H;28的位地址RRCAMOVC,41HRRCAMOVC,42HRRCAMOVC,43HRRCAMOV51H,AANL29H,#0FHMOVA,29HMOVB,#6MULABMOV50H,Amova,51Hmovb,#10divabmov43H,amov42H,bMOVA,50HMOVB,#10DIVABMOV41H,AMOV40H,Bmovcolumn2,#24;实际温度movpagef2,#4movcode,43hlcallwriterightmovcolumn2,#32movpagef2,#4movcode,42hlcallwriterightmovcolumn2,#40movpagef2,#4;.movcode,#11lcallwriterightmovcolumn2,#48movpagef2,#4movcode,41hlcallwriterightRET***********************DS18B20复位初始化子程序***********INIT_1820:NOPCLRP3.1;主机发出延时537微秒的复位低脉冲MOVR1,#3TSR1:MOVR0,#107DJNZR0,$DJNZR1,TSR1SETBP3.1;然后拉高数据线NOPNOPNOPMOVR0,#25HTSR2:JNBP3.1,TSR3;等待DS18B20回应DJNZR0,TSR2LJMPTSR4;延时TSR3:SETBFLAG1;置标志位,表示DS1820存在LJMPTSR5TSR4:CLRFLAG1;清标志位,表示DS1820不存在LJMPTSR7TSR5:MOVR0,#117TSR6:DJNZR0,TSR6;时序要求延时一段时间RET;读出转换后的温度值***********************读温度子程序*****************GET_TEMPER:LCALLINIT_1820;先复位DS18B20JBFLAG1,TSS2RET;判断DS1820是否存在?假设DS18B20不存在那么返回TSS2:MOVA,#0CCH;跳过ROM匹配LCALLWRITE_1820MOVA,#44H;发出温度转换命令LCALLWRITE_1820;通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒LCALLDISPLAYLCALLINIT_1820;准备读温度前先复位MOVA,#0CCH;跳过ROM匹配LCALLWRITE_1820MOVA,#0BEH;发出读温度命令LCALLWRITE_1820LCALLREAD_18200RET*************************写命令子程序**********WRITE_1820:MOVR2,#8CLRCMOVR3,#6DJNZR3,$RRCAMOVP3.1,CMOVR3,#23DJNZR3,$NOPDJNZR2,WR1RET***********************读命令子程序***********READ_18200:MOVR4,#2MOVR1,#29HRE00:MOVR2,#8RE01:CLRCNOPNOPNOPNOPNOPMOVR3,#9RE10:DJNZR3,RE10MOVR3,#23RE20:DJNZR3,RE20RRCADJNZR2,RE01MOV@R1,ADECR1DJNZR4,RE00RET*********************LCD12864初始化子程序**************INT:MOVCOM,#0C0H;设置显示起始行为第一行LCALLPRM0LCALLPRR0MOVCOM,#3FH;开显示设置LCALLPRM0LCALLPRR0RET**************************LCD12864液晶清屏子程序*****************CLEAR:MOVR4,#00HCLEAR1:MOVA,R4ORLA,#0B8HMOVCOM,ALCALLPRM0LCALLPRR0MOVCOM,#40HLCALLPRM0LCALLPRR0MOVR3,#40HCLEAR2:MOVDAT,#00HLCALLPRM1LCALLPRR1DJNZR3,CLEAR2INCR4CJNER4,#08H,CLEAR1RET***********************延时子程序*************DELAY:MOVR0,#20SS:MOVR1,#20DJNZR1,$DJNZR0,SSRETDELAY1:MOVR0,#5YY:MOVR1,#110QQ:MOVR2,#200DJNZR2,$DJNZR1,QQDJNZR0,YYRETtable1:DB0F0h,0F8h,0Ch,04hDB04h,0Ch,0F8h,0F0h;0DB0Fh,1Fh,30h,20hDB20h,30h,1Fh,0FhDB00h,00h,08h,0F8h;1DB0FCh,00h,00h,00hDB00h,00h,20h,3FhDB3Fh,20h,00h,00hDB30h,38h,0Ch,04hDB04h,0Ch,0F8h,0F0hDB20h,30h,38h,2Ch;2DB26h,23h,21h,38hDB10h,18h,0Ch,84hDB84h,0CCh,78h,30hDB08h,18h,30h,20hDB20h,31h,1Fh,0Eh;3DB00h,0C0h,70h,18hDB0FCh,0FEh,00h,00hDB07h,05h,04h,24hDB3Fh,3Fh,24h,04h;4DB0FCh,0FCh,0C4h,44hDB44h,0C4h,84h,04hDB08h,18h,30h,20hDB20h,30h,1Fh,0Fh;5DB0F0h,0F8h,8Ch,44hDB44h,0CCh,98h,10hDB0Fh,1Fh,30h,20hDB20h,30h,1Fh,0Fh;6DB1Ch,0Ch,0Ch,0ChDB0CCh,0ECh,3Ch,1ChDB00h,00h,3Ch,3FhDB03h,00h,00h,00h;7DB30h,78h,0CCh,84hDB84h,0CCh,78h,30hDB0Eh,1Fh,31h,20hDB20h,31h,1Fh,0Eh;8DB0F0h,0F8h,0Ch,04hDB04h,0Ch,0F8h,0F0hDB08h,19h,33h,22hDB22h,33h,1Fh,0Fh;9DB00h,00h,00h,00h,00h,00h,00h,00hDB00h,00h,33h,33h,00h,00h,00h,00h;:10DB00H,00H,00H,00H,00H,00H,00H,00H;11.DB00H,00H,30H,30H,00H,00H,00H,00HDB00h,00h,00h,00h,00h,00h,00h,00hDB00h,00h,00h,00h,00h,00h,00h,00h;空12DB80H,80H,80H,80H,80H,80H,80H,80H,DB00H,00H,00H,00H,00H,00H,00H,00H;一13table2:DB10h,22h,64h,0Ch,80h,00h,0FEh,92h;0温DB92h,92h,92h,92h,0FFh,02h,00h,00hDB04h,04h,0FEh,01h,40h,7Eh,42h,42hDB7Eh,42h,7Eh,42h,42h,7Eh,40h,00hDB00h,00h,0FCh,24h,24h,24h,0FCh,0A5h;1度DB0A6h,0A4h,0FCh,24h,34h,26h,04h,00hDB40h,20h,9Fh,80h,42h,42h,26h,2AhDB12h,2Ah,26h,42h,40h,0C0h,40h,00hDB00h,00h,00h,0F8h,48h,4Ch,4Ah,49h;2自DB48h,48h,48h,0FCh,08h,00h,00h,00hDB00h,00h,00h,0FFh,44h,44h,44h,44hDB44h,44h,44h,0FFh,00h,00h,00h,00hDB20h,24h,24h,0E4h,26h,34h,20h,10h;3动DB10h,0FFh,10h,10h,10h,0F8h,10h,00hDB08h,1Ch,0Bh,08h,08h,8Ah,4Ch,30hDB0Ch,03h,40h,80h,40h,3Fh,00h,00hDB10h,10h,10h,0FFh,90h,50h,0Ch,44h;4控DB24h,15h,06h,14h,24h,54h,0Ch,00hDB02h,42h,81h,7Fh,00h,40h,42h,42hDB42h,42h,7Eh,42h,43h,62h,40h,00hDB40h,60h,5Eh,48h,48h,0FFh,48h,4Ch;5制DB68h,40h,0F8h,00h,00h,0FFh,00h,00hDB00h,00h,3Fh,01h,01h,0FFh,11h,21hDB1Fh,00h,07h,40h,80h,7Fh,00h,00hDB00h,02h,22h,22h,32h,2Eh,0A2h,62h;6系DB22h,22h,91h,09h,01h,00h,00h,00hDB00h,00h,42h,22h,1Ah,43h,82h,7EhDB02h,02h,0Ah,13h,66h,00h,00h,00hDB20h,30h,0ACh,63h,30h,88h,0C8h,0A8h;7统DB99h,8Eh,88h,0A8h,0CCh,88h,00h,00hDB22h,67h,22h,12h,92h,40h,30h,0FhDB00h,00h,3Fh,40h,40h,41h,70h,00hDB40h,40h,42h,0CCh,00h,40h,0A0h,9Fh;8设DB81h,81h,81h,9Fh,0A0h,20h,20h,00hDB00h,00h,00h,7Fh,0A0h,90h,40h,43hDB2Ch,10h,28h,26h,41h,0C0h,40h,00hDB00h,10h,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年检测服务行业供需格局研究报告及未来五至十年自主创新与安全可控
- 2026年C-反应蛋白检测(CRP)行业洞察报告及未来五至十年发展趋势报告
- 2026年娱乐船和运动船制造行业市场现状分析报告及未来五至十年碳中和与循环经济
- 2026年投影管行业洞察报告及未来五至十年发展趋势报告
- 2026年无刷电机行业洞察报告及未来五至十年发展趋势报告
- 2026年中煤航测遥感集团有限公司招聘(24人)笔试备考试题及答案解析
- 2024年电工高级技师考试题库及答案
- 2026年其他谷物磨制行业现状及前景展望报告及未来五至十年智能体与场景落地
- 2026年敞篷跑车行业洞察报告及未来五至十年发展趋势报告
- 2026成都市第四人民医院-电子科技大学联合招收博士后考试参考题库及答案解析
- 《隧道施工与管理》全套教学课件
- 压力性损伤诊疗与护理规范
- 注册消防工程师继续教育2025年部分题目与答案(126题)
- 创伤性脑损伤的评估和治疗
- (2025版)中国抑郁障碍防治指南解读课件
- 统计学基础及应用课件 任务7 指数分析
- SDR认知无线电应用-洞察与解读
- 关节置换术后假体松动处理
- 气瓶安全风险管控清单
- 无锡2025年3月江阴市公安局招聘警务辅助人员笔试历年参考题库附带答案详解
- 糖尿病足合并下肢动脉硬化闭塞介入治疗方案
评论
0/150
提交评论