欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    DS18b20 51汇编源程序.docx

    • 资源ID:6652611       资源大小:16.56KB        全文页数:26页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    DS18b20 51汇编源程序.docx

    1、DS18b20 51汇编源程序DS18b20 51 汇编源程序*FLAG1 BIT F0 ;DS18B20 存在标志位DQ BIT P1.7TEMPER_L EQU 29HTEMPER_H EQU 28HA_BIT EQU 35HB_BIT EQU 36H;*程序起始*ORG 0000HAJMP MAINORG 0100H;*主程序开始*MAIN:LCALL INIT_18B20;LCALL RE_CONFIGLCALL GET_TEMPERAJMP CHANGE;*DS18B20 复位程序*INIT_18B20: SETB DQNOPCLR DQMOV R0,#0FBHTSR1: DJNZ

    2、R0,TSR1 ;延时SETB DQMOV R0,#25HTSR2: JNB DQ ,TSR3DJNZ R0,TSR2TSR3: SETB FLAG1 ;置标志位,表明 DS18B20 存在CLR P2.0 ;二极管指示AJMP TSR5TSR4: CLR FLAG1LJMP TSR7TSR5: MOV R0,#06BHTSR6: DJNZ R0,TSR6TSR7:SETB DQ ;表明不存在RET;*设定 DS18B20 暂存器设定值*;RE_CONFIG:;JB FLAG1,RE_CONFIG1;RET;RE_CONFIG1: MOV A,#0CCH ;放跳过 ROM 命令;LCALL W

    3、RITE_18B20;MOV A,#4EH;LCALL WRITE_18B20 ;写暂存器命令;MOV A,#00H ;报警上限中写入 00H;LCALL WRITE_18B20;MOV A,#00H ;报警下限中写入 00H; LCALL WRITE_18B20;MOV A,#1FH ;选择九位温度分辨率; LCALL WRITE_18B20; RET;*读转换后的温度值*GET_TEMPER:SETB DQLCALL INIT_18B20JB FLAG1,TSS2RET ;若不存在则返回TSS2: MOV A,#0CCH ;跳过 ROMLCALL WRITE_18B20MOV A,#44H

    4、 ;发出温度转换命令LCALL WRITE_18B20LCALL DISPLAY ;延时LCALL INIT_18B20MOV A,#0CCH ;跳过 ROMLCALL WRITE_18B20MOV A,#0BEH ;发出读温度换命令LCALL WRITE_18B20LCALL READ2_18B20 ;读两个字节的温度RET;*写 DS18B20 程序*WRITE_18B20:MOV R2,#8CLR CWR1:CLR DQMOV R3,#6DJNZ R3,$RRC AMOV DQ,CMOV R3,#23DJNZ R3,$SETB DQNOPDJNZ R2,WR1SETB DQRET;*读

    5、18B20 程序,读出两个字节的温度*READ2_18B20:MOV R4,#2 ;低位存在 29 H,高位存在 28HMOV R1,#29HRE00: MOV R2,#8RE01: CLR CSETB CNOPNOPCLR DQNOPNOPNOPSETB DQMOV R3,#7DJNZ R3,$MOV C,DQMOV R3,#23DJNZ R3,$RRC ADJNZ R2,RE01MOV R1,ADEC R1DJNZ R4,RE00RET;*读出的温度进行数据转换*CHANGE: MOV A,29HMOV C,28H.0 ;将 28H 中的最低位移入 CRRC AMOV C,28H.1RRC

    6、 AMOV C,28H.2RRC AMOV C,28H.3RRC AMOV 29H,A;setb p2.0LCALL DISPLAY ;调用数码管显示子程序; setb P2.0LJMP MAIN;*DISPLAY*DISPLAY: mov a,29H;将 29H 中的十六进制数转换成 10 进制mov b,#10 ;10 进制/10=10 进制div abmov b_bit,a ;十位在 amov a_bit,b ;个位在 bmov dptr,#TAB ;指定查表启始地址mov r0,#4dpl1: mov r1,#250 ;显示 1000 次dplop: mov a,a_bit ;取个位数

    7、MOVC A,A+DPTR ;查个位数的 7 段代码mov p0,a ;送出个位的 7 段代码clr p2.5;开个位显示acall d1ms ;显示 1mssetb p2.5mov a,b_bit ;取十位数MOVC A,A+DPTR ;查十位数的 7 段代码mov p0,a ;送出十位的 7 段代码clr p2.4;开十位显示acall d1ms ;显示 1mssetb p2.4djnz r1,dplop ;100 次没完循环djnz r0,dpl1 ;4 个 100 次没完循环ret;*D1MS: MOV R7,#80 ;1MS 延时(按 12MHZ 算)DJNZ R7,$RET;*TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H


    注意事项

    本文(DS18b20 51汇编源程序.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开