毕业设计上下限温度控制_第1页
毕业设计上下限温度控制_第2页
毕业设计上下限温度控制_第3页
毕业设计上下限温度控制_第4页
毕业设计上下限温度控制_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、鸡舍温度控制系统鸡舍温度控制系统引言引言- -附录3程序代码ORG0000HTEMPER_LEQU29HTEMPER_HEQU28HFLAG1EQU38H;是否检测到DS18B20标志位A_BITEQU20H;数码管个位数存放内存位置B_BITEQU21H;数码管十位数存放内存位置XSEQU30HMOVA,#00HMOVP2,AMAIN:LCALLGET_TEMPER;调用读温度子程序MOVA,29HMOVB,ACLRCRLCACLRCRLCACLRCRLCACLRCRLCASWAPAMOV31H,AMOVA,BMOVC,40H;将28H中的最低位移入CRRCAMOVC,41HRRCAMOVC

2、,42HRRCAMOVC,43HRRCAMOV29H,ALCALLDISPLAY;调用数码管显示子程序AJMPMAIN;这是DS18B20复位初始化子程序INIT_1820:SETBP1.0NOPCLRP1.0;主机发出延时537微秒的复位低脉冲MOVR1,#3TSR1:MOVR0,#107DJNZR0,$DJNZR1,TSR1SETBP1.0;然后拉高数据线NOPNOPNOPMOVR0,#25HTSR2:JNBP1.0,TSR3;等待DS18B20回应DJNZR0,TSR2LJMPTSR4;延时TSR3:SETBFLAG1;置标志位,表示DS1820存在LJMPTSR5TSR4:CLRFLA

3、G1;清标志位,表示DS1820不存在LJMPTSR7TSR5:MOVR0,#117TSR6:DJNZR0,TSR6;时序要求延时一段时间TSR7:SETBP1.0RET;读出转换后的温度值GET_TEMPER:SETBP1.0LCALLINIT_1820;先复位DS18B20JBFLAG1,TSS2RET;判断DS1820是否存在?若DS18B20不存在则返回TSS2:MOVA,#0CCH;跳过ROM匹配LCALLWRITE_1820MOVA,#44H;发出温度转换命令LCALLWRITE_1820;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒LCALLDI

4、SPLAYLCALLINIT_1820;准备读温度前先复位MOVA,#OCCH;跳过ROM匹配LCALLWRITE_1820MOVA,#0BEH;发出读温度命令LCALLWRITE_1820LCALLREAD_18200;将读出的温度数据保存到35H/36HRET;写DS18B20的子程序(有具体的时序要求)WRITE_1820:M0VR2,#8;共8位数据CLRCWR1:CLRP1.0MOVR3,#6DJNZR3,$RRCAMOVP1.0,CMOVR3,#23DJNZR3,$SETBP1.0NOPDJNZR2,WR1RET;读DS18B20的程序,从DS18B20中读出两个字节的温度数据RE

5、AD_18200:M0VR4,#2;将温度高位和低位从DS18B20中读出MOVR1,#29H;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE00:MOVR2,#8;数据一共有8位RE01:CLRCSETBP1.0NOPNOPCLRP1.0NOPNOPNOPSETBP1.0MOVR3,#9RE10:DJNZR3,RE10MOVC,P1.0MOVR3,#23RE20:DJNZR3,RE20RRCADJNZR2,RE01MOVR1,ADECR1DJNZR4,RE00RETDISPLAY:CLRCSUBBA,#30JNBCY,T1MOVA,BCLRCSUBBA,#25JN

6、BCY,XIANSHICLRP1.1LJMPXIANSHIT1:CLRP1.2XIANSHI:MOVA,BMOVB,#10;10进制/10=10进制DIVABMOVB_BIT,A;十位在AMOVA_BIT,B;个位在BMOVR0,#4CLRC;多加的DPL1:MOVR1,#250;显示1000次DPLOP:MOVDPTR,#NUMTAB1MOVA,A_BIT;取个位数MOVCA,A+DPTR;查个位数的7段代码MOVP0,A;送出个位的7段代码CLRP2.1;开个位显示ACALLD1MS;显示1MSSETBP2.1MOVDPTR,#NUMTABMOVA,B_BIT;取十位数MOVCA,A+DPTR;查十位数的7段代码MOVP0,A;送出十位的7段代码CLRP2.2;开十位显示ACALLD1MS;显示1MSSETBP2.2JCXSW;多加的MOVA,31HMOVB,#160DIVABMOVXS,BXSW:MOVA,XSMOVCA,A+DPTRMOVP0,ACLRP2.0ACALLD1MSSETBP2.0SETBC;多加的DJNZR1,DPLOP;250次没完循环DJNZR0,DPL1;4个250次没完循环RET;1MS延时(按12MHZ算)D1MS:MOVR7,#80DJNZR7,$RETNUMTAB:DB3FH,06H,5BH,4F

温馨提示

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

评论

0/150

提交评论