会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

基于单片机89C51控制的温度智能控制系统.doc

  • 资源星级:
  • 资源大小:47.50KB   全文页数:5页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

基于单片机89C51控制的温度智能控制系统.doc

TEMPER_LEQU41H用于保存读出温度的低8位TEMPER_HEQU40H用于保存读出温度的高8位FLAG1EQU38H是否检测到DS18B20标志位A_BIT1EQU31H数码管个位数存放内存位置B_BIT1EQU32H数码管十位数存放内存位置D_BIT1EQU35H数码管百位数存放内存位置DQEQUP3.230H,31H,32H,33HX个位十位XMOD7MOVSP,60HLCALLGET_TEMPER调用读温度子程序LCALLTEMPCOVLCALLJDQGZLCALLDISPLAY调用数码管显示子程序AJMPMOD7TEMP0INCAAJMPTEMP1TEMPCOVMOVA,TEMPER_L数据处理子程序TEMPCOVMOVB,16DIVABJBB.3,TEMP0TEMP1MOV34H,A将TEMPER_L的高四位右移四位,存入34H中(温度值)MOVA,B将TEMPER_L的低四位X10/16得小数后一位数.MOVB,10MULABMOVB,16DIVABMOV30H,A将小数后一位数.存入30H中MOVA,TEMPER_HTEMPER_H中存放高8位数,权重16MOVB,16MULABADDA,34H34H中存入温度值的整数部分MOVB,10DIVABMOV31H,B个位存入31H中MOVB,10DIVABMOV32H,B十位存入32H中MOVB,10DIVABMOV35H,B百位存入33H中MOVA,TEMPER_HMOV33H,10HJBACC.7,EXIT7MOV33H,00HEXIT7RETINIT_1820这是DS18B20复位初始化子程序SETBDQNOPCLRDQ主机发出延时537微秒的复位低脉冲MOVR1,3TSR1MOVR0,107DJNZR0,DJNZR1,TSR1SETBDQ然后拉高数据线NOPNOPNOPMOVR0,25HTSR2JNBDQ,TSR3等待DS18B20回应DJNZR0,TSR2LJMPTSR4延时TSR3SETBFLAG1置标志位,表示DS1820存在LJMPTSR5TSR4CLRFLAG1清标志位,表示DS1820不存在LJMPTSR7TSR5MOVR0,117TSR6DJNZR0,TSR6时序要求延时一段时间TSR7SETBDQRETGET_TEMPER读出转换后的温度值SETBDQLCALLINIT_1820先复位DS18B20JBFLAG1,TSS2RET判断DS1820是否存在若DS18B20不存在则返回TSS2MOVA,0CCH跳过ROM匹配LCALLWRITE_1820MOVA,44H发出温度转换命令LCALLWRITE_1820LCALLDISPLAY等待AD转换结束,12位的话750微秒LCALLINIT_1820准备读温度前先复位MOVA,0CCH跳过ROM匹配LCALLWRITE_1820MOVA,0BEH发出读温度命令LCALLWRITE_1820LCALLREAD_18200将读出的温度数据保存到35H/36HRET写DS18B20的子程序有具体的时序要求WRITE_1820MOVR2,8一共8位数据CLRCWR1CLRDQMOVR3,6DJNZR3,RRCAMOVDQ,CMOVR3,23DJNZR3,SETBDQNOPDJNZR2,WR1SETBDQRET读DS18B20的程序,从DS18B20中读出两个字节的温度数据READ_18200MOVR4,2将温度高位和低位从DS18B20中读出MOVR1,TEMPER_L低位存入TEMPER_LTEMPER_L,高位存入TEMPER_HRE00MOVR2,8数据一共有8位RE01CLRCSETBDQNOPNOPCLRDQNOPNOPNOPSETBDQMOVR3,9RE10DJNZR3,RE10MOVC,DQMOVR3,23RE20DJNZR3,RE20RRCADJNZR2,RE01MOVR1,ADECR1DJNZR4,RE00RET显示子程序DISPLAYMOVDPTR,TAB指定查表启始地址MOVR0,4DPL1MOVR1,250显示1000次DPLOPMOVA,A_BIT1取个位数MOVCA,ADPTR查个位数的7段代码MOVP1,A送出个位的7段代码CLRP3.7开个位显示ACALLD1MS显示1MSSETBP3.7MOVA,B_BIT1取十位数MOVCA,ADPTR查十位数的7段代码MOVP1,A送出十位的7段代码CLRP3.5开十位显示ACALLD1MS显示1MSSETBP3.5MOVA,D_BIT1取百位数MOVCA,ADPTR查百位数的7段代码MOVP1,A送出百位的7段代码CLRP3.4开百位显示ACALLD1MS显示1MSSETBP3.4MOVP1,00HDJNZR1,DPLOP100次没完循环DJNZR0,DPL14个100次没完循环RETJDQGZMOVR7,34H34H为温度的整数位.MOVA,10这里以10度为例,若高于10度,刚开启继电器SUBBA,R710度减当前温度.JCKAI如果高于10度,则KAISETBP3.3关闭,P3.3接PNP三极管AJMPJDQFHKAICLRP3.3JDQFHRET1MS延时按12MHZ算D1MSMOVR7,0FFHDJNZR7,DJNZR7,RET实验板上的7段数码管0~9数字的共阴显示代码TABDB07DH0DB018H1

注意事项

本文(基于单片机89C51控制的温度智能控制系统.doc)为本站会员(zhaozilong)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5